2023-04-19 00:01:05 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2023-04-19 00:03:23 +0200 | Techcable | (~Techcable@user/Techcable) (Ping timeout: 250 seconds) |
2023-04-19 00:07:12 +0200 | pharonix71 | (~pharonix7@user/pharonix71) (Remote host closed the connection) |
2023-04-19 00:09:21 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-04-19 00:09:47 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2023-04-19 00:15:45 +0200 | grnman_ | (~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 240 seconds) |
2023-04-19 00:19:29 +0200 | dsrt^ | (~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 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::708a) |
2023-04-19 00:31:07 +0200 | acidjnk | (~acidjnk@p200300d6e715c424008a03a563343fd8.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2023-04-19 00:32:30 +0200 | jargon | (~jargon@174-22-213-236.phnx.qwest.net) |
2023-04-19 00:32:50 +0200 | falafel | (~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 +0200 | michalz | (~michalz@185.246.207.203) (Remote host closed the connection) |
2023-04-19 00:35:25 +0200 | slaydr | (~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 +0200 | doyougnu | (~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 +0200 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
2023-04-19 00:49:32 +0200 | shriekingnoise_ | (~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 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 00:56:21 +0200 | Techcable | (~Techcable@user/Techcable) |
2023-04-19 01:03:13 +0200 | NiceBird | (~NiceBird@185.133.111.196) (Ping timeout: 276 seconds) |
2023-04-19 01:04:28 +0200 | Me-me | (~Me-me@146.102.215.218.dyn.iprimus.net.au) |
2023-04-19 01:11:23 +0200 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 246 seconds) |
2023-04-19 01:17:59 +0200 | eggplantade | (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
2023-04-19 01:20:59 +0200 | smallville7123_ | (~JScript@cpe-172-193-72-46.qld.foxtel.net.au) (Read error: Connection reset by peer) |
2023-04-19 01:21:25 +0200 | JScript | (~JScript@103.137.12.133) |
2023-04-19 01:21:28 +0200 | JScript | (~JScript@103.137.12.133) (Max SendQ exceeded) |
2023-04-19 01:21:59 +0200 | JScript | (~JScript@103.137.12.133) |
2023-04-19 01:22:20 +0200 | nate1 | (~nate@98.45.169.16) |
2023-04-19 01:25:07 +0200 | szkl | (uid110435@id-110435.uxbridge.irccloud.com) |
2023-04-19 01:25:43 +0200 | falafel | (~falafel@2603-8000-d700-115c-eb67-f21a-fab0-8b30.res6.spectrum.com) (Ping timeout: 250 seconds) |
2023-04-19 01:26:45 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-04-19 01:27:05 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-04-19 01:33:50 +0200 | xff0x | (~xff0x@2405:6580:b080:900:47f6:92dd:c4d9:cca7) (Ping timeout: 246 seconds) |
2023-04-19 01:34:14 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::708a) (Quit: Leaving) |
2023-04-19 01:34:15 +0200 | xff0x | (~xff0x@178.255.149.135) |
2023-04-19 01:38:03 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) |
2023-04-19 01:40:20 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) |
2023-04-19 01:46:05 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-04-19 01:46:06 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-04-19 01:46:06 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-04-19 01:46:07 +0200 | johnw | (~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 +0200 | xff0x | (~xff0x@178.255.149.135) (Ping timeout: 260 seconds) |
2023-04-19 01:51:28 +0200 | xff0x | (~xff0x@2405:6580:b080:900:47f6:92dd:c4d9:cca7) |
2023-04-19 01:52:07 +0200 | mauke_ | (~mauke@user/mauke) |
2023-04-19 01:53:34 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 252 seconds) |
2023-04-19 01:53:34 +0200 | mauke_ | mauke |
2023-04-19 01:56:52 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-04-19 01:59:27 +0200 | sammelweis | (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 260 seconds) |
2023-04-19 02:04:43 +0200 | waleee | (~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 250 seconds) |
2023-04-19 02:06:25 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 240 seconds) |
2023-04-19 02:06:40 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-04-19 02:09:09 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-04-19 02:18:21 +0200 | pavonia | (~user@user/siracusa) |
2023-04-19 02:25:39 +0200 | chanceyan | (~chanceyan@user/chanceyan) |
2023-04-19 02:29:05 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-178-126.46.114.pool.telefonica.de) (Ping timeout: 265 seconds) |
2023-04-19 02:29:34 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection) |
2023-04-19 02:33:53 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) |
2023-04-19 02:36:17 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-04-19 02:40:59 +0200 | kee | (~~kee@user/wizzwizz4) (Ping timeout: 246 seconds) |
2023-04-19 02:41:59 +0200 | kee | (~~kee@user/wizzwizz4) |
2023-04-19 02:43:23 +0200 | chanceyan | (~chanceyan@user/chanceyan) (Quit: chanceyan) |
2023-04-19 02:43:54 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection) |
2023-04-19 02:47:27 +0200 | forell | (~forell@user/forell) (Ping timeout: 265 seconds) |
2023-04-19 02:49:25 +0200 | forell | (~forell@user/forell) |
2023-04-19 02:51:13 +0200 | slaydr | (~slaydr@97-120-80-7.ptld.qwest.net) (Quit: Leaving) |
2023-04-19 02:53:34 +0200 | ryantrinkle | (~ryantrink@38.27.99.245) (Ping timeout: 252 seconds) |
2023-04-19 03:01:04 +0200 | pyook | (~puke@user/puke) |
2023-04-19 03:02:03 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) |
2023-04-19 03:10:41 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-04-19 03:13:16 +0200 | ryantrinkle | (~ryantrink@38.27.99.245) |
2023-04-19 03:16:33 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-04-19 03:16:48 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-04-19 03:24:02 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 03:24:11 +0200 | gehmehgeh | (~user@user/gehmehgeh) |
2023-04-19 03:26:01 +0200 | kee | (~~kee@user/wizzwizz4) (Ping timeout: 252 seconds) |
2023-04-19 03:27:20 +0200 | gmg | (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
2023-04-19 03:30:56 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) (Ping timeout: 255 seconds) |
2023-04-19 03:31:41 +0200 | kee | (~~kee@user/wizzwizz4) |
2023-04-19 03:44:00 +0200 | xff0x | (~xff0x@2405:6580:b080:900:47f6:92dd:c4d9:cca7) (Ping timeout: 265 seconds) |
2023-04-19 03:44:14 +0200 | stiell_ | (~stiell@gateway/tor-sasl/stiell) |
2023-04-19 03:45:27 +0200 | pharonix71 | (~pharonix7@user/pharonix71) |
2023-04-19 03:50:28 +0200 | falafel | (~falafel@2603-8000-d700-115c-c6ba-48dd-9fbf-e990.res6.spectrum.com) |
2023-04-19 03:58:24 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
2023-04-19 03:59:51 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::4) |
2023-04-19 04:00:00 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds) |
2023-04-19 04:05:05 +0200 | forell | (~forell@user/forell) (Ping timeout: 240 seconds) |
2023-04-19 04:05:36 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 255 seconds) |
2023-04-19 04:06:04 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-04-19 04:07:06 +0200 | blankhart | (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) |
2023-04-19 04:07:24 +0200 | td_ | (~td@i53870902.versanet.de) (Ping timeout: 255 seconds) |
2023-04-19 04:08:39 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 265 seconds) |
2023-04-19 04:09:15 +0200 | td_ | (~td@i5387091D.versanet.de) |
2023-04-19 04:10:39 +0200 | blankhart | (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Client Quit) |
2023-04-19 04:10:54 +0200 | blankhart | (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) |
2023-04-19 04:12:33 +0200 | forell | (~forell@user/forell) |
2023-04-19 04:15:26 +0200 | nate1 | (~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 +0200 | falafel | (~falafel@2603-8000-d700-115c-c6ba-48dd-9fbf-e990.res6.spectrum.com) (Ping timeout: 250 seconds) |
2023-04-19 04:29:28 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) |
2023-04-19 04:29:51 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2023-04-19 04:31:15 +0200 | forell | (~forell@user/forell) (Ping timeout: 260 seconds) |
2023-04-19 04:32:21 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Max SendQ exceeded) |
2023-04-19 04:33:10 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2023-04-19 04:33:26 +0200 | blankhart | (~blankhart@pool-72-88-174-206.nwrknj.fios.verizon.net) (Quit: WeeChat 3.5) |
2023-04-19 04:35:39 +0200 | forell | (~forell@user/forell) |
2023-04-19 04:37:10 +0200 | thegeekinside | (~thegeekin@189.180.119.50) (Ping timeout: 265 seconds) |
2023-04-19 05:01:50 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds) |
2023-04-19 05:02:18 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::4) (Remote host closed the connection) |
2023-04-19 05:02:39 +0200 | opticblast | (~Thunderbi@172.58.87.218) |
2023-04-19 05:04:01 +0200 | roboguy_ | (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) |
2023-04-19 05:04:01 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-04-19 05:07:08 +0200 | roboguy_ | (~roboguy_@cpe-69-76-235-109.kc.res.rr.com) (Client Quit) |
2023-04-19 05:08:01 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 240 seconds) |
2023-04-19 05:18:25 +0200 | nate1 | (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
2023-04-19 05:21:39 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
2023-04-19 05:22:14 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) |
2023-04-19 05:41:27 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) |
2023-04-19 05:45:19 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 265 seconds) |
2023-04-19 05:54:28 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 06:08:39 +0200 | jargon | (~jargon@174-22-213-236.phnx.qwest.net) (Remote host closed the connection) |
2023-04-19 06:17:21 +0200 | mbuf | (~Shakthi@49.207.178.186) |
2023-04-19 06:18:15 +0200 | polykernel[m] | (~polykerne@user/polykernel) |
2023-04-19 06:23:07 +0200 | Sauvin | (~sauvin@user/Sauvin) (Ping timeout: 252 seconds) |
2023-04-19 06:26:23 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-04-19 06:26:54 +0200 | Sauvin | (~sauvin@user/Sauvin) |
2023-04-19 06:28:25 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds) |
2023-04-19 06:30:02 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-04-19 06:39:37 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds) |
2023-04-19 06:45:51 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::4) |
2023-04-19 06:49:40 +0200 | shriekingnoise_ | (~shrieking@186.137.175.87) (Ping timeout: 276 seconds) |
2023-04-19 06:50:25 +0200 | piele | (~piele@tbonesteak.creativeserver.net) (Remote host closed the connection) |
2023-04-19 06:51:37 +0200 | piele | (~piele@tbonesteak.creativeserver.net) |
2023-04-19 06:53:49 +0200 | zer0bitz_ | (~zer0bitz@196.244.192.61) |
2023-04-19 06:54:56 +0200 | zer0bitz | (~zer0bitz@2001:2003:f443:d600:a0d9:2bf4:3f2:ae1) (Ping timeout: 248 seconds) |
2023-04-19 06:55:19 +0200 | ormaaj1 | ormaaj |
2023-04-19 06:57:31 +0200 | hayden_ | (~hayden@72.92.246.5) |
2023-04-19 07:06:27 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-04-19 07:11:16 +0200 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-04-19 07:11:44 +0200 | bliminse | (~bliminse@user/bliminse) (Quit: leaving) |
2023-04-19 07:14:54 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) |
2023-04-19 07:16:48 +0200 | jwiegley | (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Remote host closed the connection) |
2023-04-19 07:16:51 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2023-04-19 07:17:29 +0200 | jwiegley | (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
2023-04-19 07:18:48 +0200 | codaraxis__ | (~codaraxis@user/codaraxis) (Ping timeout: 264 seconds) |
2023-04-19 07:21:36 +0200 | ddellacosta | (~ddellacos@143.244.47.70) (Ping timeout: 248 seconds) |
2023-04-19 07:37:08 +0200 | bliminse | (~bliminse@user/bliminse) |
2023-04-19 07:37:08 +0200 | bliminse | (~bliminse@user/bliminse) (Client Quit) |
2023-04-19 07:37:47 +0200 | bliminse | (~bliminse@user/bliminse) |
2023-04-19 07:48:45 +0200 | dsrt^ | (~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) (Ping timeout: 240 seconds) |
2023-04-19 07:56:24 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-04-19 07:57:57 +0200 | Square2 | (~Square4@user/square) |
2023-04-19 07:59:24 +0200 | falafel | (~falafel@2603-8000-d700-115c-9b6c-1c37-19a4-8386.res6.spectrum.com) |
2023-04-19 08:01:30 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::4) (Remote host closed the connection) |
2023-04-19 08:12:53 +0200 | mmhat | (~mmh@p200300f1c7106ed0ee086bfffe095315.dip0.t-ipconnect.de) |
2023-04-19 08:13:36 +0200 | mmhat | (~mmh@p200300f1c7106ed0ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-04-19 08:17:15 +0200 | tr_ev | (~trev@user/trev) |
2023-04-19 08:25:06 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 08:27:08 +0200 | michalz | (~michalz@185.246.207.200) |
2023-04-19 08:28:02 +0200 | tr_ev | trev |
2023-04-19 08:30:17 +0200 | CiaoSen | (~Jura@ip-109-43-178-193.web.vodafone.de) |
2023-04-19 08:32:02 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-19 08:39:12 +0200 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 255 seconds) |
2023-04-19 08:39:45 +0200 | Guest41 | (~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 +0200 | jle` | (~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 +0200 | mncheck | (~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 +0200 | stiell_ | (~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 +0200 | stiell_ | (~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 +0200 | hippoid | (~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 +0200 | hippoid | (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net) |
2023-04-19 08:55:13 +0200 | Guest41 | (~Guest41@ppp-58-11-30-123.revip2.asianet.co.th) (Quit: Client closed) |
2023-04-19 08:58:01 +0200 | falafel | (~falafel@2603-8000-d700-115c-9b6c-1c37-19a4-8386.res6.spectrum.com) (Ping timeout: 240 seconds) |
2023-04-19 08:59:27 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds) |
2023-04-19 08:59:38 +0200 | chanceyan | (~chanceyan@user/chanceyan) |
2023-04-19 09:00:46 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-04-19 09:00:59 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2023-04-19 09:01:25 +0200 | chanceyan | (~chanceyan@user/chanceyan) (Client Quit) |
2023-04-19 09:07:25 +0200 | euandreh | (~Thunderbi@189.6.18.7) (Ping timeout: 240 seconds) |
2023-04-19 09:16:18 +0200 | chele | (~chele@user/chele) |
2023-04-19 09:20:53 +0200 | chanceyan | (~chanceyan@user/chanceyan) |
2023-04-19 09:21:25 +0200 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 240 seconds) |
2023-04-19 09:21:26 +0200 | acidjnk | (~acidjnk@p200300d6e715c424d8026cc64eaafdc7.dip0.t-ipconnect.de) |
2023-04-19 09:26:16 +0200 | Batzy | (~quassel@user/batzy) (Quit: No Ping reply in 180 seconds.) |
2023-04-19 09:26:24 +0200 | chanceyan | (~chanceyan@user/chanceyan) (Quit: chanceyan) |
2023-04-19 09:27:08 +0200 | catch22 | (~catch22@2406:3400:418:d7e0:67c:16ff:fe3e:b769) (Remote host closed the connection) |
2023-04-19 09:27:43 +0200 | Batzy | (~quassel@user/batzy) |
2023-04-19 09:29:25 +0200 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) (Quit: ZNC 1.7.5 - https://znc.in) |
2023-04-19 09:29:41 +0200 | gabiruh | (~gabiruh@vps19177.publiccloud.com.br) |
2023-04-19 09:32:24 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 09:37:23 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds) |
2023-04-19 09:40:41 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 09:42:21 +0200 | econo | (uid147250@user/econo) (Quit: Connection closed for inactivity) |
2023-04-19 09:46:30 +0200 | vglfr | (~vglfr@88.155.36.189) |
2023-04-19 09:50:38 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-04-19 09:54:13 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-04-19 09:58:50 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-04-19 10:01:49 +0200 | gehmehgeh | gmg |
2023-04-19 10:04:45 +0200 | Bocaneri | (~sauvin@user/Sauvin) |
2023-04-19 10:05:09 +0200 | Bocaneri | Guest2454 |
2023-04-19 10:06:38 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-04-19 10:07:55 +0200 | Sauvin | (~sauvin@user/Sauvin) (Ping timeout: 276 seconds) |
2023-04-19 10:09:53 +0200 | Guest2454 | Sauvin |
2023-04-19 10:10:04 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-04-19 10:12:37 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-04-19 10:23:16 +0200 | mc47 | (~mc47@xmonad/TheMC47) |
2023-04-19 10:28:00 +0200 | drdo | (~drdo@bl14-14-164.dsl.telepac.pt) (Ping timeout: 252 seconds) |
2023-04-19 10:30:25 +0200 | ft | (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
2023-04-19 10:31:03 +0200 | mauke | (~mauke@user/mauke) (Quit: bbl) |
2023-04-19 10:31:39 +0200 | mauke | (~mauke@user/mauke) |
2023-04-19 10:33:36 +0200 | drdo | (~drdo@bl14-14-164.dsl.telepac.pt) |
2023-04-19 10:39:40 +0200 | gurkenglas | (~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 +0200 | merijn | (~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 +0200 | jinsun | (~jinsun@user/jinsun) (Ping timeout: 250 seconds) |
2023-04-19 10:57:01 +0200 | phma | (phma@2001:5b0:215d:98b8:e349:d2b0:ba66:968) (Read error: Connection reset by peer) |
2023-04-19 10:57:35 +0200 | phma | (~phma@host-67-44-208-108.hnremote.net) |
2023-04-19 11:00:44 +0200 | jinsun | (~jinsun@user/jinsun) |
2023-04-19 11:01:48 +0200 | euandreh | (~Thunderbi@189.6.18.7) |
2023-04-19 11:01:52 +0200 | JScript | (~JScript@103.137.12.133) (Ping timeout: 276 seconds) |
2023-04-19 11:05:11 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 11:07:28 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-19 11:11:04 +0200 | JScript | (~JScript@103.137.12.28) |
2023-04-19 11:11:13 +0200 | JScript | (~JScript@103.137.12.28) (Max SendQ exceeded) |
2023-04-19 11:11:56 +0200 | JScript | (~JScript@103.137.12.28) |
2023-04-19 11:12:00 +0200 | JScript | (~JScript@103.137.12.28) (Max SendQ exceeded) |
2023-04-19 11:12:29 +0200 | JScript | (~JScript@103.137.12.28) |
2023-04-19 11:18:17 +0200 | __monty__ | (~toonn@user/toonn) |
2023-04-19 11:18:26 +0200 | CiaoSen | (~Jura@ip-109-43-178-193.web.vodafone.de) (Remote host closed the connection) |
2023-04-19 11:26:00 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
2023-04-19 11:30:37 +0200 | kspalaiologos | (~kspalaiol@user/kspalaiologos) |
2023-04-19 11:33:01 +0200 | cfricke | (~cfricke@user/cfricke) |
2023-04-19 11:36:54 +0200 | NiceBird | (~NiceBird@185.133.111.196) |
2023-04-19 11:41:47 +0200 | ubert1 | (~Thunderbi@2a02:8109:abc0:6434:e0cd:d318:528f:3288) |
2023-04-19 11:47:18 +0200 | Vq | (~vq@90-230-208-28-no77.tbcn.telia.com) (Ping timeout: 255 seconds) |
2023-04-19 11:48:22 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection) |
2023-04-19 11:51:11 +0200 | kspalaiologos | (~kspalaiol@user/kspalaiologos) (Ping timeout: 264 seconds) |
2023-04-19 11:55:11 +0200 | mei | (~mei@user/mei) |
2023-04-19 12:02:30 +0200 | ubert1 | (~Thunderbi@2a02:8109:abc0:6434:e0cd:d318:528f:3288) (Quit: ubert1) |
2023-04-19 12:05:18 +0200 | xff0x | (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds) |
2023-04-19 12:08:20 +0200 | acidjnk | (~acidjnk@p200300d6e715c424d8026cc64eaafdc7.dip0.t-ipconnect.de) (Read error: Connection reset by peer) |
2023-04-19 12:12:52 +0200 | kspalaiologos | (~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 +0200 | Square2 | Square |
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 +0200 | dminuoso | sighs |
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 +0200 | albet70 | (~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 +0200 | lyxia_ | 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 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-04-19 12:31:29 +0200 | kspalaiologos | (~kspalaiol@user/kspalaiologos) (Quit: Leaving) |
2023-04-19 12:45:09 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-04-19 12:48:51 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) |
2023-04-19 12:50:55 +0200 | YoungFrog | (~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 +0200 | CiaoSen | (~Jura@tmo-119-14.customers.d1-online.com) |
2023-04-19 12:52:12 +0200 | CiaoSen | (~Jura@tmo-119-14.customers.d1-online.com) (Client Quit) |
2023-04-19 12:53:30 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Ping timeout: 260 seconds) |
2023-04-19 12:59:43 +0200 | gawen | (~gawen@user/gawen) (Quit: cya) |
2023-04-19 13:04:42 +0200 | zeenk | (~zeenk@2a02:2f04:a10a:aa00::7fe) |
2023-04-19 13:09:37 +0200 | puke | (~puke@user/puke) |
2023-04-19 13:09:40 +0200 | xff0x | (~xff0x@2405:6580:b080:900:6b0a:95d2:a0f4:74) |
2023-04-19 13:17:18 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-19 13:20:16 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-04-19 13:22:59 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 264 seconds) |
2023-04-19 13:31:05 +0200 | MasseR46 | (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 +0200 | vglfr | (~vglfr@88.155.36.189) (Ping timeout: 240 seconds) |
2023-04-19 13:41:19 +0200 | hippoid | (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net) (Changing host) |
2023-04-19 13:41:19 +0200 | hippoid | (~My_user_n@user/hippoid) |
2023-04-19 13:42:41 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-04-19 13:47:45 +0200 | td_ | (~td@i5387091D.versanet.de) (Ping timeout: 240 seconds) |
2023-04-19 13:47:59 +0200 | td_ | (~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 +0200 | YoungFrog | (~youngfrog@2a02:a03f:ca07:f900:4156:1a65:5694:85cf) |
2023-04-19 13:57:25 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
2023-04-19 14:01:46 +0200 | vglfr | (~vglfr@88.155.36.189) |
2023-04-19 14:04:20 +0200 | gnalzo | (~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 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-19 14:06:27 +0200 | barcisz | (~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 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2023-04-19 14:08:05 +0200 | vglfr | (~vglfr@88.155.36.189) (Ping timeout: 240 seconds) |
2023-04-19 14:09:04 +0200 | oats | (~thomas@user/oats) (Quit: until later, my friends) |
2023-04-19 14:09:44 +0200 | oats | (~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 +0200 | Wstfgl0 | (~me-me@2602:ff16:3:0:1:dc:beef:d00d) (Remote host closed the connection) |
2023-04-19 14:33:29 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 14:33:44 +0200 | Wstfgl0 | (~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 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-04-19 14:45:14 +0200 | doyougnu | (~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 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-19 14:55:43 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 252 seconds) |
2023-04-19 15:02:27 +0200 | Inst | (~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 +0200 | merijn | (~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 +0200 | Guest83 | (~Guest83@47-184-83-112.dlls.tx.frontiernet.net) |
2023-04-19 15:12:14 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-19 15:16:42 +0200 | vglfr | (~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 +0200 | merijn | (~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 +0200 | Guest83 | (~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 +0200 | heraldo | (~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 +0200 | merijn | (~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 +0200 | npmania | (~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 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-04-19 15:34:52 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-04-19 15:34:52 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-04-19 15:36:26 +0200 | merijn | (~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 +0200 | merijn | (~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 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-19 15:44:34 +0200 | <dminuoso> | I like simple reasoning |
2023-04-19 15:44:35 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 250 seconds) |
2023-04-19 15:48:53 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 246 seconds) |
2023-04-19 15:51:26 +0200 | eggplantade | (~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 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) (Ping timeout: 260 seconds) |
2023-04-19 15:56:11 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Ping timeout: 260 seconds) |
2023-04-19 15:56:11 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) |
2023-04-19 15:58:03 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-178-126.46.114.pool.telefonica.de) (Ping timeout: 260 seconds) |
2023-04-19 16:00:44 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-04-19 16:02:33 +0200 | kritzefitz | (~kritzefit@debian/kritzefitz) |
2023-04-19 16:05:44 +0200 | hippoid | (~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 +0200 | img | (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-04-19 16:16:03 +0200 | img | (~img@user/img) |
2023-04-19 16:18:24 +0200 | img | (~img@user/img) (Client Quit) |
2023-04-19 16:22:09 +0200 | thegeekinside | (~thegeekin@189.180.119.50) |
2023-04-19 16:23:22 +0200 | img | (~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 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-04-19 16:29:51 +0200 | opticblast | (~Thunderbi@172.58.87.218) (Ping timeout: 246 seconds) |
2023-04-19 16:31:07 +0200 | phma_ | (~phma@host-67-44-208-250.hnremote.net) |
2023-04-19 16:31:14 +0200 | <lexi-lambda> | no |
2023-04-19 16:33:25 +0200 | phma | (~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 +0200 | npmania | (~Thunderbi@121.128.226.31) (Ping timeout: 260 seconds) |
2023-04-19 16:37:02 +0200 | phma_ | 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 +0200 | econo | (uid147250@user/econo) |
2023-04-19 16:44:32 +0200 | Me-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 +0200 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-04-19 16:49:01 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 252 seconds) |
2023-04-19 16:52:25 +0200 | kee | (~~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 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-04-19 16:55:49 +0200 | kee | (~~kee@user/wizzwizz4) |
2023-04-19 16:57:17 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-19 16:57:39 +0200 | acidjnk | (~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 +0200 | jero98772 | (~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 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-04-19 17:01:37 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-04-19 17:01:51 +0200 | heraldo | (~heraldo@user/heraldo) (Ping timeout: 255 seconds) |
2023-04-19 17:01:59 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 260 seconds) |
2023-04-19 17:02:31 +0200 | gawen | (~gawen@user/gawen) |
2023-04-19 17:05:00 +0200 | hugo | (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 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 17:15:46 +0200 | hugo | (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 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
2023-04-19 17:20:55 +0200 | gnalzo | (~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 +0200 | hugo | (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 +0200 | Square | (~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 +0200 | cfricke | (~cfricke@user/cfricke) (Quit: WeeChat 3.8) |
2023-04-19 17:30:57 +0200 | hugo | (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 +0200 | mc47 | (~mc47@xmonad/TheMC47) (Remote host closed the connection) |
2023-04-19 17:36:58 +0200 | merijn | (~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 +0200 | AlexZenon | (~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 +0200 | Alex_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 +0200 | Alex_test | (~al_test@178.34.150.15) |
2023-04-19 17:46:03 +0200 | AlexZenon | (~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 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-19 17:47:57 +0200 | barcisz | (~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 +0200 | eggplantade | (~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 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-19 17:57:23 +0200 | barcisz | (~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 +0200 | barthandelous01 | (~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 +0200 | barcisz | (~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 +0200 | mcglk | (~mcglk@131.191.19.145) (Ping timeout: 246 seconds) |
2023-04-19 18:07:13 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection) |
2023-04-19 18:08:30 +0200 | Vq | (~vq@90-230-208-28-no77.tbcn.telia.com) |
2023-04-19 18:08:47 +0200 | mcglk | (~mcglk@131.191.19.145) |
2023-04-19 18:21:19 +0200 | zeenk | (~zeenk@2a02:2f04:a10a:aa00::7fe) (Quit: Konversation terminated!) |
2023-04-19 18:25:50 +0200 | emad | (~emad@156.214.38.32) |
2023-04-19 18:31:37 +0200 | kuribas | (~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 27.1)) |
2023-04-19 18:32:31 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
2023-04-19 18:32:33 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-04-19 18:37:14 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
2023-04-19 18:40:42 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) |
2023-04-19 18:50:29 +0200 | czy | (~user@host-140-25.ilcub310.champaign.il.us.clients.pavlovmedia.net) |
2023-04-19 18:51:43 +0200 | oac | (~oac@96.72.40.61) |
2023-04-19 18:52:35 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-04-19 18:53:00 +0200 | jero98772 | (~jero98772@190.158.28.80) (Ping timeout: 255 seconds) |
2023-04-19 18:58:57 +0200 | codaraxis___ | (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
2023-04-19 19:00:18 +0200 | gurkenglas | (~gurkengla@dynamic-089-204-155-235.89.204.155.pool.telefonica.de) |
2023-04-19 19:01:29 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-19 19:04:48 +0200 | mbuf | (~Shakthi@49.207.178.186) (Remote host closed the connection) |
2023-04-19 19:05:13 +0200 | jero98772 | (~jero98772@2800:484:1d84:9000::4) |
2023-04-19 19:23:45 +0200 | emad | (~emad@156.214.38.32) (Quit: Leaving) |
2023-04-19 19:27:29 +0200 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:152b:c011:bb3d:abd2) |
2023-04-19 19:34:04 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds) |
2023-04-19 19:37:02 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-04-19 19:39:54 +0200 | codaraxis | (~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 +0200 | trev | (~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 +0200 | tr_ev | (~trev@user/trev) |
2023-04-19 19:54:05 +0200 | barthandelous01 | (~calebbrze@209.140.193.13) (Ping timeout: 240 seconds) |
2023-04-19 19:54:58 +0200 | barthandelous01 | (~calebbrze@209.140.193.13) |
2023-04-19 20:00:27 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 20:02:26 +0200 | coot | (~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 +0200 | L29Ah | (~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 +0200 | tr_ev | (~trev@user/trev) (Quit: tr_ev) |
2023-04-19 20:13:34 +0200 | tr_ev | (~trev@user/trev) |
2023-04-19 20:15:51 +0200 | barthandelous01 | (~calebbrze@209.140.193.13) (Ping timeout: 250 seconds) |
2023-04-19 20:17:37 +0200 | Techcable | (~Techcable@user/Techcable) (Ping timeout: 276 seconds) |
2023-04-19 20:17:44 +0200 | ft | (~ft@p4fc2a88b.dip0.t-ipconnect.de) |
2023-04-19 20:18:41 +0200 | tubogram44 | (~tubogram@user/tubogram) (Quit: See ya later!) |
2023-04-19 20:24:06 +0200 | pharonix71 | (~pharonix7@user/pharonix71) (Remote host closed the connection) |
2023-04-19 20:24:32 +0200 | pharonix71 | (~pharonix7@user/pharonix71) |
2023-04-19 20:25:22 +0200 | jwiegley | (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Remote host closed the connection) |
2023-04-19 20:26:11 +0200 | jwiegley | (~jwiegley@76-234-69-149.lightspeed.frokca.sbcglobal.net) |
2023-04-19 20:28:23 +0200 | tubogram44 | (~tubogram@user/tubogram) |
2023-04-19 20:31:05 +0200 | vglfr | (~vglfr@88.155.36.189) (Ping timeout: 240 seconds) |
2023-04-19 20:31:21 +0200 | vglfr | (~vglfr@88.155.36.189) |
2023-04-19 20:31:22 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2023-04-19 20:33:47 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds) |
2023-04-19 20:35:44 +0200 | vglfr | (~vglfr@88.155.36.189) (Ping timeout: 248 seconds) |
2023-04-19 20:36:00 +0200 | sawilagar | navska |
2023-04-19 20:39:16 +0200 | navska | (~sawilagar@user/sawilagar) (Quit: Leaving) |
2023-04-19 20:39:35 +0200 | sawilagar | (~sawilagar@user/sawilagar) |
2023-04-19 20:44:19 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-04-19 20:45:33 +0200 | erisco_ | (~erisco@d24-141-66-165.home.cgocable.net) |
2023-04-19 20:46:13 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) |
2023-04-19 20:46:51 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 255 seconds) |
2023-04-19 20:46:52 +0200 | erisco_ | erisco |
2023-04-19 20:48:03 +0200 | Techcable | (~Techcable@user/Techcable) |
2023-04-19 20:51:05 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 240 seconds) |
2023-04-19 20:51:14 +0200 | barthandelous01 | (~calebbrze@209.140.193.13) |
2023-04-19 20:52:01 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) |
2023-04-19 20:53:25 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) (Ping timeout: 240 seconds) |
2023-04-19 20:55:47 +0200 | barthandelous01 | (~calebbrze@209.140.193.13) (Ping timeout: 260 seconds) |
2023-04-19 20:55:51 +0200 | vglfr | (~vglfr@88.155.36.189) |
2023-04-19 20:56:34 +0200 | erisco | (~erisco@d24-141-66-165.home.cgocable.net) |
2023-04-19 20:57:15 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection) |
2023-04-19 20:58:21 +0200 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:152b:c011:bb3d:abd2) (Remote host closed the connection) |
2023-04-19 20:58:40 +0200 | use-value | (~Thunderbi@2a00:23c6:8a03:2f01:152b:c011:bb3d:abd2) |
2023-04-19 21:04:12 +0200 | barthandelous01 | (~calebbrze@209.140.228.250) |
2023-04-19 21:08:42 +0200 | navska | (~nasvka@188.163.113.23) |
2023-04-19 21:10:31 +0200 | navska | (~nasvka@188.163.113.23) (Changing host) |
2023-04-19 21:10:31 +0200 | navska | (~nasvka@user/navska) |
2023-04-19 21:10:58 +0200 | navska | (~nasvka@user/navska) () |
2023-04-19 21:11:55 +0200 | sawilagar | (~sawilagar@user/sawilagar) (Quit: Leaving) |
2023-04-19 21:12:14 +0200 | navska | (~nasvka@188.163.113.23) |
2023-04-19 21:13:39 +0200 | navska | (~nasvka@188.163.113.23) (Client Quit) |
2023-04-19 21:21:46 +0200 | slack1256 | (~slack1256@186.11.20.9) |
2023-04-19 21:23:35 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) |
2023-04-19 21:27:10 +0200 | oac | (~oac@96.72.40.61) (Ping timeout: 276 seconds) |
2023-04-19 21:28:59 +0200 | oac | (~oac@50-93-248-155.fttp.usinternet.com) |
2023-04-19 21:29:21 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-19 21:29:39 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection) |
2023-04-19 21:29:52 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-04-19 21:31:09 +0200 | tr_ev | trev |
2023-04-19 21:32:52 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:74ab:90b4:b689:6929) |
2023-04-19 21:37:15 +0200 | doyougnu | (~doyougnu@cpe-74-69-132-225.stny.res.rr.com) (Ping timeout: 255 seconds) |
2023-04-19 21:39:37 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection) |
2023-04-19 21:40:52 +0200 | heraldo | (~heraldo@user/heraldo) |
2023-04-19 21:43:34 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) |
2023-04-19 21:48:30 +0200 | biberu | (~biberu@user/biberu) (Read error: Connection reset by peer) |
2023-04-19 21:50:21 +0200 | zeenk | (~zeenk@2a02:2f04:a10a:aa00::7fe) |
2023-04-19 21:57:57 +0200 | biberu | (~biberu@user/biberu) |
2023-04-19 22:00:58 +0200 | ryantrinkle | (~ryantrink@38.27.99.245) (Ping timeout: 276 seconds) |
2023-04-19 22:02:00 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-19 22:02:31 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Ping timeout: 260 seconds) |
2023-04-19 22:02:36 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2023-04-19 22:05:38 +0200 | dsrt^ | (~dsrt@c-76-105-96-13.hsd1.ga.comcast.net) |
2023-04-19 22:08:32 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2023-04-19 22:14:09 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2023-04-19 22:14:40 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-19 22:15:02 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-19 22:20:15 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-19 22:21:19 +0200 | rekahsoft | (~rekahsoft@bras-base-orllon1122w-grc-04-174-88-193-177.dsl.bell.ca) |
2023-04-19 22:23:59 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-19 22:24:25 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:6486:e69a:524e:7c3f) (Remote host closed the connection) |
2023-04-19 22:26:34 +0200 | lortabac | (~lortabac@2a01:e0a:541:b8f0:74ab:90b4:b689:6929) (Quit: WeeChat 2.8) |
2023-04-19 22:28:50 +0200 | tstat | (~user@user/tstat) |
2023-04-19 22:31:12 +0200 | ryantrinkle | (~ryantrink@38.27.99.245) |
2023-04-19 22:36:36 +0200 | merijn | (~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 +0200 | hayden_ | (~hayden@72.92.246.5) (Remote host closed the connection) |
2023-04-19 22:38:41 +0200 | hayden_ | (~hayden@72.92.246.5) |
2023-04-19 22:41:45 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 240 seconds) |
2023-04-19 22:46:04 +0200 | takuan | (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
2023-04-19 22:49:00 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
2023-04-19 22:58:45 +0200 | zeenk | (~zeenk@2a02:2f04:a10a:aa00::7fe) (Quit: Konversation terminated!) |
2023-04-19 23:00:44 +0200 | gnalzo | (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
2023-04-19 23:10:43 +0200 | merijn | (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 252 seconds) |
2023-04-19 23:13:46 +0200 | hrberg | (~quassel@171.79-160-161.customer.lyse.net) (Ping timeout: 276 seconds) |
2023-04-19 23:13:58 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-04-19 23:21:19 +0200 | tstat | (~user@user/tstat) (Ping timeout: 250 seconds) |
2023-04-19 23:22:44 +0200 | merijn | (~merijn@c-001-001-006.client.esciencecenter.eduvpn.nl) |
2023-04-19 23:24:07 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-04-19 23:24:54 +0200 | eggplantade | (~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 +0200 | merijn | (~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 +0200 | eggplantade | (~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 +0200 | barcisz | (~barcisz@79.191.75.215.ipv4.supernova.orange.pl) |
2023-04-19 23:35:06 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) () |
2023-04-19 23:35:10 +0200 | michalz | (~michalz@185.246.207.200) (Remote host closed the connection) |
2023-04-19 23:38:48 +0200 | coot | (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
2023-04-19 23:39:01 +0200 | oac | (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac) |
2023-04-19 23:39:18 +0200 | oac | (~oac@50-93-248-155.fttp.usinternet.com) |
2023-04-19 23:46:56 +0200 | gurkenglas | (~gurkengla@dynamic-089-204-155-235.89.204.155.pool.telefonica.de) (Ping timeout: 246 seconds) |
2023-04-19 23:50:17 +0200 | feliix42 | (~felix@gibbs.uberspace.de) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-04-19 23:50:47 +0200 | gurkenglas | (~gurkengla@dynamic-089-204-155-235.89.204.155.pool.telefonica.de) |
2023-04-19 23:54:21 +0200 | oac | (~oac@50-93-248-155.fttp.usinternet.com) (Quit: oac) |
2023-04-19 23:54:38 +0200 | oac | (~oac@50-93-248-155.fttp.usinternet.com) |
2023-04-19 23:58:39 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |