2023-09-19 00:01:16 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-09-19 00:02:07 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2023-09-19 00:05:22 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-09-19 00:11:50 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2023-09-19 00:12:48 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-09-19 00:15:15 +0200 | She | ShE |
2023-09-19 00:17:37 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-09-19 00:20:03 +0200 | ShE | She |
2023-09-19 00:29:05 +0200 | mysl | (~mysl@user/mysl) (Ping timeout: 240 seconds) |
2023-09-19 00:37:41 +0200 | <Axman6> | Can anyone name a better documented library than formatting? https://hackage.haskell.org/package/formatting look at this, Alex (et al.) has done an amazing job |
2023-09-19 00:40:13 +0200 | pavonia | (~user@user/siracusa) |
2023-09-19 00:40:48 +0200 | <monochrom> | Perhaps lens, if you measure the ratio how-good-it-is : intrinsically-how-hard-to-doc-at-all |
2023-09-19 00:41:45 +0200 | <Axman6> | yeah it would have to be up there too |
2023-09-19 00:45:52 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-09-19 00:47:50 +0200 | <Axman6> | Oh man, I totally should have read those docs I'm going on about, I would've learned about viewed, which I reinvented a few weeks ago |
2023-09-19 00:49:36 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-09-19 00:51:59 +0200 | wroathe | (~wroathe@user/wroathe) (Client Quit) |
2023-09-19 00:52:08 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-09-19 00:57:03 +0200 | bsima | (~bsima@2604:a880:400:d0::19f1:7001) (Server closed connection) |
2023-09-19 00:57:23 +0200 | bsima | (~bsima@2604:a880:400:d0::19f1:7001) |
2023-09-19 01:07:35 +0200 | libertyprime | (~libertypr@203.96.203.44) (Ping timeout: 240 seconds) |
2023-09-19 01:10:35 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Ping timeout: 240 seconds) |
2023-09-19 01:12:06 +0200 | <jackdk> | wow, that's a cool combinator |
2023-09-19 01:14:33 +0200 | privacy | (~privacy@47.219.84.6) |
2023-09-19 01:15:08 +0200 | <Axman6> | jackdk: should remind you of the convo we had a few weeks elsewhere, about adding a premap combinator |
2023-09-19 01:16:02 +0200 | <jackdk> | Axman6: the one I wanted to call `>%<`? Is that `accessed`? |
2023-09-19 01:16:24 +0200 | <Axman6> | yeah, i wanted an infix accessed |
2023-09-19 01:17:00 +0200 | Inst | (~Inst@120.244.192.250) |
2023-09-19 01:18:33 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 01:23:43 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2023-09-19 01:35:57 +0200 | libertyprime | (~libertypr@210.55.232.12) |
2023-09-19 01:36:02 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-09-19 01:47:15 +0200 | shapr | hops randomly |
2023-09-19 01:47:57 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
2023-09-19 01:52:39 +0200 | libertyprime | (~libertypr@210.55.232.12) (Ping timeout: 240 seconds) |
2023-09-19 01:57:50 +0200 | <Axman6> | Woah now, we'll have none of that impurity around here, thank you very much! |
2023-09-19 01:58:11 +0200 | <jackdk> | shapr hops exactly four times, then another four, then another four, ... |
2023-09-19 01:58:26 +0200 | <Axman6> | much better |
2023-09-19 01:58:48 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 244 seconds) |
2023-09-19 01:59:11 +0200 | <geekosaur> | IO Shapr |
2023-09-19 01:59:26 +0200 | <meejah> | +1 for "any prose docs at all" -- that's one thing I find "many" Haskell libs don't have (or need more of) ... as a beginner ;) |
2023-09-19 02:00:16 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-09-19 02:02:26 +0200 | <EvanR> | as long as the type signature is somewhere near the top of the page of docs for function f |
2023-09-19 02:02:48 +0200 | <EvanR> | big docs for function or method in other languages are sometimes hard to see or aren't there at all |
2023-09-19 02:02:56 +0200 | <EvanR> | type signature that is |
2023-09-19 02:06:21 +0200 | <jackdk> | The trouble is when the type signature is something like `Lens (Producer a' m x) (Producer a m x) (FreeT (Producer a' m) m x) (FreeT (Producer a m) m x)`, a fair amount of mental bootstrapping is required to get into the library's space at all |
2023-09-19 02:07:41 +0200 | geekosaur | got that… he thinks |
2023-09-19 02:08:39 +0200 | AlexZenon | (~alzenon@178.34.160.78) (Ping timeout: 240 seconds) |
2023-09-19 02:09:42 +0200 | libertyprime | (~libertypr@210.55.232.12) |
2023-09-19 02:10:04 +0200 | libertyprime | (~libertypr@210.55.232.12) (Client Quit) |
2023-09-19 02:10:10 +0200 | Alex_test | (~al_test@178.34.160.78) (Ping timeout: 244 seconds) |
2023-09-19 02:13:17 +0200 | AlexZenon | (~alzenon@178.34.160.78) |
2023-09-19 02:18:03 +0200 | geekosaur[c] | (sid609282@xmonad/geekosaur) (Server closed connection) |
2023-09-19 02:18:13 +0200 | geekosaur[c] | (sid609282@xmonad/geekosaur) |
2023-09-19 02:18:22 +0200 | <geekosaur> | meep? |
2023-09-19 02:18:42 +0200 | Alex_test | (~al_test@178.34.160.78) |
2023-09-19 02:18:50 +0200 | <EvanR> | didn't hear anything |
2023-09-19 02:21:05 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 240 seconds) |
2023-09-19 02:21:24 +0200 | <geekosaur> | irccloud just disconnected and reconnected my puppet for unknown reasons. you won't have noticed if you have joins/parts silenced |
2023-09-19 02:24:03 +0200 | glowcoil | (sid3405@id-3405.tinside.irccloud.com) (Server closed connection) |
2023-09-19 02:24:12 +0200 | glowcoil | (sid3405@id-3405.tinside.irccloud.com) |
2023-09-19 02:25:55 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-09-19 02:30:27 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-09-19 02:43:45 +0200 | smoothdev | (~smoothdev@2a01:e0a:279:fb20:34b3:e617:3265:c11f) (Quit: smoothdev) |
2023-09-19 02:45:40 +0200 | <institor> | geekosaur: yes libera has apparently been "shedding" connections recently |
2023-09-19 02:45:50 +0200 | <institor> | i also received "Server closed connection" recently |
2023-09-19 02:46:02 +0200 | <institor> | not sure why |
2023-09-19 02:46:09 +0200 | <Axman6> | Should've written the server in Haskell |
2023-09-19 02:56:38 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2023-09-19 03:01:42 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-09-19 03:01:42 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-09-19 03:01:42 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-09-19 03:06:59 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 03:10:39 +0200 | jargon | (~jargon@184.101.67.95) |
2023-09-19 03:11:37 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2023-09-19 03:15:27 +0200 | bontaq | (~user@ool-45707d2c.dyn.optonline.net) (Ping timeout: 240 seconds) |
2023-09-19 03:23:07 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
2023-09-19 03:27:03 +0200 | bradparker | (sid262931@id-262931.uxbridge.irccloud.com) (Server closed connection) |
2023-09-19 03:27:12 +0200 | bradparker | (sid262931@id-262931.uxbridge.irccloud.com) |
2023-09-19 03:35:27 +0200 | bliminse | (~bliminse@user/bliminse) (Ping timeout: 240 seconds) |
2023-09-19 03:36:10 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-09-19 03:37:43 +0200 | bliminse | (~bliminse@user/bliminse) |
2023-09-19 03:40:15 +0200 | otto_s | (~user@p5de2f2af.dip0.t-ipconnect.de) (Ping timeout: 240 seconds) |
2023-09-19 03:42:14 +0200 | otto_s | (~user@p5de2f287.dip0.t-ipconnect.de) |
2023-09-19 03:45:14 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 244 seconds) |
2023-09-19 03:46:05 +0200 | bilegeek | (~bilegeek@2600:1008:b04f:99ac:7630:f7e4:827e:bff6) |
2023-09-19 03:46:12 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-09-19 03:46:23 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-09-19 03:49:23 +0200 | Inst | (~Inst@120.244.192.250) |
2023-09-19 03:50:07 +0200 | danse-nr3__ | (~francesco@rm-19-21-9.service.infuturo.it) |
2023-09-19 03:50:55 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 244 seconds) |
2023-09-19 03:57:41 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-09-19 04:00:55 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds) |
2023-09-19 04:04:08 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a5af:6cb4:7eeb:d04f) (Remote host closed the connection) |
2023-09-19 04:04:24 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a5af:6cb4:7eeb:d04f) |
2023-09-19 04:08:56 +0200 | jargon | (~jargon@184.101.67.95) (Remote host closed the connection) |
2023-09-19 04:27:08 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-09-19 04:27:08 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-09-19 04:27:08 +0200 | finn_elija | FinnElija |
2023-09-19 04:28:49 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) |
2023-09-19 04:29:02 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-09-19 04:29:24 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-09-19 04:32:43 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Ping timeout: 264 seconds) |
2023-09-19 04:34:24 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds) |
2023-09-19 04:40:05 +0200 | td_ | (~td@i5387090C.versanet.de) (Ping timeout: 240 seconds) |
2023-09-19 04:41:52 +0200 | td_ | (~td@i5387090C.versanet.de) |
2023-09-19 04:42:05 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1122w-grc-30-70-51-230-102.dsl.bell.ca) |
2023-09-19 04:50:28 +0200 | libertyprime | (~libertypr@125-237-102-54-adsl.sparkbb.co.nz) |
2023-09-19 04:51:03 +0200 | jonrh | (sid5185@id-5185.ilkley.irccloud.com) (Server closed connection) |
2023-09-19 04:51:13 +0200 | jonrh | (sid5185@id-5185.ilkley.irccloud.com) |
2023-09-19 04:52:55 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1122w-grc-30-70-51-230-102.dsl.bell.ca) (Ping timeout: 244 seconds) |
2023-09-19 04:54:47 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 04:55:24 +0200 | libertyprime | (~libertypr@125-237-102-54-adsl.sparkbb.co.nz) (Quit: leaving) |
2023-09-19 04:59:32 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-09-19 05:03:03 +0200 | T_S____ | (sid501726@id-501726.uxbridge.irccloud.com) (Server closed connection) |
2023-09-19 05:03:17 +0200 | T_S____ | (sid501726@id-501726.uxbridge.irccloud.com) |
2023-09-19 05:04:12 +0200 | sm | (~sm@plaintextaccounting/sm) (Ping timeout: 260 seconds) |
2023-09-19 05:05:03 +0200 | danse-nr3__ | (~francesco@rm-19-21-9.service.infuturo.it) (Remote host closed the connection) |
2023-09-19 05:09:27 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 240 seconds) |
2023-09-19 05:14:10 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 252 seconds) |
2023-09-19 05:14:56 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-09-19 05:15:03 +0200 | sclv | (sid39734@haskell/developer/sclv) (Server closed connection) |
2023-09-19 05:15:13 +0200 | sclv | (sid39734@haskell/developer/sclv) |
2023-09-19 05:16:49 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-09-19 05:29:17 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2023-09-19 05:29:52 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 260 seconds) |
2023-09-19 05:35:05 +0200 | sm | (~sm@plaintextaccounting/sm) (Ping timeout: 240 seconds) |
2023-09-19 05:35:34 +0200 | Inst | (~Inst@120.244.192.250) |
2023-09-19 05:42:17 +0200 | haskl | (~haskl@user/haskl) (Read error: Connection reset by peer) |
2023-09-19 05:44:21 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-09-19 05:44:25 +0200 | haskl | (~haskl@user/haskl) |
2023-09-19 05:46:49 +0200 | haskl | (~haskl@user/haskl) (Read error: Connection reset by peer) |
2023-09-19 05:48:47 +0200 | haskl | (~haskl@user/haskl) |
2023-09-19 06:00:10 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 06:00:58 +0200 | aforemny_ | (~aforemny@i59F516CB.versanet.de) |
2023-09-19 06:01:19 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit) |
2023-09-19 06:02:09 +0200 | aforemny | (~aforemny@i59f516ff.versanet.de) (Ping timeout: 244 seconds) |
2023-09-19 06:05:35 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-09-19 06:12:59 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 246 seconds) |
2023-09-19 06:19:05 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 240 seconds) |
2023-09-19 06:19:11 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 06:21:02 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit) |
2023-09-19 06:25:33 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-09-19 06:26:09 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-09-19 06:29:16 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 06:30:42 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit) |
2023-09-19 06:38:08 +0200 | bilegeek | (~bilegeek@2600:1008:b04f:99ac:7630:f7e4:827e:bff6) (Quit: Leaving) |
2023-09-19 06:42:47 +0200 | libertyprime | (~libertypr@203.96.203.44) (Ping timeout: 260 seconds) |
2023-09-19 06:45:52 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 06:50:04 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 06:50:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-09-19 06:50:37 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Client Quit) |
2023-09-19 06:52:27 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-09-19 06:53:30 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-09-19 06:53:42 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-09-19 06:54:31 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09040c85b81d4e368d.dip0.t-ipconnect.de) |
2023-09-19 06:57:27 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 240 seconds) |
2023-09-19 07:01:08 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection) |
2023-09-19 07:01:25 +0200 | chexum | (~quassel@gateway/tor-sasl/chexum) |
2023-09-19 07:03:15 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-09-19 07:03:15 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-09-19 07:03:15 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-09-19 07:05:28 +0200 | Inst | (~Inst@120.244.192.250) |
2023-09-19 07:09:17 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 07:11:35 +0200 | Square3 | (~Square4@user/square) |
2023-09-19 07:16:37 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds) |
2023-09-19 07:17:28 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 07:19:18 +0200 | <Inst> | is Cabal a strong Haskell codebase? |
2023-09-19 07:19:32 +0200 | michalz | (~michalz@185.246.207.215) |
2023-09-19 07:19:34 +0200 | <Inst> | I'm having usual ambivalence about going through the codebase, for instance, I noticed a bunch of import Prelude () declares |
2023-09-19 07:20:07 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 264 seconds) |
2023-09-19 07:20:36 +0200 | <davean> | Inst: what about that? |
2023-09-19 07:20:59 +0200 | <Inst> | that seems to be actually -XNoImplicitPrelude in non-language form, but importing instances? |
2023-09-19 07:21:33 +0200 | <davean> | Well you can't not import instances. |
2023-09-19 07:21:45 +0200 | <davean> | And yes, because language extensions are definitionally non-portable |
2023-09-19 07:23:06 +0200 | <Inst> | well, the library enables type operators |
2023-09-19 07:23:43 +0200 | <int-e> | ...what is the goal here... |
2023-09-19 07:24:29 +0200 | <Inst> | what is goal referring to? |
2023-09-19 07:24:40 +0200 | <int-e> | a purpose |
2023-09-19 07:24:48 +0200 | <Inst> | my goal? |
2023-09-19 07:25:19 +0200 | <int-e> | yes |
2023-09-19 07:26:33 +0200 | <Inst> | just to understand Cabal |
2023-09-19 07:26:53 +0200 | <Inst> | I need to look into the parser, but Cabal is beautiful in its own way, a 200k LOC (possibly 100K SLOC) codebase |
2023-09-19 07:28:05 +0200 | <int-e> | so how does wondering aobut `import Prelude ()` vs NoImplicitPrelude help you with that? |
2023-09-19 07:29:30 +0200 | <Inst> | I'm just trying to assess the quality of the codebase, import Prelude () is a weird idiom |
2023-09-19 07:29:30 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-09-19 07:30:12 +0200 | <int-e> | Well, not really. It's pure Haskell rather than a weird GHC specific extension. |
2023-09-19 07:30:29 +0200 | <int-e> | And it avoids clashing identifiers just fine. |
2023-09-19 07:30:38 +0200 | <Inst> | the way I understand it, import declarations are not stateful |
2023-09-19 07:30:54 +0200 | <Inst> | that is to say, they don't override previous import declarations |
2023-09-19 07:30:58 +0200 | <int-e> | (Cabal is old enough that it was originally written to work with other Haskell implementations.) |
2023-09-19 07:31:07 +0200 | <Inst> | yeah, UHC is mentioned |
2023-09-19 07:31:26 +0200 | <Inst> | but I guess the point is that implicit prelude must be something defined by Haskell report |
2023-09-19 07:31:36 +0200 | <Inst> | and import Prelude () overrides the implicit Prelude declaration |
2023-09-19 07:31:43 +0200 | <int-e> | There is no previous import of Prelude... Prelude is *only* implicitely imported if it's not imported explicitly. |
2023-09-19 07:32:01 +0200 | <davean> | Inst: Thats specificly covered in the report |
2023-09-19 07:32:11 +0200 | <davean> | have you not read the report? |
2023-09-19 07:32:17 +0200 | CiaoSen | (~Jura@2a05:5800:29b:e900:664b:f0ff:fe37:9ef) |
2023-09-19 07:32:19 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-09-19 07:32:46 +0200 | <Inst> | Honestly, no, I've skimmed it, I used to try to go through Haskell report when I was just starting out |
2023-09-19 07:33:17 +0200 | <Inst> | but at that stage, I was unable to parse it profitably, so |
2023-09-19 07:34:27 +0200 | <davean> | https://www.haskell.org/onlinereport/haskell2010/haskellch5.html#x11-1110005.6 |
2023-09-19 07:34:47 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 07:35:10 +0200 | <Inst> | yeah, you're on cabal team |
2023-09-19 07:35:14 +0200 | <Inst> | what you do is to import a custom prelude |
2023-09-19 07:35:53 +0200 | <int-e> | to what end? |
2023-09-19 07:36:57 +0200 | <Inst> | myself or cabal team? |
2023-09-19 07:37:21 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-09-19 07:37:39 +0200 | <int-e> | well you seem to be trying to talk on behalf on the cabal team there |
2023-09-19 07:37:47 +0200 | <int-e> | so yourself |
2023-09-19 07:38:40 +0200 | <Inst> | "What you do is to import a custom prelude" (They're already importing a custom prelude) |
2023-09-19 07:38:54 +0200 | <Inst> | I got confused for a bit because I see use of fmap operator, and there's no explicit import. |
2023-09-19 07:39:06 +0200 | <Inst> | Not an imperative, a descriptive statement. |
2023-09-19 07:39:33 +0200 | <davean> | You still have to deal with Prelude being implicite. You don't know whats in an arbitrary prelude. This is how you safely work with various haskell implimentations |
2023-09-19 07:39:48 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 244 seconds) |
2023-09-19 07:40:06 +0200 | <int-e> | Ah, you must be talking about Distribution.Compat.Prelude stuff. |
2023-09-19 07:41:26 +0200 | <int-e> | So this *is* a custom prelude, for coping with the evolution of and different versions of base |
2023-09-19 07:41:49 +0200 | <Inst> | I'm not sure if my bringing up this conversation topic is unwelcome? |
2023-09-19 07:41:53 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-09-19 07:42:11 +0200 | <Inst> | Like I said, I find Cabal fascinating, GHC is definitely going to be beyond my ken for quite some time |
2023-09-19 07:42:30 +0200 | <Inst> | also, GHC has some interesting totally redundant do keywords |
2023-09-19 07:42:47 +0200 | <int-e> | Regardless, there's nothing wrong with or smelly about `import Prelude ()`. |
2023-09-19 07:43:17 +0200 | <Inst> | Well, it's my fault, I misunderstood the idiom. |
2023-09-19 07:44:11 +0200 | <int-e> | I've used "superfluous" `do` myself for uniformity when writing monadic code. |
2023-09-19 07:44:35 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 240 seconds) |
2023-09-19 07:44:41 +0200 | <Inst> | I also got recommended to try pandoc code base |
2023-09-19 07:44:53 +0200 | <Inst> | as an example of a canonical "this is professional, high-quality Haskell that in theory can be accessible" |
2023-09-19 07:45:13 +0200 | <Inst> | cabal project has tautologically adroit usage of cabal,project and *.cabal |
2023-09-19 07:45:45 +0200 | <Inst> | https://gitlab.haskell.org/ghc/ghc/-/blob/master/ghc/Main.hs#146 <---note the do usage here |
2023-09-19 07:46:13 +0200 | mysl | (~mysl@user/mysl) |
2023-09-19 07:47:10 +0200 | <monochrom> | This is interesting. We keep hearing the advice "read some real code and learn from it". I see now what's wrong with that. |
2023-09-19 07:47:31 +0200 | <monochrom> | Receivers of that advice interpret it as "in a vacuum". |
2023-09-19 07:47:58 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-09-19 07:49:26 +0200 | <monochrom> | But real code is never in a vacuum. Firstly it serves a purpose (or even multiple purposes) and that affects a lot of choices made. Secondly it depends on what kind of people are intended to be collaborators. Thirdly it also depends on a lot of incidental or even accidental constraints like "this has to work for 5 incompatible compilers". etc etc etc. |
2023-09-19 07:51:48 +0200 | <Inst> | That's sort of the "beauty" of it, no? That is to say, you can read and understand the context of the code from the code structure itself. |
2023-09-19 07:52:47 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2023-09-19 07:53:24 +0200 | <davean> | Inst: Are you sure you're right? |
2023-09-19 07:53:52 +0200 | <davean> | Also I figured out your GHC do exmaple, its pretty obvious why it is that way |
2023-09-19 07:54:32 +0200 | dtman34 | (~dtman34@2601:447:d000:93c9:e3fb:cd8e:9d7a:53c5) (Ping timeout: 260 seconds) |
2023-09-19 07:55:06 +0200 | <Inst> | i'm assuming it's to make clear that it's quoting a monadic action |
2023-09-19 07:55:14 +0200 | <davean> | Nope |
2023-09-19 07:55:30 +0200 | <davean> | Inst: your GHC thing first off A) there absolutely is a reason that do is there B) your claim above is somewhat disproven by this example of yours |
2023-09-19 07:55:49 +0200 | <davean> | look at the commit that introduces it. |
2023-09-19 07:56:10 +0200 | <davean> | that do is *vestigial* it *was* required when that code was writen |
2023-09-19 07:56:22 +0200 | <davean> | the code has changed, but they didn't restructure other code that had no reason to be touched |
2023-09-19 07:57:05 +0200 | <davean> | it use to "exitWith ExitSuccess" after the case. |
2023-09-19 07:58:03 +0200 | <davean> | Its vestigial, not redundent |
2023-09-19 07:59:51 +0200 | <int-e> | I'm so confused, aren't we talking about this `do`? https://gitlab.haskell.org/ghc/ghc/-/commit/1c1980863810c6b1bbed2ebbcce882a0f9144ade#519f43ef6302b… |
2023-09-19 08:00:53 +0200 | <int-e> | Which really isn't required. (I'd also prefer it to be at the end of the previous line, but whatever) |
2023-09-19 08:01:33 +0200 | <davean> | Thats the removal, not the introdxuction, look in the deleted lines |
2023-09-19 08:01:56 +0200 | <int-e> | AH |
2023-09-19 08:01:57 +0200 | <int-e> | thanks |
2023-09-19 08:02:37 +0200 | <Inst> | So, I'll ask the obvious question: why hasn't it been removed? |
2023-09-19 08:02:48 +0200 | <int-e> | (not sure why I didn't do that on my own. sigh.) |
2023-09-19 08:02:53 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 08:03:22 +0200 | <int-e> | because it was there and doesn't hurt |
2023-09-19 08:03:23 +0200 | <davean> | Inst: Its formally the same - why make merges hard? |
2023-09-19 08:04:13 +0200 | <Inst> | I hope I haven't been too irritating in getting you to educate me. |
2023-09-19 08:04:14 +0200 | <int-e> | Could it have been removed with that commit? Sure. But it wasn't. |
2023-09-19 08:04:34 +0200 | <int-e> | . o O ( That hope is entirely unfounded. ) |
2023-09-19 08:05:14 +0200 | <davean> | I mean who would anyone making the change that commit did look for that do to remove it anyway? |
2023-09-19 08:05:17 +0200 | <Inst> | Explicitly, I've been irritating with this question? |
2023-09-19 08:05:22 +0200 | <davean> | one of the properties of haskell is we don't have to |
2023-09-19 08:05:33 +0200 | <int-e> | davean's point explains why it hasn't been removed in the meantime (assuming anyone even noticed it) |
2023-09-19 08:10:08 +0200 | <Inst> | I... don't get it, tbh, have I caused offense? |
2023-09-19 08:10:14 +0200 | <davean> | Anyway, I think this is a good example of why reading the code alone doesn't work. |
2023-09-19 08:10:46 +0200 | chele | (~chele@user/chele) |
2023-09-19 08:10:50 +0200 | <Inst> | via sclv, I'm told Cabal team is overworked, so I wouldn't have been surprised if QC got cut, and rae I think reported that GHC's code base was on shaky foundations as to why he couldn't move ahead with Dependent Haskell |
2023-09-19 08:11:27 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 260 seconds) |
2023-09-19 08:11:50 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 244 seconds) |
2023-09-19 08:12:29 +0200 | <davean> | Inst: I don't think anymore minds your questions |
2023-09-19 08:13:53 +0200 | hpc | (~juzz@ip98-169-35-163.dc.dc.cox.net) |
2023-09-19 08:14:20 +0200 | <Inst> | So, I mean, on one hand, the experience and skill of the collaborators is immense, on the other hand, it's a real world project; i.e, it's closer to a repair shop or lab in operation than "FizzBuzz Enterprise Edition", which is some overpolished toy intended as a joke. |
2023-09-19 08:15:11 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) (Remote host closed the connection) |
2023-09-19 08:15:53 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-09-19 08:16:03 +0200 | ChaiTRex | (~ChaiTRex@user/chaitrex) |
2023-09-19 08:18:03 +0200 | idnar | (sid12240@debian/mithrandi) (Server closed connection) |
2023-09-19 08:18:14 +0200 | idnar | (sid12240@debian/mithrandi) |
2023-09-19 08:18:25 +0200 | <davean> | I would not call "FizzBuzz Enterprise Edition" polished |
2023-09-19 08:20:04 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 08:22:56 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 08:23:54 +0200 | <Inst> | What would you use as an example instead, then? |
2023-09-19 08:24:42 +0200 | <Inst> | And, if it's not too irritating, is there any project / library you might recommend as a platonic ideal of a Haskell project? |
2023-09-19 08:25:17 +0200 | <davean> | "FizzBuzz Enterprise Edition" is litterly *miss application of patterns people see* |
2023-09-19 08:27:49 +0200 | <institor> | fizzbuzz enterprise edition is like using a centrifuge to prepare a solution of sugar and tap water |
2023-09-19 08:28:22 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
2023-09-19 08:28:28 +0200 | <monochrom> | Wait, so this Fizzbuzz Enterprise Edition is not made up? |
2023-09-19 08:28:41 +0200 | <institor> | https://github.com/EnterpriseQualityCoding/FizzBuzzEnterpriseEdition |
2023-09-19 08:29:04 +0200 | <institor> | i've poked around this repo multiple times and i still can't tell where the actual logic is |
2023-09-19 08:29:55 +0200 | <jackdk> | My favourite over-engineered fizzbuzz is https://themonadreader.files.wordpress.com/2014/04/fizzbuzz.pdf , which also manages to be quite instructive |
2023-09-19 08:29:56 +0200 | <davean> | Its a litteral *joke* |
2023-09-19 08:31:15 +0200 | <davean> | "So badly done its funny" |
2023-09-19 08:31:23 +0200 | <monochrom> | Heh |
2023-09-19 08:32:12 +0200 | <Inst> | I don't know Java, I had heard of the package but assumed it was overengineered and overpolished, in reality, it's only overly contrived. |
2023-09-19 08:32:41 +0200 | <institor> | why not read the XMonad source or something |
2023-09-19 08:33:01 +0200 | <institor> | it's written in haskell, it's not a very large codebase, and it's built to be user-extensible so you can actually work with the codebase and do something with it |
2023-09-19 08:33:09 +0200 | <Inst> | Would you recommend the XMonad project, then? I had heard they don't have the labor available to move it to Wayland, unfortunately. |
2023-09-19 08:33:10 +0200 | <institor> | instead of passively consuming the source |
2023-09-19 08:33:36 +0200 | <Inst> | Ehhh, in my case, I'm still trying to build a parser for my project for cabal files. |
2023-09-19 08:34:16 +0200 | <Inst> | Exact parser, rather. That means that I need to understand how the cabal parser works, since it was reported that it's, ummm, unpredictable with the rarely-used braces option. |
2023-09-19 08:34:17 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 08:34:21 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-09-19 08:34:46 +0200 | <Inst> | So reading over Cabal, as monochro m mentioned, I get an idea of the context in which the parser exists. |
2023-09-19 08:35:02 +0200 | <institor> | i don't know if cabal is really exemplary software |
2023-09-19 08:35:08 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
2023-09-19 08:35:26 +0200 | <Inst> | Or, if it's reasonable for me to aspire to contribute to it within the span of a year. |
2023-09-19 08:36:14 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 08:36:48 +0200 | <institor> | have you gone through the issue tracker |
2023-09-19 08:37:17 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 08:37:48 +0200 | <Inst> | Or the pull release queue? |
2023-09-19 08:37:55 +0200 | <Inst> | ugh |
2023-09-19 08:38:02 +0200 | <Inst> | pull request |
2023-09-19 08:38:05 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 08:38:16 +0200 | <institor> | sometimes they label good starter issues |
2023-09-19 08:38:19 +0200 | <institor> | just pick one and go with it |
2023-09-19 08:38:34 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) |
2023-09-19 08:38:40 +0200 | <Inst> | Thanks for the suggestion. |
2023-09-19 08:42:15 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
2023-09-19 08:42:22 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2023-09-19 08:44:55 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4096:dbe8:3b65:83c5) |
2023-09-19 08:50:53 +0200 | dtman34 | (~dtman34@2601:447:d000:93c9:a832:b3a1:c57:ffa2) |
2023-09-19 08:51:03 +0200 | integral | (sid296274@user/integral) (Server closed connection) |
2023-09-19 08:51:16 +0200 | integral | (sid296274@user/integral) |
2023-09-19 08:52:17 +0200 | michalz | (~michalz@185.246.207.215) (Ping timeout: 260 seconds) |
2023-09-19 08:53:08 +0200 | <Inst> | but, honestly, despite any issues with Cabal codebase, I still find it beautiful |
2023-09-19 08:54:46 +0200 | danza | (~francesco@na-19-75-108.service.infuturo.it) |
2023-09-19 08:57:53 +0200 | _0xa | (~user@user/0xa/x-3134607) |
2023-09-19 08:58:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
2023-09-19 08:58:16 +0200 | ursa-major | (~ursa-majo@37.19.210.38) |
2023-09-19 08:58:33 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) |
2023-09-19 08:59:34 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-09-19 09:02:38 +0200 | <sm> | that's the spirit! |
2023-09-19 09:03:05 +0200 | <sm> | #hackage is where the Cabal devs hang out, by the way |
2023-09-19 09:04:16 +0200 | <Inst> | I'm mirrored via Matrix. |
2023-09-19 09:06:34 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-09-19 09:07:46 +0200 | sabino | (~sabino@user/sabino) (Quit: Lambda _ -> x) |
2023-09-19 09:09:01 +0200 | aforemny_ | aforemny |
2023-09-19 09:12:15 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-09-19 09:16:57 +0200 | _0xa | (~user@user/0xa/x-3134607) (Remote host closed the connection) |
2023-09-19 09:18:32 +0200 | danza | (~francesco@na-19-75-108.service.infuturo.it) (Ping timeout: 260 seconds) |
2023-09-19 09:19:11 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection) |
2023-09-19 09:20:30 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) |
2023-09-19 09:30:03 +0200 | conjunctive | (sid433686@id-433686.helmsley.irccloud.com) (Server closed connection) |
2023-09-19 09:30:13 +0200 | conjunctive | (sid433686@id-433686.helmsley.irccloud.com) |
2023-09-19 09:36:03 +0200 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) (Server closed connection) |
2023-09-19 09:36:12 +0200 | cbarrett | (sid192934@id-192934.helmsley.irccloud.com) |
2023-09-19 09:43:04 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-09-19 09:46:52 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09040c85b81d4e368d.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2023-09-19 09:47:16 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09040c85b81d4e368d.dip0.t-ipconnect.de) |
2023-09-19 09:56:38 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 10:02:07 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 264 seconds) |
2023-09-19 10:03:31 +0200 | gmg | (~user@user/gehmehgeh) |
2023-09-19 10:11:39 +0200 | <Inst> | this is honestly so fascinating |
2023-09-19 10:12:37 +0200 | <Inst> | here, someone's using long type variables idiom, whereas in other parts of the codebase, it's traditional haskell single letter type variables |
2023-09-19 10:13:13 +0200 | jackneill__ | (~Jackneill@20014C4E1E062E00A473EFF2719A535F.dsl.pool.telekom.hu) |
2023-09-19 10:13:40 +0200 | __monty__ | (~toonn@user/toonn) |
2023-09-19 10:26:06 +0200 | phma | (phma@2001:5b0:215a:ad98:b113:d71c:5609:dd28) (Read error: Connection reset by peer) |
2023-09-19 10:26:30 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 10:26:55 +0200 | phma | (~phma@host-67-44-208-47.hnremote.net) |
2023-09-19 10:31:46 +0200 | ubert | (~Thunderbi@91.141.40.168.wireless.dyn.drei.com) |
2023-09-19 10:33:03 +0200 | snek | (sid280155@id-280155.lymington.irccloud.com) (Server closed connection) |
2023-09-19 10:33:12 +0200 | snek | (sid280155@id-280155.lymington.irccloud.com) |
2023-09-19 10:34:47 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 10:36:03 +0200 | iphy | (sid67735@id-67735.lymington.irccloud.com) (Server closed connection) |
2023-09-19 10:36:13 +0200 | iphy | (sid67735@id-67735.lymington.irccloud.com) |
2023-09-19 10:38:48 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 10:39:43 +0200 | danse-nr3 | (~francesco@rm-19-39-103.service.infuturo.it) |
2023-09-19 10:39:49 +0200 | gmg | (~user@user/gehmehgeh) (Quit: Leaving) |
2023-09-19 10:41:19 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a5af:6cb4:7eeb:d04f) (Ping timeout: 245 seconds) |
2023-09-19 10:44:21 +0200 | lottaquestions_ | (~nick@2607:fa49:503d:b200:f390:54fb:be02:a16f) (Quit: Konversation terminated!) |
2023-09-19 10:44:44 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) |
2023-09-19 10:45:03 +0200 | Guest3051 | (sid1055@id-1055.tinside.irccloud.com) (Server closed connection) |
2023-09-19 10:45:34 +0200 | Guest3051 | (sid1055@id-1055.tinside.irccloud.com) |
2023-09-19 10:48:11 +0200 | lottaquestions | (~nick@2607:fa49:503d:b200:c12f:231b:a760:9783) |
2023-09-19 10:48:31 +0200 | _xor | (~xor@ip-50-5-233-250.dynamic.fuse.net) (Quit: Ping timeout (120 seconds)) |
2023-09-19 10:50:21 +0200 | _xor | (~xor@ip-50-5-233-250.dynamic.fuse.net) |
2023-09-19 10:50:54 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-09-19 10:55:49 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-09-19 10:56:43 +0200 | <institor> | https://degoes.net/articles/insufficiently-polymorphic |
2023-09-19 10:59:06 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-09-19 10:59:41 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
2023-09-19 11:00:02 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2023-09-19 11:00:38 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 11:06:58 +0200 | <[exa]> | "descriptive variable names are a code smell" ok whoa I will need to confront pythonfolk with this |
2023-09-19 11:07:15 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-09-19 11:08:16 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
2023-09-19 11:09:10 +0200 | <dminuoso> | [exa]: Yeah, its why I use lsp-mode to automatically rename identifiers to random 3 letter combinations. |
2023-09-19 11:09:20 +0200 | <dminuoso> | Ever since it stopped smelling in my office. |
2023-09-19 11:09:32 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-c970-1295-69c1-54c4.res6.spectrum.com) (Ping timeout: 255 seconds) |
2023-09-19 11:10:08 +0200 | <int-e> | (well, former office, they fired me because nobody could make sense of my code) |
2023-09-19 11:10:19 +0200 | <Inst> | also, https://contributors.scala-lang.org/t/is-john-de-goes-a-respected-member-of-the-scala-community/3659 |
2023-09-19 11:10:20 +0200 | <probie> | Why do you need random 3 letter combinations? You've got all the alphabets in unicode to work with |
2023-09-19 11:10:53 +0200 | <int-e> | the irony is that we don't even pick random single letter identifiers |
2023-09-19 11:11:15 +0200 | <int-e> | f for function, x or a for a value... n m i j k for integers |
2023-09-19 11:11:38 +0200 | <int-e> | (a bit like Fortran... god is real unless declared integer) |
2023-09-19 11:12:10 +0200 | <int-e> | (I barely know enough Fortran to understand that joke) |
2023-09-19 11:12:32 +0200 | <probie> | but also k for continuations - we've got to keep it ambiguous |
2023-09-19 11:14:30 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 11:16:41 +0200 | <int-e> | Well, the point that when you have a generic function then it is often helpful to write it with general types rather than the concrete types you need is valid. |
2023-09-19 11:16:53 +0200 | marinelli | (~weechat@gateway/tor-sasl/marinelli) |
2023-09-19 11:17:01 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 11:23:59 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-09-19 11:24:13 +0200 | <Inst> | actually, sorry |
2023-09-19 11:24:32 +0200 | arahael | (~arahael@1.145.97.55) |
2023-09-19 11:24:44 +0200 | <Inst> | i got confused about john de goes; it turns out consensus on him is ambivalent and JDG is just in a feud with Travis Brown |
2023-09-19 11:29:51 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 240 seconds) |
2023-09-19 11:35:14 +0200 | mastarija | (~mastarija@141-136-170-127.dsl.iskon.hr) |
2023-09-19 11:36:10 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 11:38:20 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 11:38:49 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit) |
2023-09-19 11:39:36 +0200 | <mastarija> | Can anyone help me with encoding my recursive Haskell type into Dhall? |
2023-09-19 11:39:43 +0200 | <mastarija> | I have this code over here: https://paste.tomsmeding.com/vCPvIcQg |
2023-09-19 11:40:04 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Excess Flood) |
2023-09-19 11:40:15 +0200 | <mastarija> | Basically, I have `Charge` that's recursive. I've succesfully used `Fix` to encode it to `Dhall`. |
2023-09-19 11:40:19 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 11:40:40 +0200 | <mastarija> | Problem is, how do I encode and decode things that aren't recursive but they have `Charge` inside of them. |
2023-09-19 11:40:57 +0200 | <mastarija> | I have this type `Q c` that takes the `Charge` representation. |
2023-09-19 11:41:09 +0200 | <mastarija> | And I have problem expressing it in Dhall. |
2023-09-19 11:42:25 +0200 | <mastarija> | I can successfully extract `Charge` from a `Dhall` file that only returns `Charge`, but I don't know how to decode `Q` from a `Dhall` file that's supposed to return `Q` that has `Charge` within. |
2023-09-19 11:43:06 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 11:46:07 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 260 seconds) |
2023-09-19 11:49:28 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-09-19 11:50:17 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 11:50:30 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 11:54:04 +0200 | sudden | (~cat@user/sudden) (Remote host closed the connection) |
2023-09-19 11:54:38 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) |
2023-09-19 11:54:57 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
2023-09-19 11:55:06 +0200 | mmhat | (~mmh@p200300f1c70f84f3ee086bfffe095315.dip0.t-ipconnect.de) |
2023-09-19 11:55:10 +0200 | mmhat | (~mmh@p200300f1c70f84f3ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-09-19 11:56:07 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 264 seconds) |
2023-09-19 12:04:13 +0200 | ft | (~ft@p3e9bc680.dip0.t-ipconnect.de) (Quit: leaving) |
2023-09-19 12:05:01 +0200 | robosexual | (~spaceoyst@77.223.88.70) |
2023-09-19 12:07:15 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 12:13:32 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
2023-09-19 12:19:44 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2023-09-19 12:19:46 +0200 | danse-nr3 | (~francesco@rm-19-39-103.service.infuturo.it) (Remote host closed the connection) |
2023-09-19 12:20:09 +0200 | danse-nr3 | (~francesco@rm-19-39-103.service.infuturo.it) |
2023-09-19 12:21:07 +0200 | pavonia | (~user@user/siracusa) (Ping timeout: 260 seconds) |
2023-09-19 12:22:02 +0200 | sudden | (~cat@user/sudden) |
2023-09-19 12:24:20 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 12:29:52 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds) |
2023-09-19 12:31:59 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 12:35:57 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 12:38:03 +0200 | <tomsmeding> | mastarija: not too familiar with Dhall, but in Haskell land, could you not just go 'data ChargeF r = ... ; newtype Charge = Charge (Fix ChargeF) ; data Q = ... Charge ...'? |
2023-09-19 12:38:15 +0200 | CiaoSen | (~Jura@2a05:5800:29b:e900:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds) |
2023-09-19 12:38:29 +0200 | <tomsmeding> | or data Q c = ... ; and then 'Q Charge' is perfectly valid |
2023-09-19 12:39:18 +0200 | <mastarija> | Yeah. That's another problem. Right now I'm more concerned about how to express `Q` in Dhall, I think I'm getting closer to the solution. I actually got it working, now I just need to create a few utilities to make construction easier. |
2023-09-19 12:40:05 +0200 | <mastarija> | Basically, instead of a list of `Charge`s, I need to provide a list of functions `Charge Type -> (Fix : ChargeF Charge -> Charge) -> Charge`. |
2023-09-19 12:45:14 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 12:47:44 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 12:51:34 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection) |
2023-09-19 12:51:53 +0200 | adanwan | (~adanwan@gateway/tor-sasl/adanwan) |
2023-09-19 12:53:35 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds) |
2023-09-19 12:57:08 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 12:58:55 +0200 | arahael | (~arahael@1.145.97.55) (Quit: "Gotta fly away!") |
2023-09-19 13:03:17 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 13:03:31 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 13:04:00 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 13:04:56 +0200 | danse-nr3 | (~francesco@rm-19-39-103.service.infuturo.it) (Ping timeout: 246 seconds) |
2023-09-19 13:05:12 +0200 | TheCoffeMaker | (~TheCoffeM@user/thecoffemaker) |
2023-09-19 13:07:48 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 240 seconds) |
2023-09-19 13:08:03 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 13:11:14 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 13:18:34 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 13:19:38 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 13:25:22 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-09-19 13:25:49 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 13:27:21 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 13:27:43 +0200 | billchenchina | (~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a) |
2023-09-19 13:29:37 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 13:30:34 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-09-19 13:30:56 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 13:31:37 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 13:33:32 +0200 | libertyprime | (~libertypr@203.96.203.44) (Quit: leaving) |
2023-09-19 13:36:22 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 260 seconds) |
2023-09-19 13:37:41 +0200 | mastarija | (~mastarija@141-136-170-127.dsl.iskon.hr) (Quit: Client closed) |
2023-09-19 13:41:53 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 13:45:49 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 13:48:39 +0200 | vglfr | (~vglfr@188.239.201.89) (Ping timeout: 240 seconds) |
2023-09-19 13:48:46 +0200 | danse-nr3 | (~francesco@rm-19-39-103.service.infuturo.it) |
2023-09-19 13:49:42 +0200 | vglfr | (~vglfr@37.73.18.140) |
2023-09-19 13:53:17 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2023-09-19 13:55:17 +0200 | cayley5 | cayley10 |
2023-09-19 13:56:29 +0200 | vglfr | (~vglfr@37.73.18.140) (Ping timeout: 255 seconds) |
2023-09-19 13:58:44 +0200 | cayley10 | cayley5_ |
2023-09-19 13:59:24 +0200 | <dminuoso> | Switching from data to newtype for something, would PVP mandate a major version bump? |
2023-09-19 14:00:34 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-09-19 14:00:56 +0200 | cayley5 | (~cayley5@user/phileasfogg) |
2023-09-19 14:02:06 +0200 | <lortabac> | dminuoso: it looks like a breaking change to me. Someone might be relying on newtype-specific tools for that type (Coerce etc.) |
2023-09-19 14:02:46 +0200 | <lortabac> | ah sorry it's in the opposite direction (data -> newtype) |
2023-09-19 14:03:51 +0200 | <dminuoso> | Yeah. Ill add the additional information, that while the constructor is exported, its content is only ever produced by my library without any bottoms (assuming lack of bugs). At best it seems it could have only some performance implications |
2023-09-19 14:03:52 +0200 | <lortabac> | I'd still consider it a breaking change, even though the probability of breakage is extremely low |
2023-09-19 14:05:10 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 14:11:29 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 14:12:29 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 14:20:38 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 14:21:36 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 14:21:44 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 14:24:44 +0200 | <Inst> | i hope you don't mind, but we do have function dependency tree visualizers up, right? |
2023-09-19 14:26:13 +0200 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2023-09-19 14:28:27 +0200 | danse-nr3_ | (~francesco@na-19-69-5.service.infuturo.it) |
2023-09-19 14:28:34 +0200 | danse-nr3 | (~francesco@rm-19-39-103.service.infuturo.it) (Read error: Connection reset by peer) |
2023-09-19 14:32:37 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 14:35:42 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 14:41:42 +0200 | <Taneb> | dminuoso: does the type in question have a Generic instance |
2023-09-19 14:41:49 +0200 | <dminuoso> | Taneb: No |
2023-09-19 14:42:00 +0200 | <dminuoso> | And no Data instance either |
2023-09-19 14:42:03 +0200 | SethTisue | (sid14912@id-14912.ilkley.irccloud.com) (Server closed connection) |
2023-09-19 14:42:07 +0200 | <Taneb> | And is the constructor exported? |
2023-09-19 14:42:09 +0200 | <dminuoso> | And actually, I was wrong. Previously the constructor was not even exported. |
2023-09-19 14:42:12 +0200 | SethTisue | (sid14912@id-14912.ilkley.irccloud.com) |
2023-09-19 14:43:15 +0200 | foul_owl_ | (~kerry@185.219.141.160) (Ping timeout: 252 seconds) |
2023-09-19 14:45:37 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-09-19 14:47:36 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 246 seconds) |
2023-09-19 14:49:03 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2023-09-19 14:50:24 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-09-19 14:51:58 +0200 | <Taneb> | Then I'm pretty sure that's not breaking |
2023-09-19 14:51:59 +0200 | dfg | (~dfg@user/dfg) (Quit: I hate quit messages.) |
2023-09-19 14:53:52 +0200 | CiaoSen | (~Jura@2a05:5800:29b:e900:664b:f0ff:fe37:9ef) |
2023-09-19 14:57:34 +0200 | foul_owl_ | (~kerry@174-21-66-189.tukw.qwest.net) |
2023-09-19 14:58:07 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:4096:dbe8:3b65:83c5) (Quit: WeeChat 2.8) |
2023-09-19 15:07:18 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 15:09:59 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 15:12:09 +0200 | tremon | (~tremon@83.80.159.219) |
2023-09-19 15:12:37 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 260 seconds) |
2023-09-19 15:19:11 +0200 | <L29Ah> | how do i ask cabal what packages do i need to install to satisfy the dependency list of a .cabal package? |
2023-09-19 15:21:16 +0200 | pyooque | (~puke@user/puke) |
2023-09-19 15:21:16 +0200 | puke | Guest6095 |
2023-09-19 15:21:16 +0200 | Guest6095 | (~puke@user/puke) (Killed (tungsten.libera.chat (Nickname regained by services))) |
2023-09-19 15:21:16 +0200 | pyooque | puke |
2023-09-19 15:21:44 +0200 | <dminuoso> | L29Ah: Mmm. I always type `cabal build`, ^C when it starts building, and then inspect cabal-plan. |
2023-09-19 15:21:55 +0200 | <dminuoso> | There's probably a few more elegant ways, but its a way at least. |
2023-09-19 15:23:49 +0200 | <L29Ah> | dminuoso: it won't start building as i have offline mode enabled |
2023-09-19 15:24:03 +0200 | <L29Ah> | it will complain about a single missing package and then quit, and i want them all! |
2023-09-19 15:24:52 +0200 | <haskellbridge> | <sm> cabal build --dry-run |
2023-09-19 15:25:32 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 4.0.4) |
2023-09-19 15:27:37 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 15:29:25 +0200 | <L29Ah> | no effect |
2023-09-19 15:30:14 +0200 | <dminuoso> | L29Ah: Will it generate a build plan? |
2023-09-19 15:30:26 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 15:30:38 +0200 | bontaq | (~user@ool-45707d2c.dyn.optonline.net) |
2023-09-19 15:30:42 +0200 | mysl | (~mysl@user/mysl) (Ping timeout: 260 seconds) |
2023-09-19 15:31:37 +0200 | <L29Ah> | dminuoso: it just fails at the first unknown package it encounters |
2023-09-19 15:31:50 +0200 | <dminuoso> | L29Ah: Yes thats fine. |
2023-09-19 15:32:04 +0200 | <L29Ah> | it doesn't list them all |
2023-09-19 15:32:15 +0200 | <dminuoso> | Have you tried `cabal-plan` like I suggested above? |
2023-09-19 15:32:33 +0200 | <dminuoso> | The only point of causing `cabal build`, is because it spits out its generated build plan inside dist-newstyle |
2023-09-19 15:32:36 +0200 | <dminuoso> | Even if the build fails. |
2023-09-19 15:32:46 +0200 | <dminuoso> | You either look at it manually, or use `cabal-plan` to inspect it. |
2023-09-19 15:32:48 +0200 | <tomsmeding> | (or inspect dist-newstyle/cache/plan.json manually) |
2023-09-19 15:33:16 +0200 | <tomsmeding> | doesn't cabal emit that build plan also if you do `cabal freeze`? Of course that also writes a freeze file |
2023-09-19 15:33:23 +0200 | <L29Ah> | ah sorry i missed that it's a command |
2023-09-19 15:33:23 +0200 | <dminuoso> | Yes it does. |
2023-09-19 15:33:31 +0200 | <dminuoso> | L29Ah: No worry. |
2023-09-19 15:33:59 +0200 | <tomsmeding> | cabal freeze might be a bit neater than 'cabal build; ^C' if you already have a freeze file :p |
2023-09-19 15:34:12 +0200 | <tomsmeding> | oh, and also, the freeze file will of course also contain all the dependencies! |
2023-09-19 15:34:39 +0200 | <tomsmeding> | without needing an external tool (cabal-plan) or to inspect a big json document manually |
2023-09-19 15:34:51 +0200 | <tomsmeding> | L29Ah: ^ |
2023-09-19 15:34:54 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 246 seconds) |
2023-09-19 15:35:01 +0200 | <dminuoso> | cabal-plan is really yummy though. |
2023-09-19 15:35:23 +0200 | <dminuoso> | Its probably my favourite haskell tool. |
2023-09-19 15:35:53 +0200 | <tomsmeding> | if L29Ah is running cabal with --offline they're probably in a situation where less external tools is also better |
2023-09-19 15:40:34 +0200 | <dminuoso> | That's a fair point |
2023-09-19 15:40:40 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 15:40:53 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 15:46:43 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev) |
2023-09-19 15:47:06 +0200 | danse-nr3_ | (~francesco@na-19-69-5.service.infuturo.it) (Ping timeout: 255 seconds) |
2023-09-19 15:51:13 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-09-19 15:53:55 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Read error: Connection reset by peer) |
2023-09-19 15:56:57 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2023-09-19 15:57:18 +0200 | <exarkun> | I used cabal-plan for the first time a few days ago - it didn't generate a build plan for me, it only consumed the build plan cabal wrote. Was I using it wrong? |
2023-09-19 15:57:29 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 15:57:43 +0200 | <tomsmeding> | no |
2023-09-19 15:57:53 +0200 | <tomsmeding> | that's the intended behaviour |
2023-09-19 15:58:54 +0200 | <exarkun> | okay, great, thanks |
2023-09-19 16:05:07 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 260 seconds) |
2023-09-19 16:07:07 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 16:08:05 +0200 | danse-nr3_ | (~francesco@na-19-69-5.service.infuturo.it) |
2023-09-19 16:09:03 +0200 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) (Server closed connection) |
2023-09-19 16:09:25 +0200 | PotatoGim | (sid99505@id-99505.lymington.irccloud.com) |
2023-09-19 16:11:25 +0200 | dcoutts_ | (~duncan@82-69-94-207.dsl.in-addr.zen.co.uk) (Ping timeout: 252 seconds) |
2023-09-19 16:14:54 +0200 | privacy_ | (~privacy@47.219.84.6) |
2023-09-19 16:15:02 +0200 | privacy | (~privacy@47.219.84.6) (Ping timeout: 260 seconds) |
2023-09-19 16:15:32 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) |
2023-09-19 16:15:36 +0200 | JeremyB99 | (~JeremyB99@2607:fb90:8d60:ee30:fc70:2f19:34ae:43d) (Read error: Connection reset by peer) |
2023-09-19 16:21:13 +0200 | fweht | (uid404746@id-404746.lymington.irccloud.com) |
2023-09-19 16:22:26 +0200 | Inst | (~Inst@120.244.192.250) (Remote host closed the connection) |
2023-09-19 16:22:36 +0200 | dfg | (~dfg@dfg.rocks) |
2023-09-19 16:22:36 +0200 | dfg | (~dfg@dfg.rocks) (Changing host) |
2023-09-19 16:22:36 +0200 | dfg | (~dfg@user/dfg) |
2023-09-19 16:22:53 +0200 | Inst | (~Inst@120.244.192.250) |
2023-09-19 16:25:35 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 16:28:15 +0200 | JeremyB99 | (~JeremyB99@172.58.124.68) |
2023-09-19 16:30:05 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 240 seconds) |
2023-09-19 16:30:42 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) |
2023-09-19 16:32:44 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-09-19 16:38:49 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-09-19 16:40:14 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 244 seconds) |
2023-09-19 16:44:44 +0200 | CiaoSen | (~Jura@2a05:5800:29b:e900:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds) |
2023-09-19 16:47:05 +0200 | Square3 | (~Square4@user/square) |
2023-09-19 16:48:47 +0200 | dcoutts_ | (~duncan@2a02:8012:ae9a:0:217c:5666:d075:6292) |
2023-09-19 16:50:05 +0200 | JeremyB99 | (~JeremyB99@172.58.124.68) (Ping timeout: 240 seconds) |
2023-09-19 16:51:12 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 16:51:36 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 244 seconds) |
2023-09-19 16:54:22 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 16:54:50 +0200 | gmg | (~user@user/gehmehgeh) |
2023-09-19 16:56:42 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 16:56:48 +0200 | smoothdev | (~smoothdev@91-169-231-236.subs.proxad.net) |
2023-09-19 17:02:20 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 17:02:23 +0200 | mysl | (~mysl@user/mysl) |
2023-09-19 17:03:35 +0200 | hyiltiz | (~hyiltiz@2603-8080-1f00-082f-5873-e3c7-acc6-fcd7.res6.spectrum.com) (Ping timeout: 240 seconds) |
2023-09-19 17:06:24 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 17:06:37 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: sm) |
2023-09-19 17:06:52 +0200 | ph88 | (~ph88@ip5b403cd4.dynamic.kabel-deutschland.de) (Ping timeout: 248 seconds) |
2023-09-19 17:08:19 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 17:08:28 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 17:11:27 +0200 | dtman34 | (~dtman34@2601:447:d000:93c9:a832:b3a1:c57:ffa2) (Ping timeout: 240 seconds) |
2023-09-19 17:16:29 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 17:16:42 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 17:22:38 +0200 | hyiltiz | (~hyiltiz@2620:149:13d1:100::431) |
2023-09-19 17:25:26 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-09-19 17:26:58 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 17:27:45 +0200 | dtman34 | (~dtman34@2601:447:d000:93c9:a832:b3a1:c57:ffa2) |
2023-09-19 17:31:07 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) (Remote host closed the connection) |
2023-09-19 17:34:56 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) |
2023-09-19 17:37:46 +0200 | christiaanb | (sid84827@id-84827.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-09-19 17:38:04 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2023-09-19 17:41:26 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 17:42:19 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 264 seconds) |
2023-09-19 17:44:45 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) (Remote host closed the connection) |
2023-09-19 17:45:25 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) |
2023-09-19 17:45:56 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-09-19 17:46:26 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 17:46:40 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 17:56:34 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 17:58:22 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 17:58:23 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 17:59:07 +0200 | <kuribas> | Would it be safe to run accelerate for a production project? |
2023-09-19 17:59:26 +0200 | <kuribas> | Like time series calculations? |
2023-09-19 18:03:03 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds) |
2023-09-19 18:04:24 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-09-19 18:07:00 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) (Remote host closed the connection) |
2023-09-19 18:16:50 +0200 | sabino | (~sabino@user/sabino) |
2023-09-19 18:17:07 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 18:19:20 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 18:19:49 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-09-19 18:24:14 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) |
2023-09-19 18:25:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 18:26:15 +0200 | danse-nr3_ | (~francesco@na-19-69-5.service.infuturo.it) (Ping timeout: 240 seconds) |
2023-09-19 18:28:35 +0200 | pounce | (~pounce@user/cute/pounce) (Ping timeout: 240 seconds) |
2023-09-19 18:29:04 +0200 | pounce | (~pounce@user/cute/pounce) |
2023-09-19 18:37:18 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 18:37:57 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 260 seconds) |
2023-09-19 18:38:51 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2023-09-19 18:39:49 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 18:40:21 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) |
2023-09-19 18:41:03 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds) |
2023-09-19 18:45:03 +0200 | acertain_ | (sid470584@id-470584.hampstead.irccloud.com) (Server closed connection) |
2023-09-19 18:45:18 +0200 | acertain_ | (sid470584@id-470584.hampstead.irccloud.com) |
2023-09-19 18:46:29 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 18:51:12 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 18:52:19 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 18:57:02 +0200 | marinelli | (~weechat@gateway/tor-sasl/marinelli) (Quit: marinelli) |
2023-09-19 18:57:26 +0200 | phma | (~phma@host-67-44-208-47.hnremote.net) (Read error: Connection reset by peer) |
2023-09-19 18:57:45 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 18:58:49 +0200 | phma | (phma@2001:5b0:211f:8718:5d9f:d28d:c834:ebef) |
2023-09-19 18:59:09 +0200 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-09-19 18:59:33 +0200 | robosexual | (~spaceoyst@77.223.88.70) (Quit: Konversation terminated!) |
2023-09-19 19:00:14 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 19:01:20 +0200 | bliminse | (~bliminse@user/bliminse) |
2023-09-19 19:03:25 +0200 | <tomsmeding> | @tell kuribas safe in what way? |
2023-09-19 19:03:25 +0200 | <lambdabot> | Consider it noted. |
2023-09-19 19:07:48 +0200 | hugo- | hugo |
2023-09-19 19:09:22 +0200 | Square3 | (~Square4@user/square) |
2023-09-19 19:12:18 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 19:12:39 +0200 | otto_s | (~user@p5de2f287.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
2023-09-19 19:12:46 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 19:14:42 +0200 | otto_s | (~user@p4ff27687.dip0.t-ipconnect.de) |
2023-09-19 19:15:09 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 19:15:29 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-09-19 19:20:00 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) (Remote host closed the connection) |
2023-09-19 19:20:34 +0200 | danza | (~francesco@na-19-70-234.service.infuturo.it) |
2023-09-19 19:24:19 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) |
2023-09-19 19:24:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 19:26:15 +0200 | Square3 | (~Square4@user/square) (Ping timeout: 240 seconds) |
2023-09-19 19:27:09 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-09-19 19:28:35 +0200 | mysl | (~mysl@user/mysl) (Ping timeout: 240 seconds) |
2023-09-19 19:29:07 +0200 | deriamis_ | (deriamis@50.34.50.53) |
2023-09-19 19:32:43 +0200 | deriamis | (deriamis@50.34.50.53) (Ping timeout: 264 seconds) |
2023-09-19 19:33:53 +0200 | mysl | (~mysl@user/mysl) |
2023-09-19 19:34:39 +0200 | puke | (~puke@user/puke) (Ping timeout: 246 seconds) |
2023-09-19 19:38:34 +0200 | <tomsmeding> | @tell kuribas The cpu backend (accelerate-llvm-native) is solid, the gpu backend (accelerate-llvm-ptx) works decently but for larger programs it tends to crash somewhere relating the nvidia gpu driver (if I remember correctly), and we haven't been able to figure out what happens |
2023-09-19 19:38:34 +0200 | <lambdabot> | Consider it noted. |
2023-09-19 19:39:02 +0200 | polyphem | (~polyphem@p4fc2c546.dip0.t-ipconnect.de) |
2023-09-19 19:41:32 +0200 | privacy_ | (~privacy@47.219.84.6) (Ping timeout: 260 seconds) |
2023-09-19 19:41:53 +0200 | lambdap237 | (~lambdap@static.167.190.119.168.clients.your-server.de) (Quit: lambdap237) |
2023-09-19 19:42:22 +0200 | lambdap2371 | (~lambdap@static.167.190.119.168.clients.your-server.de) |
2023-09-19 19:42:33 +0200 | lambdap2371 | (~lambdap@static.167.190.119.168.clients.your-server.de) (Client Quit) |
2023-09-19 19:42:50 +0200 | lambdap2371 | (~lambdap@static.167.190.119.168.clients.your-server.de) |
2023-09-19 19:44:59 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) |
2023-09-19 19:45:02 +0200 | privacy | (~privacy@47.219.84.6) |
2023-09-19 19:47:33 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 19:50:17 +0200 | danza | (~francesco@na-19-70-234.service.infuturo.it) (Ping timeout: 260 seconds) |
2023-09-19 19:51:00 +0200 | privacy_ | (~privacy@47.219.84.6) |
2023-09-19 19:51:03 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 19:51:24 +0200 | privacy | (~privacy@47.219.84.6) (Ping timeout: 244 seconds) |
2023-09-19 19:52:59 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-09-19 19:54:03 +0200 | astra | (sid289983@id-289983.hampstead.irccloud.com) (Server closed connection) |
2023-09-19 19:54:25 +0200 | astra | (sid289983@id-289983.hampstead.irccloud.com) |
2023-09-19 19:55:13 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 19:55:15 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 19:58:22 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 19:58:22 +0200 | polyphem | (~polyphem@p4fc2c546.dip0.t-ipconnect.de) (Remote host closed the connection) |
2023-09-19 19:58:22 +0200 | p0lyph3m | (~polyphem@p4fc2c546.dip0.t-ipconnect.de) |
2023-09-19 19:58:27 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2023-09-19 20:00:03 +0200 | tnks | (sid412124@id-412124.helmsley.irccloud.com) (Server closed connection) |
2023-09-19 20:00:13 +0200 | tnks | (sid412124@id-412124.helmsley.irccloud.com) |
2023-09-19 20:04:28 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 20:04:43 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 20:05:05 +0200 | hyiltiz | (~hyiltiz@2620:149:13d1:100::431) (Ping timeout: 240 seconds) |
2023-09-19 20:08:49 +0200 | hyiltiz | (~hyiltiz@2620:149:13d1:100::431) |
2023-09-19 20:13:02 +0200 | <yin> | what's the canonical way of doing `[a -> a] -> a -> a` ? |
2023-09-19 20:13:20 +0200 | tomsmeding | always does foldr (.) id |
2023-09-19 20:13:30 +0200 | <yin> | tomsmeding: elegant |
2023-09-19 20:13:41 +0200 | <erisco> | head |
2023-09-19 20:13:44 +0200 | <tomsmeding> | I mean you can always getEndo . foldMap Endo if you are so inclined :p |
2023-09-19 20:15:03 +0200 | hongminhee | (sid295@id-295.tinside.irccloud.com) (Server closed connection) |
2023-09-19 20:15:12 +0200 | hongminhee | (sid295@id-295.tinside.irccloud.com) |
2023-09-19 20:15:14 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 20:15:54 +0200 | <EvanR> | > head [] x |
2023-09-19 20:15:56 +0200 | <lambdabot> | *Exception: Prelude.head: empty list |
2023-09-19 20:16:18 +0200 | <EvanR> | I want my money back |
2023-09-19 20:17:56 +0200 | <tomsmeding> | yin: if you're using hlint, beware of hlint being condescending about 'foldr (.) id (map ... l)' |
2023-09-19 20:18:58 +0200 | <tomsmeding> | no, 'foldr ((.) . f) id l' is not clearer than 'foldr (.) id (map f l)', and yes I did need to think >10sec before being reasonably sure that ((.) . f) is the right expression |
2023-09-19 20:19:15 +0200 | <erisco> | EvanR, my apologies. foldr const id |
2023-09-19 20:19:37 +0200 | <tomsmeding> | can remove the foldr |
2023-09-19 20:20:13 +0200 | hugo | imagines a good functional lanuage which doesn't look like someone rolled their head through the specal keys |
2023-09-19 20:20:35 +0200 | <tomsmeding> | haskell can be like that if you care about readability |
2023-09-19 20:20:39 +0200 | <tomsmeding> | hlint evidently does not :p |
2023-09-19 20:20:49 +0200 | <EvanR> | the readable haskell movement |
2023-09-19 20:20:55 +0200 | <EvanR> | I'm card carrying |
2023-09-19 20:21:04 +0200 | <yin> | tomsmeding: i have a huuuge .hlint.yaml ;) |
2023-09-19 20:21:12 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 260 seconds) |
2023-09-19 20:21:17 +0200 | <tomsmeding> | to wit also that '(\x -> f x + 3) <$> something' is not more readable than 'do { x <- something ; return (f x + 3) }' |
2023-09-19 20:21:35 +0200 | <tomsmeding> | yin: the first thing I do after installing HLS is disabling hlint |
2023-09-19 20:21:39 +0200 | <monochrom> | Sapir-Whorf implies that every language rolls your head through its special keys. |
2023-09-19 20:21:52 +0200 | <monochrom> | Every language. No exception. |
2023-09-19 20:22:14 +0200 | <tomsmeding> | monochrom: that's one for your tautologies page |
2023-09-19 20:22:15 +0200 | <monochrom> | Every language brainwashes you. Do not think that any of them is "natural". |
2023-09-19 20:22:20 +0200 | <tomsmeding> | also holds for languages without special keys |
2023-09-19 20:22:22 +0200 | Inst | (~Inst@120.244.192.250) (Ping timeout: 260 seconds) |
2023-09-19 20:22:23 +0200 | <tomsmeding> | it's just a no-op then |
2023-09-19 20:22:46 +0200 | tomsmeding | . o O ( COBOL ) |
2023-09-19 20:23:12 +0200 | <monochrom> | COBOL's special key is clumsy English and in all caps. |
2023-09-19 20:23:31 +0200 | hugo | SELECT's `COBOL` FROM TABLES |
2023-09-19 20:23:43 +0200 | <monochrom> | Plus some random requirement on compulsory indentation. |
2023-09-19 20:23:47 +0200 | <tomsmeding> | hot take: applescript is cobol tried again |
2023-09-19 20:24:07 +0200 | <tomsmeding> | still clumsy English, not all caps any more |
2023-09-19 20:24:35 +0200 | <monochrom> | Actually I write the <$> more often now. |
2023-09-19 20:24:47 +0200 | <tomsmeding> | also if that makes you write a lambda before the <$> ? |
2023-09-19 20:24:56 +0200 | <tomsmeding> | if it was just 'return (f x)', I would also write f <$> |
2023-09-19 20:24:59 +0200 | <monochrom> | I can agree that both forms are on par. |
2023-09-19 20:25:02 +0200 | <erisco> | You know, it does irritate me that "readable" (and most -ables) is so nonobviously subjective |
2023-09-19 20:25:28 +0200 | <monochrom> | Well that's why I brought up Sapir-Whorf. |
2023-09-19 20:25:46 +0200 | <monochrom> | You have been brainwashed by your first language, therefore anything different is "unreadable". |
2023-09-19 20:25:49 +0200 | <tomsmeding> | (I also use lambda plus <$> sometimes, but only if there is some other reason to fit the thing on one line -- perhaps because it's one of 15 of such lines, and it's good to have the whole thing be compact) |
2023-09-19 20:25:50 +0200 | <erisco> | It is a common thing I hear when using anything other than the most popular of choices, be it languages or code libraries. |
2023-09-19 20:26:04 +0200 | <monochrom> | In fact I have banned "readable" and "unreadable" from my vocab. |
2023-09-19 20:26:17 +0200 | <tomsmeding> | monochrom: fair |
2023-09-19 20:26:18 +0200 | <Rembane> | monochrom: What do you use instead? |
2023-09-19 20:26:53 +0200 | <[Leary]> | tomsmeding: `something <&> \x -> f x + 3`. |
2023-09-19 20:26:58 +0200 | <monochrom> | I use "comprehensible" and sometimes clarify with "by the TAs". |
2023-09-19 20:27:09 +0200 | tzh | (~tzh@c-73-25-201-16.hsd1.or.comcast.net) |
2023-09-19 20:27:17 +0200 | <tomsmeding> | comprehensible is precisely as bad as readable |
2023-09-19 20:27:25 +0200 | <tomsmeding> | it's the qualifier that improves things |
2023-09-19 20:27:34 +0200 | <monochrom> | Well that's why I add "by the TAs". |
2023-09-19 20:27:36 +0200 | <tomsmeding> | [Leary]: hmm |
2023-09-19 20:27:55 +0200 | <erisco> | I just gently suggest they mean "familiar" and "unfamiliar" rather than "readable" and "unreadable" |
2023-09-19 20:28:07 +0200 | <tomsmeding> | erisco: good that you do that gently |
2023-09-19 20:28:17 +0200 | <monochrom> | And I assure you, when the day comes that "comprehensible" is also widely abused, I will switch to another word. |
2023-09-19 20:29:00 +0200 | <hugo> | erisco: I hear what you say, but consider invoke(([ws] & qn(([ws] & 'f')) & (([ws] & '(') | nop) & [ws] & ([ws] & string([String])) & [ws] & ',' & [ws] & [ws] & ('{' | nop) & [ws] & qn(([ws] & 'x')) & [ws] & '=>' & [ws] & [ws] & '1' & (([ws] & ',') | nop) & [ws] & qn(([ws] & 'y')) & [ws] & '=>' & [ws] & [ws] & '2' & (([ws] & ',') | nop) & [ws] & ('}' | nop) & (([ws] & ',') | nop) & (([ws] & ')') | |
2023-09-19 20:29:00 +0200 | <hugo> | nop) & (([ws] & nop) | nop))) |
2023-09-19 20:29:00 +0200 | <hugo> | It's familiar to me, but not to you |
2023-09-19 20:29:08 +0200 | <dolio> | Why does hlint suggest manually fusing that? There's a whole framework that exists so you don't have to. |
2023-09-19 20:29:58 +0200 | <tomsmeding> | hugo: no clue what language/library that is, but it looks like a grammar, and I'm confused by the nops |
2023-09-19 20:30:03 +0200 | yvan-sraka | (sid419690@id-419690.lymington.irccloud.com) (Server closed connection) |
2023-09-19 20:30:13 +0200 | yvan-sraka | (sid419690@id-419690.lymington.irccloud.com) |
2023-09-19 20:30:43 +0200 | <hugo> | tomsmeding: I wrote a parser combinator in Python. The nops mean parse nothing and succeed |
2023-09-19 20:30:58 +0200 | <tomsmeding> | right, that's what I expected |
2023-09-19 20:31:09 +0200 | <hugo> | My point was that it's hard to read for most of you, but I have stared at it so much that I can read it rather quickly |
2023-09-19 20:31:12 +0200 | <tomsmeding> | meaning that ([ws] & nop) is just [ws] |
2023-09-19 20:31:19 +0200 | <hugo> | tomsmeding: Indeed |
2023-09-19 20:31:36 +0200 | <hugo> | All the extra '& nop' is due to how it's generated |
2023-09-19 20:32:30 +0200 | <tomsmeding> | I think it's readable enough; I don't know what qn is, nor invoke, but that's relatively benign I'd expect. It's just way too verbose. In my experience, I find it easier to read something the more compactly it is presented, as long as I can intuitively read that notation |
2023-09-19 20:32:45 +0200 | <tomsmeding> | (this may mean that the more familiar you get with the topic, the more compact representations you desire) |
2023-09-19 20:33:02 +0200 | <monochrom> | You know, "foo | nop" can be refactored to "optional foo" by defining "optional p = p | nop". |
2023-09-19 20:33:19 +0200 | <monochrom> | which is what Control.Applicative did. |
2023-09-19 20:33:24 +0200 | <tomsmeding> | here, when familiar with regular expressions, there is very little new stuff to learn, so a _way_ more compact representation would be more readable to me |
2023-09-19 20:33:31 +0200 | <tomsmeding> | monochrom: this is python |
2023-09-19 20:33:52 +0200 | <EvanR> | haskell is unreadable by some people not because they can't read it but because they won't xD |
2023-09-19 20:33:56 +0200 | <tomsmeding> | hugo: is 'qn' optional, perhaps? |
2023-09-19 20:34:00 +0200 | <hugo> | I confess that this is a bad example, it's the expanded form, which makes it lessreadable |
2023-09-19 20:34:01 +0200 | <tomsmeding> | as in "question" |
2023-09-19 20:34:03 +0200 | <monochrom> | Well yeah, but it's still legitimate to pose the refactoring challenge. |
2023-09-19 20:34:19 +0200 | <erisco> | hugo, I wouldn't be saying your grammar is unreadable. I might suggest introducing more named production rules to break that up though |
2023-09-19 20:34:32 +0200 | <hugo> | monochrom: foo | nop is already represented in the source as optional(foo), see my previous poit |
2023-09-19 20:34:45 +0200 | <monochrom> | OK cool. |
2023-09-19 20:35:38 +0200 | <hugo> | tomsmeding: qn I belive is a "qualified name", the example parser puppet code |
2023-09-19 20:35:56 +0200 | <monochrom> | Do you support recursion? p ::= '(' p ')' | nop |
2023-09-19 20:35:59 +0200 | <tomsmeding> | ah, so it's a subgrammar |
2023-09-19 20:36:28 +0200 | <hugo> | But it's good to hear that my dumps are "readable". You really don't want to see the non-prettified grammar |
2023-09-19 20:36:34 +0200 | <tomsmeding> | :D |
2023-09-19 20:36:43 +0200 | <tomsmeding> | they're comprehensible, not very readable |
2023-09-19 20:36:44 +0200 | <tomsmeding> | ;) |
2023-09-19 20:36:45 +0200 | Pickchea | (~private@user/pickchea) |
2023-09-19 20:37:33 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) (Remote host closed the connection) |
2023-09-19 20:37:39 +0200 | <hugo> | monochrom: Recursion is supported, the problem being that lazy evaluation is achived through local lambdas, which means that it it's non-trivial to compare recursive steps |
2023-09-19 20:37:52 +0200 | <hugo> | (I'm very open to solutions) |
2023-09-19 20:38:16 +0200 | <hugo> | tomsmeding: Is there a difference between a grammar and a sub-grammar? Rather than how large it is? |
2023-09-19 20:38:53 +0200 | <tomsmeding> | hugo: no, just that qn is apparently not a builtin primitive grammar construct, but rather a function that constructs another grammar |
2023-09-19 20:38:57 +0200 | <hugo> | tomsmeding: Nice to hear that they are comprehensible. I personally feed them through a rainbow-parenthesis script to understand them |
2023-09-19 20:39:02 +0200 | <tomsmeding> | :p |
2023-09-19 20:39:14 +0200 | <tomsmeding> | the parentheses are fairly flat here, vim % was sufficient for me |
2023-09-19 20:39:17 +0200 | jackneill__ | (~Jackneill@20014C4E1E062E00A473EFF2719A535F.dsl.pool.telekom.hu) (Ping timeout: 260 seconds) |
2023-09-19 20:39:45 +0200 | <tomsmeding> | re recursion, python is imperative and mutable state is no issue, so perhaps put a unique generated ID in every grammar AST node |
2023-09-19 20:40:01 +0200 | <tomsmeding> | then you can detect recursion by finding cycles in the graph, using IDs as node identifiers |
2023-09-19 20:40:03 +0200 | <EvanR> | every language recognized by the subgrammar of g is recognized by g! |
2023-09-19 20:40:17 +0200 | <tomsmeding> | what is "the" subgrammar of g :p |
2023-09-19 20:40:22 +0200 | <EvanR> | s/the/a |
2023-09-19 20:40:30 +0200 | <tomsmeding> | not true |
2023-09-19 20:40:42 +0200 | <EvanR> | not to be confused with the subgenius |
2023-09-19 20:40:43 +0200 | <tomsmeding> | let g be the regex abcd |
2023-09-19 20:40:51 +0200 | <tomsmeding> | bc is a subgrammar of g |
2023-09-19 20:40:57 +0200 | <monochrom> | Wait, are you just making a joke that references a definition of infinite sets? |
2023-09-19 20:41:00 +0200 | <erisco> | sublanguage versus subgrammar |
2023-09-19 20:41:05 +0200 | xmachina | (~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.4) |
2023-09-19 20:41:09 +0200 | <erisco> | though I haven't heard of "subgrammar" before |
2023-09-19 20:41:12 +0200 | <hugo> | tomsmeding: 'qn' is technically not a sub-grammar, since it parser it's contents as given (it just changes the output). [ws] (and everything within brackes) is however a subgrammar |
2023-09-19 20:41:18 +0200 | <Rembane> | Does this imply that supergrammars exist? |
2023-09-19 20:41:29 +0200 | <exarkun> | I think my grammars are super. |
2023-09-19 20:41:29 +0200 | <tomsmeding> | hugo: I see |
2023-09-19 20:41:41 +0200 | danso | (~danso@user/danso) (Quit: quittin time) |
2023-09-19 20:41:41 +0200 | <exarkun> | wait, that doesn't sound right ... |
2023-09-19 20:42:16 +0200 | <monochrom> | Clearly, Σ* is the super gramma of them all |
2023-09-19 20:42:17 +0200 | <erisco> | Would a subgrammar define a language of substrings? |
2023-09-19 20:42:33 +0200 | <monochrom> | And Gaia is the super grandma of them all. |
2023-09-19 20:42:39 +0200 | <hugo> | tomsmeding: Reganding the rather flat parethesis, this is from a rather simple example, and I have already flattened the tree quite a bit in this output |
2023-09-19 20:43:02 +0200 | <tomsmeding> | my (self-coined, to be fair) usage of subgrammar was intended to mean a subexpression of the grammar |
2023-09-19 20:43:21 +0200 | <tomsmeding> | ah :p |
2023-09-19 20:43:41 +0200 | <hugo> | For example, if I haven't cleaned up [ws] it would expand to string(([ws] & ('always' |
2023-09-19 20:43:42 +0200 | <hugo> | | ("'" & ['a', 'l', 'w', 'a', 'y', 's'] & "'") |
2023-09-19 20:43:44 +0200 | <hugo> | | ('"' & [rich_char(c='a'), rich_char(c='l'), rich_char(c='w'), rich_char(c='a'), rich_char(c='y'), rich_char(c='s')] & '"')))) |
2023-09-19 20:43:48 +0200 | <hugo> | GLHF |
2023-09-19 20:43:48 +0200 | <erisco> | tomsmeding, is it closed? |
2023-09-19 20:43:56 +0200 | <tomsmeding> | beauty |
2023-09-19 20:44:24 +0200 | <monochrom> | Actually, the linebreaks make that more readable... |
2023-09-19 20:44:24 +0200 | <tomsmeding> | erisco: what does closed mean? It looks like these grammars don't have variables or anything of the sort |
2023-09-19 20:44:27 +0200 | xmachina | (~xmachina@modemcable048.127-56-74.mc.videotron.ca) |
2023-09-19 20:44:40 +0200 | danso | (~danso@user/danso) |
2023-09-19 20:45:15 +0200 | <erisco> | tomsmeding, that all production rules referenced in the subgrammar are in the subgrammar |
2023-09-19 20:46:23 +0200 | <tomsmeding> | right, yes that's what I was assuming |
2023-09-19 20:46:44 +0200 | <tomsmeding> | note that qn here is a function, presumably Grammar -> Grammar, and the subgrammar in question would be qn(g'), not qn |
2023-09-19 20:47:08 +0200 | <tomsmeding> | and in expanded form it's unclear whether there are even local definitions at all, so whether scoping is a thing at all |
2023-09-19 20:47:13 +0200 | <erisco> | I guess there is a topology to grammars |
2023-09-19 20:47:31 +0200 | califax_ | (~califax@user/califx) |
2023-09-19 20:47:53 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 20:48:06 +0200 | califax | (~califax@user/califx) (Ping timeout: 246 seconds) |
2023-09-19 20:48:43 +0200 | <hugo> | The line breaks in my example are manually added by me |
2023-09-19 20:48:44 +0200 | <ncf> | is there? |
2023-09-19 20:48:51 +0200 | califax_ | califax |
2023-09-19 20:48:53 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 20:49:01 +0200 | <monochrom> | Darn. |
2023-09-19 20:49:05 +0200 | <hugo> | The definition (from a grammar persepctive) of qn is: |
2023-09-19 20:49:26 +0200 | <tomsmeding> | hugo: are you sick of us already :p |
2023-09-19 20:50:15 +0200 | <hugo> | Sorry, I was busy locking up the definition |
2023-09-19 20:50:29 +0200 | <monochrom> | tomsmeding: I teach my students both "pure (\x y -> ...) <*> m1 <*> m2" and "m1 >>= \x -> m2 >>= \y -> pure (...)", and let them choose which one they prefer, I just require them to be able to understand both when they see it. I don't teach them do-notation. |
2023-09-19 20:50:49 +0200 | <tomsmeding> | was with you until "I don't teach them do-notation" |
2023-09-19 20:50:56 +0200 | <monochrom> | haha |
2023-09-19 20:51:00 +0200 | <hugo> | Let's just say `qn(_, x) -> x` |
2023-09-19 20:51:01 +0200 | <erisco> | it's unreadable, is why |
2023-09-19 20:51:03 +0200 | <hugo> | Or the other way around |
2023-09-19 20:51:06 +0200 | <Rembane> | monochrom: What has do-notation ever done to you? |
2023-09-19 20:51:17 +0200 | <hugo> | All it does is attach metadata to the attached parser |
2023-09-19 20:51:18 +0200 | <tomsmeding> | genuinely, I also like my students to understand the more basic definitions |
2023-09-19 20:51:33 +0200 | <tomsmeding> | hugo: ... qn takes 1 argument in your example grammar |
2023-09-19 20:51:38 +0200 | <tomsmeding> | I see |
2023-09-19 20:52:03 +0200 | <hugo> | tomsmeding: Then the gammar is `qn(x) -> x`, since qn only attaches metadata |
2023-09-19 20:52:06 +0200 | <monochrom> | My first time teaching this stuff, I taught do-notation. Then both TAs and students who understood recommended not teaching do-notation. |
2023-09-19 20:52:23 +0200 | <tomsmeding> | hugo: right |
2023-09-19 20:52:25 +0200 | <hugo> | (I know this technically doesn't type check, but it works out i my non-typed Scheme |
2023-09-19 20:52:28 +0200 | <hugo> | ) |
2023-09-19 20:52:34 +0200 | <tomsmeding> | monochrom: interesting |
2023-09-19 20:52:45 +0200 | <tomsmeding> | what was the motivation for that? |
2023-09-19 20:53:15 +0200 | <EvanR> | starting with do notation is like starting to teach C by writing everything in macros |
2023-09-19 20:53:17 +0200 | <hugo> | do-notation, and bind in general is for from trivial, I didn't understand it propertly until I re-implemented it in scheme |
2023-09-19 20:53:26 +0200 | <tomsmeding> | EvanR: I never said _start_ with do-notation |
2023-09-19 20:53:28 +0200 | <hugo> | EvanR: a bit like that |
2023-09-19 20:53:51 +0200 | <monochrom> | I guess it's again "the basics first". |
2023-09-19 20:54:17 +0200 | <hugo> | However; sometimes when people tell me that Haskell is "impossible", I show them 'main = println "Hello, World!"' |
2023-09-19 20:54:28 +0200 | <tomsmeding> | *putStrLn |
2023-09-19 20:54:46 +0200 | <monochrom> | My course also has higher priorities than teaching more Haskell, so we may as well save some time by skipping do-notation. Only >>= and pure are strictly necessary. |
2023-09-19 20:54:46 +0200 | <EvanR> | % print "Hello World" |
2023-09-19 20:54:46 +0200 | <yahb2> | "Hello World" |
2023-09-19 20:54:47 +0200 | <hugo> | tomsmeding: I have written to many other languages recently |
2023-09-19 20:54:50 +0200 | <tomsmeding> | (I know that's not relevant to the point :p) |
2023-09-19 20:54:53 +0200 | <monochrom> | Hell, I don't even teach IO. |
2023-09-19 20:55:07 +0200 | <EvanR> | IO is overrated |
2023-09-19 20:55:09 +0200 | <monochrom> | Instead, we have monadic parsing! |
2023-09-19 20:55:28 +0200 | <tomsmeding> | monochrom: right, your course sounds more theoretical than ours. We have a different course ("languages & compilers") that does lots of parsing stuff, including monadic parsing |
2023-09-19 20:55:30 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 20:55:39 +0200 | <hugo> | Did any previous question pertain to me that I missed? |
2023-09-19 20:55:46 +0200 | <tomsmeding> | the "functional programming" course is slightly more applied, and comes first |
2023-09-19 20:55:51 +0200 | <EvanR> | but one complaint I heard was from someone who heard that haskell is bad at I/O and only good for non-I/O |
2023-09-19 20:55:56 +0200 | <tomsmeding> | hugo: I suggested something about the recursion stuff |
2023-09-19 20:55:59 +0200 | <EvanR> | so not teaching it doesn't help that |
2023-09-19 20:56:27 +0200 | <hugo> | tomsmeding: "Motivation for that?" Or another post? |
2023-09-19 20:56:35 +0200 | <monochrom> | My course is not a Haskell course. (At least, not supposed to.) It's a "principles of programming languages" course. |
2023-09-19 20:56:36 +0200 | <erisco> | ncf, I guess starting nonterminal is important and I am not sure what to make of that |
2023-09-19 20:57:00 +0200 | <tomsmeding> | hugo: re recursion, python is imperative and mutable state is no issue, so perhaps put a unique generated ID in every grammar AST node. then you can detect recursion by finding cycles in the graph, using IDs as node identifiers |
2023-09-19 20:57:16 +0200 | <tomsmeding> | monochrom: see, that's the difference; ours is outspokenly a haskell course |
2023-09-19 20:57:28 +0200 | <tomsmeding> | then one cannot really get around teaching do-notation, because after all, that's what people use |
2023-09-19 20:57:47 +0200 | <monochrom> | So I only need to cover enough Haskell to enable me talking about types, type inference, parametricity, recursive descent parsing, denotational semantics... |
2023-09-19 20:58:37 +0200 | <monochrom> | I also announce at the beginning "Haskell is a practical language, it just doesn't look like it in my course because I use it for academic purposes". |
2023-09-19 20:58:39 +0200 | <tomsmeding> | we have a "concepts of programming language design" course, which is a mandatory master's course for the CS master, and also uses haskell but doesn't use monads at all |
2023-09-19 20:59:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 20:59:29 +0200 | <hugo> | tomsmeding: I haven't looked deeper into finding recursion loops yet. I chose my current stack due to python having the libraries I needed. Whenever I try mutable state I lose track of what I am doing. So my Python is basically (bad) Haskell at this point |
2023-09-19 20:59:35 +0200 | <monochrom> | Oh, in fact, this year I managed to ban the words "monad", "applicative", "functor" until the last lecture. :) |
2023-09-19 20:59:39 +0200 | <hugo> | (don't say anything about my analogy) |
2023-09-19 20:59:41 +0200 | <tomsmeding> | hugo: lol |
2023-09-19 20:59:54 +0200 | xmachina | (~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.4) |
2023-09-19 21:00:28 +0200 | <EvanR> | you can ease people into do notation by first teaching don't notation |
2023-09-19 21:00:34 +0200 | <EvanR> | it's simpler |
2023-09-19 21:00:41 +0200 | <hugo> | tomsmeding: Haskell isn't about Monads, but the monad abstraction is one of the best abstractions I have seen |
2023-09-19 21:00:50 +0200 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2023-09-19 21:00:56 +0200 | <hugo> | EvanR: What is don't notation? |
2023-09-19 21:01:01 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 21:01:02 +0200 | <tomsmeding> | @hackage acme-dont |
2023-09-19 21:01:02 +0200 | <lambdabot> | https://hackage.haskell.org/package/acme-dont |
2023-09-19 21:01:03 +0200 | <monochrom> | That's like "you can ease people into static typing by first teaching the () type" :) |
2023-09-19 21:01:25 +0200 | <EvanR> | hey I have seen confusion about the () type |
2023-09-19 21:01:31 +0200 | <EvanR> | they sometimes think it's an empty list |
2023-09-19 21:01:49 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 21:01:54 +0200 | <EvanR> | or the same thing as Void because C |
2023-09-19 21:02:04 +0200 | <hugo> | As a teacher aid for bachelors, I have seen most confusions first hand |
2023-09-19 21:02:24 +0200 | <hugo> | EvanR: () and (C's) void are the same thing |
2023-09-19 21:02:40 +0200 | <tomsmeding> | but not the same as Void |
2023-09-19 21:03:06 +0200 | <monochrom> | You can fix that by "there is no Void in C". |
2023-09-19 21:03:29 +0200 | <hugo> | A void procedure in C never returns a value, while a `-> ()` function in Haskell always returns a null value. 0! = 1! |
2023-09-19 21:03:49 +0200 | <monochrom> | I do sometimes grill my students with "it's the year 2023 of our lord, why do you still treat programming languages as case-insenstive!" |
2023-09-19 21:04:23 +0200 | <hugo> | monochrom: What are you talking about? |
2023-09-19 21:04:30 +0200 | <monochrom> | "Void" vs "void" |
2023-09-19 21:04:41 +0200 | <hugo> | go home |
2023-09-19 21:04:53 +0200 | <tomsmeding> | % :i Data.Void.Void |
2023-09-19 21:04:53 +0200 | <yahb2> | type Data.Void.Void :: * ; data Data.Void.Void ; -- Defined in ‘Data.Void’ ; instance [safe] Eq Data.Void.Void -- Defined in ‘Data.Void’ ; instance [safe] Ord Data.Void.Void -- Defined in ‘Data.... |
2023-09-19 21:05:07 +0200 | <monochrom> | If you write your C code like "file *f = FOPEN(..." is it not going to compile, no? |
2023-09-19 21:06:26 +0200 | <EvanR> | we should go further and make bold italic and underline result in different identifiers |
2023-09-19 21:07:07 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 21:07:08 +0200 | <geekosaur> | inb4 esolang using only attributes |
2023-09-19 21:07:15 +0200 | <hugo> | 1. When did I write "Void", 2. Have you seen PEP 3131 |
2023-09-19 21:07:40 +0200 | <monochrom> | EvanR wrote "Void". That's all. |
2023-09-19 21:07:42 +0200 | <EvanR> | see () causing confusion |
2023-09-19 21:07:47 +0200 | <EvanR> | again |
2023-09-19 21:08:14 +0200 | <monochrom> | I am OK with "() and void are the same" 99.9% of the time. |
2023-09-19 21:08:32 +0200 | caryhartline | (~caryhartl@168.182.58.169) |
2023-09-19 21:08:44 +0200 | <hugo> | I usually tell my (python) students that a procedure without a return return "Nothing", and don't go into details that "Nothing" is the literal "None" object untli they ask." |
2023-09-19 21:09:57 +0200 | <EvanR> | C sucks because its own calling convention ensures something is returned, you just can't use it |
2023-09-19 21:10:00 +0200 | <hugo> | monochrom: Only diffenence I see between "()" and "void" is that one can be asignable to a variable, while the other can't. But what should you do with '() |
2023-09-19 21:10:13 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:a12d:97a5:968a:df7f) |
2023-09-19 21:10:49 +0200 | <hugo> | EvanR: C's calling convention just returns, void means that no value is return |
2023-09-19 21:10:59 +0200 | <EvanR> | *that you know of* |
2023-09-19 21:11:08 +0200 | <hugo> | a = [void returnig function] is undefined |
2023-09-19 21:11:32 +0200 | <hugo> | Anything you have seen is undefined, which means that all bets are off |
2023-09-19 21:11:49 +0200 | <EvanR> | undefined is javascript, that's something else |
2023-09-19 21:12:01 +0200 | <monochrom> | haha |
2023-09-19 21:12:15 +0200 | <erisco> | Unit in PureScript is anything. I guess like C! |
2023-09-19 21:13:21 +0200 | <hugo> | EvanR: Have you read the C standard? |
2023-09-19 21:13:30 +0200 | <EvanR> | we are in the wrong room for that |
2023-09-19 21:14:01 +0200 | <hugo> | EvanR: You are trying to pull a Hayman here |
2023-09-19 21:14:04 +0200 | p0lyph3m | (~polyphem@p4fc2c546.dip0.t-ipconnect.de) (Quit: CoreIRC for Android - www.coreirc.com) |
2023-09-19 21:14:43 +0200 | <EvanR> | calling conventions isn't in the standards, aiui |
2023-09-19 21:15:12 +0200 | <EvanR> | that's implementation details |
2023-09-19 21:16:07 +0200 | <hugo> | The (nonexistent) value of a void expression (an expression that has type void) shall not |
2023-09-19 21:16:09 +0200 | <hugo> | be used in any way, and implicit or explicit conversions (except to void) shall not be |
2023-09-19 21:16:11 +0200 | <hugo> | applied to such an expression. If an expression of any other type is evaluated as a void |
2023-09-19 21:16:13 +0200 | <hugo> | expression, its value or designator is discarded. (A void expression is evaluated for its |
2023-09-19 21:16:15 +0200 | <hugo> | side effects.) |
2023-09-19 21:16:17 +0200 | <hugo> | C11, ISO 9899:201x |
2023-09-19 21:16:23 +0200 | <EvanR> | WRONG ROOM |
2023-09-19 21:16:52 +0200 | <geekosaur> | then why were you talking about calling conventions? |
2023-09-19 21:16:59 +0200 | <hugo> | So the difference is that void expressions in C can't be checked, and '() expressions in Haskell is worthless to check |
2023-09-19 21:17:09 +0200 | <erisco> | pretty sure Haskell has a C FFI |
2023-09-19 21:17:44 +0200 | <EvanR> | there may be not much to say about () and void and Void when you get down to brass tacks, so I guess we can move on! |
2023-09-19 21:18:35 +0200 | actioninja6 | (~actioninj@user/actioninja) |
2023-09-19 21:19:21 +0200 | <erisco> | Pascal had this all figured out when it separated procedures from functions |
2023-09-19 21:19:43 +0200 | <monochrom> | Pascal followed Algol in this. |
2023-09-19 21:20:10 +0200 | <monochrom> | C also took a lot from Algol, but they decided to deviate from this one. |
2023-09-19 21:20:20 +0200 | <EvanR> | what's the difference between a procedure and a function |
2023-09-19 21:20:43 +0200 | actioninja | (~actioninj@user/actioninja) (Ping timeout: 264 seconds) |
2023-09-19 21:20:43 +0200 | actioninja6 | actioninja |
2023-09-19 21:21:04 +0200 | <monochrom> | But Algol's 2nd crime was "function but with side effects". |
2023-09-19 21:22:44 +0200 | <erisco> | EvanR, functions have returns, procedures do not |
2023-09-19 21:23:02 +0200 | <EvanR> | "interesting" |
2023-09-19 21:23:42 +0200 | <hugo> | erisco: *procedures may not |
2023-09-19 21:23:55 +0200 | <monochrom> | My unpopular opinion is that we should use the word "procedure" throughout, and accept that some procedures take 0 parameters, and some procedures don't have return values. I don't mind any syntax or reserved word for them, but that should be the fundamental concept. |
2023-09-19 21:24:41 +0200 | <monochrom> | So C got that basically right except they used the word "function" throughout. |
2023-09-19 21:24:54 +0200 | <hugo> | monochrom: My take is that functions are "pure" functions, as in mathematics, while procedures are the programming construct often called functions |
2023-09-19 21:24:58 +0200 | <erisco> | if it unclutters the meaning of "functional programming" then I'm down |
2023-09-19 21:25:01 +0200 | <monochrom> | But that's my point. "function but with side effects" is just illogical. |
2023-09-19 21:25:33 +0200 | <Hecate> | and yet |
2023-09-19 21:25:38 +0200 | <hugo> | monochrom: The scheme world is with you, they use procedure just as you sugests |
2023-09-19 21:25:39 +0200 | <Hecate> | I write these for a living :D |
2023-09-19 21:26:41 +0200 | <monochrom> | Correction: ... accept that procedures can take 0 or more parameters, and have 0 or 1 return values. |
2023-09-19 21:27:02 +0200 | <erisco> | What does Golang have then? |
2023-09-19 21:27:15 +0200 | <hugo> | Why can't a procedure have multiple return values? |
2023-09-19 21:27:28 +0200 | <geekosaur> | golang's do |
2023-09-19 21:27:48 +0200 | <geekosaur> | then again it just looks like a tuple without the parens |
2023-09-19 21:27:49 +0200 | <Hecate> | geekosaur: I've always been surprised by this, isn't it a tuple that is returned? |
2023-09-19 21:27:59 +0200 | <Hecate> | okay yeah, like Python's? |
2023-09-19 21:28:04 +0200 | <monochrom> | One point being instead of the stupid division "0 return value => procedure, 1 return value => function", and doubling down on that error with "oh functions can have side effects too so they are secretly procedures". |
2023-09-19 21:28:26 +0200 | <EvanR> | can I have procedures sometimes return 2 values, please |
2023-09-19 21:28:38 +0200 | <Hecate> | EvanR: only if you eat your vegetables |
2023-09-19 21:28:38 +0200 | <hugo> | The call stack is flexible, and can return multiple values natively |
2023-09-19 21:28:46 +0200 | <EvanR> | why is that too much to ask |
2023-09-19 21:29:00 +0200 | <hugo> | EvanR: Change to a better language |
2023-09-19 21:29:03 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Ping timeout: 244 seconds) |
2023-09-19 21:29:06 +0200 | <monochrom> | There are two known meanings for "multiple return values". But neither was in Algol so I will pass. |
2023-09-19 21:29:07 +0200 | <EvanR> | don't say python |
2023-09-19 21:29:18 +0200 | <geekosaur> | don't say golang |
2023-09-19 21:29:37 +0200 | <hugo> | Worth noting, most procedural languagse returning 0 values actually return a value (See Python and it's 'None' returns) |
2023-09-19 21:30:35 +0200 | <hugo> | geekosaur: Doesn't golang have true multiple return? |
2023-09-19 21:31:14 +0200 | <Hecate> | hugo: no it's a tuple |
2023-09-19 21:31:15 +0200 | <Hecate> | https://gobyexample.com/multiple-return-values |
2023-09-19 21:31:18 +0200 | <Hecate> | (int, int) |
2023-09-19 21:31:20 +0200 | <Hecate> | that's a tuple |
2023-09-19 21:31:30 +0200 | <EvanR> | I think my gripe was "better language" |
2023-09-19 21:31:44 +0200 | <erisco> | Hecate, but you cannot assign a multiple return to a variable |
2023-09-19 21:31:47 +0200 | sabino | (~sabino@user/sabino) (Ping timeout: 260 seconds) |
2023-09-19 21:32:08 +0200 | <monochrom> | No one wants to ask me "you said '2nd crime' so what's the 1st crime?"? :) |
2023-09-19 21:32:16 +0200 | <hugo> | Hecate: "Go has built-in support for multiple return values", are you sure it's a tuple |
2023-09-19 21:32:24 +0200 | <geekosaur> | right, in haskell-speak you must deconstruct it immediately |
2023-09-19 21:32:33 +0200 | <geekosaur> | that strikes me more as multiple return than as tuple |
2023-09-19 21:32:38 +0200 | <hugo> | erisco: You are talking syntax |
2023-09-19 21:32:54 +0200 | <Hecate> | erisco: ah yes indeed |
2023-09-19 21:33:00 +0200 | <Hecate> | so, it's a shittier tuple |
2023-09-19 21:33:02 +0200 | <Hecate> | incredible |
2023-09-19 21:33:07 +0200 | <monochrom> | Wait, is that just like Lisp's multiple return values? |
2023-09-19 21:33:11 +0200 | <geekosaur> | that's golang for you |
2023-09-19 21:33:15 +0200 | <hugo> | Hecate: It's a faster "tuple" |
2023-09-19 21:33:25 +0200 | <Hecate> | hugo: faster on which plan? |
2023-09-19 21:33:43 +0200 | sabino | (~sabino@user/sabino) |
2023-09-19 21:33:54 +0200 | <Hecate> | memory layout can't be that different from a tuple in a similar language |
2023-09-19 21:33:57 +0200 | <hugo> | Multiple return values doesn't incur an heap allocation |
2023-09-19 21:34:05 +0200 | <hugo> | And hap allocations are "slow" |
2023-09-19 21:34:10 +0200 | <Hecate> | hugo: where did you read that? |
2023-09-19 21:34:39 +0200 | tzh | (~tzh@c-73-25-201-16.hsd1.or.comcast.net) (Ping timeout: 252 seconds) |
2023-09-19 21:34:41 +0200 | <hugo> | I'm actually in search for a good source that heap allocations are slow, currently I only have the general word of mouth |
2023-09-19 21:35:02 +0200 | <EvanR> | heap allocation doesn't necessarily mean malloc |
2023-09-19 21:35:05 +0200 | <monochrom> | I agree that the heap is more expensive. |
2023-09-19 21:35:22 +0200 | <monochrom> | If anything, there is GC to worry about later. |
2023-09-19 21:35:44 +0200 | <EvanR> | unless you're UrWeb |
2023-09-19 21:35:45 +0200 | xmachina | (~xmachina@modemcable048.127-56-74.mc.videotron.ca) |
2023-09-19 21:35:53 +0200 | <monochrom> | In principle, GC turns a linear-time linear-space algorithm to quadratic time. |
2023-09-19 21:36:03 +0200 | gmc | (sid58314@id-58314.ilkley.irccloud.com) (Server closed connection) |
2023-09-19 21:36:09 +0200 | <dolio> | You don't need to distinguish returning tuples and 'multiple returns' to make things efficient. |
2023-09-19 21:36:14 +0200 | gmc | (sid58314@id-58314.ilkley.irccloud.com) |
2023-09-19 21:36:59 +0200 | <hugo> | Technically you can have "wide returns", but we are "unfortunally" stuck with the calling conventions of our host systems |
2023-09-19 21:37:37 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 21:37:47 +0200 | <tomsmeding> | _tuple_ doesn't necessarily mean heap allocation, unless you're haskell and the function is not inlined so it has to conform to GHC's calling convention which is heap-allocated |
2023-09-19 21:38:13 +0200 | <tomsmeding> | to make things even more muddled :D |
2023-09-19 21:38:19 +0200 | <dolio> | You don't need to inline, either. |
2023-09-19 21:38:28 +0200 | <tomsmeding> | in haskell you do, right? |
2023-09-19 21:38:35 +0200 | <monochrom> | Yeah, even more muddled because sometimes GHC can optimize that away. (And sometimes not.) |
2023-09-19 21:38:53 +0200 | <tomsmeding> | I mean, worker-wrapper exists, but then the wrapper needs to be inlined for the scheme to work |
2023-09-19 21:38:59 +0200 | <EvanR> | using multiple returns in C-- ? |
2023-09-19 21:39:01 +0200 | <tomsmeding> | (no, not that Scheme) |
2023-09-19 21:39:08 +0200 | <Hecate> | hohai tomsmeding |
2023-09-19 21:39:14 +0200 | <tomsmeding> | hai! |
2023-09-19 21:39:26 +0200 | <hugo> | (values 1 2) |
2023-09-19 21:39:27 +0200 | <dolio> | I mean, the compiler has to keep track of this stuff. |
2023-09-19 21:39:32 +0200 | <monochrom> | But all the more important for what dolio said. Separate the denotational semantics from optimizing the operational semantics already. |
2023-09-19 21:39:39 +0200 | <tomsmeding> | I left the conversation when it was about Void, then I took a shower, now it's about multiple return |
2023-09-19 21:39:41 +0200 | <dolio> | That doesn't mean the surface syntax needs it. |
2023-09-19 21:39:57 +0200 | <dolio> | Or, that most people need to worry about it in the surface syntax at least. |
2023-09-19 21:40:04 +0200 | <hugo> | But we are stuck in a world of actual compilers, in theory we could live in a multiple-return-world |
2023-09-19 21:40:31 +0200 | caryhartline | (~caryhartl@168.182.58.169) (Quit: caryhartline) |
2023-09-19 21:40:41 +0200 | <EvanR> | unless we're writing in asm compilers are great |
2023-09-19 21:40:41 +0200 | <dolio> | You only need to force users to care about all this stuff if you're unwilling to make the compiler keep track of it. |
2023-09-19 21:40:41 +0200 | <hugo> | Multiple returns is the same discussion as 0 returns |
2023-09-19 21:42:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 21:42:07 +0200 | <monochrom> | I'm going to be arrogant and divisive and say Pike ≠ SPJ so Pike knew no better than letting this detail leak to the supposedly high-level language. |
2023-09-19 21:42:26 +0200 | <hugo> | tomsmeding: Ayr you multiple people? You "brack" was 16s long |
2023-09-19 21:42:37 +0200 | <dolio> | Letting it leak is Industry Standard. |
2023-09-19 21:43:23 +0200 | <tomsmeding> | hugo: I'm talking about 21:04 till 21:37 :p |
2023-09-19 21:43:49 +0200 | <tomsmeding> | if it was still about Void then, my reading comprehension could use a touch-up |
2023-09-19 21:44:22 +0200 | <dolio> | tomsmeding: 0 is a multiple. :þ |
2023-09-19 21:44:38 +0200 | <monochrom> | Nah don't worry, we drifted. :) |
2023-09-19 21:44:39 +0200 | <hugo> | I had completely missed that we talked about Void |
2023-09-19 21:44:58 +0200 | <hugo> | monochrom: Is the Pike you mention this pike https://pike.lysator.liu.se/? |
2023-09-19 21:45:06 +0200 | <monochrom> | Just be thankful no one dared to try fractal return values! |
2023-09-19 21:45:21 +0200 | <hugo> | monochrom: Dear god |
2023-09-19 21:45:25 +0200 | <tomsmeding> | hugo: https://en.wikipedia.org/wiki/Rob_Pike |
2023-09-19 21:45:28 +0200 | <EvanR> | there's a rule that says if you allow 0, 1 or 2 returns you have to also allow infinite returns |
2023-09-19 21:45:33 +0200 | <monochrom> | Go's Pike. |
2023-09-19 21:45:49 +0200 | <hugo> | Thank God it's not "that" Pike |
2023-09-19 21:46:34 +0200 | danza | (~francesco@na-19-76-177.service.infuturo.it) |
2023-09-19 21:47:59 +0200 | ubert | (~Thunderbi@91.141.40.168.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
2023-09-19 21:48:36 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 21:49:52 +0200 | caryhartline | (~caryhartl@168.182.58.169) |
2023-09-19 21:50:24 +0200 | vglfr | (~vglfr@88.154.54.160) |
2023-09-19 21:51:20 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2023-09-19 21:53:22 +0200 | wootehfoot | (~wootehfoo@user/wootehfoot) (Ping timeout: 260 seconds) |
2023-09-19 21:53:27 +0200 | infinity0 | (~infinity0@pwned.gg) |
2023-09-19 22:01:19 +0200 | infinity0 | (~infinity0@pwned.gg) (Remote host closed the connection) |
2023-09-19 22:03:27 +0200 | infinity0 | (~infinity0@pwned.gg) |
2023-09-19 22:04:24 +0200 | johnw | (~johnw@69.62.242.138) (Quit: ZNC - http://znc.in) |
2023-09-19 22:05:15 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 22:06:53 +0200 | vglfr | (~vglfr@88.154.54.160) (Ping timeout: 258 seconds) |
2023-09-19 22:08:57 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds) |
2023-09-19 22:10:08 +0200 | danza | (~francesco@na-19-76-177.service.infuturo.it) (Ping timeout: 255 seconds) |
2023-09-19 22:10:21 +0200 | tzh | (~tzh@c-73-25-201-16.hsd1.or.comcast.net) |
2023-09-19 22:10:52 +0200 | hyiltiz | (~hyiltiz@2620:149:13d1:100::431) (Ping timeout: 260 seconds) |
2023-09-19 22:11:06 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-09-19 22:11:38 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 22:11:56 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds) |
2023-09-19 22:12:16 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 22:14:02 +0200 | pavonia | (~user@user/siracusa) |
2023-09-19 22:15:07 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 22:17:03 +0200 | hyiltiz | (~hyiltiz@2620:149:13d1:100::431) |
2023-09-19 22:18:45 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds) |
2023-09-19 22:20:40 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 22:21:01 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 22:23:33 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-09-19 22:32:00 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-09-19 22:33:47 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 22:34:51 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds) |
2023-09-19 22:37:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-09-19 22:38:22 +0200 | accord | (uid568320@id-568320.hampstead.irccloud.com) |
2023-09-19 22:46:02 +0200 | td_ | (~td@i5387090C.versanet.de) (Ping timeout: 244 seconds) |
2023-09-19 22:46:36 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-09-19 22:47:49 +0200 | td_ | (~td@i53870901.versanet.de) |
2023-09-19 22:48:12 +0200 | vglfr | (~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) |
2023-09-19 22:52:52 +0200 | mstruebing | (~mstruebin@2a02:8108:483f:b989:1963:6bff:ae27:c9d3) |
2023-09-19 22:54:00 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-09-19 22:54:37 +0200 | tzh | (~tzh@c-73-25-201-16.hsd1.or.comcast.net) (Ping timeout: 260 seconds) |
2023-09-19 22:59:19 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-09-19 23:04:09 +0200 | caryhartline | (~caryhartl@168.182.58.169) (Quit: caryhartline) |
2023-09-19 23:06:05 +0200 | _xor8 | (~xor@ip-50-5-233-250.dynamic.fuse.net) |
2023-09-19 23:07:39 +0200 | _xor | (~xor@ip-50-5-233-250.dynamic.fuse.net) (Ping timeout: 255 seconds) |
2023-09-19 23:07:40 +0200 | _xor8 | _xor |
2023-09-19 23:09:47 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09040c85b81d4e368d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2023-09-19 23:11:49 +0200 | renegade | (~renegade@bcdcac82.skybroadband.com) (Read error: Connection reset by peer) |
2023-09-19 23:13:13 +0200 | tzh | (~tzh@c-73-25-201-16.hsd1.or.comcast.net) |
2023-09-19 23:15:24 +0200 | renegade | (~renegade@188.220.172.130) |
2023-09-19 23:17:29 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-09-19 23:19:45 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-09-19 23:22:23 +0200 | fendor | (~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection) |
2023-09-19 23:22:30 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-09-19 23:24:28 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-09-19 23:25:53 +0200 | __monty__ | (~toonn@user/toonn) (Quit: leaving) |
2023-09-19 23:28:42 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-09-19 23:33:50 +0200 | liz | (~liz@212.132.163.201) |
2023-09-19 23:46:26 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) (Read error: Connection reset by peer) |
2023-09-19 23:47:19 +0200 | johnw | (~johnw@69.62.242.138) |
2023-09-19 23:47:49 +0200 | JeremyB99 | (~JeremyB99@2607:fb91:17ee:23f5:edee:2b44:e73e:1db8) |
2023-09-19 23:50:27 +0200 | caryhartline | (~caryhartl@168.182.58.169) |
2023-09-19 23:52:57 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 260 seconds) |
2023-09-19 23:54:47 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-09-19 23:58:27 +0200 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |