Logs on 2022-06-01 (liberachat/#haskell)
| 00:01:06 | → | polykernel[m] joins (~polykerne@user/polykernel) |
| 00:02:17 | × | jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds) |
| 00:02:56 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 00:04:06 | → | jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
| 00:09:21 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 00:09:54 | → | dost^ joins (~dost@128-092-173-218.biz.spectrum.com) |
| 00:11:33 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 00:13:40 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 00:15:14 | → | szkl joins (uid110435@id-110435.uxbridge.irccloud.com) |
| 00:17:48 | × | dost^ quits (~dost@128-092-173-218.biz.spectrum.com) (Remote host closed the connection) |
| 00:18:02 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 00:21:30 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 240 seconds) |
| 00:24:57 | × | bjobjo quits (~bjobjo@user/bjobjo) (Ping timeout: 248 seconds) |
| 00:26:42 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 00:27:53 | × | vicfred quits (~vicfred@user/vicfred) (Quit: Leaving) |
| 00:28:06 | → | bjobjo joins (~bjobjo@user/bjobjo) |
| 00:36:11 | × | inversed quits (~inversed@176.248.27.211) (Ping timeout: 255 seconds) |
| 00:37:20 | → | inversed joins (~inversed@176.248.27.211) |
| 00:39:35 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 00:43:09 | × | alp quits (~alp@user/alp) (Ping timeout: 244 seconds) |
| 00:43:57 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds) |
| 00:44:06 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 00:44:47 | × | xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 256 seconds) |
| 00:45:06 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 00:46:08 | → | Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915) |
| 00:47:19 | → | Benzi-Junior joins (~BenziJuni@dsl-149-64-179.hive.is) |
| 00:48:11 | → | lottaquestions joins (~nick@2607:fa49:5041:a200:3daf:9139:3014:7a17) |
| 00:51:25 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 00:54:47 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 01:02:16 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 01:02:54 | → | kimjetwav joins (~user@2607:fea8:2362:b400:cf0b:9d95:c978:e54a) |
| 01:05:33 | × | motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 276 seconds) |
| 01:06:44 | → | motherfsck joins (~motherfsc@user/motherfsck) |
| 01:10:13 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 01:11:11 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:14:30 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 01:15:27 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 240 seconds) |
| 01:17:19 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:18:56 | × | gurkenglas quits (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) (Ping timeout: 255 seconds) |
| 01:21:40 | × | zeenk quits (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Quit: Konversation terminated!) |
| 01:24:03 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 01:28:55 | → | xff0x joins (~xff0x@s5.HtokyoFL1.vectant.ne.jp) |
| 01:32:41 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:33:26 | × | jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 252 seconds) |
| 01:34:27 | → | rose joins (~rose@user/rose) |
| 01:36:21 | → | bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex) |
| 01:36:30 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 01:38:04 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
| 01:38:47 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 01:51:50 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 01:51:52 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 244 seconds) |
| 01:52:56 | → | Unicorn_Princess joins (~Unicorn_P@93-103-228-248.dynamic.t-2.net) |
| 01:54:02 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 01:54:56 | → | andrey__ joins (~andrey@p200300dbcf0aa300256a01d40b961d18.dip0.t-ipconnect.de) |
| 01:55:23 | × | xff0x quits (~xff0x@s5.HtokyoFL1.vectant.ne.jp) (Ping timeout: 255 seconds) |
| 01:57:14 | → | xff0x joins (~xff0x@s5.HtokyoFL1.vectant.ne.jp) |
| 01:57:45 | × | andrey_ quits (~andrey@p200300dbcf1607007715c2deb780d806.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 02:01:26 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 02:06:39 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds) |
| 02:06:54 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 02:12:13 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 02:18:07 | → | zebrag joins (~chris@user/zebrag) |
| 02:22:23 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection) |
| 02:25:50 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 02:27:27 | × | td_ quits (~td@muedsl-82-207-238-004.citykom.de) (Ping timeout: 276 seconds) |
| 02:28:13 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 02:28:43 | → | td_ joins (~td@94.134.91.230) |
| 02:32:52 | × | zebrag quits (~chris@user/zebrag) (Quit: Konversation terminated!) |
| 02:33:55 | → | frost joins (~frost@user/frost) |
| 02:35:07 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 02:38:55 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 02:42:01 | × | waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 258 seconds) |
| 02:42:41 | × | terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat) |
| 02:43:57 | → | terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1) |
| 02:49:18 | × | inversed quits (~inversed@176.248.27.211) (Ping timeout: 246 seconds) |
| 02:50:19 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 02:50:19 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 02:50:19 | finn_elija | is now known as FinnElija |
| 02:52:47 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:f072:4241:498:eedf) (Remote host closed the connection) |
| 02:53:03 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 03:02:37 | → | Guest45 joins (~Guest45@c-67-165-193-67.hsd1.co.comcast.net) |
| 03:03:11 | × | img quits (~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in) |
| 03:09:22 | × | Guest45 quits (~Guest45@c-67-165-193-67.hsd1.co.comcast.net) (Quit: Client closed) |
| 03:14:16 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 03:16:05 | → | img joins (~img@user/img) |
| 03:19:02 | → | seriously joins (~seriously@ool-18bd5811.dyn.optonline.net) |
| 03:22:16 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 03:26:52 | → | causal joins (~user@50.35.83.177) |
| 03:36:00 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Remote host closed the connection) |
| 03:38:56 | × | seriously quits (~seriously@ool-18bd5811.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 03:39:22 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 03:47:20 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 03:49:24 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 03:51:10 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 03:51:17 | → | raym joins (~raym@user/raym) |
| 03:54:57 | → | jinsun joins (~jinsun@user/jinsun) |
| 03:57:27 | × | jinsun__ quits (~jinsun@user/jinsun) (Ping timeout: 240 seconds) |
| 04:00:27 | × | Me-me quits (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) (Quit: Disconnecting on purpose.) |
| 04:03:06 | × | ix quits (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) (Ping timeout: 244 seconds) |
| 04:06:54 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 04:11:01 | → | ix joins (~ix@2a02:8010:674f:0:d65d:64ff:fe52:5efe) |
| 04:11:20 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 04:11:45 | → | holmes joins (~holmes@user/holmes) |
| 04:19:39 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 04:19:54 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::ba9a) |
| 04:20:22 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
| 04:23:01 | → | slack1256 joins (~slack1256@181.43.227.124) |
| 04:24:26 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 04:30:07 | × | Maxdamantus quits (~Maxdamant@user/maxdamantus) (Ping timeout: 258 seconds) |
| 04:31:01 | → | Maxdamantus joins (~Maxdamant@user/maxdamantus) |
| 04:34:43 | → | odnes joins (~odnes@5-203-249-198.pat.nym.cosmote.net) |
| 04:36:34 | × | jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds) |
| 04:37:13 | → | jpds1 joins (~jpds@gateway/tor-sasl/jpds) |
| 04:39:54 | × | xsarnik quits (xsarnik@lounge.fi.muni.cz) (Ping timeout: 246 seconds) |
| 04:39:54 | × | xstill- quits (xstill@fimu/xstill) (Ping timeout: 246 seconds) |
| 04:40:56 | → | xsarnik joins (xsarnik@lounge.fi.muni.cz) |
| 04:41:11 | → | xstill- joins (xstill@fimu/xstill) |
| 04:44:53 | × | slack1256 quits (~slack1256@181.43.227.124) (Remote host closed the connection) |
| 04:54:40 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 04:55:01 | → | biberu joins (~biberu@user/biberu) |
| 04:57:29 | → | coot joins (~coot@213.134.190.95) |
| 04:58:33 | → | zmt01 joins (~zmt00@user/zmt00) |
| 04:58:52 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 05:00:20 | × | zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 255 seconds) |
| 05:06:03 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds) |
| 05:13:03 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 05:13:06 | × | kimjetwav quits (~user@2607:fea8:2362:b400:cf0b:9d95:c978:e54a) (Quit: ERC 5.4.1 (IRC client for GNU Emacs 29.0.50)) |
| 05:13:09 | × | Teacup quits (~teacup@user/teacup) (Quit: Teacup) |
| 05:14:23 | → | Teacup joins (~teacup@user/teacup) |
| 05:15:09 | × | rose quits (~rose@user/rose) (Read error: Connection reset by peer) |
| 05:17:07 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 05:17:30 | × | Teacup quits (~teacup@user/teacup) (Client Quit) |
| 05:18:09 | → | Teacup joins (~teacup@user/teacup) |
| 05:18:45 | × | Teacup quits (~teacup@user/teacup) (Client Quit) |
| 05:19:49 | → | Teacup joins (~teacup@user/teacup) |
| 05:20:26 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 05:23:02 | × | holmes quits (~holmes@user/holmes) (Quit: Textual IRC Client: www.textualapp.com) |
| 05:28:47 | × | martin02 quits (~silas@141.84.69.76) (Ping timeout: 240 seconds) |
| 05:29:14 | → | martin02 joins (~silas@141.84.69.76) |
| 05:34:42 | → | inversed joins (~inversed@176.248.27.211) |
| 05:34:59 | → | acidjnk joins (~acidjnk@p200300d0c7068b08d490575bc8478d60.dip0.t-ipconnect.de) |
| 05:38:07 | × | Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.) |
| 05:39:22 | → | Batzy joins (~quassel@user/batzy) |
| 05:42:58 | → | jgeerds_ joins (~jgeerds@55d45f48.access.ecotel.net) |
| 05:47:30 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 05:51:09 | × | Guest|62 quits (~Guest|62@c-71-205-105-44.hsd1.co.comcast.net) (Quit: Connection closed) |
| 06:00:26 | → | mbuf joins (~Shakthi@122.174.210.245) |
| 06:09:46 | × | odnes quits (~odnes@5-203-249-198.pat.nym.cosmote.net) (Quit: Leaving) |
| 06:11:52 | <dibblego> | @src (>>=) [] |
| 06:11:53 | <lambdabot> | Source not found. Have you considered trying to match wits with a rutabaga? |
| 06:12:03 | <dibblego> | what's the syntax for that ^^ again please? |
| 06:14:08 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 255 seconds) |
| 06:14:11 | <dibblego> | @src [] (>>=) |
| 06:14:11 | <lambdabot> | xs >>= f = concatMap f xs |
| 06:15:38 | <dibblego> | @src Const mappend |
| 06:15:38 | <lambdabot> | Source not found. My mind is going. I can feel it. |
| 06:23:24 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds) |
| 06:27:22 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 06:27:31 | × | yosef``` quits (~user@2409:8a55:e214:41a0:58b9:4cff:fea0:d9) (Quit: ERC (IRC client for Emacs 26.1)) |
| 06:29:01 | → | yosef`` joins (~user@user/yosef/x-3154124) |
| 06:31:13 | → | mmhat joins (~mmh@p200300f1c71bc38eee086bfffe095315.dip0.t-ipconnect.de) |
| 06:37:31 | → | chomwitt joins (~chomwitt@2a02:587:dc0e:3e00:9566:7d3:9c0f:2549) |
| 06:45:56 | → | michalz joins (~michalz@185.246.204.126) |
| 06:46:31 | → | Pickchea joins (~private@user/pickchea) |
| 06:49:16 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 06:51:58 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 06:53:31 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 06:53:54 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 06:55:01 | → | chele joins (~chele@user/chele) |
| 06:58:34 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 07:04:59 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 07:08:07 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 07:10:00 | → | calleum_ joins (~calleum@user/calleum) |
| 07:14:01 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 07:19:05 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 07:26:28 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 07:28:07 | → | habib joins (~textual@188.119.54.182) |
| 07:32:12 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 07:32:57 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 276 seconds) |
| 07:34:02 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 07:34:44 | → | habibalamin joins (~habib@188.241.157.224) |
| 07:35:17 | × | habib quits (~textual@188.119.54.182) (Ping timeout: 260 seconds) |
| 07:36:45 | × | habibalamin quits (~habib@188.241.157.224) (Client Quit) |
| 07:37:23 | → | alp joins (~alp@user/alp) |
| 07:37:39 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 07:39:58 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:42:10 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 07:44:05 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 07:48:19 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 07:49:13 | × | wrengr quits (~wrengr@249.189.233.35.bc.googleusercontent.com) (Remote host closed the connection) |
| 07:51:14 | → | Me-me joins (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) |
| 07:51:46 | × | Me-me quits (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) (Remote host closed the connection) |
| 07:52:24 | → | Me-me joins (~me-me@tunnel690570-pt.tunnel.tserv12.mia1.ipv6.he.net) |
| 08:05:58 | → | __monty__ joins (~toonn@user/toonn) |
| 08:13:41 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 08:15:07 | → | cosimone joins (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) |
| 08:15:43 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 08:15:58 | × | shriekingnoise quits (~shrieking@201.231.16.156) (Quit: Quit) |
| 08:18:23 | → | cosimone` joins (~user@93-44-186-171.ip98.fastwebnet.it) |
| 08:19:53 | × | cosimone quits (~user@2001:b07:ae5:db26:a7aa:8027:6b4e:2fb3) (Ping timeout: 244 seconds) |
| 08:22:48 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 258 seconds) |
| 08:23:25 | → | zeenk joins (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) |
| 08:23:30 | × | jgeerds_ quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 240 seconds) |
| 08:26:37 | × | calleum_ quits (~calleum@user/calleum) (Ping timeout: 256 seconds) |
| 08:26:52 | × | Sweet quits (~user@s19427110.onlinehome-server.info) (Quit: ERC (IRC client for Emacs 24.5.1)) |
| 08:28:36 | → | artem joins (~artem@95.140.192.176) |
| 08:28:41 | → | Sweet joins (~user@s19427110.onlinehome-server.info) |
| 08:29:12 | ← | Sweet parts (~user@s19427110.onlinehome-server.info) () |
| 08:29:51 | <artem> | Hi! Suppose I want to have `throwError` but not `catchError` in my eDSL, so instancing MonadError isn't an option. Is there a good solution besides creating my own type class? |
| 08:31:48 | → | `2jt joins (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) |
| 08:32:10 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 08:35:27 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 08:37:55 | <tomsmeding> | artem: does throwError take non-String stuff? |
| 08:39:30 | <tomsmeding> | dibblego: you can always look it up in the haddocks :) https://hackage.haskell.org/package/base-4.14.0.0/docs/src/Data.Functor.Const.html#line-86 |
| 08:39:43 | <tomsmeding> | though inexplicably you have to go back to base-4.14 to get source? |
| 08:40:37 | <tomsmeding> | oh /me is dumb, it's a deriving |
| 08:40:52 | <tomsmeding> | right, but then it's the mappend on `a` |
| 08:41:03 | → | jonathanx_ joins (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) |
| 08:41:50 | × | jonathanx quits (~jonathan@h-178-174-176-109.A357.priv.bahnhof.se) (Ping timeout: 240 seconds) |
| 08:48:06 | <artem> | tomsmeding: it does. It's parametrized by the error type |
| 08:48:37 | <artem> | https://hackage.haskell.org/package/mtl-2.3/docs/Control-Monad-Error-Class.html#v:throwError |
| 08:50:09 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Remote host closed the connection) |
| 08:50:24 | <tomsmeding> | artem: I know throwError is parametrised. :) My point is, MonadFail exists but is hard-coded to use String. If you only use String as the error type in practice anyway, you can use the existing MonadFail. |
| 08:50:57 | <tomsmeding> | if not, then there is no such class in the standard libraries in any case (there might be one in a less-used third-party library on hackage; no idea) |
| 08:51:39 | × | bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection) |
| 08:52:06 | <artem> | tomsmeding: Ah, I see your point. Unfortunately, I do use throwError with non-String types |
| 08:52:15 | <artem> | homegrown type class it is, it appears |
| 08:52:39 | → | bitdex_ joins (~bitdex@gateway/tor-sasl/bitdex) |
| 08:52:40 | <artem> | Oh, alternatively, actually |
| 08:53:33 | <artem> | Is it possible to see the topmost "step" in a church-encoded free monad? e.g. https://hackage.haskell.org/package/free-5.1.8/docs/Control-Monad-Trans-Free-Church.html |
| 08:54:41 | <artem> | It's pretty simple for the conventional free monad by just pattern matching. For the church-encoded one it seems a bit more complicated |
| 08:57:13 | <artem> | Okay, I think I see how |
| 08:58:10 | → | cfricke joins (~cfricke@user/cfricke) |
| 09:04:33 | → | habib joins (~habib@188.241.157.224) |
| 09:05:15 | → | ubert joins (~Thunderbi@2a02:8109:abc0:6434:f1f:5029:349e:6d24) |
| 09:07:04 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:15:18 | × | qhong quits (~qhong@rescomp-21-400677.stanford.edu) (Read error: Connection reset by peer) |
| 09:15:27 | → | qhong joins (~qhong@rescomp-21-400677.stanford.edu) |
| 09:16:01 | → | jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) |
| 09:22:52 | → | CiaoSen joins (~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 09:25:01 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 09:27:35 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 09:31:59 | → | frost joins (~frost@user/frost) |
| 09:35:18 | × | `2jt quits (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Ping timeout: 246 seconds) |
| 09:39:46 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 09:40:34 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:44:27 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 09:45:01 | × | statusbot quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Read error: Connection reset by peer) |
| 09:45:07 | → | statusbot2 joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
| 09:46:41 | × | notzmv quits (~zmv@user/notzmv) (Ping timeout: 244 seconds) |
| 09:49:46 | → | nun8 joins (~nun@113.111.33.38) |
| 09:50:11 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 09:50:33 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 09:52:52 | × | nun8 quits (~nun@113.111.33.38) (Client Quit) |
| 09:53:56 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:54:24 | → | kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be) |
| 09:55:05 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Ping timeout: 255 seconds) |
| 09:55:17 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 10:00:39 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:03:37 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 10:05:45 | → | gurkenglas joins (~gurkengla@dslb-084-057-085-111.084.057.pools.vodafone-ip.de) |
| 10:06:19 | × | cfricke quits (~cfricke@user/cfricke) (Ping timeout: 244 seconds) |
| 10:08:54 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 10:11:10 | × | nurupo quits (~nurupo.ga@user/nurupo) (Quit: nurupo.ga) |
| 10:11:18 | × | sajith_ quits (~sajith@user/sajith) (Quit: Gone) |
| 10:11:23 | → | nurupo joins (~nurupo.ga@user/nurupo) |
| 10:11:34 | → | sajith joins (~sajith@user/sajith) |
| 10:13:10 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 10:15:29 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 10:17:35 | × | xff0x quits (~xff0x@s5.HtokyoFL1.vectant.ne.jp) (Ping timeout: 255 seconds) |
| 10:23:46 | → | chreekat joins (~chreekat@2001:470:69fc:105::16b5) |
| 10:24:10 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 10:26:01 | → | jgeerds_ joins (~jgeerds@55d45f48.access.ecotel.net) |
| 10:26:12 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 10:27:39 | → | spacenautx joins (~spacenaut@user/spacenautx) |
| 10:30:30 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 10:32:13 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 10:34:41 | × | bliminse quits (~bliminse@host86-164-169-5.range86-164.btcentralplus.com) (Ping timeout: 256 seconds) |
| 10:35:26 | × | chreekat quits (~chreekat@2001:470:69fc:105::16b5) (Quit: Reconnecting) |
| 10:35:45 | → | chreekat joins (~chreekat@2001:470:69fc:105::16b5) |
| 10:36:15 | → | bliminse joins (~bliminse@host86-164-169-5.range86-164.btcentralplus.com) |
| 10:37:15 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 10:38:40 | × | merijn quits (~merijn@c-001-001-001.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
| 10:39:39 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Ping timeout: 258 seconds) |
| 10:40:25 | × | acidjnk quits (~acidjnk@p200300d0c7068b08d490575bc8478d60.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 10:46:28 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 248 seconds) |
| 10:47:53 | → | `2jt joins (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) |
| 10:48:12 | × | alp quits (~alp@user/alp) (Ping timeout: 272 seconds) |
| 10:52:05 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 10:52:14 | × | stefan-_ quits (~cri@42dots.de) (Ping timeout: 252 seconds) |
| 10:53:39 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 10:55:28 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 10:56:19 | → | alp joins (~alp@user/alp) |
| 10:56:51 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 10:57:28 | × | `2jt quits (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Ping timeout: 244 seconds) |
| 10:57:47 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 10:59:16 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 11:01:43 | → | pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) |
| 11:01:51 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 11:03:06 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 11:04:07 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 11:11:20 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 11:14:27 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 11:14:30 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Client Quit) |
| 11:14:47 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 11:14:55 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 11:15:24 | → | cortisol joins (~cortisol@180-150-37-80.b49625.bne.nbn.aussiebb.net) |
| 11:16:49 | × | cortisol quits (~cortisol@180-150-37-80.b49625.bne.nbn.aussiebb.net) (Client Quit) |
| 11:17:32 | → | cortisol joins (~cortisol@180-150-37-80.b49625.bne.nbn.aussiebb.net) |
| 11:20:23 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 11:21:13 | × | statusbot2 quits (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Remote host closed the connection) |
| 11:21:44 | → | statusbot joins (~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) |
| 11:24:53 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 11:25:16 | × | CiaoSen quits (~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 258 seconds) |
| 11:26:54 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 11:30:18 | → | Guest14 joins (~Guest14@2401:4900:1cc8:474b:8208:fb2d:cfa7:bac9) |
| 11:31:32 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 11:34:42 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 11:39:07 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 11:40:15 | × | sympt quits (~sympt@user/sympt) (Read error: Connection reset by peer) |
| 11:40:26 | → | sympt joins (~sympt@user/sympt) |
| 11:40:57 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 11:41:03 | ← | Guest14 parts (~Guest14@2401:4900:1cc8:474b:8208:fb2d:cfa7:bac9) () |
| 11:44:50 | → | Guest27 joins (~Guest27@2401:4900:1cc8:474b:8208:fb2d:cfa7:bac9) |
| 11:46:44 | × | alp quits (~alp@user/alp) (Ping timeout: 248 seconds) |
| 11:46:49 | → | Pickchea joins (~private@user/pickchea) |
| 11:47:40 | × | Guest27 quits (~Guest27@2401:4900:1cc8:474b:8208:fb2d:cfa7:bac9) (Client Quit) |
| 11:49:39 | → | stefan-_ joins (~cri@42dots.de) |
| 11:52:20 | → | CiaoSen joins (~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:52:37 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 11:55:27 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 11:56:08 | × | frost quits (~frost@user/frost) (Ping timeout: 252 seconds) |
| 11:57:14 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Ping timeout: 272 seconds) |
| 11:58:14 | × | bitdex_ quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 11:58:58 | → | notzmv joins (~zmv@user/notzmv) |
| 11:59:29 | → | xff0x joins (~xff0x@b133147.ppp.asahi-net.or.jp) |
| 12:00:16 | → | odnes joins (~odnes@5-203-253-183.pat.nym.cosmote.net) |
| 12:01:36 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 12:10:47 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 12:13:06 | → | mattil joins (~mattil@helsinki.portalify.com) |
| 12:14:50 | → | sheb joins (~sheb@31.223.228.71) |
| 12:15:18 | → | coot joins (~coot@213.134.190.95) |
| 12:17:47 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds) |
| 12:18:18 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 12:20:10 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 12:22:43 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 12:25:28 | → | calleum_ joins (~calleum@user/calleum) |
| 12:25:31 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 12:27:47 | × | mattil quits (~mattil@helsinki.portalify.com) (Remote host closed the connection) |
| 12:29:16 | → | cfricke joins (~cfricke@user/cfricke) |
| 12:30:59 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 12:35:33 | → | liz joins (~liz@host86-159-158-175.range86-159.btcentralplus.com) |
| 12:38:41 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 12:38:58 | → | lyle joins (~lyle@104.246.145.85) |
| 12:46:53 | → | `2jt joins (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) |
| 12:57:39 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 13:02:59 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 13:10:50 | × | artem quits (~artem@95.140.192.176) (Quit: Konversation terminated!) |
| 13:11:07 | → | artem joins (~artem@95.140.192.176) |
| 13:12:43 | × | habib quits (~habib@188.241.157.224) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 13:17:19 | × | tafa quits (~tafa@user/tafa) (Quit: ZNC - https://znc.in) |
| 13:18:05 | → | tafa joins (~tafa@user/tafa) |
| 13:22:39 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 13:24:52 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 258 seconds) |
| 13:25:51 | × | ystael quits (~ystael@user/ystael) (Quit: Lost terminal) |
| 13:31:06 | × | calleum_ quits (~calleum@user/calleum) (Ping timeout: 276 seconds) |
| 13:32:25 | → | habib joins (~habib@188.241.157.224) |
| 13:33:06 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 13:33:32 | × | russruss quits (~russruss@my.russellmcc.com) (Quit: The Lounge - https://thelounge.chat) |
| 13:35:52 | → | russruss joins (~russruss@my.russellmcc.com) |
| 13:38:03 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 13:45:42 | × | jgeerds_ quits (~jgeerds@55d45f48.access.ecotel.net) (Ping timeout: 260 seconds) |
| 13:48:30 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 13:49:26 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 13:52:42 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 13:53:08 | × | `2jt quits (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Ping timeout: 255 seconds) |
| 13:53:35 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 256 seconds) |
| 13:54:17 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 13:55:02 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 13:55:30 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Remote host closed the connection) |
| 13:56:04 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 13:56:50 | × | __monty__ quits (~toonn@user/toonn) (Quit: leaving) |
| 13:57:09 | → | `2jt joins (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) |
| 13:57:16 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 13:57:50 | → | tenniscp25 joins (~tenniscp2@2001:fb1:fe:264c:40bd:2ac0:2314:be29) |
| 13:58:30 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds) |
| 13:59:42 | × | hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (Ping timeout: 260 seconds) |
| 14:00:09 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 14:04:49 | × | `2jt quits (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 14:07:04 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 240 seconds) |
| 14:07:07 | → | hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net) |
| 14:09:31 | → | Pickchea joins (~private@user/pickchea) |
| 14:09:39 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 14:10:45 | → | absence joins (torgeihe@hildring.pvv.ntnu.no) |
| 14:12:19 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 14:12:27 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 14:14:31 | × | cortisol quits (~cortisol@180-150-37-80.b49625.bne.nbn.aussiebb.net) (Quit: Client closed) |
| 14:19:18 | × | tenniscp25 quits (~tenniscp2@2001:fb1:fe:264c:40bd:2ac0:2314:be29) () |
| 14:20:04 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 14:20:40 | × | habib quits (~habib@188.241.157.224) (Read error: Connection reset by peer) |
| 14:24:40 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 14:25:37 | × | cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5) |
| 14:26:50 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 14:29:20 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 14:32:27 | × | artem quits (~artem@95.140.192.176) (Ping timeout: 246 seconds) |
| 14:33:49 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 256 seconds) |
| 14:41:12 | × | spacenautx quits (~spacenaut@user/spacenautx) (Ping timeout: 246 seconds) |
| 14:43:18 | → | spacenautx joins (~spacenaut@user/spacenautx) |
| 14:44:36 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 14:44:41 | → | shriekingnoise joins (~shrieking@201.231.16.156) |
| 14:48:16 | → | artem_ joins (~artem@217.76.14.10) |
| 14:48:44 | → | z0k joins (~z0k@206.84.143.77) |
| 14:49:50 | <Bulby[m]> | ok, i'm awake 🙂 |
| 14:51:33 | <Bulby[m]> | https://paste.tomsmeding.com/XI0bhGpa |
| 14:51:38 | <Bulby[m]> | this is what I tried to do |
| 14:51:41 | <Bulby[m]> | but it's incorrect |
| 14:51:54 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 14:52:20 | <Bulby[m]> | it infers type type as `Expr -> (Expr -> Expr -> Expr)` |
| 14:53:14 | <Bulby[m]> | wait |
| 14:53:14 | × | artem_ quits (~artem@217.76.14.10) (Read error: Connection reset by peer) |
| 14:53:24 | <Bulby[m]> | `Expr -> f0 (Expr -> Expr -> Expr)` |
| 14:53:42 | → | artem_ joins (~artem@217.76.14.10) |
| 14:55:21 | <Bulby[m]> | oh, idea |
| 14:56:54 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds) |
| 14:58:09 | → | jgeerds_ joins (~jgeerds@55d45f48.access.ecotel.net) |
| 14:58:49 | × | artem_ quits (~artem@217.76.14.10) (Read error: Connection reset by peer) |
| 14:59:01 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 14:59:15 | → | zebrag joins (~chris@user/zebrag) |
| 14:59:56 | → | waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) |
| 15:00:14 | <geekosaur> | btw, tomsmeding, feature request for play-haskell: the ability to fork a snippet straight into another play instance, instead of having to go indirect via a paste |
| 15:00:48 | <geekosaur> | I've wanted that at least 3 times so far, using it to show someone else something |
| 15:02:35 | → | artem_ joins (~artem@95.140.192.176) |
| 15:03:45 | × | Unicorn_Princess quits (~Unicorn_P@93-103-228-248.dynamic.t-2.net) (Remote host closed the connection) |
| 15:05:24 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 15:07:19 | × | Vajb quits (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer) |
| 15:08:06 | → | Vajb joins (~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) |
| 15:09:30 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 15:10:50 | → | son0p joins (~ff@181.136.122.143) |
| 15:11:42 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 15:15:50 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 15:17:04 | → | nahcetan joins (~nate@98.45.169.16) |
| 15:17:25 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 15:19:54 | × | CiaoSen quits (~Jura@p200300c95731a0002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds) |
| 15:21:30 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 15:23:57 | × | spacenautx quits (~spacenaut@user/spacenautx) (Quit: WeeChat 3.0) |
| 15:24:44 | × | califax quits (~califax@user/califx) (Remote host closed the connection) |
| 15:25:34 | → | califax joins (~califax@user/califx) |
| 15:25:45 | → | spacenautx joins (~spacenaut@user/spacenautx) |
| 15:30:06 | → | odnes_ joins (~odnes@5-203-253-183.pat.nym.cosmote.net) |
| 15:30:33 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 15:31:23 | × | odnes quits (~odnes@5-203-253-183.pat.nym.cosmote.net) (Read error: Connection reset by peer) |
| 15:35:22 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 15:37:42 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 15:38:15 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 15:40:30 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 15:40:37 | → | eggplantade joins (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:46:57 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds) |
| 15:48:52 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 15:48:56 | × | odnes_ quits (~odnes@5-203-253-183.pat.nym.cosmote.net) (Remote host closed the connection) |
| 15:49:05 | × | ubert quits (~Thunderbi@2a02:8109:abc0:6434:f1f:5029:349e:6d24) (Quit: ubert) |
| 15:49:13 | → | odnes_ joins (~odnes@5-203-253-183.pat.nym.cosmote.net) |
| 15:52:25 | → | slack1256 joins (~slack1256@191.126.99.79) |
| 15:52:47 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 15:55:26 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 15:58:33 | → | dschrempf joins (~dominik@070-207.dynamic.dsl.fonira.net) |
| 15:58:47 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 15:59:27 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 15:59:38 | × | dschrempf quits (~dominik@070-207.dynamic.dsl.fonira.net) (Client Quit) |
| 16:00:13 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 16:01:26 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 16:01:26 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 16:03:52 | × | eggplantade quits (~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:04:27 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:05:27 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 16:05:30 | × | nahcetan quits (~nate@98.45.169.16) (Ping timeout: 240 seconds) |
| 16:07:31 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 16:12:00 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 16:12:29 | → | econo joins (uid147250@user/econo) |
| 16:15:29 | × | artem_ quits (~artem@95.140.192.176) (Quit: Konversation terminated!) |
| 16:18:04 | <tomsmeding> | geekosaur: I already have a todo item about the ability to save the current playground contents as a new paste without leaving the playground (basically redirect from /play to /play/paste/<newly-generated/) |
| 16:18:30 | <tomsmeding> | does that also address your feature request? I'm not sure I understand precisely what you mean |
| 16:20:35 | <geekosaur[m]> | I mean I don't want to have to make a paste and then make a playground of it, which sounds like your todo |
| 16:24:27 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 16:26:28 | <geekosaur> | it's just saving a click but it seems kinda silly to make that detour |
| 16:28:52 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 16:29:22 | × | coot quits (~coot@213.134.190.95) (Quit: coot) |
| 16:32:29 | → | Pickchea joins (~private@user/pickchea) |
| 16:33:19 | <tomsmeding> | geekosaur: I completely agree that the detour is silly |
| 16:33:51 | <tomsmeding> | I'm just currently (well, whenever I'm working on it, which is precious few hours per week) focusing on making the backend better, not on improving the frontend so much |
| 16:34:02 | <tomsmeding> | but keep the requests coming |
| 16:34:21 | <geekosaur> | yep. but I'm already finding it useful, mostly in haskell-beginners |
| 16:34:47 | <geekosaur> | seen a few others using it in here |
| 16:35:35 | <tomsmeding> | geekosaur: what do you think of separating the paste and play websites wholesale, like: the only connection is that paste has playground links, and that /paste/XYZ on the playground fetches the paste content first |
| 16:35:49 | <tomsmeding> | it's one server now but somehow that makes little sense |
| 16:35:54 | × | mbuf quits (~Shakthi@122.174.210.245) (Quit: Leaving) |
| 16:36:31 | <geekosaur> | I've been thinking about that, mostly because of the default landing page for play-haskell being the pastebin |
| 16:36:37 | <tomsmeding> | heh yes |
| 16:36:49 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 16:37:17 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 16:37:45 | <geekosaur> | I wasn't even sure the pastebins were linked |
| 16:37:53 | <tomsmeding> | they aren't :p |
| 16:37:58 | <tomsmeding> | completely separate things |
| 16:38:08 | × | kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection) |
| 16:38:11 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 16:38:41 | <geekosaur> | that seems even sillier, although understandable especially if there's some hope of play-haskell eventually being under haskell.org |
| 16:39:03 | <tomsmeding> | what seems sillier, the pastebins not being linked or splitting the backend? |
| 16:39:14 | <geekosaur> | not being linked |
| 16:39:22 | <tomsmeding> | hm right |
| 16:39:39 | <geekosaur> | although the possibility of relocating under haskell.org then raises the question of paste.haskell.org |
| 16:39:57 | <tomsmeding> | also, if this would be hosted under haskell.org at some point, it even makes little sense to let this pastebin have "Paste for #haskell" at the top |
| 16:40:28 | <geekosaur> | which may possibly be harder to argue given the maintenance requirements (mostly spam) for pastebins these days |
| 16:40:29 | <tomsmeding> | paste.haskell.org could be a thing maybe |
| 16:40:33 | <tomsmeding> | right |
| 16:40:47 | <tomsmeding> | not sure I've seen spam yet on this thing tbh, but that may be the lack of advertisement |
| 16:41:08 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 16:41:23 | <tomsmeding> | having it on haskell.org would certainly be enough to incite spam |
| 16:45:29 | → | Infinite joins (~Infinite@49.39.126.247) |
| 16:49:08 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 16:49:48 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Remote host closed the connection) |
| 16:50:14 | <tomsmeding> | geekosaur: does the playground even need a pastebin |
| 16:50:36 | <tomsmeding> | as in, an alternative idea is to just give the playground its own database and let it be a standalone thing |
| 16:50:50 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 16:51:16 | <geekosaur> | I've been thinking about that too. I mean, all it needs is a download link and it can be its own pastebin |
| 16:51:30 | <tomsmeding> | just without multi-file pastes |
| 16:51:54 | <tomsmeding> | I think that's actually the nicest format |
| 16:51:55 | <geekosaur> | right, but that could be a future enhancement and also differentiate it from most of the other playgrounds out there |
| 16:52:00 | <tomsmeding> | s/format/setup/ |
| 16:52:03 | <tomsmeding> | true |
| 16:53:45 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 16:54:12 | → | mvk joins (~mvk@2607:fea8:5ce3:8500::ba9a) |
| 16:54:40 | → | alp joins (~alp@user/alp) |
| 16:58:04 | → | vicfred joins (~vicfred@user/vicfred) |
| 16:58:57 | <oats> | mfw no one plugs godbolt |
| 16:59:30 | <oats> | in case you need to paste, run, and inspect the assembly for your haskell :P |
| 17:01:41 | <geekosaur> | play does that. and core and cmm |
| 17:02:25 | <geekosaur> | not to piss on godbolt or anything but it'd be nice if we had our own dedicated playground, ideally tied to haskell.org like rust has |
| 17:03:37 | <geekosaur> | (hm. wonder if stg would also be interesting, possibly in conjunction with stgi) |
| 17:03:43 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 17:04:08 | <geekosaur> | dunno if stgi is implemented enough to handle actual ghc stg though |
| 17:04:36 | tomsmeding | adds cmm to the todo list |
| 17:05:45 | <geekosaur> | oh,m I thought I saw it in there, I'm seeing things, sorry. of the two I think stg is probably more interesting than cmm, if you can deal with cmm you can probably do it yourself |
| 17:06:54 | <geekosaur> | stg+stgi might be really nice if stgi is up to it |
| 17:08:05 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 17:10:14 | × | alp quits (~alp@user/alp) (Ping timeout: 255 seconds) |
| 17:14:55 | × | justsomeguy quits (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.4) |
| 17:16:58 | → | whatsupdoc joins (uid509081@id-509081.hampstead.irccloud.com) |
| 17:17:18 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds) |
| 17:19:06 | × | szkl quits (uid110435@id-110435.uxbridge.irccloud.com) (Quit: Connection closed for inactivity) |
| 17:20:18 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 17:25:06 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 276 seconds) |
| 17:28:34 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 240 seconds) |
| 17:28:38 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 17:29:07 | × | Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds) |
| 17:29:25 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 17:32:43 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 17:33:03 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Client Quit) |
| 17:35:55 | × | vglfr quits (~vglfr@coupling.penchant.volia.net) (Remote host closed the connection) |
| 17:36:44 | → | vglfr joins (~vglfr@coupling.penchant.volia.net) |
| 17:36:57 | → | acidjnk joins (~acidjnk@p200300d0c7068b08d490575bc8478d60.dip0.t-ipconnect.de) |
| 17:38:05 | × | Infinite quits (~Infinite@49.39.126.247) (Quit: Client closed) |
| 17:39:48 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 17:42:38 | → | FinnElija joins (~finn_elij@user/finn-elija/x-0085643) |
| 17:45:32 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 17:45:36 | → | nahcetan joins (~nate@98.45.169.16) |
| 17:47:44 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 17:51:34 | <tomsmeding> | > if you can deal with cmm you can probably do it yourself |
| 17:51:36 | <tomsmeding> | true lol |
| 17:52:03 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 17:53:21 | <tomsmeding> | geekosaur: https://github.com/quchen/stgi#ghcs-current-stg sounds like stgi can't handle actual ghc stgf |
| 17:53:24 | <tomsmeding> | s/stgf/stg/ |
| 17:53:52 | <geekosaur> | yeh, I was afraid of that |
| 17:54:12 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 17:54:49 | <geekosaur> | pity, it'd be nice to be able to show visually how a Haskell program is evaluated |
| 17:55:02 | <tomsmeding> | I've been dreaming of making a tool like that for a while |
| 17:55:23 | <geekosaur> | there's also ghc-vis which works at a different level |
| 17:55:50 | <geekosaur> | of course the other question is whether either has a web frontend compatible with play-haskell |
| 17:56:49 | <tomsmeding> | ghc-vis is nice indeed, not sure about swapping out a frontend for that indeed |
| 17:56:59 | <tomsmeding> | I'm not really planning to reach for ghcjs personally |
| 17:57:26 | <geekosaur> | I figured not |
| 17:57:36 | <geekosaur> | that's why I said "compatible with" |
| 17:58:13 | <tomsmeding> | :) |
| 17:58:34 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 18:01:18 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 18:03:27 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 276 seconds) |
| 18:07:00 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 18:09:18 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 18:12:30 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Remote host closed the connection) |
| 18:12:55 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 18:13:54 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 18:16:12 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 18:18:36 | <Bulby[m]> | what is stg |
| 18:19:08 | <geekosaur> | "spineless tagless g-machine", the graph reduction engine used by the ghc runtime |
| 18:19:28 | <Bulby[m]> | 😲 |
| 18:19:41 | <Bulby[m]> | not even going to try to understand that |
| 18:21:57 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 18:23:30 | × | mmhat quits (~mmh@p200300f1c71bc38eee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 250 seconds) |
| 18:26:32 | <slack1256> | The fourmolu package recomends that I install it with the old cabal commands ie: cabal install fourmolu. Given that cabal is not a package manager, what is the current way to do that? |
| 18:26:40 | <geekosaur> | lazy evaluation can't be done in the usual straightforward manner used by imperative code; it's done by graph reduction instead https://en.wikipedia.org/wiki/Graph_reduction |
| 18:26:58 | <geekosaur> | stg is how ghc's runtime does graph reduction and therefore lazy evaluation |
| 18:27:08 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 18:27:33 | <geekosaur> | stgi is na interactive stg interpreter that can be used to see how lazy evaluation works |
| 18:27:39 | <geekosaur> | (it's on hackage) |
| 18:28:35 | <geekosaur> | slack1256, that works fine |
| 18:28:38 | <sclv> | slack1256: you can still "cabal install" executables |
| 18:28:51 | <geekosaur> | it'll build it and drop a symlink (or copy if so configured) into ~/.cabal/bin |
| 18:29:41 | <slack1256> | Oh, I thought it was deprecated given the existence of v2- or new- commands. |
| 18:30:17 | <geekosaur> | installing executables is still meaningful |
| 18:30:35 | <geekosaur> | it'd be pretty sad if you had to `cabal run` random cabal-installed executables |
| 18:31:07 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 18:32:49 | → | Pickchea joins (~private@user/pickchea) |
| 18:33:10 | <slack1256> | I think there is a minor gotcha with `cabal install fourmolu`, we better not run on when the CWD is on another haskell proyect. Cabal will try to resolve both targets. |
| 18:33:49 | <geekosaur> | yes, it's best to install unrelated-to-a-project stuff from ~ |
| 18:34:03 | <geekosaur> | maybe there should be an option (or maybe there is) |
| 18:34:33 | <EvanR> | Bulby[m], learning the weird way haskell is implemented is one of the great parts of haskell. "It has to be done like C" gets old xD |
| 18:35:07 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 18:35:32 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 18:36:34 | → | ubert joins (~Thunderbi@p548c85e4.dip0.t-ipconnect.de) |
| 18:37:49 | → | mmhat joins (~mmh@p200300f1c71bc3f5ee086bfffe095315.dip0.t-ipconnect.de) |
| 18:38:20 | <romes[m]> | What does "<command line>: cannot satisfy -package simple-plugin" mean? |
| 18:39:09 | <slack1256> | romes[m]: What were you doing? |
| 18:40:04 | <romes[m]> | running plugin tests on ghc, but I thought the error message might mean something outside of the ghc context |
| 18:40:29 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 18:43:51 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 18:47:47 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 18:48:08 | <geekosaur> | it's expecting to find the plugin in a package, and hasn't found the package |
| 18:49:24 | × | ubert quits (~Thunderbi@p548c85e4.dip0.t-ipconnect.de) (Quit: ubert) |
| 18:49:27 | × | Sgeo quits (~Sgeo@user/sgeo) (Ping timeout: 240 seconds) |
| 18:54:06 | → | adium joins (~adium@user/adium) |
| 18:54:55 | → | _ht joins (~quassel@231-169-21-31.ftth.glasoperator.nl) |
| 18:57:12 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:00:18 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 19:01:04 | × | adium quits (~adium@user/adium) (Quit: Stable ZNC by #bnc4you) |
| 19:01:22 | → | atarv joins (~atarv@dsl-jklbng12-54fbde-4.dhcp.inet.fi) |
| 19:06:51 | × | z0k quits (~z0k@206.84.143.77) (Ping timeout: 246 seconds) |
| 19:11:57 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:12:42 | × | jgeerds_ quits (~jgeerds@55d45f48.access.ecotel.net) (Remote host closed the connection) |
| 19:15:18 | → | sonny joins (~user@142.126.78.85) |
| 19:15:30 | <sonny> | how does haskell seperate arguments? |
| 19:16:36 | → | zincy joins (~zincy@host86-160-236-152.range86-160.btcentralplus.com) |
| 19:17:49 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 19:17:54 | <yushyin> | with space |
| 19:19:36 | <geekosaur> | instead of f(a,b,c) we say f a b c |
| 19:19:50 | <sonny> | ok say you have a function like \x y -> x + y. If you use arguments that are complex expressions how does it figure out what the parameters are? add 50-3 4-5 vs add 50 -3 4 -5. |
| 19:20:34 | <geekosaur> | unary minus is a wart in the default language, you have to use parentheses (add 50 (-3) 4 (-5)) |
| 19:21:06 | <geekosaur> | in ghc 9.2 there's a NumericLiterals extension such that the spacing you used will be understood as you expect |
| 19:21:19 | <sonny> | damn |
| 19:21:22 | <geekosaur> | with the downside that you have to use spaces everywhere else (x - 4, not x-4) |
| 19:22:00 | <sonny> | so on a parsing level, you could solve that if you had another symbol for unary minus? |
| 19:22:04 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:22:09 | <geekosaur> | yes, and some languages do that |
| 19:22:26 | <darkling> | That leads to a follow-on question: You can create a partially applied function (+3); is the equivalent (-3) not actually the same kind of thing? |
| 19:22:26 | <geekosaur> | I've seen a language I'm not recalling off the top of my head that used ~ for unary minus |
| 19:22:36 | <geekosaur> | it's not |
| 19:22:46 | <geekosaur> | you have to express it as a lambda or use `subtract` |
| 19:22:53 | <darkling> | Good to know, thanks. |
| 19:23:17 | <sonny> | would it be better defined this way? |
| 19:24:34 | <yushyin> | https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/negative_literals.html for reference |
| 19:25:17 | <geekosaur> | I don't think there's any non-sucky way to deal with it |
| 19:25:49 | <sonny> | ok |
| 19:25:53 | <EvanR> | "Hands-On Functional Programming in Rust" waht... |
| 19:25:57 | <geekosaur> | unary minus is a wart in every language; how much of a wart depends on the language |
| 19:26:04 | × | atarv quits (~atarv@dsl-jklbng12-54fbde-4.dhcp.inet.fi) (Quit: Client closed) |
| 19:26:22 | <EvanR> | accountants are way ahead of you |
| 19:26:41 | <darkling> | On the few occasions I've written a language parser, It's always been the bit I don't look at too hard and pray that the compiler compiler will do the right thing. :) |
| 19:26:58 | → | atarv joins (~atarv@dsl-jklbng12-54fbde-4.dhcp.inet.fi) |
| 19:27:23 | × | atarv quits (~atarv@dsl-jklbng12-54fbde-4.dhcp.inet.fi) (Client Quit) |
| 19:28:00 | <yushyin> | tbh, LexicalNegation does an ok job. |
| 19:30:05 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 260 seconds) |
| 19:32:03 | × | zincy quits (~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection) |
| 19:34:38 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 19:35:47 | → | adium joins (adium@user/adium) |
| 19:37:21 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 19:41:18 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 19:49:10 | → | slac70768 joins (~slack1256@186.11.42.162) |
| 19:49:29 | × | TonyStone quits (~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Remote host closed the connection) |
| 19:49:34 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 19:49:55 | → | zer0bitz joins (~zer0bitz@2001:2003:f444:8f00:fd05:2e75:91eb:6c90) |
| 19:50:50 | → | slac26730 joins (~slack1256@191.125.227.199) |
| 19:51:16 | × | slack1256 quits (~slack1256@191.126.99.79) (Ping timeout: 258 seconds) |
| 19:51:23 | slac26730 | is now known as slack1256 |
| 19:52:09 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 19:53:34 | × | slac70768 quits (~slack1256@186.11.42.162) (Ping timeout: 258 seconds) |
| 19:53:57 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 19:56:19 | <sm> | \ |
| 19:56:20 | <sm> | =-1 |
| 19:56:30 | <sm> | \987654 |
| 19:59:36 | <sm> | yikes what's going on there, sorry |
| 19:59:46 | <sm> | begone poltergeist |
| 20:00:27 | <dsal> | numberwang |
| 20:03:56 | <sm> | in today's news.. Tweag acquired by random unknown company.. hmm |
| 20:06:01 | <sm> | "Modus Create also has a long history of open source community contributions and continues to publish projects with their Modus Labs initiative.".. ok then |
| 20:07:32 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 20:08:06 | → | dsrt^ joins (~dsrt@128-092-173-218.biz.spectrum.com) |
| 20:11:58 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 20:14:43 | <tomsmeding> | hm, I would expect the tweag.io page to say something about this |
| 20:16:00 | → | wrengr joins (~wrengr@249.189.233.35.bc.googleusercontent.com) |
| 20:16:03 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 20:16:50 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 20:16:55 | <Bulby[m]> | is there a easy to read (i.e. not a research paper) thing on spineless tagless g-machine |
| 20:17:17 | <tomsmeding> | Bulby[m]: try the https://github.com/quchen/stgi#ghcs-current-stg readme |
| 20:18:02 | <tomsmeding> | Bulby[m]: mind the "GHC's current STG" section at the end; not sure how large the difference is |
| 20:18:21 | <tomsmeding> | but it sounds like it should be fairly similar |
| 20:19:26 | <tomsmeding> | oh I tag-linked the final section, I meant the whole readme lol, sorry |
| 20:20:25 | × | cosimone` quits (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection) |
| 20:20:29 | ← | sonny parts (~user@142.126.78.85) (ERC 5.4 (IRC client for GNU Emacs 28.1)) |
| 20:20:47 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 20:23:50 | × | _ht quits (~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection) |
| 20:24:00 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 20:24:20 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 20:25:29 | × | spacenautx quits (~spacenaut@user/spacenautx) (Quit: WeeChat 3.0) |
| 20:28:07 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 20:30:07 | → | spacenautx joins (~spacenaut@user/spacenautx) |
| 20:30:35 | × | takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection) |
| 20:31:43 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 20:34:41 | × | dsrt^ quits (~dsrt@128-092-173-218.biz.spectrum.com) (Ping timeout: 252 seconds) |
| 20:34:55 | <geekosaur> | Bulby[m], that was why I linked the wikipedia page on graph reduction. as stg is about optimizing graph reduction for real hardware, pretty much any paper on it goes into fine details of machine representations, registers, and such |
| 20:35:10 | <geekosaur> | and less about "why would you want this?" |
| 20:36:03 | <Bulby[m]> | graph reduction is abstract, stg is more concrete |
| 20:36:35 | <geekosaur> | even the stgi stuff talks about concrete details of stuff that is more about optimization, e.g. update frames |
| 20:37:20 | <geekosaur> | ideally you don't care much about the concrete at this level because it's necessarily at close to hardware level |
| 20:38:06 | <geekosaur> | (there's even hardware that runs stg directly, although not in production use e.g. reduceron) |
| 20:38:12 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 20:38:34 | <energizer> | is there a language where expressions aren't evaluated by default, eg `x = 1+1; print x` gives `1+1`? |
| 20:39:16 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Remote host closed the connection) |
| 20:39:16 | <tomsmeding> | not evaluating _anything_ by default not sure, but Mathematica gets pretty far |
| 20:40:20 | <darkling> | Yeah, you tend to need to tell it to do something with the expression (which might be evaluation, or it might be, say, integration w.r.t. a variable) |
| 20:40:47 | <geekosaur> | the problem with such a language is:P what tells it to evaluate the evaluator? |
| 20:41:06 | <geekosaur> | s/P// |
| 20:41:29 | <tomsmeding> | Mathematica allows `Hold[1+1]` which stops evaluation |
| 20:41:37 | <geekosaur> | even symbolic math systems tend to evaluate simple expressions |
| 20:41:58 | × | lyle quits (~lyle@104.246.145.85) (Quit: Lost terminal) |
| 20:42:05 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 20:42:09 | <geekosaur> | i.e. `x+3` might not be evaluated immediately but `5+3` would be |
| 20:43:28 | <monochrom> | CAS'es are much smarter than evaluation. Or at least looks like smarter. |
| 20:45:17 | <monochrom> | Hypothetically you could create your own CAS that leaves 1+1 alone even when printed, but it would have no market. |
| 20:45:51 | <geekosaur> | ^ |
| 20:46:00 | <tomsmeding> | energizer: why are you asking? :) |
| 20:46:13 | <monochrom> | People on the CAS market will want both 1+1 and "(integral of 1 dx from 0 to 1) + sin (pi/2)" to be simplified to 2 automatically. |
| 20:46:34 | → | nate2 joins (~nate@98.45.169.16) |
| 20:47:31 | <energizer> | tomsmeding: just curious i guess |
| 20:48:52 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 20:51:38 | × | dextaa quits (~DV@user/dextaa) (Ping timeout: 255 seconds) |
| 20:52:02 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 20:52:26 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Remote host closed the connection) |
| 20:52:59 | <energizer> | i guess Hold[...] is like (quote ...) |
| 20:53:17 | <tomsmeding> | kind of? |
| 20:53:24 | <energizer> | how not? |
| 20:53:34 | <tomsmeding> | well, not really, because (quote) produces an AST of its argument |
| 20:53:57 | <energizer> | what does Hold produce if not an ast? |
| 20:53:57 | <tomsmeding> | Mathematica is a term rewriting language, not a language based on beta-reduction (standard lambda calculus-like evaluation) |
| 20:54:04 | <tomsmeding> | everything is an AST always |
| 20:54:16 | <tomsmeding> | ASTs are just sometimes automatically simplified |
| 20:54:17 | <tomsmeding> | Hold stops that |
| 20:54:41 | <tomsmeding> | you can write `a+a` in Mathematica, and if `a` hasn't been defined yet, that just stays as-is |
| 20:54:47 | → | tromp joins (~textual@dhcp-077-249-230-040.chello.nl) |
| 20:55:04 | <tomsmeding> | and there are other "functions" to inspect expressions in Mma, and they will work on that a+a |
| 20:55:14 | <tomsmeding> | so without Hold, you still somehow got an AST |
| 20:56:06 | <tomsmeding> | `a+a /. a -> 1` (if I remember the syntax correctly) simplifies to `1+1`, which simplies to `2` |
| 20:56:19 | <tomsmeding> | that's a rewrite rule applied to an expression, not a substitution |
| 20:56:33 | <tomsmeding> | IIRC you can also `a+a /. a+a -> 3` and it will result in 3 |
| 20:57:30 | <tomsmeding> | yep remembered correctly |
| 20:57:42 | <tomsmeding> | (I lied about `a+a` not simplifying; it simplifies to `2 a`) |
| 20:58:24 | <energizer> | i see |
| 20:58:39 | <tomsmeding> | from a CAS perspective the evaluation model of Mma makes sense, but it's really fundamentally different from lambda calculus / haskell, even if one can _simulate_ beta-reduction quite well in it |
| 21:01:41 | <tomsmeding> | the fact that Mma's rewriting is scoping-aware allows you to recover beta-reduction in it :) |
| 21:03:24 | × | machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 246 seconds) |
| 21:04:29 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 258 seconds) |
| 21:06:26 | × | slack1256 quits (~slack1256@191.125.227.199) (Read error: Connection reset by peer) |
| 21:06:31 | → | slac72175 joins (~slack1256@186.11.46.34) |
| 21:06:56 | <monochrom> | Hold is like Lazy ML's "suspend". |
| 21:07:08 | × | odnes_ quits (~odnes@5-203-253-183.pat.nym.cosmote.net) (Quit: Leaving) |
| 21:07:43 | <monochrom> | Or in general in a language the opposite of Haskell, eager by default, but you can add laziness annotations. |
| 21:08:05 | <monochrom> | Haskell is lazy by default, but you can add eagerness annotations. |
| 21:08:13 | <Bulby[m]> | so back to my conditional parser |
| 21:08:15 | <Bulby[m]> | sorry |
| 21:08:59 | <Bulby[m]> | could I somehow convert an `(LxExpr -> LxExpr -> LoxParser LxExpr)` to a `LoxParser (LxExpr -> LxExpr -> LxExpr)` |
| 21:09:24 | × | ec quits (~ec@gateway/tor-sasl/ec) (Quit: ec) |
| 21:09:51 | <monochrom> | Not unless LoxParser is desgined to support it. |
| 21:09:51 | <Bulby[m]> | given LoxParser is a monad |
| 21:10:00 | <monochrom> | This is not a monad operation. |
| 21:10:16 | <tomsmeding> | monochrom: I bet Lazy ML cannot do the [13] line in this :) https://tomsmeding.com/ss/get/tomsmeding/yyLM4B |
| 21:10:18 | <Bulby[m]> | it's a megaparsec parser... |
| 21:10:19 | <Bulby[m]> | ok, let me fully explain |
| 21:10:26 | <Bulby[m]> | I only truly need the first argument |
| 21:10:32 | <monochrom> | Either that, or the actual "(LxExpr -> LxExpr -> LoxParser LxExpr)" value is trivial. |
| 21:10:59 | <Bulby[m]> | https://hackage.haskell.org/package/parser-combinators-1.3.0/docs/Control-Monad-Combinators-Expr.html |
| 21:11:06 | <Bulby[m]> | using InfixR here |
| 21:11:21 | <tomsmeding> | Bulby[m]: how did you make that `(LxExpr -> LxExpr -> LoxParser LxExpr)` |
| 21:12:08 | <monochrom> | tomsmeding: Right, but that's orthogonal to laziness. That's another aspect of CAS, that you can inspect the AST of expressions. |
| 21:12:10 | <tomsmeding> | as monochrom said, you cannot do this in general, but in certain specific cases you can, depending on what function this is exactly |
| 21:12:18 | <tomsmeding> | monochrom: true |
| 21:12:18 | <Bulby[m]> | https://paste.tomsmeding.com/66dFNI5n |
| 21:13:03 | <Bulby[m]> | oops, wrong thing |
| 21:13:04 | <Bulby[m]> | that was a newer attempt |
| 21:13:04 | <Bulby[m]> | inshort, I need the first argument to check if it's bad |
| 21:13:09 | <Bulby[m]> | i.e. not an identifir |
| 21:13:12 | <Bulby[m]> | * i.e. not an identifier |
| 21:13:41 | → | jespada joins (~jespada@cpc121022-nmal24-2-0-cust171.19-2.cable.virginm.net) |
| 21:13:56 | <tomsmeding> | Bulby[m]: assuming that version is wrong, what is the error you get? |
| 21:13:57 | → | stackdroid18 joins (14094@user/stackdroid) |
| 21:14:05 | × | chele quits (~chele@user/chele) (Remote host closed the connection) |
| 21:14:12 | <monochrom> | Sacrilegeously, the first pattern matching I learned was from Mathematica, not functional languages. >:) |
| 21:14:40 | <monochrom> | OK I lied, the first pattern matching I learned was from Prolog, but I wasn't very fond of Prolog. |
| 21:14:44 | <tomsmeding> | pattern matching in a term rewriting language is even more powerful than in a functional language :p |
| 21:15:15 | → | `2jt joins (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) |
| 21:15:28 | <Bulby[m]> | can't match `LoxParser (LxExpr -> LxExpr -> LxExpr)` with `LxExpr -> f0 (LxExpr -> LxExpr -> LxExpr)` |
| 21:16:19 | <tomsmeding> | in what expression |
| 21:16:30 | <Bulby[m]> | in that case statement |
| 21:16:41 | <tomsmeding> | what's the type of lxassign |
| 21:16:53 | <Bulby[m]> | LoxParser () iirc |
| 21:17:14 | → | dsrt^ joins (~dsrt@128-092-173-218.biz.spectrum.com) |
| 21:17:17 | <Bulby[m]> | i don't paticularly want to solve this code |
| 21:17:28 | <tomsmeding> | oh now I get your issue |
| 21:17:37 | <tomsmeding> | you cannot do what you want with InfixR |
| 21:17:57 | <tomsmeding> | the whole point of the `m (a -> a -> a)` type is that the argument to InfixR _cannot_ inspect the arguments to the infix operator |
| 21:18:19 | <Bulby[m]> | 😭 |
| 21:18:36 | <tomsmeding> | otherwise it would be ~impossible to implement makeExprParser |
| 21:18:47 | <Bulby[m]> | then how do I stop invalid code? |
| 21:18:53 | → | dextaa joins (~DV@user/dextaa) |
| 21:19:16 | <tomsmeding> | the assignment operator really an infix operator in an expression? Or is `a = expression` a _statement_ form in Lox? I don't remember well |
| 21:19:26 | <tomsmeding> | like, can you write `a = (b = 42) + 1` |
| 21:19:42 | <Bulby[m]> | it's an expression, yea |
| 21:20:35 | <tomsmeding> | (ew) |
| 21:20:35 | <geekosaur> | C has lvalue expressions too |
| 21:21:01 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 21:21:02 | <geekosaur> | and accepts that syntax |
| 21:21:19 | <tomsmeding> | yes I know C :p |
| 21:23:46 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 21:23:56 | <tomsmeding> | Bulby[m]: I was lying, what you want could perfectly well be implemented in makeExprParser, it just isn't |
| 21:24:13 | <Bulby[m]> | 😠 |
| 21:24:27 | <tomsmeding> | the `return` here in pInfixR is your issue I think https://hackage.haskell.org/package/parser-combinators-1.3.0/docs/src/Control.Monad.Combinators.Expr.html#pInfixR |
| 21:24:35 | <tomsmeding> | (the last `return`) |
| 21:25:40 | <tomsmeding> | so you have two options: 1. check validity of the parsed AST after makeExprParser is done, or 2. reimplement makeExprParser yourself |
| 21:26:04 | <Bulby[m]> | ☹️ |
| 21:26:11 | <Bulby[m]> | both not nice options |
| 21:26:13 | <tomsmeding> | option (2) is less scary than it sounds, but it's still a bit of work (meet your new friend `chainl`) |
| 21:26:25 | <Bulby[m]> | NO NOT CHAINL AGAIN |
| 21:26:29 | <tomsmeding> | lol |
| 21:26:33 | × | tromp quits (~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 21:26:44 | <Bulby[m]> | i thought chainl didn't work on megaparsec? |
| 21:27:23 | <tomsmeding> | bloody megaparsec I always get confused with its delegation of operations to other modules |
| 21:28:03 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 256 seconds) |
| 21:28:15 | <tomsmeding> | oh parsec's chainl is limited in the same way as makeExprParser is lol |
| 21:28:18 | <tomsmeding> | but you can reimplement it! |
| 21:29:04 | <tomsmeding> | check chainl and chainl1 here, and see if you can make it slightly more general https://hackage.haskell.org/package/parsec-3.1.14.0/docs/src/Text.Parsec.Combinator.html#line-191 |
| 21:30:36 | × | Kaiepi quits (~Kaiepi@156.34.47.253) (Read error: Connection reset by peer) |
| 21:31:26 | → | Kaiepi joins (~Kaiepi@156.34.47.253) |
| 21:32:07 | × | spacenautx quits (~spacenaut@user/spacenautx) (Ping timeout: 240 seconds) |
| 21:33:02 | × | eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) (Remote host closed the connection) |
| 21:33:08 | <monochrom> | The reason of "Parser (E -> E -> E)" is because for example `char '+' *> pure (+) <|> char '*' *> pure (*)` |
| 21:33:13 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 21:34:25 | → | spacenautx joins (~spacenaut@user/spacenautx) |
| 21:34:47 | <monochrom> | OK chainl is in parser-combinators but it works. |
| 21:34:50 | <geekosaur> | hm. can't you check this in the resulting AST instead of in the parser? |
| 21:35:10 | <Bulby[m]> | what if the AST is fairly large? |
| 21:35:59 | <geekosaur> | you presumably need to be able to find assignment operators in the AST at some point anyway, likely during generation of that AST |
| 21:36:25 | <Bulby[m]> | ... why would i? |
| 21:36:37 | <monochrom> | I see, nevermind, chainl is not in parser-combinator either, at least not by that name. |
| 21:36:41 | <geekosaur> | uh? |
| 21:37:03 | <geekosaur> | you are generating an AST, right? you have access at that point if nothing else |
| 21:37:15 | <monochrom> | I guess it really wants us to just use makeExprParser. |
| 21:37:26 | <geekosaur> | but I'd also expect either interpretation or code generation from that AST |
| 21:37:27 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 21:37:45 | <Bulby[m]> | interpretation yes |
| 21:37:59 | <geekosaur> | so you should have two points at which you are passing through an op=assign node, either creation or interpretation |
| 21:38:01 | <monochrom> | But it's the same principle. Your operator parser is Parser (E -> E -> E) because it parses an operator, not an expression. |
| 21:38:30 | <geekosaur> | and you can validate its left parameter is an identifier, or for more general languages an lvalue of some kind |
| 21:38:43 | <Bulby[m]> | interpretation would make it a runtime error ☹️ |
| 21:38:55 | <geekosaur> | where another assignment is trivially an lvalue |
| 21:39:42 | <geekosaur> | are you separating AST generation and interpretation? if so, you are effectively compiling. if not, the difference between compile and run time is effectively nonexistent |
| 21:40:01 | <monochrom> | If you're trying to parse an assignment statement of the form "var = expr", you use makeExprParser for the expr part, not for the whole thing. |
| 21:40:19 | <Bulby[m]> | ... lox has explicit var declarations |
| 21:40:40 | <monochrom> | The whole thing is trivially: 1. insist on parsing a var; 2. insist on parsing the = operator; 3. now you can parse an arbitrary expression. |
| 21:41:14 | <geekosaur> | and you still haven't answered why you can't do this while *building* the AST |
| 21:41:32 | <Bulby[m]> | because it's all inside of the parser monad? |
| 21:41:32 | <geekosaur> | which is when I'd do it |
| 21:41:49 | <Bulby[m]> | hm... |
| 21:41:54 | <Bulby[m]> | i could just check it |
| 21:41:57 | <Bulby[m]> | may as well try |
| 21:42:44 | <geekosaur> | the parser monad has no clue about creating ASTs. you need to add code to it to do that, in which you should have access to the parameters to op=assign |
| 21:43:32 | <geekosaur> | left to itself a parser monad will tell you whether it parsed or not, it will not generate an AST |
| 21:44:26 | × | michalz quits (~michalz@185.246.204.126) (Remote host closed the connection) |
| 21:46:15 | → | eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:600e:e6c3:702:93eb) |
| 21:46:49 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 21:48:20 | × | chomwitt quits (~chomwitt@2a02:587:dc0e:3e00:9566:7d3:9c0f:2549) (Ping timeout: 248 seconds) |
| 21:48:39 | <geekosaur> | (consider that Parser has no clue what additional information you want attached to AST nodes, for the purposes of interpretation or optimization or etc.) |
| 21:49:39 | × | nate2 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
| 21:49:53 | <Bulby[m]> | well, my parser is a parser of expressions |
| 21:50:11 | <monochrom> | pure (Plus (Var "x") (Var "y")) |
| 21:51:15 | <monochrom> | I wrote this for Parsec but the basics are the same, and it sounds like you lack the basics: https://wiki.haskell.org/Parsing_expressions_and_statements |
| 21:52:01 | × | dsrt^ quits (~dsrt@128-092-173-218.biz.spectrum.com) (Ping timeout: 258 seconds) |
| 21:52:16 | <Bulby[m]> | my parser _was_ working until I realized "oops, all right associative" |
| 21:53:03 | <monochrom> | Sure. |
| 21:53:45 | <monochrom> | My sum-up-the-list algorithm "was working" until I realized "oops, it doesn't handle lists longer than 3 elements". |
| 21:53:49 | <monochrom> | "working" |
| 21:53:59 | <Bulby[m]> | right 🙂 |
| 21:54:12 | <monochrom> | I saw first-years students saying "my code works but it doesn't pass your test cases". |
| 21:54:16 | <monochrom> | "works" |
| 21:55:12 | × | andrey__ quits (~andrey@p200300dbcf0aa300256a01d40b961d18.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 21:55:18 | <monochrom> | When something like that happens, you know that there is 99% chance you can't just minor-patch the code, its whole structure and approach and premise is wrong in the first place, you have to go back to square one. |
| 21:55:25 | → | andrey__ joins (~andrey@p508d581f.dip0.t-ipconnect.de) |
| 21:55:50 | <Bulby[m]> | ... which is why I am now using makeExprParser |
| 21:56:02 | <maerwald> | monochrom: "it works on my machine" was the response of a fellow student working with me in a group on a C project after I told him his C code is broken (as per the standard and the debugger) and works only by accident |
| 21:56:07 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 21:57:06 | <monochrom> | I think I saw shell scripts and C programs making syscalls working on mac but break on Linux, too. |
| 21:57:55 | <monochrom> | I am not certain but my current theory is that, I test student shell scripts with "sh foo", and on mac "sh" means bash. |
| 21:58:15 | ← | jakalx parts (~jakalx@base.jakalx.net) (Error from remote client) |
| 21:58:42 | <geekosaur[m]> | Zsh in recent versions |
| 21:59:00 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 21:59:04 | <monochrom> | There is also a fringe theory that mac accepts exec("prog", "arg", NULL) whereas real unixes insist on exec("prog", "prog again", "arg", NULL). |
| 21:59:25 | <monochrom> | s/exec/execlp/ or something |
| 22:00:33 | <monochrom> | I now include in my course policy "marking dispute is resolved on the school server, 'my code works elsewhere' is not a reason to earn marks". |
| 22:00:42 | <geekosaur[m]> | Macs have some perverse behavior but that's not one |
| 22:00:45 | → | Tuplanolla joins (~Tuplanoll@91-159-68-39.elisa-laajakaista.fi) |
| 22:01:14 | <geekosaur[m]> | Division by zero returns zero, for one |
| 22:01:42 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 22:01:57 | <monochrom> | OK good to hear mac doesn't pervertify exec* |
| 22:03:07 | <monochrom> | I had students handing in exec("prog", "arg", NULL) and claiming that it passed sample test cases I provided on mac. |
| 22:03:30 | <monochrom> | (My sample test cases, though simple, would have caught that kind of omissions.) |
| 22:04:21 | <monochrom> | To be sure I hadn't check it myself. I don't know how much to trust students' testimonies. |
| 22:04:41 | <EvanR> | there's a possible interpretation of the syntax of my code where it gives the right answer |
| 22:05:05 | <monochrom> | But now it doesn't matter because I already have "policy: it breaks on school's linux server, EOL" |
| 22:05:35 | <monochrom> | OK I'll stop. Back to Haskell. |
| 22:05:50 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 22:05:50 | × | raym quits (~raym@user/raym) (Ping timeout: 240 seconds) |
| 22:07:28 | <monochrom> | I gave a Haskell homework that requires students to implement some "at :: FooContainer a -> Integer -> a". Some students tried "foo c n = if c==Empty then ..." and ran into type errors. |
| 22:08:37 | <EvanR> | the ontological difference between equality testing and case analyzing |
| 22:09:00 | <EvanR> | subtle* |
| 22:09:27 | × | gehmehgeh quits (~user@user/gehmehgeh) (Quit: Leaving) |
| 22:10:59 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 22:11:40 | <darkling> | I had a fun one once, where the code perfectly implemented a sort of the test case... by hard-coding a specific permutation of the input. |
| 22:12:13 | <darkling> | I mean, they'd got all the right swaps in place to make it look like a bubblesort, but it didn't sort any *other* list of numbers. |
| 22:13:47 | × | acidjnk quits (~acidjnk@p200300d0c7068b08d490575bc8478d60.dip0.t-ipconnect.de) (Ping timeout: 244 seconds) |
| 22:14:15 | → | dsrt^ joins (~dsrt@128-092-173-218.biz.spectrum.com) |
| 22:17:39 | <EvanR> | int rand(){ return 7; } |
| 22:17:45 | <monochrom> | That sounds like written by an artificial neural network or some other kind of maching learning :) |
| 22:18:01 | → | jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) |
| 22:18:30 | <darkling> | That was over 20 years ago. We didn't have that kind of fail back then. :) |
| 22:19:52 | <darkling> | I think it was a genuine (student <---------------- 150km ---------------> clue) situation |
| 22:20:19 | <monochrom> | Indistinguishable from machine learning. >:) |
| 22:21:10 | <darkling> | The neural nets are still slightly larger |
| 22:21:19 | <monochrom> | Both humans and machine learning can look for patterns in the wrong places in very similar ways. |
| 22:21:27 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 22:21:42 | → | tfeb joins (~tfb@88.98.95.237) |
| 22:22:49 | → | TonyStone joins (~TonyStone@2603-7080-8607-c36a-943a-e90b-acbe-4f74.res6.spectrum.com) |
| 22:23:47 | <EvanR> | picard tried to argue for data's sovereignty by calling humans machines. Luckily that didn't backfire |
| 22:23:52 | × | gastus quits (~gastus@mawercer.de) (Remote host closed the connection) |
| 22:24:53 | <EvanR> | i.e. starfleet didn't respond by enslaving everyone |
| 22:25:19 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 22:25:31 | → | alp joins (~alp@user/alp) |
| 22:26:56 | <monochrom> | heh |
| 22:29:56 | <shapr> | acowley: is there a data cleaning tutorial for Frames? |
| 22:33:09 | × | tfeb quits (~tfb@88.98.95.237) (Quit: died) |
| 22:33:56 | → | renzhi joins (~xp@2607:fa49:6500:b100::f64a) |
| 22:36:22 | → | pavonia joins (~user@user/siracusa) |
| 22:37:50 | × | causal quits (~user@50.35.83.177) (Quit: WeeChat 3.5) |
| 22:39:40 | × | qwedfg quits (~qwedfg@user/qwedfg) (Excess Flood) |
| 22:42:07 | → | qwedfg joins (~qwedfg@user/qwedfg) |
| 22:44:10 | × | dsrt^ quits (~dsrt@128-092-173-218.biz.spectrum.com) (Ping timeout: 240 seconds) |
| 22:45:46 | × | renzhi quits (~xp@2607:fa49:6500:b100::f64a) (Ping timeout: 272 seconds) |
| 22:48:56 | → | dsrt^ joins (~dsrt@128-092-173-218.biz.spectrum.com) |
| 22:51:50 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 22:52:01 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 244 seconds) |
| 22:53:30 | × | mmhat quits (~mmh@p200300f1c71bc3f5ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5) |
| 22:55:35 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 22:57:11 | × | mvk quits (~mvk@2607:fea8:5ce3:8500::ba9a) (Ping timeout: 255 seconds) |
| 22:59:07 | × | euandreh quits (~euandreh@2804:14c:33:966c:2059:6e22:1326:6607) (Ping timeout: 240 seconds) |
| 23:02:10 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 23:04:38 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 23:04:43 | → | Topsi joins (~Topsi@dyndsl-095-033-026-061.ewe-ip-backbone.de) |
| 23:08:11 | → | TonyStone31 joins (~TonyStone@2603-7080-8607-c36a-943a-e90b-acbe-4f74.res6.spectrum.com) |
| 23:08:50 | × | ehammarstrom quits (~ehammarst@62-20-203-39-no182.tbcn.telia.com) (Ping timeout: 240 seconds) |
| 23:09:08 | × | jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Quit: My MacBook Air has gone to sleep. ZZZzzz…) |
| 23:12:20 | → | ehammarstrom joins (~ehammarst@62-20-203-39-no182.tbcn.telia.com) |
| 23:17:30 | × | `2jt quits (~jtomas@182.red-88-17-61.dynamicip.rima-tde.net) (Ping timeout: 258 seconds) |
| 23:20:58 | × | whatsupdoc quits (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
| 23:24:04 | → | learner-monad joins (~ehanneken@user/learner-monad) |
| 23:25:29 | × | learner-monad quits (~ehanneken@user/learner-monad) (Client Quit) |
| 23:26:43 | × | stackdroid18 quits (14094@user/stackdroid) (Quit: Lost terminal) |
| 23:38:59 | → | cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it) |
| 23:39:19 | × | cosimone quits (~user@93-44-186-171.ip98.fastwebnet.it) (Read error: Connection reset by peer) |
| 23:39:30 | × | dsrt^ quits (~dsrt@128-092-173-218.biz.spectrum.com) (Ping timeout: 246 seconds) |
| 23:40:13 | → | tabemann_ joins (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) |
| 23:41:19 | × | tabemann quits (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (Ping timeout: 240 seconds) |
| 23:51:11 | × | bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 255 seconds) |
| 23:52:09 | × | zeenk quits (~zeenk@2a02:2f04:a104:ef00:10:581:f80f:b980) (Quit: Konversation terminated!) |
| 23:53:02 | × | spacenautx quits (~spacenaut@user/spacenautx) (Quit: WeeChat 3.0) |
| 23:53:21 | → | cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it) |
| 23:54:36 | → | justsomeguy joins (~justsomeg@user/justsomeguy) |
All times are in UTC on 2022-06-01.