Logs on 2024-10-14 (liberachat/#haskell)
| 00:00:37 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:03:39 | × | tcard__ quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
| 00:03:55 | → | tcard__ joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
| 00:05:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:10:57 | → | Pixi joins (~Pixi@user/pixi) |
| 00:16:24 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:17:07 | × | tremon quits (~tremon@83.80.159.219) (Quit: getting boxed in) |
| 00:19:17 | → | machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net) |
| 00:21:14 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 00:21:36 | <Square> | How do you deal with multimodule project (cabal.project) when using nix? Separate callCabal2Nix for each module? |
| 00:31:08 | × | tabemann quits (~tabemann@2600:1700:7990:24e0:14d2:2457:bd7:5741) (Remote host closed the connection) |
| 00:32:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:32:40 | → | Guest66 joins (~Guest66@2601:152:4a80:2300:c948:b43e:8f75:aa7b) |
| 00:33:11 | <jackdk> | The two approaches I use are: "have nix provide GHC+cabal, let cabal do packages", or "use haskell.nix". This avoids lots of fiddly package set overlay splicing, and regenerating the shell when a dependency changes. |
| 00:34:09 | <Inst> | incoherence can be handled at the compilation stage, i.e, if you're trying to use an instance for which there is no imported typeclass, you throw an error |
| 00:34:21 | → | tabemann joins (~tabemann@2600:1700:7990:24e0:14d2:2457:bd7:5741) |
| 00:35:23 | <geekosaur> | that's not incoherence |
| 00:35:48 | <geekosaur> | incoherence is "two modules use different instances for the same type" |
| 00:35:56 | <Inst> | is it reasonable to wish to control the exporting of instances / typeclasses? |
| 00:37:06 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:37:19 | <geekosaur> | not when it leads to incoherence, no |
| 00:37:38 | <geekosaur> | and the only way to prevent incoherence is to force instances to be global |
| 00:37:47 | <jackdk> | IMHO no. That way lies madness, like the producer and consumer of a `Ord k => Map k v` disagreeing on which `Ord` to use for `k`. And then you just can't find entries which you are 100% certain that you put into your map. |
| 00:38:24 | <geekosaur> | well, for that one it's actually something of a hack. IMO SML/NJ does it the right way |
| 00:39:31 | <geekosaur> | (the Ord instance equivalent is owned by the Map, not by what Ord instance is in scope at use sites) |
| 00:40:49 | <geekosaur> | *not determined by |
| 00:45:03 | × | Guest66 quits (~Guest66@2601:152:4a80:2300:c948:b43e:8f75:aa7b) (Quit: Client closed) |
| 00:47:58 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 00:48:45 | <Square> | jackdk, thanks |
| 00:52:52 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 00:55:29 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 00:58:15 | <monochrom> | Perhaps the misguided want of localized unexported instances comes from mistaking type classes for OO interfaces. |
| 01:03:15 | <probie> | geekosaur: without the one true Ord instance for a type, how do you efficiently union two maps? SML/NJ sidesteps this because two maps instantiated with different ORD_KEYs will be different types. |
| 01:03:41 | <geekosaur> | isn't that kinda the point, though? |
| 01:03:47 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:04:16 | <monochrom> | You can union two maps created from the same instantiated module. |
| 01:04:48 | <monochrom> | Recall that an instantiated module gives you a suite of map functions, not a map. |
| 01:04:57 | <geekosaur> | right |
| 01:05:25 | <monochrom> | So use the same suite to create two maps and use the same suite to union the two maps. |
| 01:05:38 | <probie> | But how do you do that in Haskell? |
| 01:06:05 | <monochrom> | Haskell doesn't have SML's parameterized module system. OK OK I will emulate it. |
| 01:06:09 | <geekosaur> | that was my point: you don't. we use a typeclass hack instead |
| 01:06:40 | <geekosaur> | and I don't think Backpack can quite pull off emulating this, for all its pretensions toward providing MLish "functors" |
| 01:07:13 | <monochrom> | I will also need existential type. |
| 01:08:14 | → | zmt00 joins (~zmt00@user/zmt00) |
| 01:08:48 | <monochrom> | data M a = forall t. M{empty :: t, insert :: a -> t -> t, union :: t -> t -> a, etc etc} |
| 01:10:02 | <monochrom> | instantiate :: (a -> a -> Ordering) -> M a; instantiate cmp = M{empty = ... ; insert = ... use cmp ..., union = ... use cmp ..., etc} |
| 01:10:28 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 01:11:18 | <geekosaur> | Inst did earlier hint that he thought we were trying to find ways to emulate OOP in Haskell. (No, we aren't. OOP is something else. If I want OOP, I'll use an OO language, not Haskell; I have and use multiple tools.) |
| 01:11:53 | <probie> | I think we're probably all in agreement about every fact here. I just misinterpreted intent and mistook the comment as "Haskell should do what SML/NJ" does, not "SML/NJ does this in a nice a way, unlike Haskell" |
| 01:12:10 | → | tonyday567 joins (~tonyday56@125-63-10-162.ip4.superloop.au) |
| 01:12:15 | <geekosaur> | right, I meant the latter |
| 01:12:34 | <monochrom> | A user will have to do everything under the same instantiate call. user = let m{empty, insert, union} = instantiate myCompare in union (insert 2 (insert 3 empty)) (insert 1 (insert 2 empty))) |
| 01:13:07 | <probie> | s/" does/does"/ |
| 01:13:32 | <monochrom> | Eh, I think Haskell has a nice way and SML has a nice way. |
| 01:13:56 | <geekosaur> | (I like SML/NJ's approach, but not so much that I'm abandoning Haskell for it…) |
| 01:14:47 | <c_wraith> | And if you *really* need bad hacks, just remember there's always the reflection package! |
| 01:14:58 | <monochrom> | :( :) |
| 01:14:58 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 01:15:03 | <probie> | Haskell's way means I can't safely use a `Double` as a key in a `Map` without needing to wrap it in a newtype |
| 01:15:07 | <geekosaur> | I did for a moment wonder if that could be abused to do this… |
| 01:15:21 | <monochrom> | Yes it totally can. |
| 01:15:57 | <monochrom> | I think it is the whole point. When some abuses have just causes and don't count as abuses. |
| 01:17:22 | × | alexherbo2 quits (~alexherbo@2a02-8440-3108-bfa0-f1d8-4d0f-e5fc-d7b0.rev.sfr.net) (Remote host closed the connection) |
| 01:17:35 | <monochrom> | But here is a clean hack someone and I thought up: https://mail.haskell.org/pipermail/haskell-cafe/2017-May/127147.html |
| 01:18:04 | <dolio> | What part can't backpack do? Not that it's nice to do this. |
| 01:18:33 | → | alexherbo2 joins (~alexherbo@2a02-8440-3108-bfa0-ddfb-d52c-f0fd-2cc2.rev.sfr.net) |
| 01:18:39 | <geekosaur> | local open, I think, so you can parameteerize different maps differently? |
| 01:18:46 | <geekosaur> | within the same module |
| 01:19:37 | <dolio> | Oh. Well, you can parameterize the map functor multiple ways, I think. But it's not going to happen very locally. |
| 01:20:13 | <dolio> | Like, not within a definition in a module, certainly. |
| 01:20:48 | <geekosaur> | I thought that was what `open` was for? |
| 01:21:33 | <dolio> | Only like, 'this module uses multiple map implementations, which happen to be two different instantiations of the same functor.' |
| 01:21:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:22:02 | × | tonyday567 quits (~tonyday56@125-63-10-162.ip4.superloop.au) (Changing host) |
| 01:22:02 | → | tonyday567 joins (~tonyday56@user/tonyday567) |
| 01:22:07 | × | alexherbo2 quits (~alexherbo@2a02-8440-3108-bfa0-ddfb-d52c-f0fd-2cc2.rev.sfr.net) (Remote host closed the connection) |
| 01:22:34 | <monochrom> | Haskell doesn't have local open, not even for unparametrized 0th-order modules. Let's not talk about local open. |
| 01:23:03 | <dolio> | Yeah. |
| 01:23:40 | <monochrom> | So with backpack you have to split code into more files than SML requires, but you can still import multiple instantiations into the same user file. |
| 01:24:01 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 252 seconds) |
| 01:24:06 | <geekosaur> | that was my point. backpack claims to add parameterized modules, but it doesn't and can't provide this so it's not anywhere near as useful as it should be |
| 01:24:27 | <monochrom> | If you instantiate Map two ways, you write two files, one per instantiation. In a third file---the user file---you import both. |
| 01:24:33 | <dolio> | I don't understand what you mean by "it doesn't." |
| 01:24:52 | <dolio> | It does, but you still can't only import a module in a where clause or something. |
| 01:25:07 | <geekosaur> | exactly |
| 01:25:24 | <geekosaur> | let's put it this way: they're not first class if you cant' do that |
| 01:25:52 | <dolio> | But they are parameterized. |
| 01:26:12 | <monochrom> | I don't know, here is what I think, maybe too extreme: Nevermind paramtrizing. Would this make sense: "Haskell claims to have modules, but there is no open so it doesn't count". |
| 01:27:05 | <geekosaur> | I didn't say either of those. I said it does not emulate ML functors. The MLish concept of functor includes first-class-ness, including local instantiation. |
| 01:27:31 | <geekosaur> | I specifically did not limit it to parameterization |
| 01:28:39 | <geekosaur> | (I will grant that Backpack was always on the losing side of that one: it requires an actual language change, it can't be simulated the way simply parameterizing modules sort-of can be) |
| 01:35:48 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 276 seconds) |
| 01:38:43 | × | identity quits (~identity@user/ZharMeny) (Quit: ERC 5.6.0.30.1 (IRC client for GNU Emacs 30.0.91)) |
| 01:46:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 01:51:39 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
| 02:04:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:05:50 | × | td_ quits (~td@i5387090D.versanet.de) (Ping timeout: 252 seconds) |
| 02:07:49 | → | td_ joins (~td@83.135.9.1) |
| 02:09:04 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 02:19:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:24:21 | → | Smiles joins (uid551636@id-551636.lymington.irccloud.com) |
| 02:24:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:28:14 | → | Sciencentistguy3 joins (~sciencent@hacksoc/ordinary-member) |
| 02:30:20 | × | Sciencentistguy quits (~sciencent@hacksoc/ordinary-member) (Ping timeout: 265 seconds) |
| 02:30:21 | Sciencentistguy3 | is now known as Sciencentistguy |
| 02:35:17 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:40:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 02:52:10 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 02:58:48 | × | machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 02:58:55 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
| 03:01:46 | × | gmg quits (~user@user/gehmehgeh) (Ping timeout: 260 seconds) |
| 03:03:45 | → | gmg joins (~user@user/gehmehgeh) |
| 03:12:43 | → | ephilalethes joins (~noumenon@113.51-175-156.customer.lyse.net) |
| 03:15:19 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:20:16 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:22:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:27:35 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 03:31:11 | → | aforemny joins (~aforemny@2001:9e8:6cdf:9f00:9304:f095:b881:d5be) |
| 03:32:03 | × | aforemny_ quits (~aforemny@i577BEEEB.versanet.de) (Ping timeout: 245 seconds) |
| 03:33:39 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 265 seconds) |
| 03:35:28 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 03:38:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:42:08 | → | fun-safe-math joins (~fun-safe-@24.21.106.247) |
| 03:43:13 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 03:50:45 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 248 seconds) |
| 03:50:45 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 03:52:06 | Lord_of_Life_ | is now known as Lord_of_Life |
| 03:54:15 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 03:59:08 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:02:48 | × | Square quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 04:08:27 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 265 seconds) |
| 04:10:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:10:36 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 04:15:17 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 04:23:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:28:25 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 04:30:08 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 04:30:18 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 04:32:36 | × | tonyday567 quits (~tonyday56@user/tonyday567) (Ping timeout: 252 seconds) |
| 04:38:39 | × | bh34e5_ quits (~bh34e5@user/bh34e5) (Ping timeout: 260 seconds) |
| 04:41:46 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 04:47:07 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 265 seconds) |
| 04:51:03 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) () |
| 04:52:34 | → | oneeyedalien joins (~oneeyedal@user/oneeyedalien) |
| 04:52:36 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 04:53:02 | → | Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
| 04:57:57 | × | oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Ping timeout: 276 seconds) |
| 04:59:21 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:03:26 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 255 seconds) |
| 05:03:43 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds) |
| 05:04:22 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:09:09 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 05:09:10 | × | rvalue quits (~rvalue@user/rvalue) (Ping timeout: 252 seconds) |
| 05:10:09 | × | ZLima12 quits (~zlima12@user/meow/ZLima12) (Ping timeout: 260 seconds) |
| 05:17:53 | × | Smiles quits (uid551636@id-551636.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 05:18:19 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:19:30 | → | ZLima12 joins (~zlima12@user/meow/ZLima12) |
| 05:20:06 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:20:53 | → | rvalue joins (~rvalue@user/rvalue) |
| 05:21:50 | → | raehik joins (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) |
| 05:28:11 | × | raehik quits (~raehik@rdng-25-b2-v4wan-169990-cust1344.vm39.cable.virginm.net) (Ping timeout: 255 seconds) |
| 05:28:35 | → | michalz joins (~michalz@185.246.207.203) |
| 05:29:00 | → | rosco joins (~rosco@175.136.22.30) |
| 05:29:32 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 05:30:05 | × | Sgeo_ quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 05:35:53 | → | arahael joins (~arahael@user/arahael) |
| 05:39:25 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 05:40:30 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:45:21 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 05:48:28 | × | euphores quits (~SASL_euph@user/euphores) (Quit: Leaving.) |
| 05:56:16 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 05:56:34 | → | euphores joins (~SASL_euph@user/euphores) |
| 06:01:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
| 06:02:22 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 06:12:03 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:16:05 | → | CiaoSen joins (~Jura@2a05:5800:2ca:cd00:ca4b:d6ff:fec1:99da) |
| 06:17:15 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
| 06:25:42 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:29:52 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 06:30:33 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 252 seconds) |
| 06:33:43 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 06:41:29 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 06:46:05 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 06:46:29 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
| 06:47:24 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Client Quit) |
| 06:51:37 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb26e8fbd6c0b96dfe0a.dip0.t-ipconnect.de) |
| 06:56:54 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 06:57:18 | → | alp_ joins (~alp@2001:861:e3d6:8f80:2d2d:a36f:43f3:6f49) |
| 06:59:26 | → | merijn joins (~merijn@128-137-045-062.dynamic.caiway.nl) |
| 07:00:03 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 07:00:46 | → | caconym joins (~caconym@user/caconym) |
| 07:03:45 | × | merijn quits (~merijn@128-137-045-062.dynamic.caiway.nl) (Ping timeout: 248 seconds) |
| 07:08:11 | × | rosco quits (~rosco@175.136.22.30) (Quit: Lost terminal) |
| 07:10:45 | → | oneeyedalien joins (~oneeyedal@user/oneeyedalien) |
| 07:22:05 | → | tonyday567 joins (~tonyday56@125-63-10-162.ip4.superloop.au) |
| 07:25:14 | × | ridcully quits (~ridcully@p57b52b67.dip0.t-ipconnect.de) (Quit: WeeChat 4.4.2) |
| 07:34:18 | → | mrtz joins (~mrtz@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) |
| 07:36:14 | → | briandaed joins (~root@185.234.210.211) |
| 07:36:52 | → | ridcully joins (~ridcully@p57b52138.dip0.t-ipconnect.de) |
| 07:37:18 | × | mrtz quits (~mrtz@lewi-19-b2-v4wan-169604-cust1264.vm4.cable.virginm.net) (Remote host closed the connection) |
| 07:46:30 | × | oneeyedalien quits (~oneeyedal@user/oneeyedalien) (Quit: Leaving) |
| 07:49:20 | × | euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 265 seconds) |
| 07:50:19 | → | euleritian joins (~euleritia@dynamic-176-006-129-042.176.6.pool.telefonica.de) |
| 07:52:54 | × | synchrom1 quits (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) (Read error: Connection reset by peer) |
| 07:54:04 | → | synchromesh joins (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) |
| 07:54:36 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 260 seconds) |
| 07:56:12 | → | machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net) |
| 07:56:32 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 07:56:33 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb26e8fbd6c0b96dfe0a.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 07:57:39 | → | synchrom1 joins (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) |
| 07:57:59 | × | fr33domlover quits (~fr33domlo@towards.vision) (Quit: The Lounge - https://thelounge.chat) |
| 07:57:59 | → | merijn joins (~merijn@77.242.116.146) |
| 07:57:59 | × | merijn quits (~merijn@77.242.116.146) (Client Quit) |
| 08:00:14 | → | CrunchyFlakes joins (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) |
| 08:00:33 | × | synchromesh quits (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) (Ping timeout: 244 seconds) |
| 08:03:20 | → | fr33domlover joins (~fr33domlo@towards.vision) |
| 08:05:29 | → | cfricke joins (~cfricke@user/cfricke) |
| 08:06:08 | × | euleritian quits (~euleritia@dynamic-176-006-129-042.176.6.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 08:07:15 | → | euleritian joins (~euleritia@dynamic-176-007-155-010.176.7.pool.telefonica.de) |
| 08:08:03 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 08:08:44 | → | lxsameer joins (~lxsameer@Serene/lxsameer) |
| 08:18:34 | × | euleritian quits (~euleritia@dynamic-176-007-155-010.176.7.pool.telefonica.de) (Ping timeout: 260 seconds) |
| 08:19:06 | → | euleritian joins (~euleritia@77.22.252.56) |
| 08:30:19 | × | machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Remote host closed the connection) |
| 08:31:39 | → | machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net) |
| 08:31:58 | × | tonyday567 quits (~tonyday56@125-63-10-162.ip4.superloop.au) (Remote host closed the connection) |
| 08:33:49 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 08:34:06 | × | CiaoSen quits (~Jura@2a05:5800:2ca:cd00:ca4b:d6ff:fec1:99da) (Ping timeout: 246 seconds) |
| 08:35:56 | × | euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 272 seconds) |
| 08:36:03 | → | euleritian joins (~euleritia@dynamic-176-007-155-010.176.7.pool.telefonica.de) |
| 08:41:09 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 08:42:08 | → | kenran joins (~user@user/kenran) |
| 08:53:42 | → | ash3en joins (~Thunderbi@89.246.174.164) |
| 08:54:24 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Read error: Connection reset by peer) |
| 08:56:30 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 09:03:06 | × | ash3en quits (~Thunderbi@89.246.174.164) (Ping timeout: 252 seconds) |
| 09:03:06 | × | euleritian quits (~euleritia@dynamic-176-007-155-010.176.7.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 09:03:33 | → | euleritian joins (~euleritia@dynamic-176-007-155-010.176.7.pool.telefonica.de) |
| 09:04:26 | × | wanted quits (~wanted@2.219.56.221) (Ping timeout: 272 seconds) |
| 09:16:01 | → | mari-estel joins (~mari-este@user/danza) |
| 09:18:04 | × | tzh quits (~tzh@c-76-115-131-146.hsd1.or.comcast.net) (Quit: zzz) |
| 09:26:53 | → | ash3en joins (~Thunderbi@89.246.174.164) |
| 09:29:25 | × | turlando quits (~turlando@user/turlando) (Quit: No Ping reply in 180 seconds.) |
| 09:30:50 | → | turlando joins (~turlando@user/turlando) |
| 09:34:00 | → | __monty__ joins (~toonn@user/toonn) |
| 09:34:02 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 09:34:05 | → | comonad joins (~comonad@p200300d0272bda000e01a379c24cc428.dip0.t-ipconnect.de) |
| 09:35:28 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb26e8fbd6c0b96dfe0a.dip0.t-ipconnect.de) |
| 09:42:03 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Ping timeout: 245 seconds) |
| 09:44:51 | × | chexum quits (~quassel@gateway/tor-sasl/chexum) (Ping timeout: 260 seconds) |
| 09:49:45 | × | jcarpenter2 quits (~lol@2603:3016:1e01:b9e0:c859:568e:44d5:6cfd) (Read error: Connection reset by peer) |
| 09:59:56 | × | ash3en quits (~Thunderbi@89.246.174.164) (Ping timeout: 252 seconds) |
| 10:02:02 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 10:02:12 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 10:05:23 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Ping timeout: 255 seconds) |
| 10:09:26 | × | euleritian quits (~euleritia@dynamic-176-007-155-010.176.7.pool.telefonica.de) (Ping timeout: 255 seconds) |
| 10:11:00 | → | euleritian joins (~euleritia@dynamic-176-000-159-238.176.0.pool.telefonica.de) |
| 10:11:52 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
| 10:19:44 | × | euleritian quits (~euleritia@dynamic-176-000-159-238.176.0.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 10:21:40 | × | hsw quits (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) (Remote host closed the connection) |
| 10:21:53 | → | hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net) |
| 10:25:36 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 10:26:54 | → | alexherbo2 joins (~alexherbo@2a02-8440-320a-9d11-44be-f9da-6c83-482e.rev.sfr.net) |
| 10:28:45 | → | euleritian joins (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) |
| 10:30:21 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 252 seconds) |
| 10:35:08 | × | euleritian quits (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) (Ping timeout: 252 seconds) |
| 10:39:58 | × | AlexNoo quits (~AlexNoo@178.34.163.62) (Read error: Connection reset by peer) |
| 10:40:20 | → | AlexNoo joins (~AlexNoo@178.34.163.62) |
| 10:49:57 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 248 seconds) |
| 10:49:57 | → | ash3en joins (~Thunderbi@89.246.174.164) |
| 10:58:49 | → | ash3en1 joins (~Thunderbi@146.70.124.222) |
| 10:59:00 | → | rmca joins (~rob@user/rmca) |
| 11:00:26 | × | ash3en quits (~Thunderbi@89.246.174.164) (Ping timeout: 252 seconds) |
| 11:00:26 | ash3en1 | is now known as ash3en |
| 11:02:39 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 11:02:51 | → | lortabac joins (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) |
| 11:09:21 | → | blase joins (~wanted@2.219.56.221) |
| 11:09:30 | × | fr33domlover quits (~fr33domlo@towards.vision) (Quit: The Lounge - https://thelounge.chat) |
| 11:13:10 | → | fr33domlover joins (~fr33domlo@towards.vision) |
| 11:15:35 | → | CiaoSen joins (~Jura@2a05:5800:2ca:cd00:ca4b:d6ff:fec1:99da) |
| 11:20:42 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb26e8fbd6c0b96dfe0a.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 11:29:02 | × | kenran quits (~user@user/kenran) (Remote host closed the connection) |
| 11:32:00 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb26e8fbd6c0b96dfe0a.dip0.t-ipconnect.de) |
| 11:33:41 | → | euleritian joins (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) |
| 11:40:38 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 11:52:03 | × | mari-estel quits (~mari-este@user/danza) (Ping timeout: 245 seconds) |
| 11:52:08 | → | sayola joins (~sayola@2a00:20:d308:54cb:f901:4267:f16e:dff0) |
| 11:54:32 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 11:55:42 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 246 seconds) |
| 11:57:33 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 252 seconds) |
| 11:57:33 | ljdarj1 | is now known as ljdarj |
| 11:59:44 | → | mari-estel joins (~mari-este@user/danza) |
| 12:07:03 | × | euleritian quits (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) (Remote host closed the connection) |
| 12:07:12 | → | euleritian joins (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) |
| 12:07:28 | × | euleritian quits (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) (Remote host closed the connection) |
| 12:08:00 | → | euleritian joins (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) |
| 12:09:05 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 12:11:34 | × | mari-estel quits (~mari-este@user/danza) (Ping timeout: 252 seconds) |
| 12:12:45 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 12:12:46 | ljdarj1 | is now known as ljdarj |
| 12:12:54 | → | mari-estel joins (~mari-este@user/danza) |
| 12:17:14 | × | sayola quits (~sayola@2a00:20:d308:54cb:f901:4267:f16e:dff0) (Read error: Connection reset by peer) |
| 12:18:16 | → | sayola joins (~sayola@2a00:20:d308:54cb:f901:4267:f16e:dff0) |
| 12:21:02 | × | euleritian quits (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
| 12:21:22 | → | euleritian joins (~euleritia@84.19.220.82) |
| 12:28:12 | → | chexum joins (~quassel@gateway/tor-sasl/chexum) |
| 12:34:23 | → | identity joins (~identity@user/ZharMeny) |
| 12:38:42 | × | mari-estel quits (~mari-este@user/danza) (Ping timeout: 252 seconds) |
| 12:40:04 | → | mari-estel joins (~mari-este@user/danza) |
| 12:43:18 | × | ash3en quits (~Thunderbi@146.70.124.222) (Ping timeout: 246 seconds) |
| 12:45:37 | × | euleritian quits (~euleritia@84.19.220.82) (Ping timeout: 265 seconds) |
| 12:45:55 | → | euleritian joins (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) |
| 12:49:19 | × | CiaoSen quits (~Jura@2a05:5800:2ca:cd00:ca4b:d6ff:fec1:99da) (Ping timeout: 264 seconds) |
| 12:50:51 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 12:53:24 | → | rosco joins (~rosco@175.136.22.30) |
| 12:59:58 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 252 seconds) |
| 13:14:16 | × | stiell quits (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 260 seconds) |
| 13:17:01 | → | stiell joins (~stiell@gateway/tor-sasl/stiell) |
| 13:27:16 | × | alexherbo2 quits (~alexherbo@2a02-8440-320a-9d11-44be-f9da-6c83-482e.rev.sfr.net) (Remote host closed the connection) |
| 13:27:17 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb26e8fbd6c0b96dfe0a.dip0.t-ipconnect.de) (Ping timeout: 248 seconds) |
| 13:30:21 | → | bh34e5 joins (~bh34e5@user/bh34e5) |
| 13:32:11 | → | Achylles joins (~Achylles@45.182.57.52) |
| 13:32:51 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 13:34:46 | → | alexherbo2 joins (~alexherbo@2a02-8440-320a-9d11-14e2-d135-c40b-29b1.rev.sfr.net) |
| 13:44:18 | × | alp_ quits (~alp@2001:861:e3d6:8f80:2d2d:a36f:43f3:6f49) (Ping timeout: 248 seconds) |
| 13:44:41 | <haskellbridge> | <oak> Isn't callCabal2Nix a bit bad solution anyway because it causes import-from-derivation? |
| 13:44:41 | <haskellbridge> | <oak> but basically yes I think |
| 13:44:42 | <haskellbridge> | <oak> It is somewhat confusing many examples and documentation show the usage of the callCabal2Nix although I wouldn't recommend to use it because it causes import-from-derivation. Instead you should have something like git pre-commit check to make sure your generated default.nix file stays up-to-date with the .cabal file. (IFD means Nix has to build a derivation first as part of the evaluation in order to be able to... |
| 13:44:47 | <haskellbridge> | ... completely evaluate your Nix expression. Usually you want to evaluate first and after that start to build.) |
| 13:44:48 | <haskellbridge> | <thirdofmay18081814goya> what's the proper way to write an AST using the freer monad on containers? |
| 13:44:48 | <haskellbridge> | <thirdofmay18081814goya> datatypes a la carte uses the free monad and no containers |
| 13:45:33 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb260d771c799cc2fd22.dip0.t-ipconnect.de) |
| 13:46:30 | → | ash3en joins (~Thunderbi@146.70.124.222) |
| 13:50:51 | × | ash3en quits (~Thunderbi@146.70.124.222) (Ping timeout: 246 seconds) |
| 13:52:53 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Remote host closed the connection) |
| 13:56:10 | × | alexherbo2 quits (~alexherbo@2a02-8440-320a-9d11-14e2-d135-c40b-29b1.rev.sfr.net) (Remote host closed the connection) |
| 13:57:19 | × | euleritian quits (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) (Read error: Connection reset by peer) |
| 13:57:38 | → | euleritian joins (~euleritia@84.19.220.82) |
| 14:00:31 | × | ephilalethes quits (~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer) |
| 14:08:50 | → | Square joins (~Square4@user/square) |
| 14:08:52 | → | Square2 joins (~Square@user/square) |
| 14:10:16 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 14:10:46 | → | alp_ joins (~alp@2001:861:e3d6:8f80:e385:c91:c412:4538) |
| 14:11:29 | × | euleritian quits (~euleritia@84.19.220.82) (Ping timeout: 260 seconds) |
| 14:12:09 | → | euleritian joins (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) |
| 14:16:58 | × | Square2 quits (~Square@user/square) (Ping timeout: 252 seconds) |
| 14:20:15 | → | sayola1 joins (~sayola@2a00:20:d302:f7e6:a954:455b:b33d:c7d4) |
| 14:22:46 | × | sayola quits (~sayola@2a00:20:d308:54cb:f901:4267:f16e:dff0) (Ping timeout: 265 seconds) |
| 14:26:09 | × | sayola1 quits (~sayola@2a00:20:d302:f7e6:a954:455b:b33d:c7d4) (Quit: Leaving.) |
| 14:38:57 | × | alp_ quits (~alp@2001:861:e3d6:8f80:e385:c91:c412:4538) (Ping timeout: 252 seconds) |
| 14:48:07 | × | identity quits (~identity@user/ZharMeny) (Ping timeout: 264 seconds) |
| 15:03:22 | → | weary-traveler joins (~user@user/user363627) |
| 15:03:48 | → | identity joins (~identity@user/ZharMeny) |
| 15:04:33 | → | tremon joins (~tremon@83.80.159.219) |
| 15:07:47 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 255 seconds) |
| 15:07:47 | × | identity quits (~identity@user/ZharMeny) (Read error: Connection reset by peer) |
| 15:08:39 | × | mari-estel quits (~mari-este@user/danza) (Remote host closed the connection) |
| 15:08:53 | → | mari-estel joins (~mari-este@user/danza) |
| 15:10:34 | → | identity joins (~identity@user/ZharMeny) |
| 15:13:53 | × | mari-estel quits (~mari-este@user/danza) () |
| 15:21:09 | × | lortabac quits (~lortabac@2a01:e0a:541:b8f0:55ab:e185:7f81:54a4) (Quit: WeeChat 4.2.2) |
| 15:23:44 | → | ash3en joins (~Thunderbi@146.70.124.222) |
| 15:24:42 | ← | alethkit parts (23bd17ddc6@sourcehut/user/alethkit) () |
| 15:26:03 | × | rmca quits (~rob@user/rmca) (Ping timeout: 246 seconds) |
| 15:26:51 | → | ephilalethes joins (~noumenon@113.51-175-156.customer.lyse.net) |
| 15:28:08 | × | Achylles quits (~Achylles@45.182.57.52) (Quit: Leaving) |
| 15:34:04 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 15:36:06 | → | cfricke joins (~cfricke@user/cfricke) |
| 15:38:42 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb260d771c799cc2fd22.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 15:39:01 | → | acidjnk_new joins (~acidjnk@p200300d6e72cfb260d771c799cc2fd22.dip0.t-ipconnect.de) |
| 15:48:27 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 246 seconds) |
| 15:57:29 | × | ash3en quits (~Thunderbi@146.70.124.222) (Quit: ash3en) |
| 15:57:30 | × | ephilalethes quits (~noumenon@113.51-175-156.customer.lyse.net) (Read error: Connection reset by peer) |
| 15:58:32 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 252 seconds) |
| 16:00:25 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 16:01:21 | × | aforemny quits (~aforemny@2001:9e8:6cdf:9f00:9304:f095:b881:d5be) (Ping timeout: 248 seconds) |
| 16:02:59 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:04:45 | × | machinedgod quits (~machinedg@d50-99-47-73.abhsia.telus.net) (Ping timeout: 252 seconds) |
| 16:08:17 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 244 seconds) |
| 16:11:16 | → | KicksonButt joins (~quassel@187.21.174.221) |
| 16:18:46 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 16:23:16 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 16:23:34 | → | mehlon joins (~mehlon@user/mehlon) |
| 16:27:01 | × | euleritian quits (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) (Ping timeout: 248 seconds) |
| 16:28:00 | × | pavonia quits (~user@user/siracusa) (Ping timeout: 246 seconds) |
| 16:32:15 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 252 seconds) |
| 16:40:45 | <haskellbridge> | <hellwolf> newbie question: what is the (perhaps obvious but not so for newbies) reason that GHC AST and TH AST are independent of each other? |
| 16:40:50 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 16:45:07 | <ghoulguy> | I don't know the exact reasons, but I would expect them to be different for at least two reasons. The compiler's AST is likely to track slightly different information and template-haskell should aspire to be useable by more than just GHC |
| 16:46:17 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 16:48:04 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 16:53:17 | × | mehlon quits (~mehlon@user/mehlon) (Remote host closed the connection) |
| 16:53:23 | → | spew joins (~spew@201.141.99.170) |
| 16:53:36 | → | mehlon joins (~mehlon@user/mehlon) |
| 16:58:05 | × | mehlon quits (~mehlon@user/mehlon) (Ping timeout: 256 seconds) |
| 16:58:31 | → | mehlon__ joins (~mehlon__@user/mehlon) |
| 16:58:34 | → | alexherbo2 joins (~alexherbo@2a02-8440-3210-e74e-e0a7-371d-4485-da44.rev.sfr.net) |
| 17:00:26 | <geekosaur> | the compiler AST is much more complex than TH's (and that got even worse with the change to TTG back in 7.x) |
| 17:01:36 | <geekosaur> | and you rarely care about most of that, and don't want to have to fight with how to deal with TTG |
| 17:02:24 | × | rosco quits (~rosco@175.136.22.30) (Quit: Lost terminal) |
| 17:02:36 | → | Square2 joins (~Square@user/square) |
| 17:03:21 | <kaol> | How stupid idea would it be to implement a compiler by parsing source code and transforming it to TH AST? I'm not seriously contemplating doing anything like that but it was an idle thought I had while doing something else. |
| 17:04:18 | <geekosaur> | it'd probably need more than the TH AST gives you, for one |
| 17:04:49 | <geekosaur> | but in general that sounds like "writing a compiler" 🙂 |
| 17:04:53 | × | Square quits (~Square4@user/square) (Ping timeout: 248 seconds) |
| 17:05:19 | × | cheater quits (~Username@user/cheater) (Ping timeout: 260 seconds) |
| 17:05:38 | × | mehlon__ quits (~mehlon__@user/mehlon) (Remote host closed the connection) |
| 17:06:22 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 17:06:25 | <geekosaur> | (for one example of additional information: GHC's AST carries around source information. what's the source information for a TH splice?) |
| 17:06:40 | <geekosaur> | (and, perhaps more to the point: how do you get it?) |
| 17:06:59 | <haskellbridge> | <hellwolf> I may have code snippets for that, one sec |
| 17:08:02 | <kaol> | Everyone's done a compiler that targets C. |
| 17:09:30 | geekosaur | raises a guilty hand |
| 17:09:58 | <geekosaur> | (but Haskell didn't exist back when I was doing that…) |
| 17:11:03 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 17:18:20 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:20:35 | → | alp_ joins (~alp@2001:861:e3d6:8f80:655:8e2f:b4d3:203) |
| 17:22:15 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 17:22:21 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 17:22:29 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 17:25:22 | <briandaed> | so it was before 90s... |
| 17:26:05 | <geekosaur> | I did most of my parser and compiler/transpiler stuff from 1986-1989, yes |
| 17:26:19 | <briandaed> | respect |
| 17:26:27 | <geekosaur> | sadly most of it is gone with my then employer who shut down in 1996 |
| 17:27:05 | <briandaed> | I was beating nettles with a stick at that time |
| 17:27:11 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Remote host closed the connection) |
| 17:29:25 | × | alp_ quits (~alp@2001:861:e3d6:8f80:655:8e2f:b4d3:203) (Ping timeout: 248 seconds) |
| 17:32:44 | → | cheater joins (~Username@user/cheater) |
| 17:34:13 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 248 seconds) |
| 17:39:02 | → | euleritian joins (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) |
| 17:41:41 | × | peterbecich quits (~Thunderbi@syn-047-229-123-186.res.spectrum.com) (Ping timeout: 248 seconds) |
| 17:43:18 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 17:44:32 | → | hiredman joins (~hiredman@frontier1.downey.family) |
| 17:49:03 | → | st_aldini joins (~Thunderbi@2605:a601:a07c:af00:627a:78b9:acf4:2bd7) |
| 17:49:23 | × | briandaed quits (~root@185.234.210.211) (Remote host closed the connection) |
| 17:52:55 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 264 seconds) |
| 17:53:21 | <haskellbridge> | <hellwolf> Language.Haskell.TH.location |
| 17:53:21 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/hvbdpMkvfmGDWucRVSIYIRmN/Cp4UpcGhnc0 (4 lines) |
| 17:54:03 | × | euleritian quits (~euleritia@dynamic-176-000-144-052.176.0.pool.telefonica.de) (Ping timeout: 276 seconds) |
| 17:57:29 | → | euleritian joins (~euleritia@dynamic-176-003-034-161.176.3.pool.telefonica.de) |
| 17:59:06 | → | tzh joins (~tzh@c-76-115-131-146.hsd1.or.comcast.net) |
| 18:02:11 | <monochrom> | Bluntly, reusing TH's AST saves you only a small and the easiest part of a compiler. https://simon.peytonjones.org/trees-that-grow/ will tell you how many dozens more AST types you would need if not for one cool trick. (TH's AST does not use that trick, so it is of no help.) |
| 18:02:47 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 18:08:02 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 18:09:01 | <lxsameer> | hey folks, what's the proper way of implementing a sum function with the type `[IO Int] -> IO Int` |
| 18:09:21 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 248 seconds) |
| 18:09:32 | → | alp_ joins (~alp@2001:861:e3d6:8f80:db99:b16a:1356:52e1) |
| 18:09:34 | → | ljdarj joins (~Thunderbi@user/ljdarj) |
| 18:10:43 | <monochrom> | @type foldM |
| 18:10:44 | <lambdabot> | (Foldable t, Monad m) => (b -> a -> m b) -> b -> t a -> m b |
| 18:10:49 | <monochrom> | That should help. |
| 18:12:17 | × | ljdarj1 quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 18:12:26 | <lxsameer> | thanks |
| 18:15:33 | <Lears> | % :t (coerce `asTypeOf` fmap getSum) . foldMap (coerce `asTypeOf` fmap Sum) |
| 18:15:33 | <yahb2> | (coerce `asTypeOf` fmap getSum) . foldMap (coerce `asTypeOf` fmap Sum) ; :: (Coercible (f (Sum b)) (f b), Functor f, Foldable t, ; Monoid (f (Sum b))) => ; t (f b) -> f b |
| 18:15:40 | × | son0p quits (~ff@186.119.83.52) (Ping timeout: 252 seconds) |
| 18:15:52 | <Lears> | lxsameer: ^ |
| 18:16:23 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 252 seconds) |
| 18:17:47 | × | Axman6 quits (~Axman6@user/axman6) (Ping timeout: 248 seconds) |
| 18:18:41 | × | synchrom1 quits (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) (Read error: Connection reset by peer) |
| 18:19:24 | → | synchromesh joins (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) |
| 18:25:22 | → | synchrom1 joins (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) |
| 18:25:32 | → | SlackCoder joins (~SlackCode@64-94-63-8.ip.weststar.net.ky) |
| 18:25:57 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 246 seconds) |
| 18:27:47 | × | synchromesh quits (~john@2406:5a00:2497:300:b017:a602:11fc:4e3b) (Ping timeout: 244 seconds) |
| 18:30:31 | <lxsameer> | Lears: thank you |
| 18:34:07 | × | cross quits (~cross@spitfire.i.gajendra.net) (Remote host closed the connection) |
| 18:34:15 | → | vanishingideal joins (~vanishing@user/vanishingideal) |
| 18:41:15 | × | KicksonButt quits (~quassel@187.21.174.221) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 18:43:31 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 18:48:20 | <yin> | is base decoupled from ghc already? |
| 18:48:43 | → | Tuplanolla joins (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) |
| 18:51:36 | <monochrom> | Not yet. |
| 18:53:26 | × | Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
| 18:53:37 | × | vanishingideal quits (~vanishing@user/vanishingideal) (Quit: leaving) |
| 18:54:09 | × | identity quits (~identity@user/ZharMeny) (Ping timeout: 248 seconds) |
| 18:54:42 | × | infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 272 seconds) |
| 18:55:22 | → | identity joins (~identity@user/ZharMeny) |
| 19:00:01 | × | caconym quits (~caconym@user/caconym) (Quit: bye) |
| 19:00:20 | → | machinedgod joins (~machinedg@d50-99-47-73.abhsia.telus.net) |
| 19:00:40 | → | caconym joins (~caconym@user/caconym) |
| 19:01:51 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 252 seconds) |
| 19:10:15 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 19:12:57 | → | mreh joins (~matthew@host86-128-2-51.range86-128.btcentralplus.com) |
| 19:14:40 | → | infinity0 joins (~infinity0@pwned.gg) |
| 19:15:04 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 252 seconds) |
| 19:20:51 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 19:27:30 | → | AlexZenon joins (~alzenon@178.34.163.62) |
| 19:28:20 | × | SlackCoder quits (~SlackCode@64-94-63-8.ip.weststar.net.ky) (Ping timeout: 255 seconds) |
| 19:29:51 | × | euleritian quits (~euleritia@dynamic-176-003-034-161.176.3.pool.telefonica.de) (Read error: Connection reset by peer) |
| 19:30:10 | → | euleritian joins (~euleritia@84.19.220.82) |
| 19:32:03 | × | mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 245 seconds) |
| 19:32:54 | → | mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) |
| 19:35:45 | <yin> | i am having trouble building an old project due to version constraints on setup.Cabal but nowhere in my project is there an indication of those constraints |
| 19:37:06 | <haskellbridge> | <sm> how'd you know there's contraints ? |
| 19:37:21 | <haskellbridge> | <sm> (and what's setup.Cabal ?) |
| 19:43:28 | → | LukeHoersten joins (~LukeHoers@user/lukehoersten) |
| 19:49:58 | <monochrom> | We know of Setup.hs/lhs and I know of *.cabal, but the *.cabal is unlikely to be actually called setup.cabal |
| 19:50:22 | <monochrom> | s/and I know of/and we know of/ # even |
| 19:51:26 | <sprout> | using the royal plural for oneselves makes for delightful conversations |
| 19:52:17 | <monochrom> | But it was not the royal plural! |
| 19:52:41 | <sprout> | regardless, you're my monarch now |
| 19:52:52 | <monochrom> | "Don't mind if I do" ? >:) |
| 19:53:22 | <yin> | https://paste.jrvieira.com/1728935598635 |
| 19:54:00 | <yin> | this is my .cabal file: https://paste.jrvieira.com/1728935627215 |
| 19:55:32 | <mauke> | don't those have to start with a 'cabal-version' line nowadays? |
| 19:55:52 | <int-e> | no cabal-version field, is that where `Cabal>=1.0 && <1.25` comes from? |
| 19:56:14 | <yin> | ah. i removed it in order to use a newer cabal version :p |
| 19:56:27 | <yin> | ty |
| 19:57:23 | <monochrom> | "cabal-version: 2.4" is what I use and it has been uneventful with new cabal-install versions for years. |
| 19:57:23 | <int-e> | `cabal check` would probably point that out |
| 19:57:47 | <mauke> | https://cabal.readthedocs.io/en/stable/cabal-package-description-file.html#pkg-field-cabal-version |
| 19:57:52 | <int-e> | Hmm, what does this mean? "constraint from minimum version of Cabal used by Setup.hs requires >=3.8" |
| 19:58:09 | <int-e> | (still looking at yin's cabal-install output) |
| 20:00:45 | <monochrom> | probably just the opposite way of stating the same dilemma |
| 20:00:51 | <int-e> | (So the question is, where would cabal-install take that constraint from? Some cabal.project* file maybe?) |
| 20:01:48 | <yin> | i have no Setup.hs file anywhere in my project (iiuc it can trigger cabal version constraints) |
| 20:02:48 | <yin> | my cabal.project only reads "packages: ./sete.cabal" |
| 20:03:58 | <yin> | everything is fine now, ty |
| 20:04:20 | <yin> | i don't like that cabal-version field at all |
| 20:09:31 | × | CrunchyFlakes quits (~CrunchyFl@ip1f13e94e.dynamic.kabel-deutschland.de) (Quit: ZNC 1.8.2 - https://znc.in) |
| 20:09:36 | <haskellbridge> | <sm> sounds like you figured it out, the #hackage channel will know more |
| 20:10:45 | ← | Everything parts (~Everythin@static.208.206.21.65.clients.your-server.de) () |
| 20:14:58 | × | lxsameer quits (~lxsameer@Serene/lxsameer) (Ping timeout: 245 seconds) |
| 20:19:55 | × | LukeHoersten quits (~LukeHoers@user/lukehoersten) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:22:45 | × | mreh quits (~matthew@host86-128-2-51.range86-128.btcentralplus.com) (Ping timeout: 248 seconds) |
| 20:26:11 | → | son0p joins (~ff@190.69.120.153) |
| 20:27:43 | <tomsmeding> | yin: it's a minimum version field: "this cabal file requires cabal version _at least_ 2.4 to read" |
| 20:27:56 | <tomsmeding> | if you use specific newer syntax, cabal requires you to set a higher minimum version |
| 20:28:12 | <tomsmeding> | e.g. ^>= requires a relatively recent version |
| 20:28:20 | <tomsmeding> | "relatively" |
| 20:30:15 | → | Square joins (~Square4@user/square) |
| 20:32:01 | <tomsmeding> | sm: I think 'setup.Cabal' means "The `Cabal` dependency of the `setup` component", hence the peculiar capitalisation |
| 20:33:18 | × | Square2 quits (~Square@user/square) (Ping timeout: 245 seconds) |
| 20:38:40 | × | identity quits (~identity@user/ZharMeny) (Ping timeout: 252 seconds) |
| 20:43:09 | × | michalz quits (~michalz@185.246.207.203) (Remote host closed the connection) |
| 20:43:33 | → | malte joins (~malte@mal.tc) |
| 20:48:48 | → | oraculo joins (~mirc-rc@177.100.68.254) |
| 20:50:26 | <tomsmeding> | (you thought `.` was not overloaded enough in haskell? Just look at cabal :p) |
| 20:56:13 | <monochrom> | hahaha |
| 20:57:08 | <monochrom> | I thought cabal overloads colon instead >:) |
| 20:57:18 | <mauke> | everybody wants the colon |
| 20:57:38 | <tomsmeding> | monochrom: a cabal freeze file also has `.` |
| 20:57:41 | <monochrom> | I guess "why not both" is the universal truth. |
| 20:57:54 | <tomsmeding> | where I guess the `any` refers to any package in the dependency tree? |
| 20:58:11 | <haskellbridge> | <hellwolf> https://youtu.be/jf_OxE3j4AQ?si=QKtujJqDYXUtUWXx |
| 20:58:11 | <haskellbridge> | good night :) |
| 20:58:14 | <monochrom> | cabal works in mysterious way. (There!) |
| 20:58:27 | <tomsmeding> | -s (English) |
| 20:58:55 | <tomsmeding> | (I'm correcting only because I highly suspect you'll find this amusing) |
| 20:59:13 | <monochrom> | In general, "X is a Y language" claims are overrated. |
| 20:59:29 | <monochrom> | You know what, s/overrated/click baits/ |
| 21:00:02 | <c_wraith> | Haskell is a fish language. I heard some sturgeon speaking it. |
| 21:00:59 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 21:01:02 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 21:05:03 | → | malte joins (~malte@mal.tc) |
| 21:05:29 | <yin> | for a moment there i thought the haskellbridge itself wished us good night |
| 21:06:04 | <tomsmeding> | I guess geekosaur removed the space before the second line in order to allow the newline workaround to call bots? :p |
| 21:06:13 | <monochrom> | That trick is currently the only way matrix users can talk to lambdabot. |
| 21:06:15 | <tomsmeding> | s/to call/for calling/ |
| 21:09:15 | <geekosaur> | I didn't, upstream did. it appeared 2 updates ago and disappeared again last update |
| 21:09:44 | <tomsmeding> | interesting |
| 21:09:45 | <haskellbridge> | <zwro> oh nice |
| 21:09:45 | <haskellbridge> | > take 7 $ iterate (recip . succ) 1 :: [Rational] |
| 21:09:47 | <lambdabot> | [1 % 1,1 % 2,2 % 3,3 % 5,5 % 8,8 % 13,13 % 21] |
| 21:10:01 | <monochrom> | :) |
| 21:10:28 | <tomsmeding> | cute continued fraction :p |
| 21:10:55 | <haskellbridge> | <zwro> it approximates 1/φ :) |
| 21:11:36 | <mauke> | or φ-1? |
| 21:12:20 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:12:32 | <monochrom> | and φ-1 |
| 21:15:23 | <yin> | even φ-1! |
| 21:15:32 | <monochrom> | :) |
| 21:19:54 | <mauke> | km/mi |
| 21:20:33 | <geekosaur> | [14 18:48:21] <yin> is base decoupled from ghc already? <-- it's in progress, `ghc-base` exists but rewiring and splitting of definitions is still in progress |
| 21:21:27 | <monochrom> | km/mi = k/i = -ki >:) |
| 21:21:41 | <yin> | i'm impatient! |
| 21:22:24 | <sprout> | another few centuries and you'll have haskell on the desktop |
| 21:22:37 | <tomsmeding> | monochrom: makes me think of kWh/100h that seems to be a popular unit around here for energy usage of home appliances |
| 21:24:17 | <monochrom> | People have lost the ability to divide by 100 for themselves so now they need corporate marketing to do it for them. |
| 21:24:26 | <haskellbridge> | <zwro> hectohour... that useful unit |
| 21:24:54 | <tomsmeding> | not just that, the whole unit is just 10W! |
| 21:25:05 | <tomsmeding> | just use W if that's what you want |
| 21:25:23 | <monochrom> | Oh people have also lost the ability to multiply by 10. >:) |
| 21:25:39 | <haskellbridge> | <zwro> 25 sixths of a day |
| 21:25:43 | <tomsmeding> | instead, they prefer to let corporate first multiply by 1000 and then divide by 10 |
| 21:25:45 | <tomsmeding> | *by 100 |
| 21:27:10 | <monochrom> | I understand starting with kW instead of W because the bills use kW. Similar to how we use kg more than we use g. |
| 21:27:35 | <haskellbridge> | <zwro> 4 days and 4 hours |
| 21:29:17 | <yin> | monochrom: we even use kg when we should use liters! |
| 21:29:25 | <geekosaur> | cgs vs. mks wars have returned? |
| 21:29:40 | <monochrom> | I support mgs |
| 21:31:11 | <geekosaur> | but those are only indirectly related! |
| 21:31:30 | × | alexherbo2 quits (~alexherbo@2a02-8440-3210-e74e-e0a7-371d-4485-da44.rev.sfr.net) (Remote host closed the connection) |
| 21:31:36 | <geekosaur> | I blame whoever came up with the metric system to make the unit of mass based around centimeters instead of meters |
| 21:31:55 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 21:32:01 | <monochrom> | But yeah it's interesting that they make a standard m rule, a standard second clock, and then a standard kg ball rather than a standard g ball. |
| 21:32:28 | <monochrom> | OK maybe they didn't make an s clock. I don't actually know. |
| 21:33:06 | → | malte joins (~malte@mal.tc) |
| 21:33:26 | <yin> | because "second" is obviously the fundamental unit.... |
| 21:33:40 | × | son0p quits (~ff@190.69.120.153) (Ping timeout: 252 seconds) |
| 21:33:43 | <yin> | pars minuta seconda |
| 21:34:35 | <geekosaur> | time's even worse, the standard time unit is defined by the transition of an electron in a cesium atom and is in femtoseconds or soemthing like that |
| 21:34:49 | <tomsmeding> | not sure if you guys in the US have right to complain :p |
| 21:35:12 | <tomsmeding> | I guess monochrom is not originally US and might get a pass |
| 21:35:18 | <geekosaur> | we don't even try, you guys find out why trying is folly |
| 21:35:26 | <yin> | i wish all systems used powers of 2 |
| 21:35:31 | <geekosaur> | monochrom's npot even currently US |
| 21:35:42 | <geekosaur> | (utoronto I think?) |
| 21:35:51 | <tomsmeding> | _oh_ of course, I knew that |
| 21:35:53 | <monochrom> | Yeah Canadian and Hong Kong |
| 21:36:46 | <monochrom> | Very happy that I can continue to spell colour as colour! |
| 21:36:52 | <tomsmeding> | :D |
| 21:37:19 | <yin> | i remember reading about the "farsee", a unit of distance where the basic unit is how far you can see |
| 21:39:27 | <yin> | monochrom: i recently used 2 libraries in a project where one used a type Color and the other a type Colour |
| 21:39:41 | <yin> | that was fun |
| 21:42:19 | <yin> | oh it was worse than that. i contributed to ansi-terminal-game which had Color and i introduced a dependency which has Colour |
| 21:42:27 | <monochrom> | At least you can just import without qualified :) |
| 21:43:11 | <tomsmeding> | regardless of how much I prefer British spelling, for better or for worse I do think we've settled on American spelling in identifiers |
| 21:43:21 | <tomsmeding> | so the Colour one is the awkward one there :p |
| 21:43:23 | <haskellbridge> | <sm> ha speak for yourself |
| 21:43:45 | <yin> | (the dependency was https://hackage.haskell.org/package/colour itself :p) |
| 21:44:13 | <tomsmeding> | juicy |
| 21:44:45 | <yin> | the description is "A model for human colour/color perception" |
| 21:45:24 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 21:45:31 | <yin> | they should have done a type synonym |
| 21:47:44 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 244 seconds) |
| 21:47:50 | ljdarj1 | is now known as ljdarj |
| 21:48:40 | <monochrom> | Ever heard of Generalised ADT? >:) |
| 21:49:22 | <yin> | how would that help? |
| 21:49:36 | <yin> | (of course there is also a Color package) |
| 21:49:56 | <monochrom> | Fortunately they avoided another war by deciding that you just have to write -XGADTs |
| 21:50:22 | <tomsmeding> | {-# SPECIALIZE #-} |
| 21:50:35 | <monochrom> | haha |
| 21:50:46 | × | oraculo quits (~mirc-rc@177.100.68.254) (Quit: pop!_os channel on irc #pop!_os) |
| 21:50:49 | <tomsmeding> | -XGeneralizedNewtypeDeriving |
| 21:52:03 | <tomsmeding> | and the "specialize" spelling also appears in a bunch of command-line arguments to GHC |
| 21:52:22 | <tomsmeding> | (ghc --show-options | grep -i z) >:D |
| 21:52:32 | <monochrom> | he |
| 21:57:19 | <yin> | oh no, package names are case sensitive? |
| 21:57:35 | <yin> | so besides Color and colour we can still have color and Colour |
| 21:58:27 | <monochrom> | Something about the package name being hscolour and the exe name being HsColour. |
| 21:58:53 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 22:00:14 | <geekosaur> | funny enough, it was originally GeneralizedNewtypeDeriving, I found a ticket once about adding the "correct" spelling |
| 22:00:32 | <monochrom> | oh heh |
| 22:01:19 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 264 seconds) |
| 22:01:19 | ljdarj1 | is now known as ljdarj |
| 22:01:37 | <geekosaur> | (we go through this with DCSS as well, every so often someone patches up some name to Australian spelling) |
| 22:03:04 | <monochrom> | I... didn't know that there is also Australian spelling. |
| 22:04:04 | <yin> | monochrom: you just add {-# LANGUAGE GennerTippiesM8^^ #-} |
| 22:04:59 | <monochrom> | haha |
| 22:05:10 | <tomsmeding> | omg TIL GeneralisedNewtypeDeriving is written in British spelling as the standard in GHC |
| 22:05:50 | <geekosaur> | it is the *Glasgow* Haskell Compiler, after all |
| 22:06:06 | <tomsmeding> | but SPECIALIZE is the other way around: "(UK spelling also accepted.)" |
| 22:06:07 | <monochrom> | Oh haha both spellings are supported. |
| 22:06:34 | <yin> | *Glorious |
| 22:06:41 | <tomsmeding> | *Glorious Glasgow |
| 22:07:18 | <tomsmeding> | the ghc user's guide is mightily inconsistent about specialize/specialise |
| 22:07:19 | <yin> | is it [Glorious Glasgow] Haskell Compiler or is it Glorious [Glasgow Haskell Compiler]? |
| 22:07:24 | × | mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 252 seconds) |
| 22:07:48 | <tomsmeding> | the prose seems to use "specialise", the inline code snippets in the prose "SPECIALIZE", but then the larger code blocks have "SPECIALISE" |
| 22:07:54 | <monochrom> | [[Glorious Glasgow] Haskell] Compiler |
| 22:08:11 | <tomsmeding> | Glorious [Glasgow [Haskell Compiler]] is how I'd read it |
| 22:08:39 | <geekosaur> | oh, is that why ($) is infixr? 😛 |
| 22:08:46 | <monochrom> | >:) |
| 22:09:02 | <yin> | [avoid success] [at all costs] :p |
| 22:20:29 | → | st_aldini1 joins (~Thunderbi@2605:a601:a07c:af00:edd4:453a:4c88:19a0) |
| 22:21:50 | → | ljdarj1 joins (~Thunderbi@user/ljdarj) |
| 22:23:23 | <monochrom> | @djinn join :: ((((a -> s) -> a) -> s) -> ((a -> s) -> a)) -> ((a -> s) -> a) |
| 22:23:23 | <lambdabot> | Cannot parse command |
| 22:24:06 | <monochrom> | @djinn ((((a -> s) -> a) -> s) -> ((a -> s) -> a)) -> ((a -> s) -> a) |
| 22:24:06 | <lambdabot> | f a b = a (\ c -> b (c b)) b |
| 22:24:27 | × | st_aldini quits (~Thunderbi@2605:a601:a07c:af00:627a:78b9:acf4:2bd7) (Ping timeout: 276 seconds) |
| 22:24:27 | st_aldini1 | is now known as st_aldini |
| 22:25:12 | <monochrom> | (That would be join for the monad S s a = (a -> s) -> a. I am studying it because of a recent post on the discourse.) |
| 22:25:49 | <monochrom> | (I thought Cont was hard enough, but I aced it. Now this one is even worse.) |
| 22:26:06 | × | ljdarj quits (~Thunderbi@user/ljdarj) (Ping timeout: 265 seconds) |
| 22:26:06 | ljdarj1 | is now known as ljdarj |
| 22:26:24 | → | todi_away joins (~todi@vm4634378.25ssd.had.wf) |
| 22:26:50 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 22:27:11 | <dolio> | Search monad? |
| 22:28:08 | → | mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) |
| 22:28:13 | <monochrom> | Yeah |
| 22:29:58 | × | acidjnk_new quits (~acidjnk@p200300d6e72cfb260d771c799cc2fd22.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 22:30:35 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:33:39 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 22:37:23 | <yin> | i had little trouble with Cont. I have Tardis on my todo list |
| 22:38:34 | × | AlexZenon quits (~alzenon@178.34.163.62) (Ping timeout: 252 seconds) |
| 22:39:16 | → | AlexNoo_ joins (~AlexNoo@178.34.151.233) |
| 22:40:03 | × | AlexNoo quits (~AlexNoo@178.34.163.62) (Ping timeout: 276 seconds) |
| 22:40:15 | <monochrom> | @djinn ((a -> s) -> a) -> (a -> (b -> s) -> b) -> ((b -> s) -> b) |
| 22:40:15 | <lambdabot> | f a b c = b (a (\ d -> c (b d c))) c |
| 22:40:21 | × | mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
| 22:40:45 | <monochrom> | And that's for (>>=). @_@ |
| 22:44:33 | → | AlexNoo joins (~AlexNoo@178.34.151.233) |
| 22:45:22 | × | todi_away quits (~todi@vm4634378.25ssd.had.wf) (Read error: Connection reset by peer) |
| 22:45:43 | × | AlexNoo_ quits (~AlexNoo@178.34.151.233) (Ping timeout: 264 seconds) |
| 22:45:48 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 22:46:47 | <dolio> | Seems very inefficient. |
| 22:48:24 | × | haritz quits (~hrtz@user/haritz) (Ping timeout: 272 seconds) |
| 22:51:12 | → | st_aldini1 joins (~Thunderbi@2605:a601:a07c:af00:edd4:453a:4c88:19a0) |
| 22:51:50 | → | AlexZenon joins (~alzenon@178.34.151.233) |
| 22:52:45 | → | todi_away joins (~todi@5.154.181.23) |
| 22:53:42 | × | st_aldini quits (~Thunderbi@2605:a601:a07c:af00:edd4:453a:4c88:19a0) (Ping timeout: 276 seconds) |
| 22:53:42 | st_aldini1 | is now known as st_aldini |
| 22:53:55 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
| 22:54:57 | → | haritz joins (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) |
| 22:55:37 | → | malte joins (~malte@mal.tc) |
| 22:55:58 | → | mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) |
| 22:56:11 | × | todi_away quits (~todi@5.154.181.23) (Read error: Connection reset by peer) |
| 22:56:45 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 22:56:47 | × | haritz quits (~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host) |
| 22:56:47 | → | haritz joins (~hrtz@user/haritz) |
| 23:00:26 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 23:00:36 | → | pavonia joins (~user@user/siracusa) |
| 23:03:51 | → | malte joins (~malte@mal.tc) |
| 23:04:17 | × | mjrosenb quits (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) (Ping timeout: 265 seconds) |
| 23:06:43 | → | todi_away joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 23:07:09 | × | malte quits (~malte@mal.tc) (Remote host closed the connection) |
| 23:07:10 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 23:07:11 | × | AlexZenon quits (~alzenon@178.34.151.233) (Ping timeout: 265 seconds) |
| 23:09:18 | <sam113101> | sorry it's me again with the same question as the other day |
| 23:10:34 | → | malte joins (~malte@mal.tc) |
| 23:10:43 | <haskellbridge> | <sm> Do go on. :) |
| 23:11:49 | <sam113101> | how would you write this, first the idiomatic way (for haskell), and second in a way that preserves the "flow", i.e. from left to right |
| 23:11:51 | <sam113101> | (0...1000).filter { |x| x % 3 == 0 || x % 5 == 0 }.sum |
| 23:13:50 | <sam113101> | (that was ruby btw) |
| 23:14:43 | <sam113101> | that's elixir: |
| 23:14:45 | <sam113101> | 0..999 |> Enum.filter(fn x -> rem(x, 3) == 0 || rem(x, 5) == 0 end) |> Enum.sum |
| 23:16:57 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 23:17:26 | → | peterbecich joins (~Thunderbi@syn-047-229-123-186.res.spectrum.com) |
| 23:17:31 | → | AlexZenon joins (~alzenon@178.34.151.233) |
| 23:20:05 | × | todi_away quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 23:20:14 | <haskellbridge> | <sm> most idiomatic would probably be sum [x | x <- [0..1000], x "mod" 3 == 0, x "mod" 5 == 0] |
| 23:20:44 | <haskellbridge> | <sm> * "sum [x | x <- [0..1000], x `mod` 3 == 0, x `mod` 5 == 0]" |
| 23:23:58 | <haskellbridge> | <sm> * 0 || x `mod` 5 == 0]" [corrected] |
| 23:24:08 | <haskellbridge> | <sm> from left to right would be "import Data.Function ((&))" "[0..1000] & filter (\x -> x`mod`3 == 0 || x`mod`5==0) & sum" |
| 23:24:19 | <haskellbridge> | <sm> from left to right would be |
| 23:24:19 | <haskellbridge> | ... long message truncated: https://kf8nh.com/_heisenbridge/media/kf8nh.com/vjQfLuREsoEJecoXcpehsPYR/jMVxugiTxGA (3 lines) |
| 23:24:19 | → | todi joins (~todi@p57803331.dip0.t-ipconnect.de) |
| 23:25:23 | <sam113101> | thank you my man |
| 23:25:23 | <sm> | sorry, forgot this was IRC |
| 23:27:06 | → | todi_away joins (~todi@vm4634378.25ssd.had.wf) |
| 23:29:00 | × | AlexZenon quits (~alzenon@178.34.151.233) (Ping timeout: 244 seconds) |
| 23:29:08 | × | todi quits (~todi@p57803331.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
| 23:30:31 | → | jcarpenter2 joins (~lol@2603:3016:1e01:b9e0:dd36:cbb0:bd68:c718) |
| 23:39:11 | todi_away | is now known as todi |
| 23:41:51 | → | AlexZenon joins (~alzenon@178.34.151.233) |
| 23:42:48 | → | son0p joins (~ff@190.69.120.153) |
| 23:44:07 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 23:44:46 | → | mjrosenb joins (~mjrosenb@pool-96-232-177-77.nycmny.fios.verizon.net) |
| 23:47:30 | → | morby joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 23:50:13 | × | morb quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 248 seconds) |
| 23:51:57 | × | yin quits (~z@user/zero) (Remote host closed the connection) |
| 23:52:18 | → | zero joins (~z@user/zero) |
| 23:52:44 | × | Tuplanolla quits (~Tuplanoll@91-159-69-59.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:52:56 | × | morby quits (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) (Ping timeout: 255 seconds) |
| 23:56:10 | → | morb joins (~morb@pool-108-41-100-120.nycmny.fios.verizon.net) |
| 23:57:25 | × | todi quits (~todi@vm4634378.25ssd.had.wf) (Ping timeout: 244 seconds) |
All times are in UTC on 2024-10-14.