Home liberachat/#haskell: Logs Calendar

Logs on 2023-10-27 (liberachat/#haskell)

00:01:32 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
00:02:01 × califax quits (~califax@user/califx) (Remote host closed the connection)
00:02:44 ChaiTRex joins (~ChaiTRex@user/chaitrex)
00:03:38 califax joins (~califax@user/califx)
00:06:20 × pixelmonk quits (~pixelmonk@50.205.76.66) (Quit: WeeChat 4.1.0)
00:17:43 Square2 joins (~Square@user/square)
00:24:14 × kupi quits (uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
00:34:15 × ania123 quits (~ania123@wl-pool2-ont-004.uni-muenster.de) (Quit: Ping timeout (120 seconds))
00:39:25 random-jellyfish joins (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba)
00:39:25 × random-jellyfish quits (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba) (Changing host)
00:39:25 random-jellyfish joins (~tiber@user/random-jellyfish)
00:41:51 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Remote host closed the connection)
00:43:31 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
00:51:19 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
00:51:43 biberu joins (~biberu@user/biberu)
00:52:04 × apache2 quits (apache2@anubis.0x90.dk) (Remote host closed the connection)
00:52:13 apache2 joins (apache2@anubis.0x90.dk)
00:53:49 × Hafydd quits (~Hafydd@user/hafydd) (Ping timeout: 245 seconds)
00:54:44 × peutri quits (~peutri@bobo.desast.re) (Ping timeout: 246 seconds)
00:54:55 peutri joins (~peutri@bobo.desast.re)
01:02:14 Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915)
01:02:36 × sabino quits (~sabino@user/sabino) (Quit: Lambda _ -> x)
01:03:00 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
01:03:35 Lord_of_Life_ is now known as Lord_of_Life
01:07:20 Hafydd joins (~Hafydd@user/hafydd)
01:21:27 × CiaoSen quits (~Jura@2a05:5800:2bd:b300:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds)
01:23:31 CiaoSen joins (~Jura@2a05:5800:2dd:c500:664b:f0ff:fe37:9ef)
01:35:40 × sansk quits (~sansk@user/sansk) (Quit: WeeChat 4.0.4)
01:42:04 Lycurgus joins (~georg@user/Lycurgus)
01:43:40 talismanick joins (~user@2601:204:ef80:2980::b23e)
01:43:58 × Lycurgus quits (~georg@user/Lycurgus) (Client Quit)
01:47:10 × Square2 quits (~Square@user/square) (Ping timeout: 258 seconds)
01:51:04 × fryguybob quits (~fryguybob@cpe-24-94-50-22.stny.res.rr.com) (Quit: leaving)
01:51:29 × fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
01:52:38 Lycurgus joins (~georg@user/Lycurgus)
02:00:31 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
02:01:41 Lycurgus joins (~georg@user/Lycurgus)
02:01:44 × otto_s quits (~user@p4ff2729b.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
02:01:46 <Inst_> yeah, for whatever reason, i mapM_ (flip hSetBuffering NoBuffering) [stdin, stdout)
02:01:47 <Inst_> ]
02:02:32 <EvanR> sometimes when presented with stuff you can do, it's better to just not xD
02:03:32 otto_s joins (~user@p5de2f7d1.dip0.t-ipconnect.de)
02:04:50 × Lycurgus quits (~georg@user/Lycurgus) (Client Quit)
02:05:13 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
02:05:28 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:05:30 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
02:09:54 fryguybob joins (~fryguybob@cpe-24-94-50-22.stny.res.rr.com)
02:17:36 × accord quits (uid568320@id-568320.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
02:25:07 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 258 seconds)
02:31:27 × xff0x quits (~xff0x@ai101218.d.east.v6connect.net) (Ping timeout: 240 seconds)
02:43:31 × td_ quits (~td@i53870935.versanet.de) (Ping timeout: 258 seconds)
02:45:16 td_ joins (~td@i53870923.versanet.de)
02:46:20 liamzy__ joins (~Inst@120.244.192.250)
02:48:56 × Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds)
02:59:40 Buliarous joins (~gypsydang@46.232.210.139)
03:09:55 × aforemny quits (~aforemny@2001:9e8:6cce:d400:a4f1:e7f8:9aed:6739) (Ping timeout: 264 seconds)
03:10:05 aforemny_ joins (~aforemny@2001:9e8:6cf6:7100:4ac5:e904:a193:520d)
03:15:21 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Remote host closed the connection)
03:15:37 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112)
03:15:51 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
03:16:45 euleritian joins (~euleritia@dynamic-046-114-201-136.46.114.pool.telefonica.de)
03:20:08 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
03:22:04 × liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds)
03:23:05 srk_ joins (~sorki@user/srk)
03:24:38 srk| joins (~sorki@user/srk)
03:25:51 × srk quits (~sorki@user/srk) (Ping timeout: 240 seconds)
03:27:24 × srk_ quits (~sorki@user/srk) (Ping timeout: 240 seconds)
03:27:55 srk| is now known as srk
03:28:21 vglfr joins (~vglfr@88.155.140.136)
03:37:42 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
03:38:25 × srk quits (~sorki@user/srk) (Ping timeout: 252 seconds)
03:38:37 srk_ joins (~sorki@user/srk)
03:39:31 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 252 seconds)
03:41:24 srk_ is now known as srk
03:41:28 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
03:41:52 kantokuen is now known as kanto
03:42:37 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
03:43:18 liamzy__ joins (~Inst@120.244.192.250)
03:45:53 × infinity0 quits (~infinity0@pwned.gg) (Remote host closed the connection)
03:48:00 infinity0 joins (~infinity0@pwned.gg)
03:50:02 × CiaoSen quits (~Jura@2a05:5800:2dd:c500:664b:f0ff:fe37:9ef) (Ping timeout: 255 seconds)
03:53:20 Inst_ joins (~Inst@120.244.192.250)
03:54:33 × talismanick quits (~user@2601:204:ef80:2980::b23e) (Remote host closed the connection)
03:55:54 × liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 245 seconds)
03:57:49 × vglfr quits (~vglfr@88.155.140.136) (Read error: Connection reset by peer)
04:04:18 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
04:07:07 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
04:08:23 × img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
04:09:20 img joins (~img@user/img)
04:11:43 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 264 seconds)
04:17:39 × euleritian quits (~euleritia@dynamic-046-114-201-136.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
04:17:56 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
04:25:56 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 260 seconds)
04:35:04 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Ping timeout: 258 seconds)
04:35:07 × rgw quits (~R@2605:a601:a0df:5600:589:1f53:7d7d:df53) (Read error: Connection reset by peer)
04:36:07 michalz joins (~michalz@185.246.207.193)
04:36:36 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
04:37:08 Fischmiep joins (~Fischmiep@user/Fischmiep)
04:37:28 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
04:42:03 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer)
04:42:35 Fischmiep joins (~Fischmiep@user/Fischmiep)
04:54:55 takuan joins (~takuan@178-116-218-225.access.telenet.be)
04:58:48 rosco joins (~rosco@yp-150-69.tm.net.my)
05:04:51 liamzy__ joins (~Inst@120.244.192.250)
05:07:03 × Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 240 seconds)
05:31:17 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
05:31:37 euleritian joins (~euleritia@dynamic-046-114-201-136.46.114.pool.telefonica.de)
05:39:05 × liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 258 seconds)
05:39:29 × euleritian quits (~euleritia@dynamic-046-114-201-136.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
05:39:48 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
05:41:17 liamzy__ joins (~Inst@120.244.192.250)
05:44:43 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Quit: ChaiTRex)
05:45:10 ChaiTRex joins (~ChaiTRex@user/chaitrex)
05:46:19 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
05:46:30 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
05:46:50 euleritian joins (~euleritia@dynamic-046-114-201-136.46.114.pool.telefonica.de)
05:46:57 ChaiTRex joins (~ChaiTRex@user/chaitrex)
05:47:43 × random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 264 seconds)
05:51:51 × raym quits (~ray@user/raym) (Ping timeout: 240 seconds)
05:59:08 raym joins (~ray@user/raym)
06:05:08 × echoreply quits (~echoreply@45.32.163.16) (Quit: WeeChat 2.8)
06:05:57 sm joins (~sm@plaintextaccounting/sm)
06:06:27 echoreply joins (~echoreply@45.32.163.16)
06:13:03 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 240 seconds)
06:17:49 jtza8 joins (~user@165.255.63.194)
06:17:49 × jtza8 quits (~user@165.255.63.194) (Changing host)
06:17:49 jtza8 joins (~user@user/jtza8)
06:24:03 aljazmc joins (~aljazmc@user/aljazmc)
06:24:30 × aljazmc quits (~aljazmc@user/aljazmc) (Read error: Connection reset by peer)
06:27:21 Maeda joins (~Maeda@91-161-10-149.subs.proxad.net)
06:29:44 × euleritian quits (~euleritia@dynamic-046-114-201-136.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
06:30:02 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
06:37:55 arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
06:38:14 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
06:42:25 vpan joins (~vpan@212.117.1.172)
06:43:48 × jtza8 quits (~user@user/jtza8) (Quit: ERC 5.4 (IRC client for GNU Emacs 28.2))
06:46:00 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
06:46:58 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
06:48:33 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
06:51:17 Jackneill joins (~Jackneill@20014C4E1E03D8000F82DBB60140E9E2.dsl.pool.telekom.hu)
06:54:48 Inst_ joins (~Inst@120.244.192.250)
06:56:28 johnw joins (~johnw@69.62.242.138)
06:57:28 × liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds)
07:00:50 lortabac joins (~lortabac@2a01:e0a:541:b8f0:9328:d635:4cb3:ebef)
07:07:29 gmg joins (~user@user/gehmehgeh)
07:17:56 yoyofreeman joins (~yoyofreem@176.97.76.178)
07:21:50 liamzy__ joins (~Inst@120.244.192.250)
07:22:09 × idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
07:24:12 × Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 240 seconds)
07:25:31 chomwitt joins (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1)
07:29:33 MajorBiscuit joins (~MajorBisc@2001:610:450:a0::8:62)
07:34:45 random-jellyfish joins (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba)
07:34:45 × random-jellyfish quits (~tiber@2a02:2f04:11e:c600:895a:e128:f425:deba) (Changing host)
07:34:45 random-jellyfish joins (~tiber@user/random-jellyfish)
07:39:13 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
07:41:47 × tzh quits (~tzh@c-71-193-181-0.hsd1.or.comcast.net) (Quit: zzz)
07:44:00 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
07:44:33 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
07:44:51 sm joins (~sm@plaintextaccounting/sm)
07:45:31 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
07:59:56 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
08:00:02 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
08:00:14 coot joins (~coot@89.69.206.216)
08:02:22 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
08:05:05 __monty__ joins (~toonn@user/toonn)
08:07:25 × son0p quits (~ff@181.136.122.143) (Ping timeout: 258 seconds)
08:09:30 CiaoSen joins (~Jura@2a05:5800:2dd:c500:664b:f0ff:fe37:9ef)
08:10:17 acidjnk joins (~acidjnk@p200300d6e72b9302c5eda31b9368d419.dip0.t-ipconnect.de)
08:12:55 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Remote host closed the connection)
08:13:54 ubert joins (~Thunderbi@91.141.46.255.wireless.dyn.drei.com)
08:15:13 tabemann_ joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
08:16:44 × tabemann__ quits (~tabemann@2600:1700:7990:24e0:a299:50e0:47de:b82a) (Ping timeout: 248 seconds)
08:19:41 chele joins (~chele@user/chele)
08:19:54 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
08:22:57 kenran joins (~johannes@user/kenran)
08:30:18 Inst_ joins (~Inst@120.244.192.250)
08:32:44 × liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 258 seconds)
08:36:15 × yoyofreeman quits (~yoyofreem@176.97.76.178) (Remote host closed the connection)
08:36:57 yoyofreeman joins (~yoyofreem@176.97.76.178)
08:40:39 × yoyofreeman quits (~yoyofreem@176.97.76.178) (Max SendQ exceeded)
08:40:53 zer0bitz_ joins (~zer0bitz@user/zer0bitz)
08:41:25 yoyofreeman joins (~yoyofreem@176.97.76.178)
08:45:03 × zer0bitz quits (~zer0bitz@user/zer0bitz) (Ping timeout: 260 seconds)
08:45:22 mc47 joins (~mc47@xmonad/TheMC47)
08:45:38 fendor joins (~fendor@2a02:8388:1640:be00:8798:5fe9:9ffe:940c)
08:45:38 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
08:46:02 mc47 joins (~mc47@xmonad/TheMC47)
08:46:06 × Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 260 seconds)
08:47:58 × stefan-_ quits (~cri@42dots.de) (Remote host closed the connection)
08:48:13 stefan-_ joins (~cri@42dots.de)
08:49:06 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
08:49:29 × fendor quits (~fendor@2a02:8388:1640:be00:8798:5fe9:9ffe:940c) (Remote host closed the connection)
08:49:49 fendor joins (~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578)
08:50:03 lisbeths joins (uid135845@id-135845.lymington.irccloud.com)
08:50:24 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112)
08:53:34 × jjhoo quits (~jahakala@user/jjhoo) (Quit: leaving)
08:53:44 jjhoo joins (jahakala@user/jjhoo)
08:56:00 merijn joins (~merijn@233-142-158-163.dynamic.caiway.nl)
08:58:13 × merijn quits (~merijn@233-142-158-163.dynamic.caiway.nl) (Client Quit)
08:58:31 merijn joins (~merijn@233-142-158-163.dynamic.caiway.nl)
08:59:35 `2jt joins (~jtomas@vdf-128.vdf.upv.es)
09:04:18 sm joins (~sm@plaintextaccounting/sm)
09:05:49 × ft quits (~ft@p4fc2a529.dip0.t-ipconnect.de) (Quit: leaving)
09:09:28 aljazmc joins (~aljazmc@user/aljazmc)
09:14:43 × econo_ quits (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
09:17:30 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
09:22:38 danse-nr3 joins (~francesco@151.57.207.38)
09:24:55 × `2jt quits (~jtomas@vdf-128.vdf.upv.es) (Ping timeout: 264 seconds)
09:25:04 <haskellbridge> 06<s​m> like I was hinting the other day, there are so many weird hard details with small terminal I/O games.. makes me pine for the old 8 bit computers
09:27:40 <tomsmeding> the matrix bridge has now decided to colour the nick prefix, meaning my script _again_ doesn't pick it up >.>
09:27:56 <tomsmeding> but perhaps this is a good status quo
09:31:45 × yoyofreeman quits (~yoyofreem@176.97.76.178) (Remote host closed the connection)
09:32:41 <haskellbridge> 12<C​elestial> How does the renamer work in terms of keeping track what variable is what internally? does it keep representing it as a string and just appends some garbage at the end of shadowed names or is there a more introcate way with having ids or whatever?
09:32:56 yoyofreeman joins (~yoyofreem@176.97.76.178)
09:33:37 × tv quits (~tv@user/tv) (Ping timeout: 255 seconds)
09:33:45 × kenran quits (~johannes@user/kenran) (Remote host closed the connection)
09:34:34 tv joins (~tv@user/tv)
09:38:43 × danse-nr3 quits (~francesco@151.57.207.38) (Remote host closed the connection)
09:39:08 danse-nr3 joins (~francesco@151.57.207.38)
09:45:35 × CiaoSen quits (~Jura@2a05:5800:2dd:c500:664b:f0ff:fe37:9ef) (Ping timeout: 240 seconds)
09:46:33 Inst_ joins (~Inst@120.244.192.250)
09:46:45 × yoyofreeman quits (~yoyofreem@176.97.76.178) (Remote host closed the connection)
09:51:38 billchenchina joins (~billchenc@61.183.83.60)
09:53:51 billchenchina- joins (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6)
09:54:47 × billchenchina- quits (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6) (Max SendQ exceeded)
09:55:14 billchenchina- joins (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6)
09:56:43 × billchenchina quits (~billchenc@61.183.83.60) (Ping timeout: 255 seconds)
09:57:28 Square2 joins (~Square@user/square)
09:59:28 <Jon> I have a type that looks like this: data Variant = Variant { variantGraph :: Graph, rule : : String, parent :: Variant } | Original Graph . I have a function :: Variant -> Graph (i.e., it handles both constructors). Is there a good convention to name it? The trouble is I've already used 'variantGraph' for the accessor.
10:00:17 <tomsmeding> fromVariant is a typical name, but that assumes it's in a module that deals solely with Graph, and is typically imported qualified
10:01:53 <Jon> thank you I forgot about 'from'
10:02:05 × Square2 quits (~Square@user/square) (Ping timeout: 240 seconds)
10:02:31 × billchenchina- quits (~billchenc@2408:844f:1540:3a14:66f7:dd31:6474:1bb6) (Ping timeout: 260 seconds)
10:02:43 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
10:03:34 liamzy__ joins (~Inst@120.244.192.250)
10:05:31 × rosco quits (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal)
10:06:10 × Inst_ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds)
10:06:43 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
10:13:21 <merijn> Jon: Alternatively, there's NoFieldSelectors which disables the generation of accessors so the name is free (whether that's a price worth paying in your code is unclear)
10:15:38 Square2 joins (~Square@user/square)
10:17:34 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 245 seconds)
10:19:38 Maxdamantus joins (~Maxdamant@user/maxdamantus)
10:21:44 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
10:22:26 <ski> Jon : `data Variant = Variant {variantGraph :: Graph,rule : : String,parent :: Variant} | Original {variantGraph :: Graph}' ?
10:23:23 sm joins (~sm@plaintextaccounting/sm)
10:23:36 <tomsmeding> clever
10:24:45 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
10:25:35 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
10:26:02 × danse-nr3 quits (~francesco@151.57.207.38) (Ping timeout: 255 seconds)
10:37:38 cheater_ joins (~Username@user/cheater)
10:38:28 × cheater quits (~Username@user/cheater) (Ping timeout: 258 seconds)
10:38:33 cheater_ is now known as cheater
10:39:04 adanwan joins (~adanwan@gateway/tor-sasl/adanwan)
10:39:47 × cheater quits (~Username@user/cheater) (Read error: Connection reset by peer)
10:40:32 cheater joins (~Username@user/cheater)
10:44:35 × ubert quits (~Thunderbi@91.141.46.255.wireless.dyn.drei.com) (Remote host closed the connection)
10:53:24 ubert joins (~Thunderbi@91.141.46.255.wireless.dyn.drei.com)
11:00:17 Lycurgus joins (~georg@user/Lycurgus)
11:04:19 danse-nr3 joins (~francesco@151.57.207.38)
11:06:37 × kilolympus quits (~kilolympu@31.205.200.235) (Remote host closed the connection)
11:10:12 kilolympus joins (~kilolympu@31.205.200.235)
11:12:10 × liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds)
11:12:39 × danse-nr3 quits (~francesco@151.57.207.38) (Remote host closed the connection)
11:12:57 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
11:13:05 danse-nr3 joins (~francesco@151.57.207.38)
11:13:24 × merijn quits (~merijn@233-142-158-163.dynamic.caiway.nl) (Ping timeout: 245 seconds)
11:23:04 <Jon> ski, that's a far simpler solution, thank you; for some reason I thought that couldn't work.
11:27:03 merijn joins (~merijn@233-142-158-163.dynamic.caiway.nl)
11:27:21 falafel_ joins (~falafel@62.175.113.194.dyn.user.ono.com)
11:30:35 × phma quits (phma@2001:5b0:211b:d548:ffd5:bf9a:b80f:c063) (Read error: Connection reset by peer)
11:31:14 × falafel_ quits (~falafel@62.175.113.194.dyn.user.ono.com) (Client Quit)
11:31:18 phma joins (~phma@host-67-44-208-142.hnremote.net)
11:31:29 falafel_ joins (~falafel@62.175.113.194.dyn.user.ono.com)
11:33:46 × merijn quits (~merijn@233-142-158-163.dynamic.caiway.nl) (Ping timeout: 255 seconds)
11:34:40 yoyofreeman joins (~yoyofreem@176.97.76.178)
11:34:49 <ski> Jon : well .. i was thinking you might've considered it already, and decided you didn't want it .. but decided to mention it nonetheless
11:36:03 merijn joins (~merijn@233-142-158-163.dynamic.caiway.nl)
11:37:10 <danse-nr3> reddit.com/r/haskell/comments/17bneno/best_wayresource_to_learn_haskell_with_a_week_to good luck with that hiring policy
11:40:09 <danse-nr3> but of course only hiring newcomers is a great way not to get questioned and to make them feel really humble
11:40:43 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
11:45:29 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
11:46:42 × yoyofreeman quits (~yoyofreem@176.97.76.178) (Remote host closed the connection)
11:49:15 × falafel_ quits (~falafel@62.175.113.194.dyn.user.ono.com) (Quit: Leaving)
11:49:35 falafel joins (~falafel@62.175.113.194.dyn.user.ono.com)
11:50:35 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
11:50:52 fweht joins (uid404746@id-404746.lymington.irccloud.com)
11:53:36 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 258 seconds)
11:56:04 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
11:56:52 <exarkun> danse-nr3: How did you conclude the company _only_ hires newcomers?
12:00:11 <danse-nr3> good point, i wanted to say "hiring", without only. I guess this is a policy one applies in most cases or in no case, but i have no evidence about that so could be wrong
12:04:06 Lycurgus joins (~georg@li1192-118.members.linode.com)
12:04:06 × Lycurgus quits (~georg@li1192-118.members.linode.com) (Changing host)
12:04:06 Lycurgus joins (~georg@user/Lycurgus)
12:07:17 xff0x joins (~xff0x@ai101218.d.east.v6connect.net)
12:15:37 × falafel quits (~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
12:16:01 kokomop3n0r joins (~kokomop3n@189.174.11.231)
12:16:03 <kokomop3n0r> Geddy Lee, Edna Skilton, and the Gay Dogs - Mrs. Skilton had always loved dogs, and when she learned that many of them were being abandoned or put down because of their sexuality, she knew she had to do something. She started a shelter for gay dogs in Regina, but she faced a lot of opposition from the local Muslim Iman at Darul Falah Islamic Centre, who believed that homosexuality was a sin and
12:16:07 <kokomop3n0r> that dogs were impure animals. Read all about it here: https://pastebin.com/MDeBRL0Y
12:16:37 <tomsmeding> ozone?!
12:16:59 <tomsmeding> dibblego: you still have your @
12:17:14 <haskellbridge> 06<e​ldritchcookie> hello people with experience with the katip library how do i close the file handle of the file scribe?
12:17:41 <kokomop3n0r> eldritchcookie Do you like gay dogs?
12:18:15 <danse-nr3> yeah gay dogs are cute kokomop3n0r
12:18:18 <haskellbridge> 06<e​ldritchcookie> sure why no gay dogs straight dogs bisexual dog asexual dogs all dog are cute
12:18:34 <tomsmeding> eldritchcookie: closeScribe? (I have no clue, just peeked at the haddocks)
12:18:40 <haskellbridge> 06<e​ldritchcookie> why not?
12:18:58 <haskellbridge> 06<e​ldritchcookie> let me show the test
12:20:10 <haskellbridge> 06<e​ldritchcookie> https://play.haskell.org/saved/BfmY3P0P
12:20:25 <haskellbridge> 06<e​ldritchcookie> this is failing with a file closed exception
12:20:32 <tomsmeding> where
12:21:05 <haskellbridge> 06<e​ldritchcookie> on the first readfile if i remove it then the test passes
12:21:20 <tomsmeding> what is the exact exception being thrown?
12:21:44 <haskellbridge> 06<e​ldritchcookie> *** Failed! Exception: 'scribeKCT.log: withFile: resource busy (file is locked)' (after 1 test):
12:21:58 <tomsmeding> that's not a "file closed" execption ;)
12:22:20 <haskellbridge> 06<e​ldritchcookie> sorry i meant to say file not closed
12:23:00 <tomsmeding> okay yeah I don't know :)
12:23:03 × kokomop3n0r quits (~kokomop3n@189.174.11.231) (K-Lined)
12:23:40 <haskellbridge> 06<e​ldritchcookie> would more context help? i can publish my full code to github it is less than 200 lines total
12:24:43 <tomsmeding> not for me I guess -- I'm not actually familiar with katip, just peeked at the haddocks
12:25:32 <lortabac> C​elestial: names in GHC are not just strings, they are structured
12:26:42 <lortabac> there are various kinds of names, one of them is 'Name': https://hackage.haskell.org/package/ghc-9.8.1/docs/GHC-Types-Name.html#t:Name
12:26:54 <haskellbridge> 06<e​ldritchcookie> question can i perform multiple writes in a handle simultaneously? i think the problem is opening the file while it is already open
12:27:46 kayvank joins (~user@52-119-115-185.PUBLIC.monkeybrains.net)
12:30:34 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
12:32:23 <merijn> eldritchcookie: Is that readFile from base? i.e. `String -> IO String`?
12:32:55 <haskellbridge> 06<e​ldritchcookie> yeah
12:33:14 <merijn> That uses lazy IO, which means it won't be closed until the entire output is forced
12:33:20 edr joins (~edr@user/edr)
12:33:24 <merijn> It is a Bad (TM) function, best avoided
12:33:37 <merijn> Not to mention String is a bad datatype for reading in entire files :p
12:34:32 <haskellbridge> 14<m​auke> But the readFile is after the withFile
12:34:37 <merijn> You probably want to use `Data.Text.IO.readFile :: FilePath -> IO Text` which 1) is strict and will close the file before returning and 2) is a more efficient format
12:35:15 <merijn> hmm
12:36:29 <merijn> I don't know what logEnvWithScribe and closeScribes are actually doing
12:36:46 <merijn> also, which OS is this? and are there other test interacting with the same paths?
12:37:09 <haskellbridge> 06<e​ldritchcookie> yeah i guess it only closes the handle later because after switch mkFileScribe to mkHAndleScribe it worked
12:37:19 <haskellbridge> 06<e​ldritchcookie> *switching
12:37:38 <haskellbridge> 06<e​ldritchcookie> it is on Linux more specifically NixOS unstable
12:39:09 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
12:41:14 × danse-nr3 quits (~francesco@151.57.207.38) (Ping timeout: 272 seconds)
12:41:44 × arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
12:45:00 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
12:45:41 ChaiTRex joins (~ChaiTRex@user/chaitrex)
12:46:07 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
12:46:31 ChaiTRex joins (~ChaiTRex@user/chaitrex)
12:47:19 <haskellbridge> 06<e​ldritchcookie> ok what are the steps before uploading to hackage what should i keep in mind?
12:48:42 <tomsmeding> eldritchcookie: 'cabal check', in any case
12:50:31 × pounce quits (~pounce@user/cute/pounce) (Remote host closed the connection)
12:50:49 pounce joins (~pounce@user/cute/pounce)
12:54:10 × mjs2600 quits (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
12:55:58 mjs2600 joins (~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
13:01:40 <haskellbridge> 06<e​ldritchcookie> cabal gen-bounds isn't generating bounds for my test dependencies
13:04:55 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds)
13:04:56 danse-nr3 joins (~francesco@151.57.162.152)
13:05:28 euleritian joins (~euleritia@dynamic-046-114-205-230.46.114.pool.telefonica.de)
13:05:57 <merijn> eldritchcookie: It's because you don't have --enable-tests set :p
13:06:38 <haskellbridge> 06<e​ldritchcookie> Error: cabal: unrecognized 'gen-bounds' option `--enable-tests'
13:06:39 <merijn> "cabal configure --enable-tests --enable-benchmarks" should make a cabal.project.local that ensures they're set to true for every command
13:07:06 <merijn> hmm, maybe gen-bounds isn't smart enough to know about it
13:08:15 <haskellbridge> 06<e​ldritchcookie> ok how do i choose the bounds manually?
13:16:31 <merijn> Generally I just use ^>= (PVP compatible) for the latest version unless I have reasons to do something different
13:17:16 <merijn> See also: http://pvp.haskell.org
13:17:49 × fendor quits (~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578) (Remote host closed the connection)
13:19:38 × lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
13:19:57 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
13:20:04 × idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
13:20:24 ChaiTRex joins (~ChaiTRex@user/chaitrex)
13:22:14 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
13:23:07 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
13:25:10 × danse-nr3 quits (~francesco@151.57.162.152) (Remote host closed the connection)
13:25:35 danse-nr3 joins (~francesco@151.57.162.152)
13:40:20 dorin joins (~dorin@user/dorin)
13:41:35 × Benzi-Junior quits (~BenziJuni@88-149-64-112.du.xdsl.is) (Quit: ZNC 1.8.2 - https://znc.in)
13:42:05 <haskellbridge> 06<e​ldritchcookie> ok when will hackage accept packges with cabal 3.4 at least?
13:42:06 Benzi-Junior joins (~BenziJuni@88-149-64-112.du.xdsl.is)
13:42:30 <haskellbridge> 06<e​ldritchcookie> is there a schedule or is it in the future?
13:43:03 × euleritian quits (~euleritia@dynamic-046-114-205-230.46.114.pool.telefonica.de) (Read error: Connection reset by peer)
13:43:21 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
13:49:42 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
13:50:25 rosco joins (~rosco@yp-150-69.tm.net.my)
13:52:27 <merijn> What makes you say it doesn't?
13:53:58 × Buggys quits (Buggys@Buggy.shelltalk.net) (Ping timeout: 258 seconds)
13:54:41 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
13:55:35 euleritian joins (~euleritia@dynamic-046-114-205-230.46.114.pool.telefonica.de)
13:56:16 <haskellbridge> 06<e​ldritchcookie> i tried to upload a package candidates and it gave me an error saying the max version accepted is 3.0
13:57:01 <merijn> hmm
13:57:09 <merijn> Pretty sure I've stuff uploaded newer than that
13:57:22 <merijn> What's the full error?
13:59:24 <haskellbridge> 06<e​ldritchcookie> 'cabal-version' must be at most 3.0
13:59:51 liamzy__ joins (~Inst@120.244.192.250)
14:02:36 <zero> GHC2021 enables OverloadedStrings by default?
14:03:36 heichro joins (~user@p200300c3cf492d00d2e6407fb98ca48c.dip0.t-ipconnect.de)
14:04:33 × heichro quits (~user@p200300c3cf492d00d2e6407fb98ca48c.dip0.t-ipconnect.de) (Client Quit)
14:05:08 Buggys joins (Buggys@Buggy.shelltalk.net)
14:09:29 sm joins (~sm@plaintextaccounting/sm)
14:11:05 <tomsmeding> zero: no https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/control.html#extension-GHC2021
14:11:06 <merijn> zero: Consult the User's Guide? :)
14:11:31 <tomsmeding> I have this thing bookmarked, it appears if I even type "lan"(guage) in my URL bar https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/table.html
14:14:23 <merijn> In general I consider the GHC User's Guide one of the most underrated documents for beginners
14:14:40 <merijn> (or experts, tbh :p)
14:16:58 × danse-nr3 quits (~francesco@151.57.162.152) (Ping timeout: 252 seconds)
14:21:11 × euleritian quits (~euleritia@dynamic-046-114-205-230.46.114.pool.telefonica.de) (Ping timeout: 258 seconds)
14:21:37 euleritian joins (~euleritia@x52716298.dyn.telefonica.de)
14:27:14 Lycurgus joins (~georg@user/Lycurgus)
14:27:36 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:9328:d635:4cb3:ebef) (Quit: WeeChat 2.8)
14:27:58 <haskellbridge> 06<e​ldritchcookie> if am correct ghci can load compiled code how does it do that?
14:28:52 <haskellbridge> 06<e​ldritchcookie> yeah according to the manual ghci can load ghc compiled modules
14:29:16 <geekosaur> it can load them but it can't do much with them; it has to load interpreted to set breakpoints, for instance
14:29:27 <geekosaur> or to see anything that wasn't exported
14:30:24 <geekosaur> and it loads them the same way ghc does, loading the .hi file for type information and linking the .o / .a file into the ghc instance
14:30:36 <geekosaur> ghci has its own linker
14:31:52 <geekosaur> (well, shared with TH)
14:33:33 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
14:33:42 <haskellbridge> 06<e​ldritchcookie> oh hello geekosaur do you know something amazing? do you remember that old package that loaded dynamically code? it compiles like something from 2016 compiles in modern ghc it is amazing i immediately get a segmentation fault but it is an error that seem resolvable
14:33:42 <haskellbridge> 06<e​ldritchcookie>  placeholder-test: test/Test.o: unknown symbol `base_SystemziIO_putStrLn1_info'
14:33:43 <haskellbridge> 06<e​ldritchcookie> if i am correct i just need to find out how to load base on via the rts
14:34:26 <geekosaur> the plugins package?
14:34:51 <haskellbridge> 06<e​ldritchcookie> https://hackage.haskell.org/package/dynamic-loader
14:34:56 <geekosaur> oh
14:35:00 <haskellbridge> 06<e​ldritchcookie> yeah
14:35:06 <geekosaur> I guess there's several then
14:35:21 <geekosaur> plugins is probably the best known but I don't think it was updated to ghc 9.x
14:36:07 × rosco quits (~rosco@yp-150-69.tm.net.my) (Quit: Lost terminal)
14:36:29 <geekosaur> you can also use hint but it's more work; plugins wraps hint functionality
14:37:56 <geekosaur> also you can't load base as such, you have to link to the existing instance, aiui
14:38:26 <haskellbridge> 06<e​ldritchcookie> does plugins load compiled code or does it interpret code?
14:39:35 <geekosaur> compiled code
14:39:53 <geekosaur> hint can load interpreted code as well, but plugins doesn't use that functionality
14:40:14 sansk joins (~sansk@user/sansk)
14:40:38 <sansk> Is there a way to turn [IO a] -> IO [a] inside a do block?
14:40:51 <geekosaur> :t sequence
14:40:52 <lambdabot> (Traversable t, Monad m) => t (m a) -> m (t a)
14:41:11 <geekosaur> also known as sequenceA since it really only needs Applicative
14:41:38 <geekosaur> @src sequence
14:41:38 <lambdabot> sequence [] = return []
14:41:38 <lambdabot> sequence (x:xs) = do v <- x; vs <- sequence xs; return (v:vs)
14:41:39 <lambdabot> --OR
14:41:39 <lambdabot> sequence xs = foldr (liftM2 (:)) (return []) xs
14:42:49 × MajorBiscuit quits (~MajorBisc@2001:610:450:a0::8:62) (Quit: WeeChat 4.1.0)
14:43:10 <haskellbridge> 06<e​ldritchcookie> above you said i can't load base as such why?
14:43:17 <sansk> thank you, i will try that
14:43:30 <sansk> btw what is this bridging from?
14:43:50 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
14:44:02 <geekosaur> matrix #haskell-irc
14:44:23 <geekosaur> eldritchcookie, because base is wired into the compiler and as such is always loaded
14:44:33 <sansk> ah ok
14:44:57 Guest|16 joins (~Guest|16@130.209.157.49)
14:44:57 <geekosaur> but you sometimes need to do some gymnastics to get at already-loaded symbols
14:46:15 rgw joins (~R@2605:a601:a0df:5600:8d84:33a2:dab6:e31f)
14:47:37 ham joins (~ham@user/ham)
14:47:51 × Guest|16 quits (~Guest|16@130.209.157.49) (Client Quit)
14:48:36 Guest|16 joins (~Guest|16@130.209.157.49)
14:49:46 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
14:51:35 × merijn quits (~merijn@233-142-158-163.dynamic.caiway.nl) (Ping timeout: 240 seconds)
14:51:51 Guest|48 joins (~Guest|48@162.218.92.25)
14:52:41 notzmv joins (~zmv@user/notzmv)
14:54:28 <ski> sansk : also `sequence (map f xs) = mapM f xs' (and `sequence_ (map f xs) = mapM_ f xs')
14:54:39 Sgeo joins (~Sgeo@user/sgeo)
15:00:40 × ski quits (~ski@c188-148-130-34.bredband.tele2.se) (Ping timeout: 258 seconds)
15:03:24 aljazmc_ joins (~aljazmc@user/aljazmc)
15:05:39 <haskellbridge> 06<e​ldritchcookie> yeah you arer wrong i added base then ghc prim then ghc-bignum and it actually worked
15:06:10 <haskellbridge> 06<e​ldritchcookie> unbelievable
15:06:10 × aljazmc quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
15:09:03 × cheater quits (~Username@user/cheater) (Ping timeout: 240 seconds)
15:15:10 sansk parts (~sansk@user/sansk) (WeeChat 4.0.4)
15:15:23 × chele quits (~chele@user/chele) (Remote host closed the connection)
15:16:20 × Guest|48 quits (~Guest|48@162.218.92.25) (Quit: Connection closed)
15:19:23 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
15:19:41 × kiriakos quits (~kiriakos@p57b651b6.dip0.t-ipconnect.de) (Quit: kiriakos)
15:20:33 gatekempt joins (~gatekempt@user/gatekempt)
15:20:44 kiriakos joins (~kiriakos@p57b651b6.dip0.t-ipconnect.de)
15:23:30 wjm joins (~work@2600:4040:5c44:a500:2680:cfb3:b9fe:815d)
15:23:33 santiagopim joins (~user@90.167.66.131)
15:27:03 zero is now known as yin
15:30:03 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
15:32:08 × vpan quits (~vpan@212.117.1.172) (Quit: Leaving.)
15:36:30 <haskellbridge> 06<e​ldritchcookie> was i rude ?
15:37:27 <EvanR> I know one thing, your nick is the only thing with a weird color in this channel xD
15:38:10 <haskellbridge> 06<e​ldritchcookie> it is because i am on matrix xD
15:38:32 ft joins (~ft@p4fc2a529.dip0.t-ipconnect.de)
15:40:26 <geekosaur> I turned on nick coloring on the bridge
15:40:35 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Remote host closed the connection)
15:40:51 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112)
15:40:58 <tomsmeding> 1c2o3l4o5u6r7s
15:41:21 <geekosaur> (also no, I'm just clearing out my inbox)
15:42:05 <int-e> . o O ( quick, somebody set +c )
15:42:14 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
15:42:52 <EvanR> all our technology is from early 20th century so this channel should get a sepiatone filter or something
15:43:29 <int-e> Sounds like a client feature. (my client does filter colors, I'm happier that way)
15:47:20 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
15:47:34 × liamzy__ quits (~Inst@120.244.192.250) (Ping timeout: 255 seconds)
15:48:02 <rgw> or irssi running cool-retro-term
15:51:49 ski joins (~ski@c188-148-130-34.bredband.tele2.se)
15:52:07 × Ranhir quits (~Ranhir@157.97.53.139) (Ping timeout: 252 seconds)
15:53:58 <int-e> rgw: I would consider the terminal emulator to be part of the client stack.
15:56:54 Ranhir joins (~Ranhir@157.97.53.139)
15:58:02 <EvanR> is parsec or read worse in terms of parsing performance
15:58:12 <EvanR> or are they the same
15:58:43 <EvanR> on show data type-like languages
15:59:10 <geekosaur> read is significantly worse
16:00:16 × wjm quits (~work@2600:4040:5c44:a500:2680:cfb3:b9fe:815d) (Remote host closed the connection)
16:00:24 <EvanR> why is that
16:02:08 × gentauro quits (~gentauro@user/gentauro) (Read error: Connection reset by peer)
16:02:16 × Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
16:02:17 econo_ joins (uid147250@id-147250.tinside.irccloud.com)
16:05:40 × Unicorn_Princess quits (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
16:08:14 gentauro joins (~gentauro@user/gentauro)
16:09:53 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
16:12:48 × EvanR quits (~EvanR@user/evanr) (Remote host closed the connection)
16:13:07 EvanR joins (~EvanR@user/evanr)
16:13:13 <geekosaur> it does a lot of extra work to stay within Haskell98 compatibility, and because the underlying parser framework supports multiple parse results (that are never used, but may cause extra backtracking)
16:14:45 <EvanR> what's with the multiple parse results
16:14:53 × kiriakos quits (~kiriakos@p57b651b6.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
16:15:01 <EvanR> is that critical to the parsing strategy
16:15:10 <geekosaur> "that are never used"
16:15:25 <EvanR> I understand never used, so why does it exist
16:15:33 <geekosaur> I'm not sure anyone knows
16:15:36 <EvanR> lol
16:15:55 × ddellacosta quits (~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 255 seconds)
16:16:47 ddellacosta joins (~ddellacos@ool-44c738de.dyn.optonline.net)
16:18:56 liamzy__ joins (~Inst@120.244.192.250)
16:23:05 × ski quits (~ski@c188-148-130-34.bredband.tele2.se) (Ping timeout: 258 seconds)
16:24:26 <EvanR> what about comparing Show and something like blaze-html, is show respectively "significantly worse"
16:25:58 <geekosaur> it's not a whol lot worse but it's not going to be as optimized as blaze-html is
16:26:20 <geekosaur> and I'd expect blaze-html to follow at least slightly different rules
16:26:55 <geekosaur> since Haskell values as source and HTML are somewhat different
16:28:18 fendor joins (~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578)
16:28:25 Ranhir joins (~Ranhir@157.97.53.139)
16:33:39 danza joins (~francesco@151.57.162.152)
16:33:47 <liamzy__> hmmm, a bit unfortunate, looks like Chinese Haskell scene is dead
16:33:50 liamzy__ is now known as Inst
16:34:34 <Inst> there's a 1150 person QQ group, of which only 17 people are highly active :(
16:35:09 <EvanR> that sounds better than this channel
16:35:18 <EvanR> should I learn chinese
16:37:18 billchenchina joins (~billchenc@103.152.35.21)
16:38:25 <haskellbridge> 08<t​ewuzij> What is Chinese Haskell scene?
16:39:35 × euleritian quits (~euleritia@x52716298.dyn.telefonica.de) (Read error: Connection reset by peer)
16:39:53 euleritian joins (~euleritia@77.22.252.56)
16:44:17 × danza quits (~francesco@151.57.162.152) (Ping timeout: 246 seconds)
16:47:58 × billchenchina quits (~billchenc@103.152.35.21) (Remote host closed the connection)
16:53:10 <ghoulguy> geekosaur: is this new color-rendered, highlight breaking matterbridge configuration a standard matterbridge thing?
16:53:32 <geekosaur> yes. I can turn it back off if it's causing problems
16:54:06 <geekosaur> (but highlights should already be broken because I disabled that some time ago by having it insert nonbreaking spaces into nicks, which is another standard thing)
16:54:17 <ghoulguy> it breaks my client support for making the messages look native, so I need to update my client. I mostly wonder what the range of options is and if its natively supported in matterbridge so I can undo it generically
16:54:21 trillp joins (~trillp@2603-8080-6ef0-40f0-0000-0000-0000-1c3a.res6.spectrum.com)
16:55:20 <geekosaur> `Colornicks=true` is an option in standard matterbridge
16:55:32 <ghoulguy> thanks
16:55:39 <Inst> EvanR: I know someone ended up getting recruited for compilers in Nanjing, which is the nice part of China (the area clustered near Shanghai, but not Shanghai itself).
16:55:44 <geekosaur> the only change I made to matterbridge was to update the version of girc it uses as part of trying to diagnose a crash
16:56:08 × CO2 quits (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0)
16:57:15 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:57:16 <geekosaur> I tried at one point to disable sending edits to IRC but it failed because the bridge apparently knows not to send edit notifications to IRC, just the edits as new messages 😞
16:57:57 sansk joins (~sansk@user/sansk)
16:58:09 danza joins (~francesco@151.47.118.222)
16:58:32 <Inst> is it true that Haskell is THE language for parsers? ?:(
16:58:53 <sansk> well it is very easy to write a parser in haskell
16:59:07 <sansk> *parsec libraries are great!
16:59:09 <geekosaur> I would expect SML/NJ to be pretty good at it too
16:59:15 <Inst> and flatparse can outperform nom <3
16:59:30 × Guest|16 quits (~Guest|16@130.209.157.49) (Quit: Connection closed)
16:59:50 <geekosaur> it just doesn't have the cachet that Haskell has
17:00:51 <sansk> scala also has parsley which i have heard good things about
17:01:16 <int-e> It has been said that Haskell is a DSL for writing compilers but I think that has more to do with A(lgebraic)DTs and to some extent with first-class functions than with anything relating to the ease or lack thereof of writing parsers.
17:02:10 × euleritian quits (~euleritia@77.22.252.56) (Ping timeout: 272 seconds)
17:02:15 <int-e> (ADTs come with pattern matching)
17:03:04 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
17:04:19 Unicorn_Princess joins (~Unicorn_P@user/Unicorn-Princess/x-3540542)
17:04:29 × random-jellyfish quits (~tiber@user/random-jellyfish) (Ping timeout: 258 seconds)
17:05:27 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
17:05:27 pixelmonk joins (~pixelmonk@173.46.79.26)
17:05:31 tzh joins (~tzh@c-71-193-181-0.hsd1.or.comcast.net)
17:05:50 <EvanR> Inst, I just wrote a parser for the type signatures in STLC... without a library, but with ViewPatterns https://paste.tomsmeding.com/UTwTZ4BN, type = * | type -> type
17:06:22 <Inst> i'm just wondering if Haskell is worth FFI-ing into for parsers :(
17:06:37 <exarkun> Probably depends what the other side is.
17:08:24 <geekosaur> I'm not sure I would bother, most languages have at least parser generators if not parser combinator libraries
17:08:57 × Fischmiep quits (~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in)
17:08:58 Guest|17 joins (~Guest|17@068-186-020-129.res.spectrum.com)
17:09:00 <sansk> Yeah, most languages have libraries for that
17:09:06 <sansk> Inst: what language?
17:09:33 <Inst> nothing in mind, but i just get the impression that parsers is where Haskell is extremely developed
17:09:44 waleee joins (~waleee@h-176-10-144-38.na.cust.bahnhof.se)
17:09:46 <Inst> compilers, I'm guessing Rust went with OCaml because OCaml has a lower skill ceiling
17:10:16 <EvanR> I get the impression many languages have parser libraries optimized for one sort of subject language over another, usually influenced by the language itself
17:10:32 <EvanR> so megaparsec has a snazzy thing to parse an arbitrary expression language
17:10:46 × danza quits (~francesco@151.47.118.222) (Ping timeout: 252 seconds)
17:13:01 <EvanR> what you make up for in the "ease" of writing the parser in haskell you will pay for in tooling complexity and marshalling the data across process or FFI boundary
17:13:26 <sansk> Inst: yeah you can find a parser library in just about any language, don't worry about using haskell ffi
17:13:56 <Inst> it's more my obsession with Haskell being more used :(
17:14:15 <EvanR> wrote the parser in haskell, now I serialized it to source for so it can go over a link to C, now just gotta parse it xD
17:14:36 <sansk> Inst: then just write the whole thing in haskell :)
17:14:54 <EvanR> ^
17:16:27 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
17:18:59 × phma quits (~phma@host-67-44-208-142.hnremote.net) (Read error: Connection reset by peer)
17:19:47 phma joins (phma@2001:5b0:211f:d828:d963:986:c941:cee8)
17:22:35 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Ping timeout: 240 seconds)
17:23:36 × Moyst_ quits (~moyst@user/moyst) (Read error: Connection reset by peer)
17:24:25 CO2 joins (CO2@gateway/vpn/protonvpn/co2)
17:25:46 Moyst_ joins (~moyst@user/moyst)
17:25:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:26:43 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Remote host closed the connection)
17:30:31 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 260 seconds)
17:31:30 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
17:32:37 idgaen joins (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
17:33:27 danza joins (~francesco@151.47.118.222)
17:42:33 × gatekempt quits (~gatekempt@user/gatekempt) (Remote host closed the connection)
17:45:32 × sansk quits (~sansk@user/sansk) (Quit: WeeChat 4.0.4)
17:48:28 × danza quits (~francesco@151.47.118.222) (Ping timeout: 248 seconds)
17:53:30 Simikando joins (~Simikando@adsl-dyn216.91-127-84.t-com.sk)
17:54:28 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
17:55:09 euleritian joins (~euleritia@x52716298.dyn.telefonica.de)
18:00:34 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
18:00:59 <__monty__> Inst: OCaml has a higher skill ceiling than Haskell? What does that mean?
18:02:05 <Inst> i mean Haskell has a higher skill ceiling than OCaml
18:02:37 <__monty__> The second question still remains.
18:02:39 <geekosaur> you actually said OCaml has a lower skill ceiling
18:02:45 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112)
18:03:13 × euleritian quits (~euleritia@x52716298.dyn.telefonica.de) (Read error: Connection reset by peer)
18:03:25 <Inst> in the sense that Haskell requires more effort to achieve mastery than OCaml
18:03:35 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
18:03:42 <__monty__> Yes they did, I might be reading challenged.
18:04:42 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Read error: Connection reset by peer)
18:04:50 <EvanR> language mastery haha
18:04:56 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112)
18:04:57 <__monty__> Inst: So you mean the barrier to entry is higher for Haskell than OCaml?
18:05:10 <__monty__> Or do you mean you can only get so leet in OCaml?
18:05:26 × juri_ quits (~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 258 seconds)
18:07:06 juri_ joins (~juri@84-19-175-187.pool.ovpn.com)
18:07:55 × coot quits (~coot@89.69.206.216) (Quit: coot)
18:08:06 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Ping timeout: 255 seconds)
18:08:50 <EvanR> your progress bar in language X starts empty then takes a varying number of XP to reach 100%
18:08:51 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
18:08:54 trillp parts (~trillp@2603-8080-6ef0-40f0-0000-0000-0000-1c3a.res6.spectrum.com) (Leaving)
18:09:04 <EvanR> at which point you put master programmer of that language on the resume
18:09:18 × euleritian quits (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
18:09:31 <geekosaur> yeh, I think they meant the first, although I would define "skill ceiling" to be the second
18:10:03 euleritian joins (~euleritia@ip4d16fc38.dynamic.kabel-deutschland.de)
18:10:10 × CO2 quits (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0)
18:10:33 <int-e> The whole idea of a skill ceiling is so odd... there's always more to learn.
18:10:53 <int-e> (programming isn't tic-tac-toe)
18:11:54 <[exa]> I hoped the enumerability bois completely dismantled the whole idea of skill ceiling?
18:12:22 grimacer joins (~grimacer@189.172.57.182)
18:12:48 <haskellbridge> 12<C​elestial> and if there isn't you have to be creative and make up stuff to learn
18:12:52 <haskellbridge> 12<C​elestial> science :D
18:13:15 <geekosaur> first, enumerate every valid program…
18:13:26 <exarkun> [0..]
18:13:27 <exarkun> what next
18:14:16 <haskellbridge> 12<C​elestial> if you give me a finite character limit ...
18:15:29 <grimacer> Read about Governor Samuel Garcia and Naruto's sexual relationship! Check out the exerpt here and click on the link to read the whole thing!
18:15:29 <grimacer> But Samuel Garcia wasn't done yet. He pulled Naruto into one of the bathroom stalls and began to fist him with a rough, insistent force. Naruto cried out with a mix of pain and pleasure as Samuel Garcia's hand stretched him open, his body shaking with intense sensations. As they continued to explore each other's bodies, Naruto couldn't help but feel a sense of taboo excitement. He knew that what they were doing was dangerous and could
18:15:29 <grimacer> ruin both of their reputations, but he couldn't resist the intense pleasure that Samuel Garcia brought him. 
18:15:29 <grimacer> After they finished, Samuel Garcia casually picked the little bits of undigested corn and shrimp tails from the ramen that Naruto had eaten earlier and licked them off his fingers, savoring the flavor. Naruto felt a mix of disgust and arousal as he watched Samuel Garcia, but he knew that he couldn't deny the passion that existed between them. https://justpaste.it/Naruto_Makes_Love_Samuel_Garcia
18:15:38 ChanServ sets mode +o geekosaur
18:15:43 geekosaur sets mode +b *!*@189.172.57.182
18:15:43 grimacer is kicked by geekosaur (grimacer)
18:15:52 geekosaur sets mode -o geekosaur
18:16:18 <EvanR> you don't need a finite character limit!
18:16:41 coot joins (~coot@89-69-206-216.dynamic.chello.pl)
18:18:34 <haskellbridge> 12<C​elestial> well yeah, you could produce infinitely many valud programs then
18:18:47 <haskellbridge> 12<C​elestial> s/valud/valid
18:19:55 <EvanR> then filter by "makes the person who runs this program rich"
18:20:47 sm joins (~sm@plaintextaccounting/sm)
18:22:37 × dostoyevsky2 quits (~sck@user/dostoyevsky2) (Ping timeout: 248 seconds)
18:24:18 <haskellbridge> 12<C​elestial> if you write that function for me, I will gladly `filter makesRich`
18:25:15 <haskellbridge> 12<C​elestial> while at it, please also write me a function that tells me whether a given haskell program terminates in finite time, thanks
18:27:47 <exarkun> is `mapConcurrently id` the most direct thing to do with `[IO a]`? to get `IO [a]` concurrently?
18:28:39 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Remote host closed the connection)
18:28:39 × michalz quits (~michalz@185.246.207.193) (Remote host closed the connection)
18:28:52 <exarkun> The list comes from the applicative instance of [] so I don't know how to go directly from the function that makes the IO a to the mapConcurrently call
18:30:01 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
18:30:29 dostoyevsky2 joins (~sck@user/dostoyevsky2)
18:31:44 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
18:34:51 <Inst> __monty__: I actually mean the second, in the sense that in an OCaml codebase, it's reasonable for everyone to be expected to have proficient to master-level understanding of the language and its idioms
18:35:01 CO2 joins (CO2@gateway/vpn/protonvpn/co2)
18:35:09 <Inst> in Haskell, the same doesn't apply, so that can create issues for onboarding and maintainability
18:36:37 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:42:12 sm joins (~sm@plaintextaccounting/sm)
18:43:04 × Simikando quits (~Simikando@adsl-dyn216.91-127-84.t-com.sk) (Quit: Leaving)
18:46:11 ChanServ sets mode +o litharge
18:46:12 litharge sets mode -bo *!*@189.172.57.182 litharge
18:51:32 <duncan> Inst: It isn't clear to me that that is a real distinction
18:52:09 <Inst> duncan: what is a real distinction?
18:53:03 <duncan> Well, it's not a technical distinction, and there are (shockingly) people who are beginning to learn ocaml
18:53:24 <Inst> but to get to proficiency, does it require more, less, or the same amount of effort?
18:57:53 <exarkun> different people learn in different ways, at different rates, with different outcomes
18:58:07 <exarkun> and effort is hard to measure anyway
18:58:08 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:58:14 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 255 seconds)
18:58:17 <c_wraith> exarkun: can you make use of the Concurrently wrapper in the process? if that's not something you can work in easily, mapConcurrently id is fine
18:58:29 <exarkun> and then how do you measure "mastery"
18:58:55 <exarkun> c_wraith: hm!
18:59:25 × _xor quits (~xor@72.49.199.93) (Read error: Connection reset by peer)
18:59:56 × dcoutts quits (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 255 seconds)
19:01:47 _xor joins (~xor@72.49.199.93)
19:02:20 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112)
19:03:48 <duncan> Inst: there are two different things going on, there's proficiency in the language and there's a commercial codebase
19:04:20 <duncan> the latter is distinctly unlikely to require less effort in Haskell than ocaml
19:04:28 <geekosaur> three, since a commercial codebase implies commercial users and you need familiarity with what they need
19:04:34 <geekosaur> or are looking for
19:06:46 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112) (Ping timeout: 260 seconds)
19:09:04 × Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 258 seconds)
19:11:02 Maxdamantus joins (~Maxdamant@user/maxdamantus)
19:11:07 heichro joins (~user@p200300c3cf492d00d2e6407fb98ca48c.dip0.t-ipconnect.de)
19:13:08 × heichro quits (~user@p200300c3cf492d00d2e6407fb98ca48c.dip0.t-ipconnect.de) (Remote host closed the connection)
19:13:42 pavonia joins (~user@user/siracusa)
19:19:02 × pixelmonk quits (~pixelmonk@173.46.79.26) (Ping timeout: 258 seconds)
19:21:56 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
19:28:37 <int-e> Oh yeah what happened to ozone?
19:29:31 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
19:29:35 <geekosaur> left the channel because it didn't seem to be needed. we can /invite it again if needed
19:30:57 <geekosaur> Oct 18 16:24:50 * ozone (ozone@libera/bot/ozone) has left (Leaving the channel. /invite ozone again if needed)
19:31:02 <int-e> Would it help with that Samuel Garcia spam? That's the only recurring thing right now I think.
19:31:43 <tomsmeding> that's what it was invited for in the first place, recently
19:31:57 <tomsmeding> it was so-so effective with it
19:32:51 pixelmonk joins (~pixelmonk@173.46.79.26)
19:38:03 sm joins (~sm@plaintextaccounting/sm)
19:42:03 target_i joins (~target_i@217.175.14.39)
19:43:44 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
19:44:00 michalz joins (~michalz@185.246.207.200)
19:44:45 × idgaen quits (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.5)
19:47:09 Lycurgus joins (~georg@user/Lycurgus)
19:48:33 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
19:49:13 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
19:49:48 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:a583:cfb:37b7:5112)
19:52:24 <EvanR> I was looking for the proper nomenclature for this thing back when we were talking about DList... data JList a = Empty | Single a | Join (JList a) (JList a), called a join list by ghc wiki
19:54:04 <EvanR> O(1) concat! ooo ahh
19:54:23 <int-e> "binary tree"
19:54:55 <exarkun> int-e: so pedestrian
19:55:11 <int-e> Just telling it how I see it.
19:58:42 <[exa]> isn't it kinda isomorphic to a free Maybe?
19:59:55 <[exa]> ah no it branches too much :D
20:00:15 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
20:00:35 sm joins (~sm@plaintextaccounting/sm)
20:01:41 <c_wraith> It's like Free Pair
20:01:41 <int-e> It's more of a monoid over `a` without the monoid laws.
20:02:08 <c_wraith> where data Pair a = Pair a a
20:02:15 <int-e> (...which given that it captures a monoid shouldn't be surprising)
20:02:49 <c_wraith> Oh, not quite. It needs an empty constructor too. Well that's not a common type at all.
20:02:50 <int-e> wouldn't you need `Pair a a | Empty`
20:03:05 <int-e> What's that, Compose Maybe Pair
20:03:15 <c_wraith> yes
20:03:24 <c_wraith> Free (Compose Maybe Pair)
20:03:30 <c_wraith> ... that's way too awkward :)
20:03:51 <EvanR> JList
20:04:00 <EvanR> you're welcome
20:04:04 <int-e> obfuscation++; insight--;
20:04:28 <EvanR> @karma obfuscation
20:04:28 <lambdabot> obfuscation has a karma of 0
20:05:23 <int-e> I don't think it triggers like that.
20:05:44 × sm quits (~sm@plaintextaccounting/sm) (Ping timeout: 255 seconds)
20:07:17 × gooba quits (~gooba@90-231-13-185-no3430.tbcn.telia.com) (Remote host closed the connection)
20:09:18 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
20:11:43 × Square2 quits (~Square@user/square) (Remote host closed the connection)
20:11:45 × Lycurgus quits (~georg@user/Lycurgus) (Quit: leaving)
20:12:19 × tcard quits (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving)
20:12:54 drjeff16 joins (~drjeff16@user/K3nnethJ3fferson)
20:13:09 drjeff16 is now known as DrKJeff16
20:14:14 tcard joins (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303)
20:16:58 DrKJeff16 is away: AFK
20:17:46 <int-e> I hate clients that do that.
20:19:13 × qqq quits (~qqq@92.43.167.61) (Quit: leaving)
20:21:01 <DrKJeff16> Pardon me?
20:21:23 <geekosaur> verbose away
20:21:30 <geekosaur> [27 20:16:58] * DrKJeff16 is away: AFK
20:21:45 Pickchea joins (~private@user/pickchea)
20:22:03 DrKJeff16 is back (gone 00:05:05)
20:22:06 <EvanR> sorry for barging in but I'm Away
20:22:33 <DrKJeff16> Apologies, I'm getting the hang of using Weechat, will fix ASAP.
20:22:56 <mauke> why is that even a thing? :-D
20:23:02 <int-e> DrKJeff16: Sorry I could've pointed that out in a more friendly way.
20:23:59 × DrKJeff16 quits (~drjeff16@user/K3nnethJ3fferson) (Quit: WeeChat 4.0.5)
20:28:22 drjeff16 joins (~drjeff16@user/K3nnethJ3fferson)
20:28:39 drjeff16 is now known as DrKJeff16
20:31:36 <Inst> btw, was briefly discussing STRef with someone
20:31:55 <Inst> I'm wondering if STUArray etc doesn't suffer a performance penalty?
20:32:40 <Inst> or is STRef actually performant when working with unboxed values?
20:34:18 <EvanR> you can't put an unboxed value in an STRef
20:35:06 <EvanR> unboxed values have to be handled directly
20:35:13 <EvanR> or packed into an array
20:35:41 <EvanR> or in an unboxed field of a data structure!
20:37:59 trev joins (~trev@user/trev)
20:40:23 × fendor quits (~fendor@2a02:8388:1640:be00:4648:ee17:640e:e578) (Remote host closed the connection)
20:41:42 × mc47 quits (~mc47@xmonad/TheMC47) (Remote host closed the connection)
20:48:16 sm joins (~sm@plaintextaccounting/sm)
20:52:27 dcoutts joins (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net)
21:03:29 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:05:43 × waleee quits (~waleee@h-176-10-144-38.na.cust.bahnhof.se) (Ping timeout: 255 seconds)
21:07:51 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
21:07:59 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:09:28 × Jackneill quits (~Jackneill@20014C4E1E03D8000F82DBB60140E9E2.dsl.pool.telekom.hu) (Ping timeout: 252 seconds)
21:09:28 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
21:11:05 sm joins (~sm@plaintextaccounting/sm)
21:13:25 × CO2 quits (CO2@gateway/vpn/protonvpn/co2) (Quit: WeeChat 4.1.0)
21:18:12 × coot quits (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
21:19:50 × DrKJeff16 quits (~drjeff16@user/K3nnethJ3fferson) (Quit: DrKJeff16)
21:20:49 × trev quits (~trev@user/trev) (Quit: trev)
21:21:55 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Ping timeout: 255 seconds)
21:26:38 <davean> EvanR: yah, you'd need a PrimVar ;)
21:28:23 <davean> Inst: I'm not sure why you relate STRef and STUArray
21:30:11 <davean> Inst: STUArray is one indirection faster.
21:30:28 <davean> it does not use or relate to STRef
21:36:01 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
21:38:19 × michalz quits (~michalz@185.246.207.200) (Remote host closed the connection)
21:38:20 <Inst> except both are manipulated via ST type?
21:40:19 <EvanR> STRef is like IORef but can't escape the ST thread
21:42:09 <davean> Inst: Thats a pretty remote relationship? I mean you can say something similar about writeFile
21:42:34 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:42:49 <Inst> on, the context is that i'm trying to clean up a Jon Bontley quicksort ported to Haskell
21:42:56 Pickchea joins (~private@user/pickchea)
21:43:17 <Inst> https://stackoverflow.com/questions/10049579/jon-bentleys-beautiful-quicksort-how-does-it-even-work
21:43:36 <Inst> the point of doing a ST quicksort is so that it's in place
21:43:48 <Inst> and switching to STref sort of defeats the point, no?
21:43:50 derpyxdhs joins (~Thunderbi@user/derpyxdhs)
21:44:18 <Inst> on the other hand, the point of the bentley is that it's "elegant", and i'd want to get my Haskell in-place mutating quicksort to be as elegant
21:44:49 <EvanR> STRef is mutated in place just like IORef
21:45:14 <davean> Inst: no that doesn't defeat the point, its still in place and can require moving FAR less data to move the pointers.
21:45:18 <John_Ivan_> does anyone else's "http-conduit" library give undefined symbol errors to it's dependencies like "ghczupwrapper", "hashablezml", "zzlib", when trying to compile "L.unpack <$> simpleHttp url" ?
21:45:33 <John_Ivan_> I suspect the library's broken. Otherwise, might be me doing something wrong?
21:46:06 <Inst> iirc there's some benchmarks that suggest that accumulating parameter is generally faster than STRef and by implication IORef when it comes to lots of writes
21:46:12 nate2 joins (~nate@c-98-45-169-16.hsd1.ca.comcast.net)
21:46:15 <John_Ivan_> all I did was add the dependency to my cabal file, imported the lib and did a "cabal build".
21:46:49 × sm quits (~sm@plaintextaccounting/sm) (Quit: sm)
21:47:15 <davean> Inst: those are fundimently different things, doing fundimentally different things, of course they're different.
21:47:19 <EvanR> Inst, if the thing in the accumulator can be efficiently updated in an immutable way (e.g. it's a single Int), then sure
21:47:36 CO2 joins (CO2@gateway/vpn/protonvpn/co2)
21:47:55 <EvanR> mutable variables incur additional gc bookkeeping, but it might be worth it for your algorithm
21:48:15 <Inst> my target is more to try to get it to look clean without cutting corners
21:48:21 <Inst> if you wanted cleanliness at all costs, umm
21:48:26 <davean> Inst: you really need to learn about trade offs, you are completely ignoring things like having to copy the data.
21:49:05 <EvanR> so make it look clean and don't worry about performance?
21:49:14 <davean> I can give you datatypes where a single copy will cost more than the entire sort.
21:50:41 <Inst> quicksort xs = if null xs then xs else quicksort (filter (<= head xs) xs) ++ head xs ++ quicksort (filter (> head xs) xs)
21:50:56 × nate2 quits (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
21:51:02 <EvanR> nice
21:51:17 <int-e> also a bit wrong
21:51:23 <Inst> whoops quicksort xs = if null xs then xs else quicksort (filter (<= head xs) xs) ++ [head xs] ++ quicksort (filter (> head xs) xs)
21:51:31 <int-e> still wrong
21:51:44 <Inst> i mean that QS isn't even a quicksort, is that why it's wrong?
21:51:47 <int-e> though now it should typecheck
21:51:59 <davean> Also, seriously, filter not partition?
21:52:23 <Inst> it's a one liner, and this isn't in place at all
21:52:48 <EvanR> <= and > seems to exclude nothing
21:52:48 <davean> oh I just find filter much less eligant than partitioning
21:52:57 <Inst> oh, whoops
21:53:07 <int-e> > let quicksort xs = if null xs then xs else quicksort (filter (<= head xs) xs) ++ [head xs] ++ quicksort (filter (> head xs) xs) in quicksort [42]
21:53:11 <Inst> quicksort xs = if null xs then xs else quicksort (filter (<= head xs) (tail xs)) ++ head xs ++ quicksort (filter (> head xs) (tail xs))
21:53:13 <lambdabot> mueval-core: Time limit exceeded
21:53:40 <Inst> > quicksort xs = if null xs then xs else quicksort (filter (<= head xs) (tail xs)) ++ head xs ++ quicksort (filter (> head xs) (tail xs))
21:53:42 <lambdabot> <hint>:1:14: error: parse error on input ‘=’
21:54:19 <Inst> > let quicksort xs = if null xs then xs else quicksort (filter (<= head xs) (tail xs)) ++ [head xs] ++ quicksort (filter (> head xs) (tail xs)) in quicksort [44,43..1]
21:54:20 <lambdabot> [1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,...
21:54:50 waleee joins (~waleee@h-176-10-144-38.NA.cust.bahnhof.se)
21:55:07 sm joins (~sm@plaintextaccounting/sm)
21:55:32 × derpyxdhs quits (~Thunderbi@user/derpyxdhs) (Quit: derpyxdhs)
21:55:35 <davean> I really think partition shows it off better
21:55:38 × sm quits (~sm@plaintextaccounting/sm) (Client Quit)
21:55:41 <davean> particular its symetry, etc.
21:55:52 <EvanR> is the goal to be "clean", "in-place", or "\"performant\"", gotta decide
21:56:04 <Inst> https://paste.tomsmeding.com/bisFWB96
21:56:11 <davean> EvanR: Oh in Haskell we often can have all 3 with a little work.
21:56:49 <EvanR> pick 3
21:56:52 <EvanR> lol
21:57:18 <Inst> my version is a big improvement on earlier overgolfed versions
21:57:19 <davean> Its really a choice of 4 things, and we just ignore "engenering time" is a factor we might ever pick.
21:57:36 × fweht quits (uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
21:58:07 <davean> Thats ok though, because maintance is so much lower!
21:58:09 <int-e> Inst: lines 22-23 are needlessly cute
22:00:27 <Inst> i like mapM_ :(
22:00:35 <Inst> other needless cute options:
22:00:42 <int-e> and meh, those do blocks on lines 18-19 is also ugly
22:00:49 <Inst> first `qs` (pivSwapTo - 1)
22:01:03 <EvanR> Arrows...
22:01:23 <EvanR> Arrow code is an all-in or all-out thing xD
22:02:07 <geekosaur> h-Arrow-ing
22:03:08 <int-e> nice pun
22:03:34 <Inst> unfortunately the function default precedence doesn't play well with addition / subtraction operators :(
22:03:49 <int-e> that's what parentheses are for
22:04:51 merijn joins (~merijn@233-142-158-163.dynamic.caiway.nl)
22:05:41 <EvanR> parentheses?! what do you think this is, lisp?
22:07:10 <int-e> > (+ 1 2)
22:07:11 <lambdabot> error:
22:07:11 <lambdabot> • Could not deduce (Num t0)
22:07:11 <lambdabot> from the context: (Num a, Num t, Num (t -> a))
22:07:18 <int-e> I rather suspect it isn't
22:07:28 <Inst> > ((+) 1 2)
22:07:29 <lambdabot> 3
22:08:05 <EvanR> we like to do railyard shunting to figure out how the expression is treed
22:08:24 <Inst> i guess i should go convert the code to STRef and see how it works out?
22:09:10 × merijn quits (~merijn@233-142-158-163.dynamic.caiway.nl) (Ping timeout: 255 seconds)
22:09:25 <haskellbridge> 12<C​elestial> with a lisp that would be haßkell
22:15:31 <mauke> > (+ 1 2) 1
22:15:32 <lambdabot> error:
22:15:32 <lambdabot> • Could not deduce (Num t0)
22:15:32 <lambdabot> from the context: (Num a, Num t, Num (t -> a))
22:16:02 <EvanR> can the matrixers not use lambdabot
22:17:14 <ghoulguy> All their messages are prefixed with a nickname, so probably not
22:18:37 × Guest|17 quits (~Guest|17@068-186-020-129.res.spectrum.com) (Ping timeout: 255 seconds)
22:23:26 <Unicorn_Princess> https://gitlab.haskell.org/ghc/ghc/-/issues/602 :|
22:26:23 <EvanR> the gist I got is it would be nice if you could enable language pragmas only for certain pieces of a source file
22:26:39 <Unicorn_Princess> perhaps my grandchildren will be able to
22:26:45 <Unicorn_Princess> at this rate
22:27:26 × hololeap quits (~quassel@user/hololeap) (Quit: Bye)
22:27:41 <EvanR> I guess we need to switch to NeoHaskell
22:28:24 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 258 seconds)
22:28:40 hololeap joins (~quassel@user/hololeap)
22:32:35 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
22:36:14 × aljazmc_ quits (~aljazmc@user/aljazmc) (Remote host closed the connection)
22:36:37 tan00kee joins (~paul@pauloliver.dev)
22:38:28 <rgw> wow that issue was created 19 years ago
22:38:38 <rgw> i'm sure it will be handled any day now
22:38:58 <dostoyevsky2> Is it true tht NeoHaskell uses Comic Sans as the default font?
22:39:39 <geekosaur> they are in fact working toward selective warning suppression
22:39:45 <c_wraith> no. if it did, it would have
22:39:51 <c_wraith> some reason to use it
22:39:56 <rgw> is neohaskell a haskell meme now?
22:43:34 × phma quits (phma@2001:5b0:211f:d828:d963:986:c941:cee8) (Read error: Connection reset by peer)
22:43:57 phma joins (~phma@host-67-44-208-132.hnremote.net)
22:50:35 × acidjnk quits (~acidjnk@p200300d6e72b9302c5eda31b9368d419.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
22:53:24 <yushyin> always was
22:54:18 <yushyin> or better, 'always has been' with this other meme image, https://imgflip.com/s/meme/Always-Has-Been.png
22:54:34 <rgw> that's the way i read it
22:58:15 <dostoyevsky2> I prefer EmojiHaskell more, though.. NeoHaskell sounds a bit dated imho
22:59:18 <yushyin> rgw: https://i.imgflip.com/843d9w.jpg :P?
23:00:11 × waleee quits (~waleee@h-176-10-144-38.NA.cust.bahnhof.se) (Quit: WeeChat 4.0.2)
23:00:31 <rgw> posthaskell
23:01:05 <geekosaur> emoji is so 3 years ago
23:01:25 <rgw> it's all about animated gifs now
23:03:19 × Tuplanolla quits (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
23:03:44 × target_i quits (~target_i@217.175.14.39) (Quit: leaving)
23:05:17 Square joins (~Square@user/square)
23:05:44 × santiagopim quits (~user@90.167.66.131) (Ping timeout: 255 seconds)
23:10:39 × dorin quits (~dorin@user/dorin) (Ping timeout: 248 seconds)
23:11:13 falafel joins (~falafel@62.175.113.194.dyn.user.ono.com)
23:15:47 gooba joins (~gooba@90-231-13-185-no3430.tbcn.telia.com)
23:16:07 arahael joins (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net)
23:22:31 <Inst> davean, so, you were right about the STRef
23:23:07 × chomwitt quits (~chomwitt@2a02:587:7a01:8f00:1ac0:4dff:fedb:a3f1) (Ping timeout: 264 seconds)
23:27:09 <Inst> i'll probably cook it into a proper benchmark later
23:29:58 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
23:32:30 <Inst> I'm extremely annoyed that STRef is outperforming accum parameter, by up to 50%, in this case, however
23:41:14 × arahael quits (~arahael@119-18-2-212.771202.syd.nbn.aussiebb.net) (Ping timeout: 258 seconds)
23:43:51 × TheCoffeMaker quits (~TheCoffeM@user/thecoffemaker) (Ping timeout: 260 seconds)
23:56:58 × chexum quits (~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
23:57:07 chexum_ joins (~quassel@gateway/tor-sasl/chexum)

All times are in UTC on 2023-10-27.