Logs on 2021-09-14 (liberachat/#haskell)
| 00:00:12 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 00:00:13 | × | proofofkeags_ quits (~proofofke@205.209.28.54) (Ping timeout: 265 seconds) |
| 00:00:27 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 00:00:42 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 00:05:33 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 00:05:46 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 00:19:36 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds) |
| 00:39:30 | → | kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net) |
| 00:42:35 | <awpr> | koz: you were asking about `portray` with `prettyprinter` a few days ago, right? I went ahead and wrote a backend (okay, more like forked the `pretty` backend, but still): https://hackage.haskell.org/package/portray-prettyprinter |
| 00:45:02 | <koz> | awpr: Yep, was me. Thanks! |
| 00:54:35 | → | lars__ joins (~lars@c-76-104-180-32.hsd1.wa.comcast.net) |
| 00:57:15 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Ping timeout: 265 seconds) |
| 00:57:54 | × | infinity0 quits (~infinity0@occupy.ecodis.net) (Remote host closed the connection) |
| 00:58:14 | → | dmwit joins (~dmwit@pool-173-73-185-183.washdc.fios.verizon.net) |
| 01:00:15 | → | infinity0 joins (~infinity0@occupy.ecodis.net) |
| 01:03:50 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 01:05:09 | → | tabemann joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
| 01:08:19 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 01:08:51 | → | abrantesasf joins (abrantesas@gateway/vpn/protonvpn/abrantesasf) |
| 01:10:25 | → | pony joins (~ed@101.100.135.69) |
| 01:12:45 | × | nicbk quits (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
| 01:13:46 | × | pony quits (~ed@101.100.135.69) (Client Quit) |
| 01:14:24 | → | pony joins (~ed@101.100.135.69) |
| 01:18:11 | × | xff0x quits (~xff0x@2001:1a81:53ae:3300:d2cc:9d43:abd1:db1a) (Ping timeout: 268 seconds) |
| 01:19:27 | → | xff0x joins (~xff0x@2001:1a81:53ed:e500:473d:a67f:1294:2993) |
| 01:19:35 | × | kayvank quits (~user@52-119-115-185.PUBLIC.monkeybrains.net) (Remote host closed the connection) |
| 01:25:53 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 01:26:06 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 01:26:07 | → | retroid_ joins (~retro@176.255.22.194) |
| 01:26:12 | × | abrantesasf quits (abrantesas@gateway/vpn/protonvpn/abrantesasf) (Quit: Leaving) |
| 01:30:13 | → | neurocyte0 joins (~neurocyte@45.14.191.55) |
| 01:30:13 | × | neurocyte0 quits (~neurocyte@45.14.191.55) (Changing host) |
| 01:30:13 | → | neurocyte0 joins (~neurocyte@user/neurocyte) |
| 01:32:20 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:32:35 | × | neurocyte quits (~neurocyte@user/neurocyte) (Ping timeout: 268 seconds) |
| 01:32:35 | neurocyte0 | is now known as neurocyte |
| 01:35:03 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds) |
| 01:38:58 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 01:41:13 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 01:46:13 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 01:46:29 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 01:46:34 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Client Quit) |
| 01:46:51 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 01:47:23 | × | amk quits (~amk@109.255.169.126) (Ping timeout: 268 seconds) |
| 01:48:21 | → | amk joins (~amk@109.255.169.126) |
| 01:48:47 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:50:39 | → | cheater joins (~Username@user/cheater) |
| 01:50:40 | → | texasmynsted joins (~texasmyns@99.96.221.112) |
| 01:52:07 | <texasmynsted> | So I see there is a new haskellings out so I thought I would check it out. I do not use stack so that is a strike against me right there I guess. |
| 01:54:06 | <texasmynsted> | I did stack2cabal and was able to `cabal build` and `cabal install`. But not run the app. `haskellings run Types1` fails with "Couldn't find ghc-8.10.4". |
| 01:54:11 | <texasmynsted> | I can find it just fine. |
| 01:54:32 | <texasmynsted> | It is in ~/.ghcup/bin/ghc-8.10.4 |
| 01:55:31 | <texasmynsted> | Should I ask in the haskellings github, or is it foolish to expect it work just because it compiles and installs? |
| 01:56:43 | → | nicbk joins (~nicbk@user/nicbk) |
| 01:58:26 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 01:59:43 | × | pbrisbin quits (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) (Ping timeout: 268 seconds) |
| 02:00:24 | <Axman6> | maybe it's looking specifically for stack's GHC 8.10.4. What is haskellings? |
| 02:03:37 | <texasmynsted> | A fun way to learn haskell? https://github.com/wizzup/haskellings |
| 02:07:56 | <Axman6> | have you run the configurew command and provided the path to GHC? It might need to be a full path, not relative |
| 02:08:55 | <sm> | you could also open an issue asking for cabal support |
| 02:09:51 | → | favonia joins (~favonia@user/favonia) |
| 02:10:10 | <sclv> | haskellings has an assumption of stack pervasively built in :-/ https://github.com/wizzup/haskellings/blob/4093a6a051b13195543173fe62118707926e20d7/src/Haskellings/LoadConfig.hs |
| 02:11:08 | <sclv> | findghcsearchdir looks _only_ for stack installed ghc |
| 02:11:56 | <Axman6> | https://github.com/wizzup/haskellings/blob/4093a6a051b13195543173fe62118707926e20d7/src/Haskellings/RunCommands.hs#L110 seems to imply that you can specify the GHC path |
| 02:13:46 | <[itchyjunk]> | So no side effect mean a state is not changing right? i'm looking at finite state machines.. and i am wondering if not changing the state means we're kinda stuck. seems like you have to change states of a finite state machines to get to the part where you do something else? |
| 02:15:37 | <dibblego> | > 1 + 4 -- changes the state of 4, by applying a function (+1) |
| 02:15:38 | <lambdabot> | 5 |
| 02:15:54 | <ldlework> | [itchyjunk]: you just return a new data structure |
| 02:15:57 | <ldlework> | instead of modifying the existing one |
| 02:16:02 | <sclv> | "no side effect" means that a function of type `a -> b` will take an `a`, return the same `b` given that `a` no matter what, and do nothing else |
| 02:16:45 | <[itchyjunk]> | hmm |
| 02:16:57 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 02:17:12 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 02:17:28 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 02:18:01 | <[itchyjunk]> | but if i had a->b->c then the function (b->c) depends on (a->b) and it has to wait for that function to be done before it gets to do what it does |
| 02:18:15 | <dibblego> | the function (b->c) depends on a |
| 02:19:09 | <dibblego> | > 1 + 4 -- changes the state of 4, by taking a function (a -> b -> c) and applying it to 1, then that function to 4 |
| 02:19:10 | <lambdabot> | 5 |
| 02:20:30 | <[itchyjunk]> | but i thought the no side effect ways the result of states not being changed no? |
| 02:20:46 | <dibblego> | no, sclv gave the meaning above |
| 02:20:54 | <dibblego> | I changed the state of 4 to the state called 5 |
| 02:21:06 | <dibblego> | there were no side effects in that state change |
| 02:22:47 | <sclv> | in the function `a->b->c` the function `b->c` you get back will always be the same function, given then same `a` as input |
| 02:23:09 | <ldlework> | oh dang, the way it works out such that you can use <*> functions with arity > 2 is pretty nifty |
| 02:23:16 | <ldlework> | with functions* |
| 02:23:41 | <dibblego> | there are no functions with arity > 2 |
| 02:23:46 | × | td_ quits (~td@94.134.91.92) (Ping timeout: 268 seconds) |
| 02:23:47 | <ldlework> | we went over this! |
| 02:23:49 | <ldlework> | lol |
| 02:23:52 | <dibblego> | jus' checkin' |
| 02:24:09 | <[itchyjunk]> | in a different language,the function b->c i get back might be different with same a ? |
| 02:24:11 | <ldlework> | haha |
| 02:24:42 | <ldlework> | in most languages, partial application is not part of the calling mechanics |
| 02:24:46 | <sclv> | [itchyjunk]: yes, if you actually have partial application in that language |
| 02:24:51 | <ldlework> | so in most languages you'll get an error about not passing enough arguments |
| 02:24:56 | <sclv> | but in an effectful and functional language like ocaml, yes |
| 02:25:04 | <[itchyjunk]> | hmmmmm |
| 02:25:05 | <dibblego> | I have seen this, I estimate 2000 times; you commit to the fact that all functions take one argument, so then you go back to loose thoughts, then I ask you to write the ((->) t) applicative, and now you're stuck, because you weren't _actually_ committed |
| 02:25:07 | <ldlework> | or F#! |
| 02:25:17 | → | td_ joins (~td@muedsl-82-207-238-177.citykom.de) |
| 02:25:30 | <sclv> | the function might take an `a` then get the time, and then give back a function `b -> c` based on both the input, and the time |
| 02:25:42 | <ldlework> | dibblego: no doubt |
| 02:26:04 | <[itchyjunk]> | is getting an error about not passing enough arguments also considered a side effect? |
| 02:26:15 | <dibblego> | no |
| 02:26:19 | <sclv> | errors are not considered side effects, exceptions are |
| 02:26:44 | <sclv> | but also haskell will never give such errors, because things like arguments matching are checked by types at compile time |
| 02:26:45 | <ldlework> | well in most languages calling something with the wrong amount of arguments will either not compile, or throw a runtime exception |
| 02:27:00 | <ldlework> | can't think of a language where you'd get an error back for not calling with the right argument count |
| 02:27:18 | <pony> | python |
| 02:27:28 | <ldlework> | that's an exception |
| 02:27:28 | <sclv> | :t (:) |
| 02:27:29 | <lambdabot> | a -> [a] -> [a] |
| 02:27:49 | <sclv> | that's cons -- it takes something, and a list of those things, and gives back a list with the new thing at the front of the list |
| 02:28:07 | <sclv> | but its a pure function -- the old list is not "mutated" -- its still around exactly like before. just, also, you have a new list |
| 02:28:55 | <[itchyjunk]> | ah |
| 02:29:23 | <[itchyjunk]> | so every time something is done, you get a new something and all those old stuff are around |
| 02:29:41 | <[itchyjunk]> | and i guess some sort of garbage collector manages them so i don't fill up the memory? |
| 02:30:06 | <sclv> | yes |
| 02:30:22 | → | lavaman joins (~lavaman@98.38.249.169) |
| 02:31:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 02:32:36 | → | sm2n joins (~sm2n@user/sm2n) |
| 02:33:04 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 02:33:24 | × | nicbk quits (~nicbk@user/nicbk) (Quit: nicbk) |
| 02:35:07 | <[itchyjunk]> | thanks! back to understanding this finite machine stuff |
| 02:40:23 | × | pony quits (~ed@101.100.135.69) (Quit: WeeChat 2.8) |
| 02:41:06 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 02:41:17 | × | lavaman quits (~lavaman@98.38.249.169) (Remote host closed the connection) |
| 02:43:01 | → | proofofkeags_ joins (~proofofke@97-118-134-2.hlrn.qwest.net) |
| 02:53:35 | <Axman6> | Technically Haskell doesn't require any sort of garbage collection, but you would fill up memory very quickly without it |
| 02:54:20 | → | nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
| 02:55:06 | <Axman6> | GHc is also quite good at avoiding allocations if they aren't needed too - things like sum . map f . enumFromTo 0 won't allocate any list constructors if optimisations are on |
| 02:56:16 | <Axman6> | [itchyjunk]: "is getting an error about not passing enough arguments also considered a side effect?" by definition, if the compiler is giving you an error about your code, what you have written is not Haskell |
| 02:56:30 | × | alx741 quits (~alx741@181.196.69.212) (Quit: alx741) |
| 02:58:51 | × | asivitz quits (uid178348@id-178348.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
| 02:59:54 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 260 seconds) |
| 03:01:30 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:06:19 | × | shapr quits (~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 268 seconds) |
| 03:07:18 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 03:07:39 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 03:09:42 | <lars__> | Is there a way to notarize ghc-9.2.0-rc1 binaries for macos on the command line? `xattr -rc .` doesn't work any more on my system. |
| 03:16:09 | × | mentAI quits (~mentAI@2001:67c:2628:647:12::3c2) (Ping timeout: 256 seconds) |
| 03:17:41 | <lars__> | or more precisely: avoid to notarize the ghc binaries on macos x. Without that I don't see a way to install the ghc binary distribution on macosx. |
| 03:34:04 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds) |
| 03:34:06 | × | nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.2) |
| 03:34:22 | → | nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
| 03:37:35 | × | nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Client Quit) |
| 03:37:43 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 252 seconds) |
| 03:37:55 | → | nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
| 03:39:27 | × | nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Client Quit) |
| 03:39:46 | → | nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
| 03:41:26 | × | waleee quits (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 260 seconds) |
| 03:46:58 | <Axman6> | I guess one hack would be to open the relevany binaries from the finder by right clicking and choosing open to get the "Open Anyway" dialogue |
| 03:50:21 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 04:01:26 | <lars__> | It's not just the binary, but all all libraries, which would is a lot of mouse clicking. |
| 04:02:50 | <lars__> | Anyways, I found a solution: running `xattr -rc` both on the source and the target directory resolved it after 2 iterations. |
| 04:10:24 | → | pony joins (~ed@101.100.135.67) |
| 04:12:13 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 04:20:49 | wrengr | is now known as wrengr_away |
| 04:24:58 | → | goepsilongo joins (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) |
| 04:25:39 | <lechner> | Hi, is this Setup.hs method a good way to build Debian packages, please? https://cabal.readthedocs.io/en/3.4/setup-commands.html#creating-a-binary-package |
| 04:25:44 | → | kimjetwav joins (~user@2607:fea8:235f:9730:8357:c73b:f3ec:cc1b) |
| 04:25:55 | × | zebrag quits (~chris@user/zebrag) (Remote host closed the connection) |
| 04:26:40 | → | benin036932301 joins (~benin@183.82.24.227) |
| 04:27:01 | × | benin03693230 quits (~benin@183.82.24.227) (Ping timeout: 265 seconds) |
| 04:27:02 | benin036932301 | is now known as benin03693230 |
| 04:27:02 | × | benin03693230 quits (~benin@183.82.24.227) (Remote host closed the connection) |
| 04:27:45 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 04:28:00 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 04:29:24 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:31:49 | × | goepsilongo quits (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Ping timeout: 268 seconds) |
| 04:31:50 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 04:33:06 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 04:33:19 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 04:34:16 | → | slack1256 joins (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) |
| 04:35:43 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 04:39:22 | × | Cale quits (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) (Ping timeout: 252 seconds) |
| 04:42:26 | <texasmynsted> | sclv and Axman6. Thank you. |
| 04:43:01 | <Franciman> | Hi is there some benchmark on IOArray vs IOVector? |
| 04:43:08 | <Franciman> | which one is to be preferred? |
| 04:43:16 | <Franciman> | based on speed |
| 04:43:26 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 04:43:39 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 04:46:04 | <texasmynsted> | setting the config location for ghc fixed that one. Now it is looking for the "stack package DB"\ |
| 04:46:30 | <texasmynsted> | I think there is no accommodation for cabal |
| 04:57:17 | <sm> | texasmynsted: yes, there is not. It's pretty easy to install stack for this though |
| 04:57:57 | <texasmynsted> | Perhaps. I avoid stack if at all possible |
| 05:02:15 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 05:02:40 | → | Guest2782 joins (~neo3@cpe-292712.ip.primehome.com) |
| 05:02:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 05:03:04 | → | neo1 joins (~neo3@cpe-292712.ip.primehome.com) |
| 05:07:35 | × | Guest2782 quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 268 seconds) |
| 05:09:56 | → | Gurkenglas joins (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) |
| 05:10:24 | → | jonatan joins (~nate@h85-8-60-194.cust.a3fiber.se) |
| 05:12:12 | <Franciman> | why so, texasmynsted if I can ask? |
| 05:16:43 | → | chomwitt joins (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374) |
| 05:21:38 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 265 seconds) |
| 05:22:12 | → | max22- joins (~maxime@2a01cb08833598009b3393ce9ac42685.ipv6.abo.wanadoo.fr) |
| 05:23:25 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:25:22 | → | michalz joins (~michalz@185.246.204.57) |
| 05:25:41 | × | myShoggoth quits (~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 268 seconds) |
| 05:34:36 | <dsal> | Franciman: stack is a religion. Some people really dislike it. I've not successfully let go of it for any projects. |
| 05:35:00 | <c_wraith> | I just don't like that it assumes it's smarter than me |
| 05:35:22 | <dsal> | Arrays and Vectors are kind of different. "Based on speed" is usually not a primary thing. Depends a lot on what you're trying to do. |
| 05:35:56 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 05:36:05 | <c_wraith> | There's at least some potential overhead from Ix in Array, though that *could* get inlined/simplified away when used at known index types |
| 05:36:45 | <c_wraith> | Vector also tries to get a lot of fusion stuff in that Array doesn't bother with. That will sometimes be a big win. (And sometimes it might be a small extra cost, so... uh... depends on your use case) |
| 05:36:50 | <Franciman> | dsal: ironically I am defining a mutable stack lol |
| 05:37:07 | × | acowley quits (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (Ping timeout: 245 seconds) |
| 05:37:39 | <dsal> | You should see which API fits your needs most easily and implement it. If you can do both, you can sprinkle in your own benchmark. |
| 05:37:56 | <Franciman> | thanks |
| 05:37:59 | <dsal> | I've never used either under IO, but I've used both under ST. |
| 05:38:04 | <dsal> | They just don't seem very similar to me. heh |
| 05:38:46 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 05:39:00 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 05:40:22 | → | acowley joins (~acowley@c-68-83-22-43.hsd1.nj.comcast.net) |
| 05:40:53 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 05:51:35 | × | neo1 quits (~neo3@cpe-292712.ip.primehome.com) (Ping timeout: 268 seconds) |
| 05:53:55 | → | sm2n_ joins (~sm2n@user/sm2n) |
| 05:54:06 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 05:54:13 | × | jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
| 05:54:19 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 05:56:18 | × | sm2n quits (~sm2n@user/sm2n) (Ping timeout: 268 seconds) |
| 05:56:31 | × | lars__ quits (~lars@c-76-104-180-32.hsd1.wa.comcast.net) (Ping timeout: 268 seconds) |
| 05:56:41 | × | cjb quits (~cjbayliss@user/cjb) () |
| 05:56:57 | × | jacks2 quits (~bc8165b6@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 05:59:07 | × | slack1256 quits (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) (Remote host closed the connection) |
| 06:02:38 | → | kenran joins (~kenran@200116b82bdd2a00e75641d2b54b9789.dip.versatel-1u1.de) |
| 06:04:26 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 06:04:39 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 06:05:46 | × | proofofkeags_ quits (~proofofke@97-118-134-2.hlrn.qwest.net) (Ping timeout: 268 seconds) |
| 06:07:19 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 252 seconds) |
| 06:08:13 | → | ubert joins (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) |
| 06:12:17 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 06:14:23 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 06:20:03 | → | cfricke joins (~cfricke@user/cfricke) |
| 06:20:40 | → | Akronymus joins (~Akronymus@85.31.8.180) |
| 06:21:07 | <mjrosenb> | ok, I have made a test case for what I want to do. |
| 06:21:11 | <mjrosenb> | https://gist.github.com/mjrosenb/a3a22b3a7dd562b69d85f706d233242d |
| 06:21:45 | <mjrosenb> | Is there a type that I can assign to math3 that will make it equivalent to math1 or math2 depending on the argument passed into it? |
| 06:21:57 | → | chele joins (~chele@user/chele) |
| 06:22:19 | <Akronymus> | I hope I get to use haskell at night school |
| 06:22:33 | <Akronymus> | (Part of the adult education system over here) |
| 06:22:49 | <Akronymus> | Sadly, I doubt it as it seems to lean pretty hard into OOP. :( |
| 06:23:02 | × | chomwitt quits (~chomwitt@2a02:587:dc14:5d00:12c3:7bff:fe6d:d374) (Ping timeout: 268 seconds) |
| 06:26:39 | → | jushur joins (~human@user/jushur) |
| 06:27:23 | <awpr> | mjrosenb: a) probably something like `MonadState Foo m => (forall a. ALens' Foo a -> m a) -> m ()`, but b) it might be appropriate to use `Control.Lens.zoom` to make something like `math3 :: State Foo m ()`, and use it as `zoom _1 math3 :: State (Foo, Foo) ()` |
| 06:30:05 | → | vysn joins (~vysn@user/vysn) |
| 06:30:33 | <awpr> | oh, since they're both Ints in this case, `ALens' Foo Int -> m Int`, or maybe even just `Lens' Foo Int -> m Int`. the `ALens` versions will need some special treatment to turn them back into `Lens`es, which I don't remember at the moment |
| 06:31:00 | <mjrosenb> | awpr: a solution that doesn't rely on them being ints is best. |
| 06:32:00 | <awpr> | then the forall would be needed; or potentially use `zoom` |
| 06:32:16 | <awpr> | BTW all three versions unconditionally store the result into the first `Foo`, is that intentional? |
| 06:32:54 | × | _bin quits (~bin@user/bin/x-1583188) (Ping timeout: 268 seconds) |
| 06:34:22 | <mjrosenb> | yes. |
| 06:34:50 | <mjrosenb> | that 'foo' is the current state |
| 06:35:15 | <mjrosenb> | it is the only one that gets written into. it can either be built from the current state or the previous state. |
| 06:37:14 | → | dhouthoo joins (~dhouthoo@178-117-36-167.access.telenet.be) |
| 06:37:27 | <mjrosenb> | technically speaking, they aren't the same type, but they should be close enough for this to give an accurate representation |
| 06:43:29 | <awpr> | okay, sounds like probably some variation of `forall a. Lens' Foo a -> m a` would do it |
| 06:51:33 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 06:59:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:01:51 | → | System123 joins (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) |
| 07:04:25 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 07:09:05 | → | acidjnk_new joins (~acidjnk@p200300d0c7203094152b258e26158264.dip0.t-ipconnect.de) |
| 07:14:40 | × | ubert quits (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) (Remote host closed the connection) |
| 07:16:26 | → | ubert joins (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) |
| 07:19:44 | → | fendor joins (~fendor@178.165.201.14.wireless.dyn.drei.com) |
| 07:19:48 | × | aerona quits (~aerona@2600:6c54:4600:f300:d963:2c18:9947:74cf) (Quit: Leaving) |
| 07:26:14 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 07:26:36 | → | burnsidesLlama joins (~burnsides@dhcp168-019.wadham.ox.ac.uk) |
| 07:28:21 | × | phma quits (~phma@host-67-44-208-7.hnremote.net) (Read error: Connection reset by peer) |
| 07:29:47 | → | phma joins (~phma@host-67-44-208-112.hnremote.net) |
| 07:32:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 07:36:35 | → | mc47 joins (~mc47@xmonad/TheMC47) |
| 07:40:17 | × | azeem quits (~azeem@2a00:801:3c7:fe55:ef64:2dcc:d00c:3ee5) (Read error: Connection reset by peer) |
| 07:40:35 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 07:40:43 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:a93a:cbb6:2e75:4a2) (Remote host closed the connection) |
| 07:40:46 | × | abraham quits (~abraham@143.244.185.86) (Quit: The Lounge - https://thelounge.chat) |
| 07:41:54 | → | abraham joins (~abraham@143.244.185.86) |
| 07:42:19 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:44:13 | → | TranquilEcho joins (~grom@user/tranquilecho) |
| 07:46:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:47:12 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 07:50:36 | × | neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 07:53:41 | → | neurocyte joins (~neurocyte@45.14.191.55) |
| 07:53:41 | × | neurocyte quits (~neurocyte@45.14.191.55) (Changing host) |
| 07:53:41 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 07:54:10 | → | System12_ joins (~System123@m91-129-99-234.cust.tele2.ee) |
| 07:54:53 | <dminuoso> | Also, you can use `math :: _` to have the type inferred. |
| 07:55:06 | <dminuoso> | With `lens` that requires a bit of wizardy knowledge of course. |
| 07:55:47 | → | bearsinheaven joins (~bearsinhe@2409:4054:20b:ba44:9580:3786:277:15c1) |
| 07:56:27 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2) |
| 07:56:35 | → | __monty__ joins (~toonn@user/toonn) |
| 07:56:47 | → | vysn joins (~vysn@user/vysn) |
| 07:57:16 | × | System123 quits (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) (Ping timeout: 265 seconds) |
| 07:58:37 | × | System12_ quits (~System123@m91-129-99-234.cust.tele2.ee) (Ping timeout: 268 seconds) |
| 08:01:38 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 08:05:22 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 08:06:03 | → | hendursa1 joins (~weechat@user/hendursaga) |
| 08:06:25 | × | Erutuon quits (~Erutuon@user/erutuon) (Ping timeout: 268 seconds) |
| 08:08:45 | × | hendursaga quits (~weechat@user/hendursaga) (Ping timeout: 276 seconds) |
| 08:11:38 | → | Everything joins (~Everythin@37.115.210.35) |
| 08:17:14 | <Akronymus> | arahael not quite everywhere. |
| 08:20:50 | × | fendor quits (~fendor@178.165.201.14.wireless.dyn.drei.com) (Remote host closed the connection) |
| 08:21:09 | → | goepsilongo joins (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) |
| 08:24:00 | → | dut joins (~dut@user/dut) |
| 08:24:15 | <sshine> | Akronymus, surely you can make an OO runtime in Haskell using the State monad. |
| 08:24:53 | <Orbstheorem> | Hello. I'm twiddling with type family constraints, but I can't wrap my head around the following way to provide type-level error messages as constraints: |
| 08:24:56 | Orbstheorem | sent a haskell code block: https://libera.ems.host/_matrix/media/r0/download/libera.chat/7f3e0be567bcfd1bc06e85c5bfd543851b90d82e |
| 08:26:10 | <sshine> | Akronymus, the important part is to use the keyword "new", add redundant parentheses everywhere, add mutable state, make every data type an instance of Hashable and Show, and increase the redundancy in names. :-D |
| 08:26:44 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 08:27:30 | <Orbstheorem> | The encoding `F t = () ~ TypeError ('Text "...")` yields the expected `• Type Bar is not supported.` error message at compile time, but that unit equality seems fishy... |
| 08:27:40 | <Akronymus> | sshine AAAAAAAAAAAAAAAAAAAA |
| 08:28:00 | → | System123 joins (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) |
| 08:28:19 | <[exa]> | you mean `new AAAAAAAAAAAAAA()` |
| 08:28:50 | <[exa]> | Orbstheorem: it's supposed to "return" a constraint, not a type, right? |
| 08:28:58 | <Orbstheorem> | sshine: Don't forget to add an utterly useless instance of Eq for all types :D |
| 08:29:26 | <[exa]> | Orbstheorem: oh noes, that's done by `instance Hashable a => Eq a` |
| 08:29:40 | × | goepsilongo quits (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!) |
| 08:30:11 | <Orbstheorem> | [exa]: Right. The thing is there's no error whatsoever, it just silently discards the type smuggled as a constraint. |
| 08:31:05 | Orbstheorem | is ashamed to admit he wasted 30min debugging why type-errors were not firing ><" |
| 08:31:37 | × | bearsinheaven quits (~bearsinhe@2409:4054:20b:ba44:9580:3786:277:15c1) (Quit: Client closed) |
| 08:32:54 | → | chomwitt joins (~chomwitt@ppp-94-67-221-96.home.otenet.gr) |
| 08:34:09 | <[exa]> | 30 minutes is lucky. :D |
| 08:34:36 | <[exa]> | anyway, it still doesn't fire even if you actually create something and run the `cc` on it? |
| 08:34:46 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 08:34:59 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 08:34:59 | <Orbstheorem> | [exa]: Yep. |
| 08:35:20 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 08:35:58 | → | acidjnk_new3 joins (~acidjnk@p200300d0c7203094a5634563aea03fe4.dip0.t-ipconnect.de) |
| 08:36:00 | <[exa]> | Random idea: can you check out whether the constraint gets erased in Core? (--ddump-core) |
| 08:37:17 | × | Cajun quits (~Cajun@user/cajun) (Quit: Client closed) |
| 08:39:06 | <[exa]> | hm actually |
| 08:39:22 | <Orbstheorem> | Hmm, this is interesting. In my reduced example, instanciating Bar does produce a type-error when calling cc. |
| 08:39:27 | <Orbstheorem> | But at call-site. |
| 08:39:35 | <[exa]> | `:k TypeError` gives me `TypeError :: ErrorMessage -> b` |
| 08:39:41 | <[exa]> | so technically it can produce the constraint |
| 08:39:42 | <Orbstheorem> | (Also, I didn't have this error in my use-case using Generics) |
| 08:39:56 | × | acidjnk_new quits (~acidjnk@p200300d0c7203094152b258e26158264.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 08:40:21 | <[exa]> | except you start picking in the resulting constraint much later this way |
| 08:41:34 | → | amahl joins (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) |
| 08:41:47 | × | ubert quits (~Thunderbi@178.165.189.117.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
| 08:41:47 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:21b7:6800:ed3c:e303) |
| 08:46:19 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:21b7:6800:ed3c:e303) (Ping timeout: 252 seconds) |
| 08:48:09 | <Orbstheorem> | Adding `--ddump-core` didn't work :(. I tried with `ghc-core foo.hs`, but I don't know how to read core :D a quick search reveals no strings partially matching my constraint names. |
| 08:48:44 | <Orbstheorem> | Is `$var` the core representation of a constraint? |
| 08:48:58 | <Orbstheorem> | Or a proof? |
| 08:49:40 | → | waleee joins (~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) |
| 08:50:48 | → | tremon joins (~tremon@217-63-61-89.cable.dynamic.v4.ziggo.nl) |
| 08:51:32 | × | hnOsmium0001 quits (uid453710@id-453710.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 08:54:26 | <[exa]> | yeah the typeclasses/constrains are usually represented like this, in case of typeclasses it's usually something like `$d` for the method dictionary. I was wondering if it didn't get erased as redundant |
| 08:56:06 | × | sagax quits (~sagax_nb@user/sagax) (Read error: Connection reset by peer) |
| 08:56:29 | <[exa]> | (likely not it seems) |
| 09:00:09 | × | wallymathieu[m] quits (~wallymath@2001:470:69fc:105::16ae) (Quit: You have been kicked for being idle) |
| 09:06:39 | → | bearsinheaven joins (~bearsinhe@169.149.36.242) |
| 09:08:45 | ← | bearsinheaven parts (~bearsinhe@169.149.36.242) () |
| 09:12:31 | → | retro_ joins (~retro@176.255.22.194) |
| 09:13:16 | × | retroid_ quits (~retro@176.255.22.194) (Ping timeout: 252 seconds) |
| 09:21:51 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Ping timeout: 265 seconds) |
| 09:27:26 | × | ArctVaulMarsHMPJ quits (~pjetcetal@2.95.102.85) (Quit: EXIT) |
| 09:28:25 | × | kmein quits (~weechat@user/kmein) (Quit: ciao kakao) |
| 09:28:44 | → | kmein joins (~weechat@user/kmein) |
| 09:32:52 | × | shriekingnoise quits (~shrieking@186.137.144.80) (Quit: Quit) |
| 09:38:12 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 09:42:21 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:51a:51c5:5fd:d737) |
| 09:46:05 | → | Pickchea joins (~private@user/pickchea) |
| 09:46:50 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:51a:51c5:5fd:d737) (Ping timeout: 260 seconds) |
| 09:48:13 | → | fendor joins (~fendor@178.165.201.14.wireless.dyn.drei.com) |
| 09:49:11 | → | Guest9791 joins (~neo3@cpe-292712.ip.primehome.com) |
| 09:51:28 | × | Guest9791 quits (~neo3@cpe-292712.ip.primehome.com) (Client Quit) |
| 09:51:47 | → | Guest2259 joins (~neo3@cpe-292712.ip.primehome.com) |
| 09:53:22 | × | Guest2259 quits (~neo3@cpe-292712.ip.primehome.com) (Client Quit) |
| 09:53:38 | → | Guest2259 joins (~neo3@cpe-292712.ip.primehome.com) |
| 09:53:56 | Guest2259 | is now known as neo1 |
| 09:55:34 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 252 seconds) |
| 10:01:45 | Akronymus | is now known as akronymus_afk |
| 10:01:53 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 10:06:04 | × | acidjnk_new3 quits (~acidjnk@p200300d0c7203094a5634563aea03fe4.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 10:06:25 | × | bitmapper quits (uid464869@id-464869.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 10:06:44 | → | goepsilongo joins (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) |
| 10:07:46 | × | fendor quits (~fendor@178.165.201.14.wireless.dyn.drei.com) (Remote host closed the connection) |
| 10:11:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 10:11:22 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:14:35 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 10:14:40 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 240 seconds) |
| 10:15:07 | → | azeem joins (~azeem@2a00:801:2d1:56c2:28a1:5bd4:4afc:cc23) |
| 10:16:04 | → | zaquest joins (~notzaques@5.128.210.178) |
| 10:16:42 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 10:17:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:17:33 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 10:18:07 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 10:18:45 | × | azeem quits (~azeem@2a00:801:2d1:56c2:28a1:5bd4:4afc:cc23) (Read error: Connection reset by peer) |
| 10:19:06 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 10:22:55 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:23:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:27:14 | × | xff0x quits (~xff0x@2001:1a81:53ed:e500:473d:a67f:1294:2993) (Ping timeout: 268 seconds) |
| 10:28:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:28:52 | × | hyiltiz quits (~quassel@31.220.5.250) (Ping timeout: 268 seconds) |
| 10:28:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:29:11 | → | hyiltiz joins (~quassel@31.220.5.250) |
| 10:29:45 | akronymus_afk | is now known as akronymus |
| 10:34:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:34:35 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:39:01 | → | xff0x joins (~xff0x@2001:1a81:53ed:e500:473d:a67f:1294:2993) |
| 10:43:02 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:94b2:778f:dfb1:21cc) |
| 10:45:07 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 10:46:13 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:47:30 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:94b2:778f:dfb1:21cc) (Ping timeout: 260 seconds) |
| 10:55:06 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 10:55:19 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 10:57:53 | × | goepsilongo quits (~chacho@2603-7000-ab00-62ed-0000-0000-0000-0bd0.res6.spectrum.com) (Quit: Konversation terminated!) |
| 11:00:58 | → | alx741 joins (~alx741@181.196.69.212) |
| 11:03:08 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:06:31 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 252 seconds) |
| 11:07:44 | → | ubert joins (~Thunderbi@178.165.176.211.wireless.dyn.drei.com) |
| 11:10:22 | → | AlexNoo_ joins (~AlexNoo@178.34.162.211) |
| 11:10:42 | → | azeem joins (~azeem@2a00:801:2d1:56c2:28a1:5bd4:4afc:cc23) |
| 11:11:12 | × | azeem quits (~azeem@2a00:801:2d1:56c2:28a1:5bd4:4afc:cc23) (Read error: Connection reset by peer) |
| 11:11:29 | → | azeem joins (~azeem@emp-91-123.eduroam.uu.se) |
| 11:12:01 | × | Alex_test quits (~al_test@178.34.151.112) (Ping timeout: 252 seconds) |
| 11:13:49 | × | AlexZenon quits (~alzenon@178.34.151.112) (Ping timeout: 252 seconds) |
| 11:13:59 | × | AlexNoo quits (~AlexNoo@178.34.151.112) (Ping timeout: 265 seconds) |
| 11:16:05 | → | Alex_test joins (~al_test@178.34.162.211) |
| 11:17:50 | → | AlexZenon joins (~alzenon@178.34.162.211) |
| 11:18:35 | → | akegalj joins (~akegalj@89-172-123-97.adsl.net.t-com.hr) |
| 11:21:30 | → | Cajun joins (~Cajun@user/cajun) |
| 11:26:26 | × | xff0x quits (~xff0x@2001:1a81:53ed:e500:473d:a67f:1294:2993) (Ping timeout: 268 seconds) |
| 11:27:13 | → | xff0x joins (~xff0x@2001:1a81:53ed:e500:585d:98f9:921f:7e40) |
| 11:50:31 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 11:51:02 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:56:34 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 11:56:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 11:58:35 | → | lars__ joins (~lars@c-76-104-180-32.hsd1.wa.comcast.net) |
| 12:02:12 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 12:02:44 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:05:08 | × | pony quits (~ed@101.100.135.67) (Quit: WeeChat 2.8) |
| 12:06:37 | × | max22- quits (~maxime@2a01cb08833598009b3393ce9ac42685.ipv6.abo.wanadoo.fr) (Ping timeout: 252 seconds) |
| 12:07:26 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2) |
| 12:08:09 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 12:08:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:10:13 | × | lars__ quits (~lars@c-76-104-180-32.hsd1.wa.comcast.net) (Ping timeout: 268 seconds) |
| 12:14:22 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:19:14 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 12:20:17 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:21:24 | → | killy joins (~killy@ers4.neoplus.adsl.tpnet.pl) |
| 12:21:47 | × | killy quits (~killy@ers4.neoplus.adsl.tpnet.pl) (Client Quit) |
| 12:21:55 | → | killy joins (~killy@ers4.neoplus.adsl.tpnet.pl) |
| 12:22:05 | × | killy quits (~killy@ers4.neoplus.adsl.tpnet.pl) (Client Quit) |
| 12:22:40 | → | jstolarek joins (~jstolarek@ers4.neoplus.adsl.tpnet.pl) |
| 12:23:02 | → | cheater joins (~Username@user/cheater) |
| 12:23:15 | × | jstolarek quits (~jstolarek@ers4.neoplus.adsl.tpnet.pl) (Client Quit) |
| 12:23:23 | → | jstolarek joins (~jstolarek@ers4.neoplus.adsl.tpnet.pl) |
| 12:25:38 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 12:26:12 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:27:29 | × | ubert quits (~Thunderbi@178.165.176.211.wireless.dyn.drei.com) (Ping timeout: 268 seconds) |
| 12:31:13 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 12:31:59 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:35:04 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 252 seconds) |
| 12:35:55 | → | System12_ joins (~System123@m91-129-99-197.cust.tele2.ee) |
| 12:37:21 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 12:37:30 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 12:37:41 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 12:39:31 | × | System123 quits (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) (Ping timeout: 252 seconds) |
| 12:40:30 | × | System12_ quits (~System123@m91-129-99-197.cust.tele2.ee) (Ping timeout: 265 seconds) |
| 12:40:48 | → | jinsun__ joins (~quassel@user/jinsun) |
| 12:43:31 | × | jinsun quits (~quassel@user/jinsun) (Read error: Connection reset by peer) |
| 12:45:27 | → | ubert joins (~Thunderbi@178.165.176.211.wireless.dyn.drei.com) |
| 12:45:41 | jinsun__ | is now known as jinsun |
| 12:46:50 | × | sneedsfeed quits (~sneedsfee@rrcs-173-95-122-169.midsouth.biz.rr.com) (Quit: Client closed) |
| 12:51:28 | → | o1lo01ol1o joins (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) |
| 12:56:39 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 13:01:14 | × | burnsidesLlama quits (~burnsides@dhcp168-019.wadham.ox.ac.uk) (Remote host closed the connection) |
| 13:08:29 | → | Pickchea joins (~private@user/pickchea) |
| 13:09:51 | × | o1lo01ol1o quits (~o1lo01ol1@bl13-86-242.dsl.telepac.pt) (Quit: Leaving...) |
| 13:13:23 | → | pbrisbin joins (~patrick@pool-173-49-147-250.phlapa.fios.verizon.net) |
| 13:15:26 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 13:15:39 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 13:17:11 | AlexNoo_ | is now known as AlexNoo |
| 13:20:16 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 13:22:50 | → | doyougnu joins (~user@c-73-25-202-122.hsd1.or.comcast.net) |
| 13:22:56 | → | max22- joins (~maxime@2a01cb08833598006be6953efce46753.ipv6.abo.wanadoo.fr) |
| 13:24:06 | → | favonia joins (~favonia@user/favonia) |
| 13:26:09 | <infinisil> | Hey, I've got a Heisenbug: An executable runs incredibly slow by default, takes over 3 minutes to complete. However when I turn on profiling, it finishes almost instantly! |
| 13:26:12 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.2.1) |
| 13:26:28 | <infinisil> | What could be the cause of this or how could I find out? |
| 13:27:42 | <merijn> | Well, step one: Have you profiled? |
| 13:27:44 | <[exa]> | funny we actually hear about similar problems every now and often but I don't remember any actual solution. Can you profile it a bit? |
| 13:27:48 | <merijn> | Did you do a GC timing? |
| 13:28:20 | <merijn> | infinisil: Try running with "+RTS -sstderr" and pastebin the result |
| 13:29:57 | <kaol> | I ran into a bug with scanr rewrite rules once that caused an infinite loop when compiled with -O. Fun times. |
| 13:30:34 | <infinisil> | merijn: Doing that on the version without profiling enabled, hold on |
| 13:30:47 | × | akronymus quits (~Akronymus@85.31.8.180) (Quit: Client closed) |
| 13:30:59 | <infinisil> | Well, it's running, I'll report in ~4 minutes when it finishes |
| 13:31:41 | <merijn> | I have an intuition, but I wanna see the productivity numbers before making my wild ass guesses :p |
| 13:31:56 | <infinisil> | CPU is at 100% fwiw, used no special compile options (other than -rtsopts), so GC should only be single-threaded |
| 13:32:13 | <infinisil> | Hehe |
| 13:32:21 | <merijn> | oh |
| 13:32:30 | <merijn> | You're not using -threaded? |
| 13:32:36 | → | burnsidesLlama joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 13:32:54 | <merijn> | are you using subprocesses or something along those lines? |
| 13:33:27 | <infinisil> | Nope, not using threaded, and all a single thread and process |
| 13:33:29 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 13:33:58 | <merijn> | hmm |
| 13:34:14 | <merijn> | What's the code doing? |
| 13:34:27 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 13:34:30 | <infinisil> | Here's the -sstderr output: https://paste.infinisil.com/-nsoXipjYI.txt |
| 13:34:36 | <jumper149> | Hi, does anyone here have experience with the `graphql` library on Hackage? I'm currently looking into it and I'm not really sure if it is what I want. |
| 13:34:40 | × | lbseale quits (~lbseale@user/ep1ctetus) (Remote host closed the connection) |
| 13:35:04 | → | lbseale joins (~lbseale@user/ep1ctetus) |
| 13:35:21 | <infinisil> | merijn: Code uses https://hackage.haskell.org/package/jose to decode and verify a jwt blob of ~1MB size |
| 13:35:40 | × | Cajun quits (~Cajun@user/cajun) (Quit: Client closed) |
| 13:35:40 | <jpds> | jumper149: I saw https://brandonchinn178.github.io/blog/2021/08/04/graphql-server-haskell.html a month ago |
| 13:35:49 | → | Akronymus joins (~Akronymus@85.31.8.180) |
| 13:35:50 | <merijn> | "Productivity 33.6% of total user," <- well, that's fucking atrocious |
| 13:36:32 | <jumper149> | jpds: That looks like a good read, ty :) |
| 13:36:44 | <merijn> | infinisil: 33% productivity is god awful :) |
| 13:37:22 | <merijn> | infinisil: So it's spending 67% of those 4 minutes garbage collecting |
| 13:37:24 | <infinisil> | merijn: Here's exactly the same with a profiling-enabled version.. https://paste.infinisil.com/kTkaGcbcyE.txt |
| 13:37:46 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 13:37:59 | → | a6a45081-2b83 joins (~aditya@pal-210-106-57.itap.purdue.edu) |
| 13:38:06 | <merijn> | Right, so there's something wonky (something being inlined?) maybe that's triggering re-evaluation non-stop and thus massive GC |
| 13:38:07 | <infinisil> | Allocates about 1000 times more when not profiling.. |
| 13:38:29 | <a6a45081-2b83> | is there something gdb equivalent for haskell as for c++ |
| 13:38:38 | <merijn> | a6a45081-2b83: Yes, but also, no |
| 13:38:50 | <a6a45081-2b83> | I wanted to debug some large codebase without making trace and debug statements everywhere |
| 13:39:15 | <merijn> | @quote cmccann debugger |
| 13:39:15 | <lambdabot> | cmccann says: you want a debugger? GHC has one. Except that stepping through lazy evaluation is like listening to a stream of consciousness narrative told by a 5-year-old with ADHD. |
| 13:39:30 | <merijn> | There's a debugger in ghci, GHC user guide has details |
| 13:39:33 | <a6a45081-2b83> | I just wanted to inspect some variables and see if they are being set to correct value through the execution flow |
| 13:39:33 | <doyougnu> | a6a45081-2b83: You can use gdb: https://gitlab.haskell.org/ghc/ghc/-/wikis/debugging/compiled-code |
| 13:39:42 | <infinisil> | Hmm yeah, but like why would enable profiling make it disappear.. |
| 13:39:42 | <merijn> | doyougnu: Yes, but also, not really |
| 13:39:51 | <merijn> | infinisil: Profiling disables some optimisations |
| 13:40:02 | <infinisil> | I'd expect profiling to disable optimizations if anything |
| 13:40:04 | <merijn> | infinisil: Gonna need to see some code to make sense of it |
| 13:40:06 | <doyougnu> | ah I see what you mean |
| 13:40:34 | <infinisil> | merijn: Alright, hold on |
| 13:40:52 | <merijn> | doyougnu: Basically, it's providing DWARF debug symbols to map assembly to Haskell, but that's not gonna be as fine-grained and easy to use as with, say, C |
| 13:40:55 | <infinisil> | merijn: Nix-user? |
| 13:41:00 | <merijn> | infinisil: Nope |
| 13:41:15 | <doyougnu> | merijn: makes sense |
| 13:42:15 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 13:42:19 | <merijn> | infinisil: Basically, it almost sounds like some inlining is causing stuff to not be freed, resulting in ever increasing heap that needs to be copied |
| 13:42:57 | <merijn> | Max residency isn't even *that* bad in the slow one |
| 13:44:17 | → | burnside_ joins (~burnsides@client-8-86.eduroam.oxuni.org.uk) |
| 13:44:19 | × | burnsidesLlama quits (~burnsides@client-8-86.eduroam.oxuni.org.uk) (Read error: Connection reset by peer) |
| 13:45:02 | × | Digit quits (~user@user/digit) (Ping timeout: 252 seconds) |
| 13:46:24 | → | lars__ joins (~lars@c-76-104-180-32.hsd1.wa.comcast.net) |
| 13:49:05 | → | shriekingnoise joins (~shrieking@186.137.144.80) |
| 13:50:31 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds) |
| 13:56:54 | × | lars__ quits (~lars@c-76-104-180-32.hsd1.wa.comcast.net) (Ping timeout: 268 seconds) |
| 13:57:00 | × | kenran quits (~kenran@200116b82bdd2a00e75641d2b54b9789.dip.versatel-1u1.de) (Quit: WeeChat info:version) |
| 14:01:10 | → | ubert1 joins (~Thunderbi@178.115.39.25.wireless.dyn.drei.com) |
| 14:01:35 | → | _bin joins (~bin@user/bin/x-1583188) |
| 14:02:40 | × | ubert quits (~Thunderbi@178.165.176.211.wireless.dyn.drei.com) (Ping timeout: 265 seconds) |
| 14:02:41 | ubert1 | is now known as ubert |
| 14:02:49 | → | acidjnk_new3 joins (~acidjnk@p200300d0c7203004190619efcd54ece4.dip0.t-ipconnect.de) |
| 14:14:49 | × | ikex quits (~ash@user/ikex) (Quit: ZNC - https://znc.in) |
| 14:15:08 | → | ikex joins (~ash@user/ikex) |
| 14:18:19 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 14:18:19 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 14:18:19 | → | wroathe joins (~wroathe@user/wroathe) |
| 14:19:23 | × | a6a45081-2b83 quits (~aditya@pal-210-106-57.itap.purdue.edu) (Remote host closed the connection) |
| 14:24:40 | → | favonia joins (~favonia@user/favonia) |
| 14:30:46 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 14:31:02 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 14:38:11 | → | hnOsmium0001 joins (uid453710@id-453710.hampstead.irccloud.com) |
| 14:38:58 | × | pooryorick quits (~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 260 seconds) |
| 14:40:37 | → | acidjnk_new joins (~acidjnk@p200300d0c720300489d1e02b13283af1.dip0.t-ipconnect.de) |
| 14:40:37 | → | pooryorick joins (~pooryoric@87-119-174-173.tll.elisa.ee) |
| 14:41:07 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 14:41:22 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 14:44:34 | × | acidjnk_new3 quits (~acidjnk@p200300d0c7203004190619efcd54ece4.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 14:47:15 | × | spruit11_ quits (~quassel@2a02:a467:ccd6:1:bdee:99d8:9af:602f) (Ping timeout: 268 seconds) |
| 14:47:35 | → | shapr joins (~user@pool-100-36-247-68.washdc.fios.verizon.net) |
| 14:47:53 | → | fendor joins (~fendor@e255-168.eduroam.tuwien.ac.at) |
| 14:54:34 | → | fendor_ joins (~fendor@e239-072.eduroam.tuwien.ac.at) |
| 14:55:16 | × | azeem quits (~azeem@emp-91-123.eduroam.uu.se) (Ping timeout: 268 seconds) |
| 14:56:38 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 14:57:17 | × | fendor quits (~fendor@e255-168.eduroam.tuwien.ac.at) (Ping timeout: 265 seconds) |
| 14:58:37 | → | chisui joins (~chisui@200116b868904600f8a1e0879cf789d5.dip.versatel-1u1.de) |
| 14:58:54 | → | spruit11 joins (~quassel@2a02:a467:ccd6:1:8499:aaa7:da86:787a) |
| 14:59:35 | → | fendor__ joins (~fendor@e236-214.eduroam.tuwien.ac.at) |
| 15:00:33 | → | azeem joins (~azeem@2a00:801:3c1:c79f:2f67:8901:c99e:d77d) |
| 15:01:09 | <chisui> | Hey, has anyone an idea why this test freezes up? https://github.com/chisui/optparse-applicative/blob/master/tests/test.hs#L82. It should be a simple test for https://github.com/chisui/optparse-applicative/blob/master/src/Options/Applicative/Generic.hs#L34. but the tests take 100% CPU and never finish. I also can't see any endless recursion in the |
| 15:01:09 | <chisui> | instance definitions. |
| 15:01:11 | → | gensyst joins (gensyst@user/gensyst) |
| 15:01:28 | <gensyst> | Does someone have thoughts on the various plotting libraries? |
| 15:01:42 | <gensyst> | plot vs gnuplot for instance |
| 15:02:07 | × | fendor_ quits (~fendor@e239-072.eduroam.tuwien.ac.at) (Ping timeout: 265 seconds) |
| 15:03:15 | × | dexterfoo quits (dexter@2a01:7e00::f03c:91ff:fe86:59ec) (Quit: WeeChat 1.9.1) |
| 15:03:35 | <chisui> | ARGH, I had an endless recursion at https://github.com/chisui/optparse-applicative/blob/master/src/Options/Applicative/Generic.hs#L83 |
| 15:05:24 | <merijn> | gensyst: My thoughts are: I like none of them |
| 15:05:57 | <merijn> | gensyst: And gnuplot is Thielemann-ware, so...good luck with that >.> |
| 15:06:43 | <gensyst> | merijn, what's wrong with Th-ware? |
| 15:06:45 | → | asivitz joins (uid178348@id-178348.tinside.irccloud.com) |
| 15:07:09 | <gensyst> | (don't know anything about him (the lib author) btw) |
| 15:07:13 | <merijn> | He has...unique opinions on how things should be named |
| 15:07:14 | <c_wraith> | every type is named T |
| 15:07:19 | <merijn> | And qualified imports |
| 15:07:24 | <c_wraith> | every class is named C |
| 15:07:29 | <merijn> | So, eh, just have a look at the resulting haddocks... |
| 15:07:49 | × | fendor__ quits (~fendor@e236-214.eduroam.tuwien.ac.at) (Ping timeout: 268 seconds) |
| 15:08:03 | <gensyst> | LOL |
| 15:08:21 | <gensyst> | so whichs plotting libs have you normally used in practice even if you don't like them? |
| 15:08:27 | <gensyst> | or which are the least bad |
| 15:09:04 | <merijn> | gensyst: matplotlib >.> |
| 15:09:16 | <adamCS> | gensyst: I like hvega. But that only fits a certain set of uses (charts to put into html docs, mostly). And isn't particularly compositional, just a basic set of functions to produce the correct json. But it's well documented and I like the grammar-of-graphics of the thing its wrapping (vega-lite). |
| 15:09:18 | × | ubert quits (~Thunderbi@178.115.39.25.wireless.dyn.drei.com) (Ping timeout: 260 seconds) |
| 15:09:43 | <merijn> | gensyst: Basically, right now I just have super simple gnuplot scripts and/or python matplotlib scripts that I feed data via stdin using process |
| 15:11:57 | <gensyst> | great to know, thanks! |
| 15:12:07 | → | myShoggoth joins (~myShoggot@97-120-70-214.ptld.qwest.net) |
| 15:12:20 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 15:13:58 | × | slowButPresent quits (~slowButPr@user/slowbutpresent) (Quit: leaving) |
| 15:14:29 | <dminuoso> | Every day I write in nix I begin to realize that a lazy functional language is only fun with a type system. |
| 15:15:29 | <dminuoso> | Say forgetting an argument in some `mapAttrs (a: ... a.config ...) as` produces debugging overhead, something a type system could have easily caught. And I think especially when higher order functions are the norm, this happens frequently. |
| 15:15:44 | <gensyst> | dminuoso, why have there been no efforts to do package management with ... haskell? i.e. just get rid of nix altogether |
| 15:15:54 | <gensyst> | network effects? |
| 15:16:38 | <dminuoso> | Honestly, what nix does cant easily be done in Haskell |
| 15:18:23 | <dminuoso> | gensyst: The primary technical problem I can see, is how much the nix ecosystem relies on fixed points |
| 15:18:44 | <tomsmeding> | :t fix |
| 15:18:45 | <lambdabot> | (a -> a) -> a |
| 15:18:52 | <tomsmeding> | /s |
| 15:18:55 | <dminuoso> | In a modular way such that even conceptual types would be fixed point types.. |
| 15:19:00 | <dminuoso> | Say: |
| 15:19:34 | <dminuoso> | `{ config, ... }: { config = ... }`, the shape of `config` depends on the fixed point result. |
| 15:20:07 | <dminuoso> | If we had ML-style functors, maybe we could model something close to it. |
| 15:20:21 | <dminuoso> | (So perhaps with backpack some approximation could be built?) |
| 15:21:03 | × | Akronymus quits (~Akronymus@85.31.8.180) (Quit: Client closed) |
| 15:21:06 | <gensyst> | no idea tbh |
| 15:21:49 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 15:21:55 | <dminuoso> | Plus, most of nix is sort of monadic fixed points |
| 15:22:08 | <dminuoso> | with effects being buildings and realizations of derivations |
| 15:22:52 | <dminuoso> | So a naive 1:1 mapping would have to allow for an ML-style functor level mfix. |
| 15:25:10 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds) |
| 15:25:35 | <infinisil> | merijn: Alright I've got a minified reproducer: https://github.com/tweag/haskell-fido2/tree/slow-repro |
| 15:26:24 | → | lars__ joins (~lars@c-76-104-180-32.hsd1.wa.comcast.net) |
| 15:27:39 | <merijn> | infinisil: oh |
| 15:27:43 | → | slack1256 joins (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) |
| 15:27:52 | <merijn> | Isn't the lazy BS the culprit? |
| 15:28:49 | <infinisil> | Ohh |
| 15:28:59 | <infinisil> | You know that thought crossed my mind, but I didn't test it, lemme do that |
| 15:29:23 | <merijn> | infinisil: I bet the laziness + some inlining is keeping the whole BS live the entire time and thus causing tons of copying in GC |
| 15:29:53 | <infinisil> | merijn: Nope, still super slow |
| 15:30:14 | <merijn> | time to stare at Core |
| 15:31:18 | <infinisil> | Wait, I'm an idiot, be back in a bit |
| 15:32:31 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2) |
| 15:34:15 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 15:34:25 | <infinisil> | merijn: But no, there's no change |
| 15:34:40 | <infinisil> | I was an idiot because just changing `LBS` to `BS` won't make it strict |
| 15:35:01 | <infinisil> | But the decoding function wants a lazy one: https://hackage.haskell.org/package/jose-0.8.4.1/docs/Crypto-JOSE-Compact.html#v:decodeCompact |
| 15:36:12 | × | hendursa1 quits (~weechat@user/hendursaga) (Quit: hendursa1) |
| 15:36:38 | → | hendursaga joins (~weechat@user/hendursaga) |
| 15:41:49 | → | Cale joins (~cale@cpef48e38ee8583-cm0c473de9d680.cpe.net.cable.rogers.com) |
| 15:43:17 | × | kjak quits (~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 15:49:36 | → | Erutuon joins (~Erutuon@user/erutuon) |
| 15:50:46 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 15:56:28 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 15:56:41 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 15:57:37 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 15:57:48 | → | slowButPresent joins (~slowButPr@user/slowbutpresent) |
| 15:58:04 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.2) |
| 16:04:13 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:94b2:778f:dfb1:21cc) |
| 16:04:55 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:94b2:778f:dfb1:21cc) (Client Quit) |
| 16:05:26 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 16:05:26 | <kaol> | infinisil: I tried it on my laptop (Ryzen 4650U) and big.jwt took 400ms with no profiling. GHC 8.8.4. |
| 16:06:17 | <infinisil> | kaol: Oh good idea, I've been using 8.10.4 |
| 16:06:20 | <infinisil> | I'll try with 8.8 later |
| 16:06:23 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) |
| 16:07:48 | → | mousey joins (~sky@gateway/tor-sasl/mousey) |
| 16:13:17 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 16:13:21 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 16:15:23 | → | proofofkeags_ joins (~proofofke@205.209.28.54) |
| 16:16:04 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds) |
| 16:16:42 | → | System123 joins (~System123@203-134-35-213.sta.estpak.ee) |
| 16:16:48 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 16:17:02 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 16:21:36 | × | System123 quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 268 seconds) |
| 16:21:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:24:44 | × | lars__ quits (~lars@c-76-104-180-32.hsd1.wa.comcast.net) (Quit: leaving) |
| 16:26:45 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 16:30:41 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.2.1) |
| 16:30:53 | → | favonia joins (~favonia@user/favonia) |
| 16:35:06 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 16:38:38 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) (Remote host closed the connection) |
| 16:42:17 | → | System123 joins (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) |
| 16:45:25 | <infinisil> | kaol: Aha, interesting, for me it's a bit faster, but still really slow with 8.8.4 |
| 16:46:30 | <infinisil> | kaol: Can you show the output of your `ghc-pkg list`? |
| 16:46:52 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) |
| 16:51:20 | × | neurocyte quits (~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat) |
| 16:51:25 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 268 seconds) |
| 16:53:34 | × | cheater quits (~Username@user/cheater) (Ping timeout: 252 seconds) |
| 16:53:46 | → | cheater joins (~Username@user/cheater) |
| 16:58:00 | → | neurocyte joins (~neurocyte@45.14.191.55) |
| 16:58:00 | × | neurocyte quits (~neurocyte@45.14.191.55) (Changing host) |
| 16:58:00 | → | neurocyte joins (~neurocyte@user/neurocyte) |
| 16:58:12 | × | jstolarek quits (~jstolarek@ers4.neoplus.adsl.tpnet.pl) (Ping timeout: 268 seconds) |
| 16:59:04 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 17:02:07 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 17:02:43 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 17:06:00 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 17:06:21 | → | cheater joins (~Username@user/cheater) |
| 17:07:03 | → | ikex1 joins (ash@user/ikex) |
| 17:07:27 | × | chisui quits (~chisui@200116b868904600f8a1e0879cf789d5.dip.versatel-1u1.de) (Ping timeout: 256 seconds) |
| 17:08:04 | × | ikex quits (~ash@user/ikex) (Ping timeout: 268 seconds) |
| 17:08:04 | ikex1 | is now known as ikex |
| 17:08:07 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 17:10:07 | × | acidjnk_new quits (~acidjnk@p200300d0c720300489d1e02b13283af1.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 17:26:22 | → | chisui joins (~chisui@200116b86890460080ddd003aee62e7e.dip.versatel-1u1.de) |
| 17:29:18 | → | jess joins (~jess@libera/staff/jess) |
| 17:31:22 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) (Remote host closed the connection) |
| 17:36:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 17:39:12 | → | econo joins (uid147250@user/econo) |
| 17:40:30 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 260 seconds) |
| 17:45:03 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 17:46:18 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 17:47:08 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 17:47:26 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 17:49:22 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) |
| 17:52:29 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 17:52:42 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 17:55:28 | × | slack1256 quits (~slack1256@static-132-147-34-179.fl.cpe.atlanticbb.net) (Remote host closed the connection) |
| 17:56:16 | × | Gurkenglas quits (~Gurkengla@dslb-002-207-014-195.002.207.pools.vodafone-ip.de) (Ping timeout: 252 seconds) |
| 17:58:18 | × | mousey quits (~sky@gateway/tor-sasl/mousey) (Ping timeout: 276 seconds) |
| 18:01:46 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:02:15 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 18:02:20 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:02:21 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 18:02:21 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:02:57 | × | dut quits (~dut@user/dut) (Ping timeout: 268 seconds) |
| 18:03:38 | × | proofofkeags_ quits (~proofofke@205.209.28.54) (Remote host closed the connection) |
| 18:03:56 | → | proofofkeags_ joins (~proofofke@205.209.28.54) |
| 18:04:37 | → | hexfive joins (~eric@50.35.83.177) |
| 18:04:52 | × | hexfive quits (~eric@50.35.83.177) (Client Quit) |
| 18:05:45 | → | fef joins (~thedawn@user/thedawn) |
| 18:07:14 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 18:09:10 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds) |
| 18:09:18 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) (Remote host closed the connection) |
| 18:09:44 | × | alx741 quits (~alx741@181.196.69.212) (Ping timeout: 268 seconds) |
| 18:11:54 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 18:14:33 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds) |
| 18:18:10 | → | Pickchea joins (~private@user/pickchea) |
| 18:19:25 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 18:19:25 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 18:19:25 | → | wroathe joins (~wroathe@user/wroathe) |
| 18:20:45 | → | favonia joins (~favonia@user/favonia) |
| 18:22:08 | → | alx741 joins (~alx741@181.196.68.49) |
| 18:24:19 | <drewolson> | hey all, i'm getting a weird hlock error when trying to build my project in docker via `stack --docker build` https://gist.github.com/drewolson/e76fda28eff61e20f9773ae56ef32dc2 |
| 18:24:27 | <drewolson> | is this something folks have seen before? |
| 18:24:42 | <drewolson> | not sure if it matters, but this is on an m1 mac. this setup was working for me before i was on an m1. |
| 18:27:40 | <drewolson> | i added the relevant section of my stack.yaml to the gist as well |
| 18:29:47 | → | mousey joins (~sky@gateway/tor-sasl/mousey) |
| 18:33:18 | × | Everything quits (~Everythin@37.115.210.35) (Quit: leaving) |
| 18:36:00 | × | vysn quits (~vysn@user/vysn) (Quit: WeeChat 3.2) |
| 18:36:39 | → | mastarija joins (~mastarija@31.217.5.196) |
| 18:37:29 | → | pavonia joins (~user@user/siracusa) |
| 18:42:28 | × | akegalj quits (~akegalj@89-172-123-97.adsl.net.t-com.hr) (Ping timeout: 252 seconds) |
| 18:42:42 | × | derelict quits (derelict@user/derelict) (Quit: bye) |
| 18:42:56 | → | derelict joins (derelict@user/derelict) |
| 18:45:06 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 18:46:37 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 18:48:29 | → | bjobjo joins (~bjobjo@user/bjobjo) |
| 18:53:11 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 18:55:09 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 18:57:57 | → | Tuplanolla joins (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) |
| 18:58:10 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 19:00:44 | → | nicbk joins (~nicbk@user/nicbk) |
| 19:02:46 | × | nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Ping timeout: 268 seconds) |
| 19:03:00 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) |
| 19:04:02 | → | nattiestnate joins (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) |
| 19:05:27 | wrengr_away | is now known as wrengr |
| 19:10:28 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:10:36 | <maerwald> | drewolson: so you're running in compat mode? |
| 19:10:53 | <drewolson> | maerwald: i _think_ so? i'm honestly not sure |
| 19:10:55 | × | mastarija quits (~mastarija@31.217.5.196) (Quit: Leaving) |
| 19:11:01 | <maerwald> | me neither |
| 19:11:02 | <drewolson> | everything seemed to "just work" for local stack development |
| 19:11:07 | <drewolson> | this is the first hiccup i'm hitting |
| 19:11:08 | <maerwald> | I have no idea what stack docker does |
| 19:11:15 | → | akegalj joins (~akegalj@89-172-123-97.adsl.net.t-com.hr) |
| 19:11:24 | <drewolson> | it seems to just run stack build inside of a docker container with mounted volumnes |
| 19:11:38 | <drewolson> | fwiw, if i hand roll a docker container from debian:buster i experience the same issue |
| 19:11:41 | <drewolson> | when running stack build |
| 19:11:44 | <maerwald> | but I think if you installed stack from official method, you'll have a x86_64 binary |
| 19:12:01 | <drewolson> | i did, via curl |
| 19:12:10 | <maerwald> | check the binary with `file` |
| 19:12:44 | <drewolson> | ```$ which stack | xargs file |
| 19:12:52 | <drewolson> | `/usr/local/bin/stack: Mach-O 64-bit executable x86_64` |
| 19:13:21 | <maerwald> | too bad I also don't have a native binary |
| 19:13:29 | <drewolson> | is there a native binary? |
| 19:13:34 | <maerwald> | no |
| 19:13:38 | <drewolson> | :whomp: |
| 19:13:49 | <maerwald> | but stack upgrade can install from source I think |
| 19:13:50 | <drewolson> | i'm dangerously close to just building this binary on gitlab's ci |
| 19:14:44 | <maerwald> | stack upgrade --source-only |
| 19:14:48 | <drewolson> | trying now |
| 19:15:07 | <maerwald> | but I'm not sure it'll pick the right arch either |
| 19:15:32 | <drewolson> | yeah, if stack itself is running in rosetta, it might "lie" during the request |
| 19:15:43 | <drewolson> | stack claims i am on the latest version |
| 19:16:34 | → | hammock joins (~Hammock@2600:1700:19a1:3330::588) |
| 19:16:35 | × | bjobjo quits (~bjobjo@user/bjobjo) (Quit: Lost terminal) |
| 19:17:17 | → | bjobjo joins (~bjobjo@user/bjobjo) |
| 19:17:36 | × | fef quits (~thedawn@user/thedawn) (Ping timeout: 276 seconds) |
| 19:18:54 | × | nicbk quits (~nicbk@user/nicbk) (Ping timeout: 276 seconds) |
| 19:19:55 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 19:20:45 | <kaol> | infinisil: Sorry, I went away for a bit. I emailed my ghc-pkg list, I hope that's ok. |
| 19:25:05 | <drewolson> | maerwald: i'll tell you if this gitlab gordian knot solution works :) |
| 19:25:22 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 19:25:26 | <drewolson> | (basically i need to build a binary to run on debian) |
| 19:26:32 | → | thyriaen joins (~thyriaen@dynamic-078-055-255-174.78.55.pool.telefonica.de) |
| 19:27:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 19:29:27 | <chisui> | Woa, docker on M1 seems just ... how .. what? |
| 19:30:18 | <drewolson> | chisui: i can't tell if this means you're agreeing with me or disagreeing with me :) |
| 19:30:40 | <drewolson> | i'm honestly confused as to why i have to provide a `--platform` flag to use the default debian container |
| 19:30:44 | <chisui> | I'm just confused. That's all |
| 19:32:40 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 19:34:40 | × | xff0x quits (~xff0x@2001:1a81:53ed:e500:585d:98f9:921f:7e40) (Ping timeout: 240 seconds) |
| 19:35:23 | <drewolson> | status report: 15 mins in and gitlab ci is still compiling |
| 19:35:39 | → | xff0x joins (~xff0x@2001:1a81:53ed:e500:8294:b35:6b84:2798) |
| 19:36:11 | × | dhouthoo quits (~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2) |
| 19:38:49 | × | chisui quits (~chisui@200116b86890460080ddd003aee62e7e.dip.versatel-1u1.de) (Quit: Client closed) |
| 19:38:58 | × | akegalj quits (~akegalj@89-172-123-97.adsl.net.t-com.hr) (Quit: leaving) |
| 19:39:01 | → | chisui joins (~chisui@200116b86890460075c9988d490fe8d7.dip.versatel-1u1.de) |
| 19:39:09 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) (Remote host closed the connection) |
| 19:39:49 | → | acidjnk_new joins (~acidjnk@p200300d0c720300489d1e02b13283af1.dip0.t-ipconnect.de) |
| 19:42:18 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 19:43:04 | × | gensyst quits (gensyst@user/gensyst) (Remote host closed the connection) |
| 19:43:29 | → | ubert joins (~Thunderbi@178.115.43.84.wireless.dyn.drei.com) |
| 19:47:45 | → | fendor joins (~fendor@178.165.181.243.wireless.dyn.drei.com) |
| 19:49:33 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 19:53:40 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:57:43 | × | fendor quits (~fendor@178.165.181.243.wireless.dyn.drei.com) (Remote host closed the connection) |
| 19:59:30 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:d58c:2ecc:67d4:668) |
| 20:00:11 | × | jrm quits (~jrm@156.34.187.65) (Quit: ciao) |
| 20:00:35 | → | jrm joins (~jrm@156.34.187.65) |
| 20:03:35 | <sm> | drewolson: I don't think you'll be able to build an arm stack binary, since GHC doesn't support that yet. Maybe I misunderstood |
| 20:03:51 | <maerwald> | sm: huh? |
| 20:05:05 | <geekosaur> | supported with 8.10.7 -fllvm I believe |
| 20:05:08 | <drewolson> | i'm actually attempting to build an x86 binary on an m1 system |
| 20:05:10 | × | juhp quits (~juhp@128.106.188.220) (Ping timeout: 265 seconds) |
| 20:05:15 | <drewolson> | i think this is docker weirdness |
| 20:05:19 | <sm> | drewolson: different situation, but the error message sounds quite similar: https://github.com/commercialhaskell/stack/issues/5589#issuecomment-907842512 |
| 20:05:20 | <drewolson> | docker for mac on m1s is ... something |
| 20:05:30 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 20:05:30 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host) |
| 20:05:30 | → | wroathe joins (~wroathe@user/wroathe) |
| 20:05:34 | <maerwald> | sm: arm is supported |
| 20:05:41 | <sm> | yes, I assume it's only with docker involved |
| 20:07:28 | → | juhp joins (~juhp@128.106.188.220) |
| 20:07:35 | <sm> | maerwald, geekosaur : correct, that's more accurate. 8.10.7 with -fllvm is rumoured to do it. |
| 20:08:14 | <maerwald> | GHC, ghcup and cabal support ARM for both linux and mac just fine... it's just stack that's lacking behind |
| 20:08:57 | <maerwald> | stack metadata has been updated recently though |
| 20:09:06 | → | sedeki joins (~textual@user/sedeki) |
| 20:10:15 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 20:10:30 | <Franciman> | I always suggest my fellow programmers on my project to avoid using things that would make building with ghc alone impossible |
| 20:10:33 | <Franciman> | we ship a cabal file |
| 20:10:47 | <Franciman> | just for correctness to others |
| 20:11:00 | <Franciman> | but we always strieve to get ghc --make buildable software |
| 20:11:16 | <Franciman> | once you introduce evil such as cabal and stack, things get naughty SO FAST |
| 20:11:42 | <Franciman> | when not possible, cabal is the backup |
| 20:11:50 | <Franciman> | because stack users can still make use of it |
| 20:11:53 | <Franciman> | that's how we work |
| 20:11:58 | <Franciman> | ghc -> cabal -> stack |
| 20:12:17 | <maerwald> | Franciman: there's an alternative to cabal-install, I forgot the name |
| 20:12:21 | <maerwald> | think it's discontinued |
| 20:12:31 | <maerwald> | it doesn't use Setup.hs even |
| 20:12:38 | <maerwald> | so calls ghc directly |
| 20:12:49 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 20:12:51 | <Franciman> | hi maerwald ! |
| 20:12:53 | <Franciman> | so cool |
| 20:13:02 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 20:13:07 | × | sedeki quits (~textual@user/sedeki) (Client Quit) |
| 20:13:18 | <Franciman> | maerwald: I haven't get any time to get back at ghcup satisfy :< |
| 20:13:22 | <Franciman> | sorry |
| 20:13:27 | <Franciman> | got* |
| 20:13:39 | <maerwald> | Franciman: I opened an opencollective account. If we get some money I put a bounty on it |
| 20:14:46 | <Franciman> | maerwald: got the link? |
| 20:14:56 | <maerwald> | https://opencollective.com/ghcup |
| 20:15:28 | <Franciman> | yay |
| 20:15:36 | <Franciman> | do I need to register to give something? |
| 20:15:49 | <maerwald> | probably, allows oauth with github I think |
| 20:15:56 | <Franciman> | let's try |
| 20:16:07 | <maerwald> | that would mean you fund yourself lol |
| 20:16:31 | × | ubert quits (~Thunderbi@178.115.43.84.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 20:16:42 | <Franciman> | lol wut I wanted to help the community |
| 20:16:45 | <Franciman> | ghcup is awesome |
| 20:17:02 | <Franciman> | i can't live without |
| 20:17:09 | <maerwald> | I can't find the link to the cabal alternative |
| 20:17:10 | <maerwald> | dang |
| 20:18:31 | <maerwald> | Is there a way in github to see what projects you liked? |
| 20:18:56 | <Franciman> | yes |
| 20:18:58 | <Franciman> | no |
| 20:19:00 | <Franciman> | uhm |
| 20:19:10 | <maerwald> | https://gist.github.com/sebble/e5af3d03700bfd31c62054488bfe8d4f |
| 20:19:30 | <Franciman> | neat |
| 20:19:34 | <infinisil> | maerwald: bazel/obelisk/hadrian? |
| 20:19:37 | <janus> | does it make sense to filter and sort in the same higher-order primitive, when working with lists? or should i do it in two "passes". with lazy lists, i guess the data will be traversed only once anyway, even if i use filter and then sortOn? |
| 20:20:12 | <infinisil> | Or snack |
| 20:20:13 | <maerwald> | infinisil: I think different |
| 20:20:57 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 20:21:24 | <maerwald> | I have it |
| 20:21:25 | <maerwald> | https://github.com/ollef/rock |
| 20:21:42 | <maerwald> | or wait, I think that's not it either |
| 20:22:05 | <maerwald> | now I have |
| 20:22:07 | <maerwald> | https://github.com/judah/pier |
| 20:22:20 | <maerwald> | seems dead, but I like the idea |
| 20:22:27 | <sm> | thanks for that workaround for https://github.com/commercialhaskell/stack/issues/5589, maerwald |
| 20:22:27 | <geekosaur> | go to your main page (above your repos), find the star on the left sidebar, click on the star? |
| 20:23:06 | <maerwald> | geekosaur: the script from the gist works... github api allows it |
| 20:23:09 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 20:23:22 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 20:23:28 | <Franciman> | oh so you can see I put a star on all my projects :P |
| 20:23:31 | <Franciman> | no kidding |
| 20:23:36 | <Franciman> | i don't do it lol |
| 20:23:48 | <maerwald> | it's sad to see non-trivial haskell projects abandoned |
| 20:24:00 | <maerwald> | that must have been hard work (pier) |
| 20:24:41 | <infinisil> | It's the natural cycle of projects |
| 20:25:17 | <sm> | it lacked something that would have gained it traction |
| 20:26:42 | <maerwald> | sm: probably lack of custom Setup.hs |
| 20:26:47 | <maerwald> | that's a big one |
| 20:26:55 | <maerwald> | *support of custom Setup.hs* |
| 20:27:04 | → | zebrag joins (~chris@user/zebrag) |
| 20:27:06 | → | nicbk joins (~nicbk@user/nicbk) |
| 20:30:35 | <ldlework> | I finished HFFP's chapter on monads |
| 20:30:53 | <ldlework> | I'm prettttty much an expert on functional programming now |
| 20:31:09 | <ldlework> | I'll be fielding questions all day! |
| 20:31:19 | <ldlework> | hehe |
| 20:31:22 | <janus> | ldlework: how do i express bind in terms of join and fmap? |
| 20:31:51 | <ldlework> | let's think |
| 20:33:03 | <ldlework> | bind, essentially takes a value out of structure on the left, and functorially (?) applies it to a structure creating value in structure on the right, creating double structure |
| 20:33:13 | <ldlework> | join then monoidally collapses that structure |
| 20:33:31 | <ldlework> | structure creating function |
| 20:34:02 | <ldlework> | like a -> Maybe |
| 20:35:45 | <ldlework> | so something like.. |
| 20:36:10 | <ldlework> | m >>= f = fmap f m & join |
| 20:36:21 | <ldlework> | I think? |
| 20:36:38 | <janus> | :t \f m -> fmap f m & join |
| 20:36:39 | <lambdabot> | Monad m => (a1 -> m a2) -> m a1 -> m a2 |
| 20:36:41 | → | newbie joins (~newbie@80-196-109-198-dynamic.dk.customer.tdc.net) |
| 20:36:53 | <awpr> | :t flip (fmap (fmap join) fmap) -- maximally obfuscated |
| 20:36:54 | <lambdabot> | Monad m => m a1 -> (a1 -> m a2) -> m a2 |
| 20:37:09 | <ldlework> | i can't tell, was i right? |
| 20:37:33 | <janus> | the types seem ok. so ship it! must be correct |
| 20:37:34 | <newbie> | newtype Test |
| 20:37:39 | <ldlework> | lol |
| 20:38:01 | <ldlework> | i am actually going back today and learning QuickTest/checker which I skipped over |
| 20:39:12 | <newbie> | test\n test |
| 20:39:28 | <ldlework> | the way that in `m a >>= b` bind takes the value out of structure and passes it to the next thing |
| 20:39:34 | <ldlework> | kind of feels a lot like async/await |
| 20:39:38 | <ldlework> | in a very vague way |
| 20:39:53 | <awpr> | yep, async-style concurrency with futures forms a monad |
| 20:40:09 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 20:41:01 | <ldlework> | Semigroup -> Monoid -> Functor -> Applicative -> Monad |
| 20:41:06 | <ldlework> | was a pretty great pedagogical strategy |
| 20:41:49 | × | geekosaur quits (~geekosaur@xmonad/geekosaur) (Remote host closed the connection) |
| 20:42:14 | → | geekosaur joins (~geekosaur@xmonad/geekosaur) |
| 20:42:44 | <janus> | those arrows make me nervous because monoid is not a superclass of functor |
| 20:43:14 | <sm> | maerwald: nice job on all the ghcup binaries.. any thoughts on providing them from CI, like github's ? I feel slightly safer downloading binaries from there |
| 20:43:46 | <maerwald> | sm: what do you mean? |
| 20:43:52 | <ldlework> | janus: lol |
| 20:44:04 | <maerwald> | sm: which binaries? |
| 20:44:13 | <sm> | the ghcup binaries |
| 20:44:17 | <maerwald> | ah |
| 20:44:31 | <maerwald> | sm: there's a SHA256SUMS which is gpg signed |
| 20:45:46 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 20:46:01 | <sm> | I see, down in https://downloads.haskell.org/~ghcup/0.1.16.2/ eg |
| 20:46:38 | <maerwald> | yeah |
| 20:46:50 | <maerwald> | download the sha files, verify the sig and then the checksums |
| 20:46:55 | <maerwald> | sec |
| 20:47:01 | <sm> | so if I'm expert enough to use that, I can be slightly more sure I downloaded the same binary you made. But of course hackers can mess with that file too |
| 20:47:33 | <maerwald> | I can give you a shell script that does it |
| 20:47:46 | <sm> | urk, I have surrendered to the modern usage of "hacker".. |
| 20:48:20 | <sm> | no I can do it, thanks. I'm just interested in the best way |
| 20:49:35 | <maerwald> | just hang on |
| 20:49:37 | <sm> | when I download an artifact from github CI, I feel that's a bit harder for anyone to compromise undetectedly |
| 20:50:32 | <maerwald> | eh... you mean running on runners you don't know, managed by a company with a proprietary backend? |
| 20:50:48 | <maerwald> | sm: https://paste.tomsmeding.com/wUa6cQ0Z |
| 20:51:02 | <maerwald> | this does gpg and sha verification |
| 20:51:33 | <newbie> | Hi, I have a question. Given: 'newtype TEST a = TEST{runTEST :: Int -> Double -> Either String (a,Char, Double)}' I have to write a 'bind' for monad instance of which could be done 'instance Monad TEST where \n' 'm >>= f = TEST $ \int db -> case runTEST m int db of Left err -> Left err | Right a -> let (a, ch, db0) = a in case runTEST (f a) int db0 of Left err -> Left err | Right b -> let (a',ch',db1) = r in Right (a', wd ++ wd' |
| 20:51:55 | <maerwald> | sm: this makes only sense if you know the key is mine |
| 20:51:59 | <newbie> | Gosh the formatting is terrible, sorry. Can I fix that? |
| 20:52:12 | <maerwald> | sm: the key is mine |
| 20:52:14 | <maerwald> | :D |
| 20:52:36 | <sm> | thanks :) |
| 20:52:40 | <maerwald> | (run this script in /tmp) |
| 20:53:09 | × | cheater quits (~Username@user/cheater) (Ping timeout: 268 seconds) |
| 20:53:20 | <maerwald> | the binary is linux though |
| 20:53:24 | <maerwald> | you may need to adjust |
| 20:54:32 | <sm> | my point, I think providing the executables directly from CI would be better for ghcup adoption. YMMV |
| 20:54:47 | <maerwald> | sm: I don't use github CI |
| 20:54:53 | <monochrom> | newbie: You should use a paste bin. Below is our recommendation: |
| 20:54:56 | <monochrom> | @where paste |
| 20:54:56 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 20:55:00 | <monochrom> | That one. |
| 20:55:37 | <maerwald> | sm: https://gitlab.haskell.org/haskell/ghcup-hs/-/pipelines/39475 |
| 20:55:41 | <maerwald> | you can download them there too |
| 20:56:43 | <sm> | that's the sort of thing - sounds good. (These are hard to read, gitlab..) |
| 20:59:12 | → | cheater joins (~Username@user/cheater) |
| 21:02:40 | × | mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
| 21:02:41 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 265 seconds) |
| 21:02:48 | <newbie> | Sorry, I have created a pastebin now https://pastebin.com/J2ycsM8k - Question: I have to create a 'bind' function for the instance Monad 'TEST' as seen in the pastebin. In my solution I pattern match every case of Either, however I realize I should be able to use '>>=' from Either to smartly avoid pattern matching. But how? |
| 21:03:56 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 21:04:53 | <sshine> | newbie, when you do 'case f x of { Left err -> Left err; Right y -> ... }' you could do 'do { y <- f x; ... }' |
| 21:06:07 | → | vysn joins (~vysn@user/vysn) |
| 21:06:11 | <sm> | maerwald: more user notes, FWIW: I successfully got the CI binary by clicking on gitlab's release job for my arch, clicking download, and unzipping. I was able to confirm it's identical to the binary downloaded from your site (except the one on your site isn't marked executable) |
| 21:07:09 | <sm> | on mac it gives the "can't open because Apple cannot check it for malicious software." error, as you probably know. And that can be overridden by opening finder, control click the file, option click Open |
| 21:07:14 | × | jushur quits (~human@user/jushur) (Quit: ¯\_(ツ)_/¯) |
| 21:07:37 | <maerwald> | I don't think many mac users have done what you just did |
| 21:07:39 | <maerwald> | so :o |
| 21:07:49 | <maerwald> | consider yourself the first |
| 21:07:57 | <AWizzArd> | I have a Dhall type T = { a : Integer, b : Integer, c : Integer }. And I have a json value v = {"a":10, "b":20, "c":30, "x":40}. Now I would like to create a Dhall record r of type T, so that it will represent v but ignoring the additional/unspecified "x" key/value. Is that possible? |
| 21:08:07 | <sm> | yup :) |
| 21:08:32 | <sshine> | newbie, https://gist.github.com/sshine/4883017fd5969d5962c1782a562f8818 |
| 21:08:37 | × | michalz quits (~michalz@185.246.204.57) (Remote host closed the connection) |
| 21:08:50 | × | max22- quits (~maxime@2a01cb08833598006be6953efce46753.ipv6.abo.wanadoo.fr) (Quit: Leaving) |
| 21:09:24 | <sshine> | newbie, I'm not sure where 'rd' comes from. |
| 21:09:43 | <sm> | I guess GHC devs know about apple's notarisation process, not sure if they have achieved it |
| 21:10:22 | <newbie> | @sshine IOh it makes sense, thanks a lot. I tried to obfuscate my code since it is an school assignment, and I forgot 'rd' |
| 21:10:22 | <lambdabot> | Unknown command, try @list |
| 21:11:07 | × | nurupo quits (~nurupo.ga@user/nurupo) (Quit: nurupo.ga) |
| 21:11:20 | → | nurupo joins (~nurupo.ga@user/nurupo) |
| 21:11:21 | <sshine> | newbie, it's called "minimise" as in "minimum reproducible problem" :) |
| 21:11:41 | <maerwald> | sm: you mean just running a command on files |
| 21:11:52 | <sshine> | newbie, you can also go to #haskell-beginners. |
| 21:12:00 | <sm> | another way to make mac users more inclined to run it is get it into homebrew. I'm sure someone will do that sooner or later. |
| 21:12:15 | <newbie> | @sshine Is there an easy way to reproduce your code without 'do' notation, juts for curiosity? |
| 21:12:15 | <lambdabot> | Unknown command, try @list |
| 21:12:30 | <sshine> | newbie, sure, you can rewrite do-notation into explicit use of >>= |
| 21:12:48 | <newbie> | @sshine I might fit better into that chat, thanks. First day of Haskell and this IIRC, have alot to learn : ) |
| 21:12:48 | <lambdabot> | Unknown command, try @list |
| 21:13:43 | sm | isn't sure exactly how homebrew binaries get past this apple security prompt, but they do |
| 21:13:52 | <yushyin> | newbie: hi, this is irc, you don't need to prefix names with @ |
| 21:14:42 | <newbie> | yushyin thanks ^^ |
| 21:15:11 | <sshine> | newbie, you can convert a do-block into explicit use of >>= in a very mechanical way. |
| 21:16:57 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 21:18:17 | → | Cajun joins (~Cajun@user/cajun) |
| 21:18:28 | <newbie> | sshine, can you show me how on the example from above? I realize a do-block can be refactored into explicit use of >>=, the syntax has just not stuck with me |
| 21:22:40 | <sshine> | newbie, yeah, reload. |
| 21:25:28 | <sshine> | newbie, the definition of >>= for 'Either e' is literally that case-of that pipes Left into Left and Right into Right (f x): https://hackage.haskell.org/package/base-4.15.0.0/docs/src/Data-Either.html#line-155 |
| 21:25:39 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 21:28:23 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:28:29 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 21:28:38 | → | Lycurgus joins (~juan@98.4.112.204) |
| 21:28:43 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 21:33:29 | × | motherfsck quits (~motherfsc@user/motherfsck) (Quit: quit) |
| 21:33:59 | <newbie> | sshine, thank you, this was very helpful. I realize I missed the lambdas at my own attempt to write '>>=' for TEST using ">>=" of Either, which is why I failed miserably |
| 21:36:02 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 21:43:49 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 21:44:03 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 21:44:29 | <ProofTechnique> | lambdabot has an @undo function which can do the mechanical work for you, if you like |
| 21:45:44 | <ProofTechnique> | (And a corresponding @do which will rewrite explicit >>= constructions to do-notation) |
| 21:46:51 | × | nattiestnate quits (~nate@2001:448a:20a0:4134:25e:715f:d637:5263) (Quit: WeeChat 3.2) |
| 21:47:56 | <dsal> | @undo do do do do it |
| 21:47:56 | <lambdabot> | it |
| 21:47:57 | <ProofTechnique> | @undo do { (a,ch,db1) <- runTEST m i db0; (a',ch',db2) <- runTEST (f a) rd db1; return (a',ch ++ ch',db2) } |
| 21:47:57 | <lambdabot> | runTEST m i db0 >>= \ (a, ch, db1) -> runTEST (f a) rd db1 >>= \ (a', ch', db2) -> return (a', ch ++ ch', db2) |
| 21:51:02 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 265 seconds) |
| 21:54:10 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 21:54:23 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 21:55:33 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 22:02:13 | × | System123 quits (~System123@ec2-52-61-197-79.us-gov-west-1.compute.amazonaws.com) (Ping timeout: 268 seconds) |
| 22:02:37 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds) |
| 22:02:40 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 22:08:00 | → | keion joins (~dk1xd@2001:12b4:290:901:3d40:bef3:a81e:c18a) |
| 22:08:50 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 22:09:20 | → | favonia joins (~favonia@user/favonia) |
| 22:12:42 | × | newbie quits (~newbie@80-196-109-198-dynamic.dk.customer.tdc.net) (Remote host closed the connection) |
| 22:22:55 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds) |
| 22:25:27 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 22:25:29 | × | chomwitt quits (~chomwitt@ppp-94-67-221-96.home.otenet.gr) (Remote host closed the connection) |
| 22:27:00 | → | System123 joins (~System123@84.16.238.77) |
| 22:29:26 | ← | keion parts (~dk1xd@2001:12b4:290:901:3d40:bef3:a81e:c18a) () |
| 22:32:28 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 22:32:49 | → | System12_ joins (~System123@203-134-35-213.sta.estpak.ee) |
| 22:33:08 | × | System12_ quits (~System123@203-134-35-213.sta.estpak.ee) (Remote host closed the connection) |
| 22:33:45 | → | System12_ joins (~System123@203-134-35-213.sta.estpak.ee) |
| 22:36:01 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:36:27 | × | System123 quits (~System123@84.16.238.77) (Ping timeout: 265 seconds) |
| 22:38:36 | → | wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) |
| 22:38:36 | × | wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Changing host) |
| 22:38:36 | → | wroathe joins (~wroathe@user/wroathe) |
| 22:38:42 | × | System12_ quits (~System123@203-134-35-213.sta.estpak.ee) (Ping timeout: 260 seconds) |
| 22:41:52 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 22:42:10 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 22:42:56 | × | TranquilEcho quits (~grom@user/tranquilecho) (Quit: WeeChat 2.8) |
| 22:43:14 | <maerwald[m]> | sm: hooray |
| 22:46:09 | <maerwald[m]> | What I find confusing about opencollective is: where do you tell contdibutors how the money is used? |
| 22:47:51 | × | acidjnk_new quits (~acidjnk@p200300d0c720300489d1e02b13283af1.dip0.t-ipconnect.de) (Ping timeout: 268 seconds) |
| 22:49:54 | <alanz> | maerwald[m], what about https://opencollective.com/haskell-language-server/expenses> |
| 22:49:56 | <alanz> | ? |
| 22:50:31 | <maerwald[m]> | I mean like a heads up? |
| 22:50:42 | <alanz> | Perhaps populate https://opencollective.com/haskell-language-server/updates |
| 22:50:54 | <NemesisD> | is there such a thing as a type level text literal? |
| 22:50:55 | <alanz> | Pretty sure it would trigger an email |
| 22:51:31 | <geekosaur> | NemesisD, if you mean analogous to term level Text, no |
| 22:53:13 | <geekosaur> | (as distinct from String / Symbol) |
| 22:54:30 | × | amitnjha quits (~amit@024-216-124-116.res.spectrum.com) (Quit: amitnjha) |
| 22:54:43 | → | amitnjha joins (~amit@024-216-124-116.res.spectrum.com) |
| 22:55:07 | × | neo1 quits (~neo3@cpe-292712.ip.primehome.com) (Read error: Connection reset by peer) |
| 22:55:21 | <geekosaur> | NemesisD, what problem are you trying to solve? |
| 22:55:39 | <NemesisD> | geekosaur: i've got a GADT `data G (a :: A) where G :: G 'A_A` and `data A = A_A` from another library, but now that library has switched to `newtype A = A Text`, `pattern A_A = A "A"`. so now i can't write that GADT because `'A_A` is now a pattern synonym |
| 22:57:18 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 22:57:28 | <geekosaur> | hm |
| 23:00:52 | → | aegon joins (~mike@174.127.249.180) |
| 23:01:01 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:cd33:d2f5:4ed3:fbd1) |
| 23:02:54 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 23:04:06 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 23:04:30 | × | ph88^ quits (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) (Ping timeout: 268 seconds) |
| 23:04:52 | × | amahl quits (~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 252 seconds) |
| 23:04:54 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds) |
| 23:06:39 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 23:07:41 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 23:08:21 | × | cheater quits (~Username@user/cheater) (Ping timeout: 265 seconds) |
| 23:10:40 | × | wroathe quits (~wroathe@user/wroathe) (Ping timeout: 268 seconds) |
| 23:12:46 | → | wroathe joins (~wroathe@user/wroathe) |
| 23:14:09 | × | xsperry quits (~as@user/xsperry) (Ping timeout: 268 seconds) |
| 23:15:32 | × | hendursaga quits (~weechat@user/hendursaga) (Remote host closed the connection) |
| 23:15:58 | → | hendursaga joins (~weechat@user/hendursaga) |
| 23:18:04 | × | favonia quits (~favonia@user/favonia) (Ping timeout: 268 seconds) |
| 23:19:18 | × | Tuplanolla quits (~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:23:13 | → | ph88^ joins (~ph88@ip5f5af6fd.dynamic.kabel-deutschland.de) |
| 23:23:44 | → | cheater joins (~Username@user/cheater) |
| 23:26:24 | → | gioyik joins (~gioyik@gateway/tor-sasl/gioyik) |
| 23:26:33 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 23:27:19 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:cd33:d2f5:4ed3:fbd1) (Ping timeout: 268 seconds) |
| 23:28:01 | <NemesisD> | if there's no way around this i might just define my own sum type `A` and use that. |
| 23:28:33 | × | xff0x quits (~xff0x@2001:1a81:53ed:e500:8294:b35:6b84:2798) (Ping timeout: 268 seconds) |
| 23:28:50 | → | xff0x joins (~xff0x@2001:1a81:53ed:e500:fed8:1f05:1144:969c) |
| 23:33:33 | → | ec_ joins (~ec@gateway/tor-sasl/ec) |
| 23:36:03 | → | pony joins (~ed@101.100.135.26) |
| 23:36:07 | × | Lycurgus quits (~juan@98.4.112.204) (Quit: Exeunt) |
| 23:39:39 | × | nicbk quits (~nicbk@user/nicbk) (Quit: nicbk) |
| 23:41:53 | → | xsperry joins (~as@user/xsperry) |
| 23:44:06 | × | ec_ quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds) |
| 23:58:45 | × | xff0x quits (~xff0x@2001:1a81:53ed:e500:fed8:1f05:1144:969c) (Remote host closed the connection) |
| 23:59:02 | → | xff0x joins (~xff0x@2001:1a81:53ed:e500:564f:86e7:d174:9c84) |
| 23:59:18 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
All times are in UTC on 2021-09-14.