2023/04/19

2023-04-19 00:01:05 +0200codaraxis(~codaraxis@user/codaraxis)
2023-04-19 00:03:23 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 250 seconds)
2023-04-19 00:07:12 +0200pharonix71(~pharonix7@user/pharonix71) (Remote host closed the connection)
2023-04-19 00:09:21 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-04-19 00:09:47 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-04-19 00:15:45 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 240 seconds)
2023-04-19 00:19:29 +0200dsrt^(~dsrt@c-76-105-96-13.hsd1.ga.comcast.net)
2023-04-19 00:27:20 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-04-19 00:29:39 +0200bratwurst(~dfadsva@2604:3d09:207f:f650::708a)
2023-04-19 00:31:07 +0200acidjnk(~acidjnk@p200300d6e715c424008a03a563343fd8.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2023-04-19 00:32:30 +0200jargon(~jargon@174-22-213-236.phnx.qwest.net)
2023-04-19 00:32:50 +0200falafel(~falafel@2603-8000-d700-115c-eb67-f21a-fab0-8b30.res6.spectrum.com)
2023-04-19 00:33:13 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-04-19 00:35:13 +0200michalz(~michalz@185.246.207.203) (Remote host closed the connection)
2023-04-19 00:35:25 +0200slaydr(~slaydr@97-120-80-7.ptld.qwest.net)
2023-04-19 00:37:17 +0200 <slaydr> I'm seeing something I've never seen before with ghcup's GHC9.4.2. When I compile a file (Main.hs) using ghc Main, I don't get the linking executable Main, just Main.hi and Main.o
2023-04-19 00:40:05 +0200 <slaydr> If I load Main.hs into ghci, I can execute main there
2023-04-19 00:41:04 +0200 <geekosaur> seems to work in 9.4.4
2023-04-19 00:42:19 +0200 <slaydr> I tried GHC9.4.2 and GHC9.2.7
2023-04-19 00:47:56 +0200doyougnu(~doyougnu@cpe-74-69-132-225.stny.res.rr.com)
2023-04-19 00:48:29 +0200 <slaydr> Ok. I found a discussion pointing to a problem with binutils-gold. I don't have that installed buy I do have ld.gold in /usr/bin/. Do you have ld.gold in /usr/bin/, geekosaur?
2023-04-19 00:48:57 +0200 <slaydr> it's actually shown as ld.gold*
2023-04-19 00:49:26 +0200 <geekosaur> yes, I do
2023-04-19 00:49:31 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-04-19 00:49:32 +0200shriekingnoise_(~shrieking@186.137.175.87)
2023-04-19 00:50:09 +0200 <slaydr> thanks for checking.
2023-04-19 00:51:26 +0200 <geekosaur> https://paste.tomsmeding.com/Sa1tj7i3
2023-04-19 00:51:42 +0200 <geekosaur> and on my system (ubuntu) it comes from the binutils package
2023-04-19 00:51:58 +0200 <geekosaur> don't assume that a package name automatically applies to your distribution…
2023-04-19 00:53:06 +0200 <slaydr> Your right, it doesn't. Using Arcolinux
2023-04-19 00:53:07 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 00:56:21 +0200Techcable(~Techcable@user/Techcable)
2023-04-19 01:03:13 +0200NiceBird(~NiceBird@185.133.111.196) (Ping timeout: 276 seconds)
2023-04-19 01:04:28 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au)
2023-04-19 01:11:23 +0200mncheck(~mncheck@193.224.205.254) (Ping timeout: 246 seconds)
2023-04-19 01:17:59 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-04-19 01:20:59 +0200smallville7123_(~JScript@cpe-172-193-72-46.qld.foxtel.net.au) (Read error: Connection reset by peer)
2023-04-19 01:21:25 +0200JScript(~JScript@103.137.12.133)
2023-04-19 01:21:28 +0200JScript(~JScript@103.137.12.133) (Max SendQ exceeded)
2023-04-19 01:21:59 +0200JScript(~JScript@103.137.12.133)
2023-04-19 01:22:20 +0200nate1(~nate@98.45.169.16)
2023-04-19 01:25:07 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2023-04-19 01:25:43 +0200falafel(~falafel@2603-8000-d700-115c-eb67-f21a-fab0-8b30.res6.spectrum.com) (Ping timeout: 250 seconds)
2023-04-19 01:26:45 +0200nate1(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-04-19 01:27:05 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-04-19 01:33:50 +0200xff0x(~xff0x@2405:6580:b080:900:47f6:92dd:c4d9:cca7) (Ping timeout: 246 seconds)
2023-04-19 01:34:14 +0200bratwurst(~dfadsva@2604:3d09:207f:f650::708a) (Quit: Leaving)
2023-04-19 01:34:15 +0200xff0x(~xff0x@178.255.149.135)
2023-04-19 01:38:03 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 01:40:20 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
2023-04-19 01:46:05 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-19 01:46:06 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-19 01:46:06 +0200wroathe(~wroathe@user/wroathe)
2023-04-19 01:46:07 +0200johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (ERC 5.4 (IRC client for GNU Emacs 28.2))
2023-04-19 01:49:39 +0200xff0x(~xff0x@178.255.149.135) (Ping timeout: 260 seconds)
2023-04-19 01:51:28 +0200xff0x(~xff0x@2405:6580:b080:900:47f6:92dd:c4d9:cca7)
2023-04-19 01:52:07 +0200mauke_(~mauke@user/mauke)
2023-04-19 01:53:34 +0200mauke(~mauke@user/mauke) (Ping timeout: 252 seconds)
2023-04-19 01:53:34 +0200mauke_mauke
2023-04-19 01:56:52 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-04-19 01:59:27 +0200sammelweis(~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds)
2023-04-19 02:04:43 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 250 seconds)
2023-04-19 02:06:25 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds)
2023-04-19 02:06:40 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-04-19 02:09:09 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-04-19 02:18:21 +0200pavonia(~user@user/siracusa)
2023-04-19 02:25:39 +0200chanceyan(~chanceyan@user/chanceyan)
2023-04-19 02:29:05 +0200gurkenglas(~gurkengla@dynamic-046-114-178-126.46.114.pool.telefonica.de) (Ping timeout: 265 seconds)
2023-04-19 02:29:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection)
2023-04-19 02:33:53 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 02:36:17 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-04-19 02:40:59 +0200kee(~~kee@user/wizzwizz4) (Ping timeout: 246 seconds)
2023-04-19 02:41:59 +0200kee(~~kee@user/wizzwizz4)
2023-04-19 02:43:23 +0200chanceyan(~chanceyan@user/chanceyan) (Quit: chanceyan)
2023-04-19 02:43:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection)
2023-04-19 02:47:27 +0200forell(~forell@user/forell) (Ping timeout: 265 seconds)
2023-04-19 02:49:25 +0200forell(~forell@user/forell)
2023-04-19 02:51:13 +0200slaydr(~slaydr@97-120-80-7.ptld.qwest.net) (Quit: Leaving)
2023-04-19 02:53:34 +0200ryantrinkle(~ryantrink@38.27.99.245) (Ping timeout: 252 seconds)
2023-04-19 03:01:04 +0200pyook(~puke@user/puke)
2023-04-19 03:02:03 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 03:10:41 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-04-19 03:13:16 +0200ryantrinkle(~ryantrink@38.27.99.245)
2023-04-19 03:16:33 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-04-19 03:16:48 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-04-19 03:24:02 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 03:24:11 +0200gehmehgeh(~user@user/gehmehgeh)
2023-04-19 03:26:01 +0200kee(~~kee@user/wizzwizz4) (Ping timeout: 252 seconds)
2023-04-19 03:27:20 +0200gmg(~user@user/gehmehgeh) (Ping timeout: 255 seconds)
2023-04-19 03:30:56 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2023-04-19 03:31:41 +0200kee(~~kee@user/wizzwizz4)
2023-04-19 03:44:00 +0200xff0x(~xff0x@2405:6580:b080:900:47f6:92dd:c4d9:cca7) (Ping timeout: 265 seconds)
2023-04-19 03:44:14 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-04-19 03:45:27 +0200pharonix71(~pharonix7@user/pharonix71)
2023-04-19 03:50:28 +0200falafel(~falafel@2603-8000-d700-115c-c6ba-48dd-9fbf-e990.res6.spectrum.com)
2023-04-19 03:58:24 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
2023-04-19 03:59:51 +0200jero98772(~jero98772@2800:484:1d84:9000::4)
2023-04-19 04:00:00 +0200codaraxis(~codaraxis@user/codaraxis) (Ping timeout: 248 seconds)
2023-04-19 04:05:05 +0200forell(~forell@user/forell) (Ping timeout: 240 seconds)
2023-04-19 04:05:36 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-04-19 04:06:04 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-04-19 04:07:06 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net)
2023-04-19 04:07:24 +0200td_(~td@i53870902.versanet.de) (Ping timeout: 255 seconds)
2023-04-19 04:08:39 +0200doyougnu(~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 265 seconds)
2023-04-19 04:09:15 +0200td_(~td@i5387091D.versanet.de)
2023-04-19 04:10:39 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Client Quit)
2023-04-19 04:10:54 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net)
2023-04-19 04:12:33 +0200forell(~forell@user/forell)
2023-04-19 04:15:26 +0200nate1(~nate@98.45.169.16)
2023-04-19 04:24:42 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2023-04-19 04:28:35 +0200falafel(~falafel@2603-8000-d700-115c-c6ba-48dd-9fbf-e990.res6.spectrum.com) (Ping timeout: 250 seconds)
2023-04-19 04:29:28 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-04-19 04:29:51 +0200codaraxis(~codaraxis@user/codaraxis)
2023-04-19 04:31:15 +0200forell(~forell@user/forell) (Ping timeout: 260 seconds)
2023-04-19 04:32:21 +0200codaraxis(~codaraxis@user/codaraxis) (Max SendQ exceeded)
2023-04-19 04:33:10 +0200codaraxis(~codaraxis@user/codaraxis)
2023-04-19 04:33:26 +0200blankhart(~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Quit: WeeChat 3.5)
2023-04-19 04:35:39 +0200forell(~forell@user/forell)
2023-04-19 04:37:10 +0200thegeekinside(~thegeekin@189.180.119.50) (Ping timeout: 265 seconds)
2023-04-19 05:01:50 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
2023-04-19 05:02:18 +0200jero98772(~jero98772@2800:484:1d84:9000::4) (Remote host closed the connection)
2023-04-19 05:02:39 +0200opticblast(~Thunderbi@172.58.87.218)
2023-04-19 05:04:01 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com)
2023-04-19 05:04:01 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-04-19 05:07:08 +0200roboguy_(~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Client Quit)
2023-04-19 05:08:01 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds)
2023-04-19 05:18:25 +0200nate1(~nate@98.45.169.16) (Ping timeout: 240 seconds)
2023-04-19 05:21:39 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection)
2023-04-19 05:22:14 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-04-19 05:41:27 +0200codaraxis__(~codaraxis@user/codaraxis)
2023-04-19 05:45:19 +0200codaraxis(~codaraxis@user/codaraxis) (Ping timeout: 265 seconds)
2023-04-19 05:54:28 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 06:08:39 +0200jargon(~jargon@174-22-213-236.phnx.qwest.net) (Remote host closed the connection)
2023-04-19 06:17:21 +0200mbuf(~Shakthi@49.207.178.186)
2023-04-19 06:18:15 +0200polykernel[m](~polykerne@user/polykernel)
2023-04-19 06:23:07 +0200Sauvin(~sauvin@user/Sauvin) (Ping timeout: 252 seconds)
2023-04-19 06:26:23 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-04-19 06:26:54 +0200Sauvin(~sauvin@user/Sauvin)
2023-04-19 06:28:25 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-04-19 06:30:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-04-19 06:39:37 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2023-04-19 06:45:51 +0200jero98772(~jero98772@2800:484:1d84:9000::4)
2023-04-19 06:49:40 +0200shriekingnoise_(~shrieking@186.137.175.87) (Ping timeout: 276 seconds)
2023-04-19 06:50:25 +0200piele(~piele@tbonesteak.creativeserver.net) (Remote host closed the connection)
2023-04-19 06:51:37 +0200piele(~piele@tbonesteak.creativeserver.net)
2023-04-19 06:53:49 +0200zer0bitz_(~zer0bitz@196.244.192.61)
2023-04-19 06:54:56 +0200zer0bitz(~zer0bitz@2001:2003:f443:d600:a0d9:2bf4:3f2:ae1) (Ping timeout: 248 seconds)
2023-04-19 06:55:19 +0200ormaaj1ormaaj
2023-04-19 06:57:31 +0200hayden_(~hayden@72.92.246.5)
2023-04-19 07:06:27 +0200bgs(~bgs@212-85-160-171.dynamic.telemach.net)
2023-04-19 07:11:16 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-04-19 07:11:44 +0200bliminse(~bliminse@user/bliminse) (Quit: leaving)
2023-04-19 07:14:54 +0200codaraxis___(~codaraxis@user/codaraxis)
2023-04-19 07:16:48 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Remote host closed the connection)
2023-04-19 07:16:51 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-04-19 07:17:29 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-19 07:18:48 +0200codaraxis__(~codaraxis@user/codaraxis) (Ping timeout: 264 seconds)
2023-04-19 07:21:36 +0200ddellacosta(~ddellacos@143.244.47.70) (Ping timeout: 248 seconds)
2023-04-19 07:37:08 +0200bliminse(~bliminse@user/bliminse)
2023-04-19 07:37:08 +0200bliminse(~bliminse@user/bliminse) (Client Quit)
2023-04-19 07:37:47 +0200bliminse(~bliminse@user/bliminse)
2023-04-19 07:48:45 +0200dsrt^(~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Ping timeout: 240 seconds)
2023-04-19 07:56:24 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2023-04-19 07:57:57 +0200Square2(~Square4@user/square)
2023-04-19 07:59:24 +0200falafel(~falafel@2603-8000-d700-115c-9b6c-1c37-19a4-8386.res6.spectrum.com)
2023-04-19 08:01:30 +0200jero98772(~jero98772@2800:484:1d84:9000::4) (Remote host closed the connection)
2023-04-19 08:12:53 +0200mmhat(~mmh@p200300f1c7106ed0ee086bfffe095315.dip0.t-ipconnect.de)
2023-04-19 08:13:36 +0200mmhat(~mmh@p200300f1c7106ed0ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-04-19 08:17:15 +0200tr_ev(~trev@user/trev)
2023-04-19 08:25:06 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 08:27:08 +0200michalz(~michalz@185.246.207.200)
2023-04-19 08:28:02 +0200tr_evtrev
2023-04-19 08:30:17 +0200CiaoSen(~Jura@ip-109-43-178-193.web.vodafone.de)
2023-04-19 08:32:02 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-04-19 08:39:12 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 255 seconds)
2023-04-19 08:39:45 +0200Guest41(~Guest41@ppp-58-11-30-123.revip2.asianet.co.th)
2023-04-19 08:39:57 +0200 <Guest41> Hi 👋
2023-04-19 08:41:07 +0200jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2023-04-19 08:41:55 +0200 <Guest41> Is there a common pattern to essentially make this work: when (doesDirectoryExist path) action
2023-04-19 08:42:52 +0200 <tomsmeding> Guest41: whenM?
2023-04-19 08:43:13 +0200 <Guest41> Basically I need a version of (=<<) that works on `when`
2023-04-19 08:43:23 +0200 <tomsmeding> @let whenM a b = a >>= \cond -> if cond then b else return ()
2023-04-19 08:43:23 +0200 <lambdabot> Defined.
2023-04-19 08:43:34 +0200mncheck(~mncheck@193.224.205.254)
2023-04-19 08:44:10 +0200 <tomsmeding> it's one of those utility functions that ends up getting defined in lots of projects but somehow hasn't been considered useful enough to put into one of the standard libraries
2023-04-19 08:44:47 +0200 <tomsmeding> and because it's just a simple utility function, there's basically no package that makes its purpose defining functions like this, so it's exported from very few packages
2023-04-19 08:44:51 +0200 <Guest41> tomsmeding: I was hoping to get away with base primitives + have a pattern that also works with other primitive of arity of 2
2023-04-19 08:45:06 +0200 <Guest41> Say when, unless, ...
2023-04-19 08:45:29 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds)
2023-04-19 08:45:53 +0200 <tomsmeding> Guest41: doesDirectoryExist path >>= flip when action
2023-04-19 08:46:15 +0200 <tomsmeding> becomes more ugly if you want to avoid parentheses around action
2023-04-19 08:46:31 +0200 <Guest41> Yes, exactly
2023-04-19 08:47:03 +0200 <Guest41> Doesn't work well if action is a do block...
2023-04-19 08:47:34 +0200 <tomsmeding> (dDE path >>=) . flip when $ action
2023-04-19 08:47:38 +0200 <tomsmeding> ¯\_(ツ)_/¯
2023-04-19 08:49:27 +0200 <Guest41> flip when >>> (doesDirectoryExist path >>=) $ do ...
2023-04-19 08:49:50 +0200 <Guest41> So that it is in the right order when you read it
2023-04-19 08:49:58 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-04-19 08:50:24 +0200 <Guest41> But I think at this point I would reach for whenM
2023-04-19 08:50:38 +0200 <tomsmeding> yeah :p
2023-04-19 08:50:55 +0200 <tomsmeding> then whenM, ifM, unlessM pattern is well-known and idiomatic
2023-04-19 08:52:03 +0200hippoid(~My_user_n@user/hippoid) (Ping timeout: 246 seconds)
2023-04-19 08:52:46 +0200 <tomsmeding> *the, not then
2023-04-19 08:54:10 +0200hippoid(~My_user_n@c-98-213-162-40.hsd1.il.comcast.net)
2023-04-19 08:55:13 +0200Guest41(~Guest41@ppp-58-11-30-123.revip2.asianet.co.th) (Quit: Client closed)
2023-04-19 08:58:01 +0200falafel(~falafel@2603-8000-d700-115c-9b6c-1c37-19a4-8386.res6.spectrum.com) (Ping timeout: 240 seconds)
2023-04-19 08:59:27 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
2023-04-19 08:59:38 +0200chanceyan(~chanceyan@user/chanceyan)
2023-04-19 09:00:46 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-04-19 09:00:59 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2023-04-19 09:01:25 +0200chanceyan(~chanceyan@user/chanceyan) (Client Quit)
2023-04-19 09:07:25 +0200euandreh(~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds)
2023-04-19 09:16:18 +0200chele(~chele@user/chele)
2023-04-19 09:20:53 +0200chanceyan(~chanceyan@user/chanceyan)
2023-04-19 09:21:25 +0200shriekingnoise(~shrieking@186.137.175.87) (Ping timeout: 240 seconds)
2023-04-19 09:21:26 +0200acidjnk(~acidjnk@p200300d6e715c424d8026cc64eaafdc7.dip0.t-ipconnect.de)
2023-04-19 09:26:16 +0200Batzy(~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.)
2023-04-19 09:26:24 +0200chanceyan(~chanceyan@user/chanceyan) (Quit: chanceyan)
2023-04-19 09:27:08 +0200catch22(~catch22@2406:3400:418:d7e0:67c:16ff:fe3e:b769) (Remote host closed the connection)
2023-04-19 09:27:43 +0200Batzy(~quassel@user/batzy)
2023-04-19 09:29:25 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in)
2023-04-19 09:29:41 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2023-04-19 09:32:24 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 09:37:23 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2023-04-19 09:40:41 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 09:42:21 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2023-04-19 09:46:30 +0200vglfr(~vglfr@88.155.36.189)
2023-04-19 09:50:38 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-19 09:54:13 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-04-19 09:58:50 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-04-19 10:01:49 +0200gehmehgehgmg
2023-04-19 10:04:45 +0200Bocaneri(~sauvin@user/Sauvin)
2023-04-19 10:05:09 +0200BocaneriGuest2454
2023-04-19 10:06:38 +0200cfricke(~cfricke@user/cfricke)
2023-04-19 10:07:55 +0200Sauvin(~sauvin@user/Sauvin) (Ping timeout: 276 seconds)
2023-04-19 10:09:53 +0200Guest2454Sauvin
2023-04-19 10:10:04 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-19 10:12:37 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-04-19 10:23:16 +0200mc47(~mc47@xmonad/TheMC47)
2023-04-19 10:28:00 +0200drdo(~drdo@bl14-14-164.dsl.telepac.pt) (Ping timeout: 252 seconds)
2023-04-19 10:30:25 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2023-04-19 10:31:03 +0200mauke(~mauke@user/mauke) (Quit: bbl)
2023-04-19 10:31:39 +0200mauke(~mauke@user/mauke)
2023-04-19 10:33:36 +0200drdo(~drdo@bl14-14-164.dsl.telepac.pt)
2023-04-19 10:39:40 +0200gurkenglas(~gurkengla@dynamic-046-114-178-126.46.114.pool.telefonica.de)
2023-04-19 10:41:39 +0200 <probie> @pl \x -> join . ap (fmap when x) . pure
2023-04-19 10:41:39 +0200 <lambdabot> (join .) . (. pure) . liftM2 when
2023-04-19 10:43:12 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2023-04-19 10:44:06 +0200 <tomsmeding> :t \x -> join . ap (fmap when x) . pure
2023-04-19 10:44:08 +0200 <lambdabot> Monad m => m Bool -> m () -> m ()
2023-04-19 10:45:15 +0200 <tomsmeding> @pl \a b -> a >>= \x -> when x b
2023-04-19 10:45:15 +0200 <lambdabot> (. flip when) . (>>=)
2023-04-19 10:45:18 +0200 <tomsmeding> shorter :p
2023-04-19 10:46:14 +0200 <tomsmeding> :t flip fmap (>>=) $ flip fmap $ flip when
2023-04-19 10:46:15 +0200 <lambdabot> Monad m => m Bool -> m () -> m ()
2023-04-19 10:52:31 +0200jinsun(~jinsun@user/jinsun) (Ping timeout: 250 seconds)
2023-04-19 10:57:01 +0200phma(phma@2001:5b0:215d:98b8:e349:d2b0:ba66:968) (Read error: Connection reset by peer)
2023-04-19 10:57:35 +0200phma(~phma@host-67-44-208-108.hnremote.net)
2023-04-19 11:00:44 +0200jinsun(~jinsun@user/jinsun)
2023-04-19 11:01:48 +0200euandreh(~Thunderbi@189.6.18.7)
2023-04-19 11:01:52 +0200JScript(~JScript@103.137.12.133) (Ping timeout: 276 seconds)
2023-04-19 11:05:11 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 11:07:28 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 11:11:04 +0200JScript(~JScript@103.137.12.28)
2023-04-19 11:11:13 +0200JScript(~JScript@103.137.12.28) (Max SendQ exceeded)
2023-04-19 11:11:56 +0200JScript(~JScript@103.137.12.28)
2023-04-19 11:12:00 +0200JScript(~JScript@103.137.12.28) (Max SendQ exceeded)
2023-04-19 11:12:29 +0200JScript(~JScript@103.137.12.28)
2023-04-19 11:18:17 +0200__monty__(~toonn@user/toonn)
2023-04-19 11:18:26 +0200CiaoSen(~Jura@ip-109-43-178-193.web.vodafone.de) (Remote host closed the connection)
2023-04-19 11:26:00 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-04-19 11:30:37 +0200kspalaiologos(~kspalaiol@user/kspalaiologos)
2023-04-19 11:33:01 +0200cfricke(~cfricke@user/cfricke)
2023-04-19 11:36:54 +0200NiceBird(~NiceBird@185.133.111.196)
2023-04-19 11:41:47 +0200ubert1(~Thunderbi@2a02:8109:abc0:6434:e0cd:d318:528f:3288)
2023-04-19 11:47:18 +0200Vq(~vq@90-230-208-28-no77.tbcn.telia.com) (Ping timeout: 255 seconds)
2023-04-19 11:48:22 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection)
2023-04-19 11:51:11 +0200kspalaiologos(~kspalaiol@user/kspalaiologos) (Ping timeout: 264 seconds)
2023-04-19 11:55:11 +0200mei(~mei@user/mei)
2023-04-19 12:02:30 +0200ubert1(~Thunderbi@2a02:8109:abc0:6434:e0cd:d318:528f:3288) (Quit: ubert1)
2023-04-19 12:05:18 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
2023-04-19 12:08:20 +0200acidjnk(~acidjnk@p200300d6e715c424d8026cc64eaafdc7.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2023-04-19 12:12:52 +0200kspalaiologos(~kspalaiol@user/kspalaiologos)
2023-04-19 12:15:30 +0200 <dminuoso> What's the rationale for unsafeShiftL and unsafeShiftR existing? I cant quite make out the possible difference with shiftR/shiftL
2023-04-19 12:15:52 +0200 <dminuoso> other than that shiftR/shiftL *may* perhaps emit an Overflow exception (but are not required to).
2023-04-19 12:16:05 +0200 <dminuoso> It seems like you get the same guarentee.
2023-04-19 12:16:12 +0200 <dminuoso> May throw an exception, or may not.
2023-04-19 12:16:22 +0200 <dminuoso> "Good luck!"
2023-04-19 12:17:28 +0200Square2Square
2023-04-19 12:19:07 +0200 <dminuoso> For a language embracing strong type safety, the numeric system in Haskell is fairly horrible. So much Int which has a relatively small guaranteed maxBound (quite relevant for threadDelay), allows for negative numbers which in most uses of Int will give you bottom or very broken behavior.
2023-04-19 12:19:32 +0200 <dminuoso> And if you do start using specific types, you end up being forced to use fromIntegral everywhere anyway, which hides truncation bugs left and right.
2023-04-19 12:19:37 +0200dminuososighs
2023-04-19 12:19:43 +0200 <ncf> i think it's "behaviour is undefined" vs "behaviour is defined to be an error"
2023-04-19 12:20:17 +0200 <[exa]> dminuoso: is there actually a system where people got it right?
2023-04-19 12:20:46 +0200 <ncf> ada?
2023-04-19 12:20:54 +0200 <ncf> (from what i've heard)
2023-04-19 12:21:20 +0200 <dminuoso> 12:19:43 ncf | i think it's "behaviour is undefined" vs "behaviour is defined to be an error"n
2023-04-19 12:21:29 +0200 <dminuoso> Is that referring to shiftR vs unsafeShiftR?
2023-04-19 12:21:32 +0200 <ncf> yes
2023-04-19 12:21:41 +0200 <dminuoso> shiftR does not define a negative argument to produce a bottom.
2023-04-19 12:21:47 +0200 <[exa]> someone was complaining a few months back here about not checking the overflows and pointing out some rust things (not sure if rust actually checks overflows)
2023-04-19 12:21:48 +0200 <dminuoso> It merely specifies that some instances *chose* to do that.
2023-04-19 12:21:59 +0200 <dminuoso> Which isnt really saying anything, given that unsafeShiftL does not forbid it.
2023-04-19 12:22:14 +0200 <dminuoso> (Even more so since unsafeShiftR/L defaults to shiftR/L)
2023-04-19 12:22:59 +0200 <dminuoso> so shiftR/L can be as unsafe as unsafeShiftR/L, and unsafeShiftR/L be as safe as shiftR/L
2023-04-19 12:23:26 +0200 <dminuoso> [exa]: I think IEEE754 is one step better in that it provides at least traps
2023-04-19 12:23:42 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-04-19 12:23:49 +0200 <dminuoso> CPUs have a bunch of instructions that allow overflow detection and some are even mapped to primops
2023-04-19 12:24:02 +0200 <dminuoso> So we could promote things like overflow to exceptions.
2023-04-19 12:24:11 +0200 <dminuoso> Which would probably be a win?
2023-04-19 12:24:50 +0200 <dminuoso> Well I guess overflowing isnt bad, as most operations are defined to use modular arithmetic in the haskell report.
2023-04-19 12:25:10 +0200 <dminuoso> But truncation on fromIntegral is just bad. I think int-cast is a better approach [exa]
2023-04-19 12:27:28 +0200 <[exa]> yeah that's for sure
2023-04-19 12:27:52 +0200lyxia_lyxia
2023-04-19 12:28:39 +0200 <[exa]> I was wondering precisely about the instruction overhead, usually with this you'll have 2 camps of folks one screaming "mah instructions" and the other "mah plane went down because of overflow" and I didn't see a system where both would sanely coexist
2023-04-19 12:29:49 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-04-19 12:31:29 +0200kspalaiologos(~kspalaiol@user/kspalaiologos) (Quit: Leaving)
2023-04-19 12:45:09 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-04-19 12:48:51 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 12:50:55 +0200YoungFrog(~youngfrog@2a02:a03f:ca07:f900:fffe:2aed:9333:96be) (Quit: ZNC 1.7.x-git-3-96481995 - https://znc.in)
2023-04-19 12:52:03 +0200CiaoSen(~Jura@tmo-119-14.customers.d1-online.com)
2023-04-19 12:52:12 +0200CiaoSen(~Jura@tmo-119-14.customers.d1-online.com) (Client Quit)
2023-04-19 12:53:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Ping timeout: 260 seconds)
2023-04-19 12:59:43 +0200gawen(~gawen@user/gawen) (Quit: cya)
2023-04-19 13:04:42 +0200zeenk(~zeenk@2a02:2f04:a10a:aa00::7fe)
2023-04-19 13:09:37 +0200puke(~puke@user/puke)
2023-04-19 13:09:40 +0200xff0x(~xff0x@2405:6580:b080:900:6b0a:95d2:a0f4:74)
2023-04-19 13:17:18 +0200heraldo(~heraldo@user/heraldo)
2023-04-19 13:20:16 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-04-19 13:22:59 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 264 seconds)
2023-04-19 13:31:05 +0200MasseR46(thelounge@2001:bc8:47a0:1521::1) (Quit: The Lounge - https://thelounge.chat)
2023-04-19 13:32:50 +0200 <probie> [exa]: can't they just be de different types? If you want fewer instructions, use `FastWord8`, if you want your plane to keep flying, using `SafeWord8` :p
2023-04-19 13:34:21 +0200 <[exa]> likely
2023-04-19 13:34:33 +0200 <probie> s/be de/be/
2023-04-19 13:38:01 +0200vglfr(~vglfr@88.155.36.189) (Ping timeout: 240 seconds)
2023-04-19 13:41:19 +0200hippoid(~My_user_n@c-98-213-162-40.hsd1.il.comcast.net) (Changing host)
2023-04-19 13:41:19 +0200hippoid(~My_user_n@user/hippoid)
2023-04-19 13:42:41 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-19 13:47:45 +0200td_(~td@i5387091D.versanet.de) (Ping timeout: 240 seconds)
2023-04-19 13:47:59 +0200td_(~td@i5387091D.versanet.de)
2023-04-19 13:49:16 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht)
2023-04-19 13:56:08 +0200YoungFrog(~youngfrog@2a02:a03f:ca07:f900:4156:1a65:5694:85cf)
2023-04-19 13:57:25 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2023-04-19 14:01:46 +0200vglfr(~vglfr@88.155.36.189)
2023-04-19 14:04:20 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-19 14:06:01 +0200 <dminuoso> [exa]: I think the performance worries are mostly exaggerated. Hundred of thousands of people do all kinds of extremely heavy loads with Python or Ruby (think github or gitlab), so clearly it's not something that on average will majorly affect users.
2023-04-19 14:06:14 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-19 14:06:27 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 14:06:44 +0200 <dminuoso> But then again, costs overhead due to bugs is often hard to quantizie
2023-04-19 14:07:00 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2023-04-19 14:08:05 +0200vglfr(~vglfr@88.155.36.189) (Ping timeout: 240 seconds)
2023-04-19 14:09:04 +0200oats(~thomas@user/oats) (Quit: until later, my friends)
2023-04-19 14:09:44 +0200oats(~thomas@user/oats)
2023-04-19 14:12:37 +0200 <[exa]> dminuoso: performance worries are exaggerated, the worries about people arguing are not. :D
2023-04-19 14:28:14 +0200 <probie> I don't really care about performance in my web app beyond "can I horizontally scale it" as long as it's not "too slow", but I do strongly care about the performance of the database it's connected to. Not all applications are the same
2023-04-19 14:32:27 +0200Wstfgl0(~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Remote host closed the connection)
2023-04-19 14:33:29 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 14:33:44 +0200Wstfgl0(~me-me@2602:ff16:3:0:1:dc:beef:d00d)
2023-04-19 14:38:05 +0200 <dminuoso> probie: In my experience, a lot of database queries perform poorly due to very poor database hygiene (is it tuned for the resource and workload? is it running on ssds, is there enough ram?) and/or poor orm query generation
2023-04-19 14:38:40 +0200 <dminuoso> Especially in the modern web age, when there's some magic assumption that a database must be fast because its a database, or that you can easily tune it by copy pasting someone's recommended settings from stackoverflow.
2023-04-19 14:40:44 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-04-19 14:45:14 +0200doyougnu(~doyougnu@cpe-74-69-132-225.stny.res.rr.com)
2023-04-19 14:51:00 +0200 <probie> Very often poor orm query generation in my experience :p
2023-04-19 14:51:00 +0200heraldo(~heraldo@user/heraldo)
2023-04-19 14:55:43 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 252 seconds)
2023-04-19 15:02:27 +0200Inst(~Inst@2601:6c4:4081:54f0:919e:4943:f4f4:fdb6)
2023-04-19 15:02:36 +0200 <Inst> what is CPS used for in Haskell?
2023-04-19 15:02:45 +0200 <Inst> and why is CPS + delimited continuations used to get around issues with effect systems?
2023-04-19 15:03:12 +0200 <Inst> it's sort of about time, because afaik, despite Haskell being organized around monads to an extent, it seems as though we often don't have first-class optimization support for monads
2023-04-19 15:04:59 +0200 <kraftwerk28> Hey, I'd like to participate in Summer of Haskell and found a couple of ideas on the SoH's website which I think are suitable and useful for me. But what if those ideas are already taken by someone? May I specify multiple projects in a proposal so that mentors then can distribute between attendees and no idea will be worked on by multiple participants?
2023-04-19 15:05:07 +0200 <TheMatten[m]> Inst: How does first-class optimization for monads look like?
2023-04-19 15:07:45 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds)
2023-04-19 15:08:26 +0200 <probie> rewrite rules based on the laws? What else could you do?
2023-04-19 15:08:41 +0200Guest83(~Guest83@47-184-83-112.dlls.tx.frontiernet.net)
2023-04-19 15:12:14 +0200heraldo(~heraldo@user/heraldo)
2023-04-19 15:16:42 +0200vglfr(~vglfr@88.155.36.189)
2023-04-19 15:17:36 +0200 <Inst> afaik monads tend to have performance penalties
2023-04-19 15:17:51 +0200 <Inst> reader i'm told is less efficient than directly passing the data around
2023-04-19 15:19:28 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 15:19:45 +0200 <Inst> and what i'm told is that one of Alexis King's big contributions to effect systems is just exposing how unperformant monadic effect systems generally are
2023-04-19 15:19:54 +0200 <Inst> even effectful pays a 20-33% penalty
2023-04-19 15:20:53 +0200Guest83(~Guest83@47-184-83-112.dlls.tx.frontiernet.net) (Quit: Client closed)
2023-04-19 15:21:10 +0200 <mauke> reader is directly passing the data around
2023-04-19 15:21:56 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 265 seconds)
2023-04-19 15:22:28 +0200 <lexi-lambda> the talk goes into quite some detail on why mtl style is slow, and it explains why concrete transformer stacks don’t pay the same cost
2023-04-19 15:23:45 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-04-19 15:25:03 +0200 <mauke> what talk?
2023-04-19 15:25:50 +0200 <lexi-lambda> https://youtube.com/watch?v=0jI-AlWEwYI
2023-04-19 15:27:13 +0200npmania(~Thunderbi@121.128.226.31)
2023-04-19 15:27:58 +0200 <mauke> thanks
2023-04-19 15:30:08 +0200 <dminuoso> lexi-lambda: If all unfoldings are exposed, much of the cost can be recovered. Do you go into that a bit in the talk?>
2023-04-19 15:30:52 +0200 <lexi-lambda> yes, though at the time of the talk, -fexpose-all-unfoldings was largely broken
2023-04-19 15:30:54 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-04-19 15:31:09 +0200 <mauke> ooh! that's you!!
2023-04-19 15:31:28 +0200 <lexi-lambda> I know it’s been changed since then but I haven’t investigated the new behavior so I can’t say how well it works
2023-04-19 15:32:38 +0200 <dminuoso> If you ever do, I would be quite interested in a follow up.
2023-04-19 15:32:56 +0200 <lexi-lambda> full-program specialization is very expensive at compile-time
2023-04-19 15:33:43 +0200 <dminuoso> Sure, I mean it may not necessarily be convenient, but larger compilation time for many cases isnt a limiting factor.
2023-04-19 15:33:53 +0200 <dminuoso> Especially since optimizations are usually only needed for production builds
2023-04-19 15:34:01 +0200 <lexi-lambda> eff is extremely cheap to optimize
2023-04-19 15:34:28 +0200 <dminuoso> It's all a trade off, you pay with your own santity for eff
2023-04-19 15:34:46 +0200 <lexi-lambda> lol, what makes you say that
2023-04-19 15:34:52 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-04-19 15:34:52 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-04-19 15:34:52 +0200wroathe(~wroathe@user/wroathe)
2023-04-19 15:36:26 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 15:37:06 +0200 <dminuoso> I opt to avoid effect systems altogether.
2023-04-19 15:38:13 +0200 <lexi-lambda> I think eff is easier to use than mtl-style, but if you can avoid both then certainly you sidestep a lot of things
2023-04-19 15:38:14 +0200 <dminuoso> Mostly I think its not a bright idea to force effects into our general type system because it leads to poor diagnostics and visibility. For an effect list to make any sense, you already have to know its interpretation for example.
2023-04-19 15:38:31 +0200 <dminuoso> Sure, eff is probably simpler indeed.
2023-04-19 15:38:37 +0200 <dminuoso> But I think no effect system is even simpler.
2023-04-19 15:39:09 +0200 <lexi-lambda> well, I think sometimes polymorphism over the effects one can perform is pretty intensely useful
2023-04-19 15:39:23 +0200 <dminuoso> I dont debate its usefulness or expressivity
2023-04-19 15:39:35 +0200 <lexi-lambda> but I don’t deny that avoiding needing to do that avoids some challenges
2023-04-19 15:41:05 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2023-04-19 15:41:22 +0200 <dminuoso> Think of me as a RIO believer.
2023-04-19 15:41:46 +0200 <dminuoso> I mean I dont actually use rio, but I follow its spirit in that I handwrite a newtype equivalent to it in most non-trivial programs.
2023-04-19 15:42:00 +0200 <dminuoso> I keep effects and their interpretations local
2023-04-19 15:42:14 +0200 <dminuoso> Mocking I dont particularly care for
2023-04-19 15:42:27 +0200 <dminuoso> And effects I do want to document reside in haddock comments
2023-04-19 15:43:00 +0200 <dminuoso> (Or their effects are visible by means of the artifacts, say `WriterConn -> ...` makes it glaringly visible that the thing inside wants to write to a database)
2023-04-19 15:44:16 +0200 <dminuoso> lexi-lambda: My Haskell complexity curve looks a lot like a bell curve. About 2 years into Haskell I was doing all kinds of fancy effect systems, but now I just returned to basics because it makes it easier for my coworkers to just hop into my code and hack on it.
2023-04-19 15:44:27 +0200 <dminuoso> Different constraints I guess.
2023-04-19 15:44:29 +0200heraldo(~heraldo@user/heraldo)
2023-04-19 15:44:34 +0200 <dminuoso> I like simple reasoning
2023-04-19 15:44:35 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2023-04-19 15:48:53 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 246 seconds)
2023-04-19 15:51:26 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 15:52:33 +0200 <Inst> dminuoso: presumably at some point effect systems would reach such maturity that they'd become standard, i.e, a single effect system library, lots of tutorials floating around for it, and compiler optimization to make sure it's low cost
2023-04-19 15:54:50 +0200 <dminuoso> Inst: I would rather prefer an orthogonal effect system
2023-04-19 15:54:58 +0200 <dminuoso> Something that isnt tied into the main type system.
2023-04-19 15:55:09 +0200 <dminuoso> Think alongside of Java style exceptions for instance
2023-04-19 15:55:59 +0200 <dminuoso> Or say liquid haskell
2023-04-19 15:56:05 +0200kritzefitz(~kritzefit@debian/kritzefitz) (Ping timeout: 260 seconds)
2023-04-19 15:56:11 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Ping timeout: 260 seconds)
2023-04-19 15:56:11 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-04-19 15:58:03 +0200gurkenglas(~gurkengla@dynamic-046-114-178-126.46.114.pool.telefonica.de) (Ping timeout: 260 seconds)
2023-04-19 16:00:44 +0200bontaq(~user@ool-45779b84.dyn.optonline.net)
2023-04-19 16:02:33 +0200kritzefitz(~kritzefit@debian/kritzefitz)
2023-04-19 16:05:44 +0200hippoid(~My_user_n@user/hippoid) (Quit: WeeChat 3.8)
2023-04-19 16:05:46 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-04-19 16:15:34 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2023-04-19 16:16:03 +0200img(~img@user/img)
2023-04-19 16:18:24 +0200img(~img@user/img) (Client Quit)
2023-04-19 16:22:09 +0200thegeekinside(~thegeekin@189.180.119.50)
2023-04-19 16:23:22 +0200img(~img@user/img)
2023-04-19 16:24:08 +0200 <probie> lexi-lambda: is that video hosted anywhere that's not youtube?
2023-04-19 16:27:38 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-19 16:29:51 +0200opticblast(~Thunderbi@172.58.87.218) (Ping timeout: 246 seconds)
2023-04-19 16:31:07 +0200phma_(~phma@host-67-44-208-250.hnremote.net)
2023-04-19 16:31:14 +0200 <lexi-lambda> no
2023-04-19 16:33:25 +0200phma(~phma@host-67-44-208-108.hnremote.net) (Ping timeout: 240 seconds)
2023-04-19 16:34:29 +0200 <probie> sadness
2023-04-19 16:35:45 +0200npmania(~Thunderbi@121.128.226.31) (Ping timeout: 260 seconds)
2023-04-19 16:37:02 +0200phma_phma
2023-04-19 16:42:37 +0200 <mauke> hey, wasn't LHC trying to do whole-program specialization to avoid dictionary passing?
2023-04-19 16:43:02 +0200econo(uid147250@user/econo)
2023-04-19 16:44:32 +0200Me-me(~Me-me@146.102.215.218.dyn.iprimus.net.au) (Quit: Going offline, see ya! (www.adiirc.com))
2023-04-19 16:46:35 +0200 <mauke> ah, no. I was thinking of JHC
2023-04-19 16:48:41 +0200shriekingnoise(~shrieking@186.137.175.87)
2023-04-19 16:49:01 +0200doyougnu(~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 252 seconds)
2023-04-19 16:52:25 +0200kee(~~kee@user/wizzwizz4) (Ping timeout: 240 seconds)
2023-04-19 16:53:13 +0200 <probie> like a Haskell version of Stalin?
2023-04-19 16:54:38 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
2023-04-19 16:55:49 +0200kee(~~kee@user/wizzwizz4)
2023-04-19 16:57:17 +0200heraldo(~heraldo@user/heraldo)
2023-04-19 16:57:39 +0200acidjnk(~acidjnk@p200300d6e715c4600172666463a133ec.dip0.t-ipconnect.de)
2023-04-19 16:57:48 +0200 <c_wraith> you can't always get rid of some sort of dictionary-passing.
2023-04-19 16:57:53 +0200jero98772(~jero98772@190.158.28.80)
2023-04-19 16:58:27 +0200 <c_wraith> Even without extensions, polymorphic recursion means that sometimes you need to do stuff at run time
2023-04-19 16:59:51 +0200 <lexi-lambda> probie: why do you care about it not being on youtube?
2023-04-19 17:00:15 +0200hugo(znc@verdigris.lysator.liu.se)
2023-04-19 17:01:37 +0200Sgeo(~Sgeo@user/sgeo)
2023-04-19 17:01:51 +0200heraldo(~heraldo@user/heraldo) (Ping timeout: 255 seconds)
2023-04-19 17:01:59 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds)
2023-04-19 17:02:31 +0200gawen(~gawen@user/gawen)
2023-04-19 17:05:00 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 255 seconds)
2023-04-19 17:10:38 +0200 <probie> lexi-lambda: because youtube is owned by a company I don't hold in high regard (which, to be fair, is most tech companies), and as such, do not wish to provide business to. It also involves running non-free JS
2023-04-19 17:11:40 +0200 <lexi-lambda> alright, those are definitely problems I don’t care about. run an ad blocker.
2023-04-19 17:11:51 +0200 <mauke> unfortunately the whole conference was organized around streaming talks on youtube and discussing them on discord
2023-04-19 17:12:01 +0200 <mauke> so no official alternatives
2023-04-19 17:13:28 +0200 <mauke> as for javascript, I know yt-dlp exists for downloading from youtube
2023-04-19 17:13:46 +0200 <mauke> I don't know what it does internally, though
2023-04-19 17:15:00 +0200 <probie> lexi-lambda: That wasn't an attack on you, nor even a request to change what you were doing. I apologise for the "sadness" comment, it was a silly outburst because I wanted to watch it
2023-04-19 17:15:26 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 17:15:46 +0200hugo(znc@verdigris.lysator.liu.se)
2023-04-19 17:15:47 +0200 <lexi-lambda> I didn’t interpret it as an attack. I just think you should watch the talk :)
2023-04-19 17:15:57 +0200 <carbolymer> probie: just ytp-dl it and shove it into lbry
2023-04-19 17:18:18 +0200 <probie> I think yt-dlp breaches their terms or service (although I've not actually spent the time to check) which I would also like to avoid doing
2023-04-19 17:18:41 +0200 <Inst> is there any good information on CPS and defunctionalization used as an optimization technique?
2023-04-19 17:18:45 +0200 <carbolymer> probie: then you're in a pickle, aren't you
2023-04-19 17:18:49 +0200 <Inst> there was a famous OCaml user who is being forced to learn Haskell
2023-04-19 17:18:56 +0200 <Inst> on Discord, called Colin
2023-04-19 17:19:01 +0200 <Inst> he was obsessed with CPS
2023-04-19 17:19:03 +0200 <probie> carbolymer: more of a bubble than a pickle :p
2023-04-19 17:19:05 +0200 <Inst> I read about Attoparsec
2023-04-19 17:19:10 +0200 <Inst> implementing CPS as optimization
2023-04-19 17:20:00 +0200 <Inst> meanwhile, I'm obsessed with high performance Haskell and all the lost optimization techniques that got us within 10-30% of C
2023-04-19 17:20:36 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds)
2023-04-19 17:20:55 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-19 17:23:19 +0200 <mauke> speaking of OCaml, have they got around to documenting their language yet?
2023-04-19 17:23:34 +0200 <mauke> particularly the module system
2023-04-19 17:24:47 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds)
2023-04-19 17:25:22 +0200 <Inst> no clue
2023-04-19 17:25:52 +0200Square(~Square4@user/square) (Ping timeout: 248 seconds)
2023-04-19 17:26:27 +0200 <Inst> i have it installed somewhere, but I also have SML, Python, C#, C++, C, Node, and Go compilers installed somewhere, and I'm a shitcoder
2023-04-19 17:30:27 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.8)
2023-04-19 17:30:57 +0200hugo(znc@verdigris.lysator.liu.se)
2023-04-19 17:31:17 +0200 <probie> Inst: CPS turns all calls into tail calls (and a tail call is not a "for loop", it's a jump, which is a very cheap operation). The downside (of CPS, not tail calls) is that you're likely allocating a bunch of closures on the heap, which may be expensive depending on your allocator
2023-04-19 17:31:49 +0200 <mauke> I read a tutorial at some point, but I was completely lost as to when two "equal" types were considered the same or different
2023-04-19 17:32:22 +0200 <probie> if you looking for a book to read on CPS wrt. optimisation, I'd recommend "Compiling with Continuations" by Andrew Appel
2023-04-19 17:36:30 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-04-19 17:36:58 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 17:37:38 +0200 <probie> s/you looking/you are looking/
2023-04-19 17:38:51 +0200 <ski> (the "bunch of closures on the heap" are effectively activation frames, except allocated on heap rather than stack)
2023-04-19 17:39:25 +0200AlexZenon(~alzenon@178.34.150.15) (Ping timeout: 240 seconds)
2023-04-19 17:40:03 +0200 <monochrom> CPS just turns stack growth into heap growth.
2023-04-19 17:40:17 +0200 <Inst> thanks for the suggestion
2023-04-19 17:40:19 +0200Alex_test(~al_test@178.34.150.15) (Ping timeout: 276 seconds)
2023-04-19 17:41:00 +0200 <ski> the CPS transform does, yes
2023-04-19 17:41:18 +0200 <monochrom> The promise of "now you get tail recursion!" is disingenious, if you consider the subtext of "tail recursion" being "cheap".
2023-04-19 17:42:09 +0200 <ski> sometimes you can manually improve something into CPS. but it's not the CPS transform which does that
2023-04-19 17:42:45 +0200 <ski> (e.g. converting naïve `reverse' into one that accumulates)
2023-04-19 17:44:19 +0200 <monochrom> But it is a necessary evil if the underlying model of computing has an artificially biased rule "stack has a limit, heap doesn't". (Hint: really modern models of computing don't.)
2023-04-19 17:45:24 +0200Alex_test(~al_test@178.34.150.15)
2023-04-19 17:46:03 +0200AlexZenon(~alzenon@178.34.150.15)
2023-04-19 17:46:07 +0200 <probie> But heap allocation can be as cheaper than stack allocation :p (I can't remember the paper name, but effectively it was this GC that split your memory into two halves, didn't trigger until the first half got full, and then just copied everything live across to the other half)
2023-04-19 17:46:15 +0200 <probie> s/as cheaper/cheaper/
2023-04-19 17:47:31 +0200 <mauke> how is that cheaper than incrementing a register?
2023-04-19 17:47:40 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-19 17:47:57 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 17:50:15 +0200 <monochrom> You can have an arm race of optimizing stack vs optimizing heap, every 5 years one of them is marginally cheaper than the other, but the equilibrium in the long run is that the difference is negligible, you're better off optimizing x `mod` 74 into something that exploits how x is just 64 bits and so you can use bit shifts and masks and at worst multiplication.
2023-04-19 17:51:03 +0200 <monochrom> Recall that for example cache optimization keeps flip-flopping between "array of structs is better" and "struct of arrays is better".
2023-04-19 17:51:27 +0200 <ski> probie : that's copying GC. can be improved a bit with generations
2023-04-19 17:51:48 +0200 <monochrom> At some point you grow out of and tired of those micromanagements. There is a reason you chose a high-level language.
2023-04-19 17:52:12 +0200 <probie> Found it - https://www.cs.princeton.edu/~appel/papers/45.pdf (by the author of "compiling with continuations")
2023-04-19 17:52:56 +0200 <lexi-lambda> note that there is also a GHC paper with the tongue in cheek name “Compiling without continuations” https://www.microsoft.com/en-us/research/wp-content/uploads/2016/11/join-points-pldi17.pdf
2023-04-19 17:53:20 +0200 <lexi-lambda> which I think is a very nice paper and discusses some of the reasons why CPS is not a nice intermediate representation
2023-04-19 17:53:26 +0200 <mauke> ah yes, joint pains
2023-04-19 17:53:34 +0200 <monochrom> haha
2023-04-19 17:54:04 +0200 <lexi-lambda> but fwiw both of these things are mostly unrelated to CPS in user code (rather than an intermediate representation)
2023-04-19 17:54:17 +0200 <mauke> I think SPJ gave a talk about that
2023-04-19 17:54:40 +0200 <ski> "Modern Compiler Implementation in {ML|C|Java}" by Andrew W. Appel in 1998 at <https://www.cs.princeton.edu/~appel/modern/> has a chapter on GC, iirc. also talks about CPS, and other stuff
2023-04-19 17:55:00 +0200 <ski> lexi-lambda : yes, it's a nice paper :)
2023-04-19 17:55:02 +0200 <monochrom> In the past two decades there was a trend of eliminating the CPS transform stage in many things that Appel did via CPS transform.
2023-04-19 17:55:12 +0200 <mauke> https://www.youtube.com/watch?v=-IsbsfV3jmw
2023-04-19 17:55:44 +0200 <lexi-lambda> I think the main reason why there is some folk wisdom that “CPS in Haskell is fast” is that certain strategies for encoding data as functions (rather than as ADTs) can be a performance win in fairly specific usage patterns, often for fairly subtle reasons
2023-04-19 17:55:56 +0200 <monochrom> For example Hutton's less old toy-compiler papers and worker-wrapper transforms.
2023-04-19 17:56:02 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 17:56:29 +0200 <lexi-lambda> but this is not just distinct from saying, broadly, that “CPS is fast”, it’s not even the same *kind* of CPS that you’d get from a CPS transformation
2023-04-19 17:56:54 +0200 <lexi-lambda> because, for example, when it’s used for parser combinators, it involves writing a two-continuation parser
2023-04-19 17:56:58 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-19 17:57:23 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 17:57:27 +0200 <lexi-lambda> whereas a CPS transformation just transforms direct-style code into a form that accepts a single continuation
2023-04-19 17:58:06 +0200 <ski> "Multi-return function call" by Olin Shivers,David Fisher in 2004-09,2006-0[79] at <https://www.ccs.neu.edu/home/shivers/citations.html#mrlc> is also relevant
2023-04-19 17:58:34 +0200 <lexi-lambda> see also this blog post by BOS http://www.serpentine.com/blog/2011/02/25/cps-is-great-cps-is-terrible/
2023-04-19 17:58:46 +0200barthandelous01(~calebbrze@209.140.193.13)
2023-04-19 17:59:33 +0200 <monochrom> I should learn about joint points too. Saw it in core and didn't know what to make of it.
2023-04-19 18:00:39 +0200 <lexi-lambda> do you know about SSA?
2023-04-19 18:00:53 +0200 <monochrom> Yes.
2023-04-19 18:01:03 +0200 <probie> Are "joint points" just phi nodes?
2023-04-19 18:01:08 +0200 <monochrom> Oh, like SSA's join?
2023-04-19 18:01:13 +0200 <lexi-lambda> yes, I think you can think of join points as being like phi nodes
2023-04-19 18:01:56 +0200 <lexi-lambda> or rather, serving the same purpose
2023-04-19 18:02:13 +0200 <lexi-lambda> but they’re expressed like functions instead of a block with conditional assignment
2023-04-19 18:02:27 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-19 18:02:34 +0200 <ski> iirc they were typed in a way involving polymorphism in the result type
2023-04-19 18:02:57 +0200 <monochrom> You know what, I think of a block with conditional assignments as functions, so I guess I'm ready. :)
2023-04-19 18:03:31 +0200 <lexi-lambda> yes, I think it’s actually a fairly nice model, because it’s always semantics preserving to replace them with real functions, but explicitly distinguishing them as join points permits compiling them as a jump to a local block rather than a separate closure
2023-04-19 18:04:00 +0200 <monochrom> <-- drank the denotational semantics kool aid, so all semantics must be kinds of functions.
2023-04-19 18:04:38 +0200mcglk(~mcglk@131.191.19.145) (Ping timeout: 246 seconds)
2023-04-19 18:07:13 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection)
2023-04-19 18:08:30 +0200Vq(~vq@90-230-208-28-no77.tbcn.telia.com)
2023-04-19 18:08:47 +0200mcglk(~mcglk@131.191.19.145)
2023-04-19 18:21:19 +0200zeenk(~zeenk@2a02:2f04:a10a:aa00::7fe) (Quit: Konversation terminated!)
2023-04-19 18:25:50 +0200emad(~emad@156.214.38.32)
2023-04-19 18:31:37 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1))
2023-04-19 18:32:31 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2023-04-19 18:32:33 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-04-19 18:37:14 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds)
2023-04-19 18:40:42 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 18:50:29 +0200czy(~user@host-140-25.ilcub310.champaign.il.us.clients.pavlovmedia.net)
2023-04-19 18:51:43 +0200oac(~oac@96.72.40.61)
2023-04-19 18:52:35 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-04-19 18:53:00 +0200jero98772(~jero98772@190.158.28.80) (Ping timeout: 255 seconds)
2023-04-19 18:58:57 +0200codaraxis___(~codaraxis@user/codaraxis) (Ping timeout: 246 seconds)
2023-04-19 19:00:18 +0200gurkenglas(~gurkengla@dynamic-089-204-155-235.89.204.155.pool.telefonica.de)
2023-04-19 19:01:29 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-04-19 19:04:48 +0200mbuf(~Shakthi@49.207.178.186) (Remote host closed the connection)
2023-04-19 19:05:13 +0200jero98772(~jero98772@2800:484:1d84:9000::4)
2023-04-19 19:23:45 +0200emad(~emad@156.214.38.32) (Quit: Leaving)
2023-04-19 19:27:29 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:152b:c011:bb3d:abd2)
2023-04-19 19:34:04 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
2023-04-19 19:37:02 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-04-19 19:39:54 +0200codaraxis(~codaraxis@user/codaraxis)
2023-04-19 19:43:16 +0200 <dolio> monochrom: Isn't array-of-structure-of-arrays the best? Or maybe it's structure-of-array-of-structures. I forget.
2023-04-19 19:43:33 +0200 <monochrom> haha
2023-04-19 19:43:46 +0200 <davean> dolio: it varies by use case.
2023-04-19 19:45:42 +0200trev(~trev@user/trev) (Quit: trev)
2023-04-19 19:45:42 +0200 <monochrom> In the long run -OChatGPT is the best. >:)
2023-04-19 19:48:39 +0200tr_ev(~trev@user/trev)
2023-04-19 19:54:05 +0200barthandelous01(~calebbrze@209.140.193.13) (Ping timeout: 240 seconds)
2023-04-19 19:54:58 +0200barthandelous01(~calebbrze@209.140.193.13)
2023-04-19 20:00:27 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 20:02:26 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-04-19 20:05:10 +0200 <geekosaur> -Odons 😛
2023-04-19 20:05:34 +0200 <geekosaur> sadly I don't think his code was updated for newer ghc versions
2023-04-19 20:05:37 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-04-19 20:09:16 +0200 <monochrom> Yeah this is why you train a LLM with dons's work so you can keep it forever. Learn from Earl Jones! >:)
2023-04-19 20:10:05 +0200 <monochrom> ghc -fllm
2023-04-19 20:10:19 +0200 <monochrom> llm > llvm >:)
2023-04-19 20:11:06 +0200 <monochrom> James Earl Jones.
2023-04-19 20:11:47 +0200tr_ev(~trev@user/trev) (Quit: tr_ev)
2023-04-19 20:13:34 +0200tr_ev(~trev@user/trev)
2023-04-19 20:15:51 +0200barthandelous01(~calebbrze@209.140.193.13) (Ping timeout: 250 seconds)
2023-04-19 20:17:37 +0200Techcable(~Techcable@user/Techcable) (Ping timeout: 276 seconds)
2023-04-19 20:17:44 +0200ft(~ft@p4fc2a88b.dip0.t-ipconnect.de)
2023-04-19 20:18:41 +0200tubogram44(~tubogram@user/tubogram) (Quit: See ya later!)
2023-04-19 20:24:06 +0200pharonix71(~pharonix7@user/pharonix71) (Remote host closed the connection)
2023-04-19 20:24:32 +0200pharonix71(~pharonix7@user/pharonix71)
2023-04-19 20:25:22 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Remote host closed the connection)
2023-04-19 20:26:11 +0200jwiegley(~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2023-04-19 20:28:23 +0200tubogram44(~tubogram@user/tubogram)
2023-04-19 20:31:05 +0200vglfr(~vglfr@88.155.36.189) (Ping timeout: 240 seconds)
2023-04-19 20:31:21 +0200vglfr(~vglfr@88.155.36.189)
2023-04-19 20:31:22 +0200sawilagar(~sawilagar@user/sawilagar)
2023-04-19 20:33:47 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2023-04-19 20:35:44 +0200vglfr(~vglfr@88.155.36.189) (Ping timeout: 248 seconds)
2023-04-19 20:36:00 +0200sawilagarnavska
2023-04-19 20:39:16 +0200navska(~sawilagar@user/sawilagar) (Quit: Leaving)
2023-04-19 20:39:35 +0200sawilagar(~sawilagar@user/sawilagar)
2023-04-19 20:44:19 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-04-19 20:45:33 +0200erisco_(~erisco@d24-141-66-165.home.cgocable.net)
2023-04-19 20:46:13 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-19 20:46:51 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 255 seconds)
2023-04-19 20:46:52 +0200erisco_erisco
2023-04-19 20:48:03 +0200Techcable(~Techcable@user/Techcable)
2023-04-19 20:51:05 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds)
2023-04-19 20:51:14 +0200barthandelous01(~calebbrze@209.140.193.13)
2023-04-19 20:52:01 +0200doyougnu(~doyougnu@cpe-74-69-132-225.stny.res.rr.com)
2023-04-19 20:53:25 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 240 seconds)
2023-04-19 20:55:47 +0200barthandelous01(~calebbrze@209.140.193.13) (Ping timeout: 260 seconds)
2023-04-19 20:55:51 +0200vglfr(~vglfr@88.155.36.189)
2023-04-19 20:56:34 +0200erisco(~erisco@d24-141-66-165.home.cgocable.net)
2023-04-19 20:57:15 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection)
2023-04-19 20:58:21 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:152b:c011:bb3d:abd2) (Remote host closed the connection)
2023-04-19 20:58:40 +0200use-value(~Thunderbi@2a00:23c6:8a03:2f01:152b:c011:bb3d:abd2)
2023-04-19 21:04:12 +0200barthandelous01(~calebbrze@209.140.228.250)
2023-04-19 21:08:42 +0200navska(~nasvka@188.163.113.23)
2023-04-19 21:10:31 +0200navska(~nasvka@188.163.113.23) (Changing host)
2023-04-19 21:10:31 +0200navska(~nasvka@user/navska)
2023-04-19 21:10:58 +0200navska(~nasvka@user/navska) ()
2023-04-19 21:11:55 +0200sawilagar(~sawilagar@user/sawilagar) (Quit: Leaving)
2023-04-19 21:12:14 +0200navska(~nasvka@188.163.113.23)
2023-04-19 21:13:39 +0200navska(~nasvka@188.163.113.23) (Client Quit)
2023-04-19 21:21:46 +0200slack1256(~slack1256@186.11.20.9)
2023-04-19 21:23:35 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 21:27:10 +0200oac(~oac@96.72.40.61) (Ping timeout: 276 seconds)
2023-04-19 21:28:59 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-19 21:29:21 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-04-19 21:29:39 +0200bontaq(~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection)
2023-04-19 21:29:52 +0200bontaq(~user@ool-45779b84.dyn.optonline.net)
2023-04-19 21:31:09 +0200tr_evtrev
2023-04-19 21:32:52 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:74ab:90b4:b689:6929)
2023-04-19 21:37:15 +0200doyougnu(~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 255 seconds)
2023-04-19 21:39:37 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection)
2023-04-19 21:40:52 +0200heraldo(~heraldo@user/heraldo)
2023-04-19 21:43:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 21:48:30 +0200biberu(~biberu@user/biberu) (Read error: Connection reset by peer)
2023-04-19 21:50:21 +0200zeenk(~zeenk@2a02:2f04:a10a:aa00::7fe)
2023-04-19 21:57:57 +0200biberu(~biberu@user/biberu)
2023-04-19 22:00:58 +0200ryantrinkle(~ryantrink@38.27.99.245) (Ping timeout: 276 seconds)
2023-04-19 22:02:00 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 22:02:31 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Ping timeout: 260 seconds)
2023-04-19 22:02:36 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-19 22:05:38 +0200dsrt^(~dsrt@c-76-105-96-13.hsd1.ga.comcast.net)
2023-04-19 22:08:32 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat)
2023-04-19 22:14:09 +0200terrorjack(~terrorjac@2a01:4f8:c17:87f8::)
2023-04-19 22:14:40 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-19 22:15:02 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 22:20:15 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-19 22:21:19 +0200rekahsoft(~rekahsoft@bras-base-orllon1122w-grc-04-174-88-193-177.dsl.bell.ca)
2023-04-19 22:23:59 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 22:24:25 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection)
2023-04-19 22:26:34 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:74ab:90b4:b689:6929) (Quit: WeeChat 2.8)
2023-04-19 22:28:50 +0200tstat(~user@user/tstat)
2023-04-19 22:31:12 +0200ryantrinkle(~ryantrink@38.27.99.245)
2023-04-19 22:36:36 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net)
2023-04-19 22:37:59 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-04-19 22:38:19 +0200hayden_(~hayden@72.92.246.5) (Remote host closed the connection)
2023-04-19 22:38:41 +0200hayden_(~hayden@72.92.246.5)
2023-04-19 22:41:45 +0200L29Ah(~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds)
2023-04-19 22:46:04 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-04-19 22:49:00 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2023-04-19 22:58:45 +0200zeenk(~zeenk@2a02:2f04:a10a:aa00::7fe) (Quit: Konversation terminated!)
2023-04-19 23:00:44 +0200gnalzo(~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
2023-04-19 23:10:43 +0200merijn(~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds)
2023-04-19 23:13:46 +0200hrberg(~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 276 seconds)
2023-04-19 23:13:58 +0200L29Ah(~L29Ah@wikipedia/L29Ah)
2023-04-19 23:21:19 +0200tstat(~user@user/tstat) (Ping timeout: 250 seconds)
2023-04-19 23:22:44 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl)
2023-04-19 23:24:07 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed)
2023-04-19 23:24:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f)
2023-04-19 23:25:13 +0200 <Inst> this is so weird
2023-04-19 23:25:36 +0200 <Inst> it's interesting that this is a field of theory i've never really considered, the difference between imperative GUI programming, FRP, and declarative GUI programming
2023-04-19 23:25:42 +0200 <Inst> declarative GUI is apparently big in frontend land
2023-04-19 23:27:28 +0200merijn(~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
2023-04-19 23:28:38 +0200 <ski> @where Fudgets
2023-04-19 23:28:38 +0200 <lambdabot> GUI using X, by Thomas Hallgren and Magnus Carlsson, at <http://www.altocumulus.org/Fudgets/>,<http://www.carlssonia.org/ogi/ProdArrows/>. Also see `Alfa'
2023-04-19 23:29:07 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Ping timeout: 250 seconds)
2023-04-19 23:29:21 +0200 <ski> (also Haggis and Fran, iirc)
2023-04-19 23:33:17 +0200barcisz(~barcisz@79.191.75.215.ipv4.supernova.orange.pl)
2023-04-19 23:35:06 +0200L29Ah(~L29Ah@wikipedia/L29Ah) ()
2023-04-19 23:35:10 +0200michalz(~michalz@185.246.207.200) (Remote host closed the connection)
2023-04-19 23:38:48 +0200coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2023-04-19 23:39:01 +0200oac(~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac)
2023-04-19 23:39:18 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-19 23:46:56 +0200gurkenglas(~gurkengla@dynamic-089-204-155-235.89.204.155.pool.telefonica.de) (Ping timeout: 246 seconds)
2023-04-19 23:50:17 +0200feliix42(~felix@gibbs.uberspace.de) (Quit: ZNC 1.8.2 - https://znc.in)
2023-04-19 23:50:47 +0200gurkenglas(~gurkengla@dynamic-089-204-155-235.89.204.155.pool.telefonica.de)
2023-04-19 23:54:21 +0200oac(~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac)
2023-04-19 23:54:38 +0200oac(~oac@50-93-248-155.fttp.usinternet.com)
2023-04-19 23:58:39 +0200L29Ah(~L29Ah@wikipedia/L29Ah)