2023-07-28 00:04:40 +0200 | segfaultfizzbuzz | (~segfaultf@23-93-74-212.fiber.dynamic.sonic.net) (Quit: segfaultfizzbuzz) |
2023-07-28 00:08:42 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 245 seconds) |
2023-07-28 00:10:11 +0200 | acidjnk | (~acidjnk@p200300d6e7072f405d546349bf45e467.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2023-07-28 00:10:30 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds) |
2023-07-28 00:19:19 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-07-28 00:22:40 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-07-28 00:34:03 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-07-28 00:37:34 +0200 | Pickchea | (~private@user/pickchea) (Quit: Leaving) |
2023-07-28 00:38:25 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-07-28 00:40:08 +0200 | libertyprime | (~libertypr@203.96.203.44) (Quit: leaving) |
2023-07-28 00:40:50 +0200 | mei | (~mei@user/mei) |
2023-07-28 00:43:41 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) (Remote host closed the connection) |
2023-07-28 00:46:40 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2023-07-28 00:47:34 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
2023-07-28 00:48:03 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-28 00:55:55 +0200 | reach__ | (~reach@142.198.51.47) (Ping timeout: 245 seconds) |
2023-07-28 00:57:17 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-28 00:57:19 +0200 | reach__ | (~reach@142.198.51.47) |
2023-07-28 01:07:29 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-07-28 01:16:43 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-07-28 01:19:13 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
2023-07-28 01:20:39 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection) |
2023-07-28 01:22:27 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Ping timeout: 245 seconds) |
2023-07-28 01:23:21 +0200 | reach__ | (~reach@142.198.51.47) (Ping timeout: 245 seconds) |
2023-07-28 01:26:05 +0200 | mauke_ | (~mauke@user/mauke) |
2023-07-28 01:27:15 +0200 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 244 seconds) |
2023-07-28 01:27:39 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 01:27:46 +0200 | mauke | (~mauke@user/mauke) (Ping timeout: 244 seconds) |
2023-07-28 01:27:46 +0200 | mauke_ | mauke |
2023-07-28 01:29:07 +0200 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2023-07-28 01:29:21 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-28 01:31:37 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2023-07-28 01:33:36 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-28 01:36:51 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2023-07-28 01:44:59 +0200 | mvk | (~mvk@2607:fea8:5c9a:a600::1c6d) |
2023-07-28 01:49:45 +0200 | phma | (phma@2001:5b0:210b:9ac8:482d:5318:4a02:3871) (Read error: Connection reset by peer) |
2023-07-28 01:50:12 +0200 | phma | (~phma@host-67-44-208-59.hnremote.net) |
2023-07-28 01:57:01 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) |
2023-07-28 01:58:49 +0200 | talismanick | (~user@76.133.152.122) |
2023-07-28 01:59:29 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
2023-07-28 02:01:34 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2023-07-28 02:02:14 +0200 | flounders | (~flounders@24.246.133.1) (Ping timeout: 250 seconds) |
2023-07-28 02:02:17 +0200 | <dsal> | I just heard about amazonka2 arriving at hackage. Just came here to say woo. |
2023-07-28 02:03:03 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-07-28 02:03:57 +0200 | <shapr> | oh wow, amazonka got an update?! |
2023-07-28 02:04:13 +0200 | <shapr> | dsal: did you see my blog post from yesterday? Android app in Haskell? |
2023-07-28 02:04:27 +0200 | phma | (~phma@host-67-44-208-59.hnremote.net) (Read error: Connection reset by peer) |
2023-07-28 02:04:52 +0200 | phma | (phma@2001:5b0:210b:9ac8:482d:5318:4a02:3871) |
2023-07-28 02:04:55 +0200 | maulanazn | (~maulanazn@103.144.170.135) |
2023-07-28 02:05:14 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-07-28 02:05:44 +0200 | <maulanazn> | Hello everyone |
2023-07-28 02:06:02 +0200 | maulanazn | (~maulanazn@103.144.170.135) () |
2023-07-28 02:06:05 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-28 02:06:24 +0200 | <shapr> | that's about the attention span most people have |
2023-07-28 02:06:29 +0200 | <geekosaur> | o.O |
2023-07-28 02:06:42 +0200 | califax | (~califax@user/califx) |
2023-07-28 02:07:39 +0200 | maulanazn | (~maulanazn@103.144.170.135) |
2023-07-28 02:09:06 +0200 | <yushyin> | :D |
2023-07-28 02:11:02 +0200 | maulanazn | (~maulanazn@103.144.170.135) () |
2023-07-28 02:11:57 +0200 | maulanazn | (~maulanazn@103.144.170.135) |
2023-07-28 02:12:01 +0200 | reach__ | (~reach@142.198.51.47) |
2023-07-28 02:12:06 +0200 | maulanazn | (~maulanazn@103.144.170.135) () |
2023-07-28 02:14:54 +0200 | <jackdk> | Thanks dsal. I've been pushing that boulder for two years and it feels good to get it over the top. |
2023-07-28 02:15:03 +0200 | maulanazn | (~maulanazn@103.144.170.135) |
2023-07-28 02:15:10 +0200 | maulanazn | (~maulanazn@103.144.170.135) (Quit: Leaving.) |
2023-07-28 02:25:59 +0200 | libertyprime | (~libertypr@203.96.203.44) |
2023-07-28 02:26:12 +0200 | xff0x | (~xff0x@ai086045.d.east.v6connect.net) (Ping timeout: 245 seconds) |
2023-07-28 02:28:19 +0200 | xff0x | (~xff0x@178.255.149.135) |
2023-07-28 02:30:11 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) |
2023-07-28 02:30:12 +0200 | wroathe | (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
2023-07-28 02:30:12 +0200 | wroathe | (~wroathe@user/wroathe) |
2023-07-28 02:35:39 +0200 | reach__ | (~reach@142.198.51.47) (Ping timeout: 246 seconds) |
2023-07-28 02:37:49 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 02:39:30 +0200 | ystael | (~ystael@user/ystael) (Ping timeout: 246 seconds) |
2023-07-28 02:40:26 +0200 | xff0x | (~xff0x@178.255.149.135) (Ping timeout: 245 seconds) |
2023-07-28 02:40:28 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-07-28 02:42:24 +0200 | EsoAlgo81 | (~EsoAlgo@129.146.136.145) |
2023-07-28 02:42:31 +0200 | xff0x | (~xff0x@2405:6580:b080:900:f296:7c8e:ce20:8b85) |
2023-07-28 02:43:17 +0200 | img | (~img@user/img) (Ping timeout: 245 seconds) |
2023-07-28 02:44:23 +0200 | img | (~img@user/img) |
2023-07-28 02:49:08 +0200 | mrmr4 | (~mrmr@user/mrmr) |
2023-07-28 02:49:47 +0200 | mrmr | (~mrmr@user/mrmr) (Ping timeout: 246 seconds) |
2023-07-28 02:49:48 +0200 | mrmr4 | mrmr |
2023-07-28 02:50:32 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Quit: ZNC 1.8.2 - https://znc.in) |
2023-07-28 02:50:50 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-07-28 02:57:29 +0200 | <Axman6> | jackdk: thanks for all your thankless work, I know how hard you've been working on this, and the changes made in 2.0 really add some polish on an already amazing project |
2023-07-28 02:57:58 +0200 | <Axman6> | (I say thankless, but I thank jackdk every chance I get for his work on this) |
2023-07-28 02:58:34 +0200 | <jackdk> | Axman6: "thanks for all your thankless work" <- Paging Mr. Russell `;-)` |
2023-07-28 02:58:46 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 245 seconds) |
2023-07-28 02:59:01 +0200 | <Axman6> | The thank of all thanks that do not contain themselves |
2023-07-28 02:59:07 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds) |
2023-07-28 02:59:14 +0200 | <dsal> | shapr: I didn't. Where do I see that? |
2023-07-28 02:59:53 +0200 | <jackdk> | https://shapr.github.io/posts/2023-07-25-android-app-in-haskell.html I think? |
2023-07-28 03:01:47 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 260 seconds) |
2023-07-28 03:02:22 +0200 | <arahael_> | jackdk: That's very cool. :) |
2023-07-28 03:02:36 +0200 | <arahael_> | jackdk: Would you have been confident to take the same approach for iOS? |
2023-07-28 03:02:50 +0200 | <jackdk> | arahael_: You'll have to ask shapr, it's his blog post |
2023-07-28 03:03:25 +0200 | <arahael_> | Ah, ok. |
2023-07-28 03:03:53 +0200 | <arahael_> | reflex-frp does seem to be the most promising tool for this, but I'm somehow less confident when it comes to using it for iOS in production - feels experimental. |
2023-07-28 03:05:20 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 03:06:10 +0200 | razetime | (~quassel@117.193.5.53) |
2023-07-28 03:11:16 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-07-28 03:11:36 +0200 | pavonia | (~user@user/siracusa) |
2023-07-28 03:15:06 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) |
2023-07-28 03:16:21 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 03:17:24 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-07-28 03:18:56 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) |
2023-07-28 03:22:59 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-28 03:27:52 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-07-28 03:29:03 +0200 | yangby | (~secret@183.128.108.131) |
2023-07-28 03:33:25 +0200 | mvk | (~mvk@2607:fea8:5c9a:a600::1c6d) (Ping timeout: 245 seconds) |
2023-07-28 03:37:12 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:210c:477a:6863:3d54) |
2023-07-28 03:39:11 +0200 | wroathe | (~wroathe@user/wroathe) (Ping timeout: 245 seconds) |
2023-07-28 03:44:10 +0200 | hugo- | (znc@verdigris.lysator.liu.se) (Ping timeout: 244 seconds) |
2023-07-28 03:48:28 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-07-28 03:50:33 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2023-07-28 03:52:22 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
2023-07-28 03:52:45 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-28 03:56:39 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-07-28 04:00:17 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
2023-07-28 04:01:16 +0200 | codaraxis | (~codaraxis@user/codaraxis) (Ping timeout: 246 seconds) |
2023-07-28 04:07:42 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-07-28 04:11:37 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) (Ping timeout: 245 seconds) |
2023-07-28 04:13:37 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:210c:477a:6863:3d54) (Quit: sm[i]) |
2023-07-28 04:16:18 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 240 seconds) |
2023-07-28 04:16:56 +0200 | td_ | (~td@i5387090B.versanet.de) (Ping timeout: 246 seconds) |
2023-07-28 04:17:09 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-28 04:18:41 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 246 seconds) |
2023-07-28 04:19:04 +0200 | td_ | (~td@i53870935.versanet.de) |
2023-07-28 04:19:07 +0200 | libertyprime | (~libertypr@203.96.203.44) (Quit: leaving) |
2023-07-28 04:19:45 +0200 | hugo | (znc@verdigris.lysator.liu.se) |
2023-07-28 04:19:50 +0200 | finn_elija | (~finn_elij@user/finn-elija/x-0085643) |
2023-07-28 04:19:50 +0200 | FinnElija | (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
2023-07-28 04:19:50 +0200 | finn_elija | FinnElija |
2023-07-28 04:19:57 +0200 | reach__ | (~reach@142.198.51.47) |
2023-07-28 04:20:41 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d004:e151:c029:6b7c) |
2023-07-28 04:23:07 +0200 | jero98772 | (~jero98772@2800:484:1d7f:5d36::1) |
2023-07-28 04:24:49 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:210c:477a:6863:3d54) |
2023-07-28 04:35:31 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
2023-07-28 04:41:55 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) (Quit: The Lounge - https://thelounge.chat) |
2023-07-28 04:42:36 +0200 | phma | (phma@2001:5b0:210b:9ac8:482d:5318:4a02:3871) (Read error: Connection reset by peer) |
2023-07-28 04:43:02 +0200 | phma | (phma@2001:5b0:210b:9ac8:482d:5318:4a02:3871) |
2023-07-28 04:43:28 +0200 | terrorjack | (~terrorjac@2a01:4f8:c17:87f8::) |
2023-07-28 04:43:31 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-28 04:45:44 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2023-07-28 04:46:04 +0200 | mei | (~mei@user/mei) (Ping timeout: 246 seconds) |
2023-07-28 04:50:04 +0200 | mei | (~mei@user/mei) |
2023-07-28 04:50:51 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-28 04:55:07 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-28 04:55:55 +0200 | qqq | (~qqq@92.43.167.61) (Remote host closed the connection) |
2023-07-28 05:05:17 +0200 | mei | (~mei@user/mei) (Ping timeout: 244 seconds) |
2023-07-28 05:05:30 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
2023-07-28 05:06:01 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-28 05:07:27 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 05:09:18 +0200 | mei | (~mei@user/mei) |
2023-07-28 05:12:56 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2023-07-28 05:15:36 +0200 | reach__ | (~reach@142.198.51.47) (Ping timeout: 246 seconds) |
2023-07-28 05:18:19 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 05:19:19 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-07-28 05:20:38 +0200 | foul_owl_ | (~kerry@174-21-159-141.tukw.qwest.net) |
2023-07-28 05:20:47 +0200 | foul_owl | (~kerry@185.219.141.162) (Ping timeout: 244 seconds) |
2023-07-28 05:25:26 +0200 | foul_owl_ | (~kerry@174-21-159-141.tukw.qwest.net) (Ping timeout: 245 seconds) |
2023-07-28 05:27:23 +0200 | califax | (~califax@user/califx) (Remote host closed the connection) |
2023-07-28 05:27:52 +0200 | califax | (~califax@user/califx) |
2023-07-28 05:29:34 +0200 | aforemny | (~aforemny@2001:9e8:6cfc:2a00:d5a2:6a3b:38ac:cbd4) (Ping timeout: 244 seconds) |
2023-07-28 05:29:44 +0200 | aforemny_ | (~aforemny@2001:9e8:6ce2:4f00:57f9:d120:56d4:9724) |
2023-07-28 05:32:16 +0200 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 246 seconds) |
2023-07-28 05:34:26 +0200 | jle` | (~jle`@cpe-23-240-75-236.socal.res.rr.com) |
2023-07-28 05:37:03 +0200 | foul_owl_ | (~kerry@193.29.61.236) |
2023-07-28 05:40:05 +0200 | sm | (~sm@plaintextaccounting/sm) (Quit: Reconnecting) |
2023-07-28 05:41:04 +0200 | sm | (~sm@plaintextaccounting/sm) |
2023-07-28 05:41:56 +0200 | texasmynsted | (~username@99.96.221.112) (Ping timeout: 250 seconds) |
2023-07-28 05:42:52 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 245 seconds) |
2023-07-28 05:45:41 +0200 | trev | (~trev@user/trev) |
2023-07-28 05:52:49 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 244 seconds) |
2023-07-28 06:04:02 +0200 | razetime | (~quassel@117.193.5.53) (Ping timeout: 246 seconds) |
2023-07-28 06:06:29 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-07-28 06:08:30 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:210c:477a:6863:3d54) (Quit: sm[i]) |
2023-07-28 06:26:08 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 06:45:44 +0200 | razetime | (~quassel@117.193.5.53) |
2023-07-28 06:55:36 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-07-28 06:57:28 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-28 06:59:04 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
2023-07-28 07:04:57 +0200 | nattiestnate | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
2023-07-28 07:10:25 +0200 | <dsal> | My build's trying to build connection. Is there any way I can figure out why? It's not an obvious dependency. |
2023-07-28 07:11:21 +0200 | <dsal> | Oh, I just figured out `stack dot --external` directly answers my question. |
2023-07-28 07:13:58 +0200 | <dsal> | Weird, I was specifying network-conduit-tls >= 1.4 but it was apparently building something older. |
2023-07-28 07:14:27 +0200 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 244 seconds) |
2023-07-28 07:16:23 +0200 | ByronJohnson | (~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) |
2023-07-28 07:20:16 +0200 | reach__ | (~reach@142.198.51.47) |
2023-07-28 07:22:19 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-28 07:25:18 +0200 | reach__ | (~reach@142.198.51.47) (Ping timeout: 244 seconds) |
2023-07-28 07:27:16 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-07-28 07:45:44 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-07-28 07:46:59 +0200 | mixfix41 | (~sdeny9ee@user/mixfix41) (Ping timeout: 260 seconds) |
2023-07-28 07:51:19 +0200 | CiaoSen | (~Jura@2a05:5800:2a3:b400:664b:f0ff:fe37:9ef) |
2023-07-28 07:54:25 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-07-28 07:54:26 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) |
2023-07-28 08:05:42 +0200 | titiband1t | (~titibandi@user/titibandit) |
2023-07-28 08:07:53 +0200 | titiband1t | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-07-28 08:14:00 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-28 08:14:57 +0200 | Luj | (~Luj@2a01:e0a:5f9:9681:b61c:443d:ba92:3071) (Quit: Ping timeout (120 seconds)) |
2023-07-28 08:15:14 +0200 | Luj | (~Luj@2a01:e0a:5f9:9681:9d2:9ce:d805:54e2) |
2023-07-28 08:16:28 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 08:19:58 +0200 | mmhat | (~mmh@p200300f1c73d1944ee086bfffe095315.dip0.t-ipconnect.de) |
2023-07-28 08:19:58 +0200 | mmhat | (~mmh@p200300f1c73d1944ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit) |
2023-07-28 08:20:30 +0200 | foul_owl_ | (~kerry@193.29.61.236) (Ping timeout: 245 seconds) |
2023-07-28 08:21:49 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 08:22:32 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09b522d1b3cfe8e851.dip0.t-ipconnect.de) |
2023-07-28 08:23:46 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 260 seconds) |
2023-07-28 08:29:00 +0200 | kenran | (~user@user/kenran) |
2023-07-28 08:34:00 +0200 | bliminse | (~bliminse@user/bliminse) |
2023-07-28 08:34:43 +0200 | foul_owl_ | (~kerry@185.219.141.162) |
2023-07-28 08:35:05 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-28 08:35:16 +0200 | dibblego | (~dibblego@116.255.1.151) |
2023-07-28 08:35:16 +0200 | dibblego | (~dibblego@116.255.1.151) (Changing host) |
2023-07-28 08:35:16 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 08:36:55 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-28 08:39:39 +0200 | shapr | (~user@2600:1700:c640:3100:fa13:6c46:116:2be9) (Ping timeout: 246 seconds) |
2023-07-28 08:40:51 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-28 08:41:11 +0200 | Guest8558 | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) |
2023-07-28 08:41:16 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-28 08:44:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 08:47:35 +0200 | chele | (~chele@user/chele) |
2023-07-28 08:47:51 +0200 | oo_miguel | (~Thunderbi@78-11-179-96.static.ip.netia.com.pl) |
2023-07-28 08:50:30 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds) |
2023-07-28 08:55:53 +0200 | codaraxis | (~codaraxis@user/codaraxis) |
2023-07-28 08:59:11 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-28 09:01:07 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 09:01:08 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 09:01:08 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 09:03:06 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-28 09:03:44 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 09:05:42 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-07-28 09:06:35 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 09:06:36 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 09:06:36 +0200 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 09:06:53 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
2023-07-28 09:07:05 +0200 | dobblego | dibblego |
2023-07-28 09:11:47 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
2023-07-28 09:13:41 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-07-28 09:14:35 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 09:14:35 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 09:14:35 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 09:16:11 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-28 09:19:39 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) |
2023-07-28 09:20:44 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-07-28 09:22:28 +0200 | fendor | (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) |
2023-07-28 09:23:35 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) |
2023-07-28 09:24:35 +0200 | ft | (~ft@p3e9bc61e.dip0.t-ipconnect.de) (Quit: leaving) |
2023-07-28 09:24:50 +0200 | emmanuelux | (~emmanuelu@user/emmanuelux) (Remote host closed the connection) |
2023-07-28 09:25:47 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 264 seconds) |
2023-07-28 09:26:50 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 09:26:50 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 09:26:50 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 09:32:49 +0200 | <Inst> | erm, does anyone use halide? Since I can't get accelerate to work :( |
2023-07-28 09:32:55 +0200 | <Inst> | well, not without stack, but lazy |
2023-07-28 09:33:14 +0200 | <Inst> | bleh, tbh, i'll just install halide via msys on win64 and see how well that works out |
2023-07-28 09:35:01 +0200 | <[exa]> | that platform isn't very compatible with the idea of getting stuff to work |
2023-07-28 09:35:15 +0200 | <[exa]> | (apologies for slightly brutal honesty) |
2023-07-28 09:36:29 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
2023-07-28 09:37:02 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 09:37:02 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 09:37:02 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 09:37:43 +0200 | <mzg> | [exa]: have to write that response down, it seems to be reusable to various other situations |
2023-07-28 09:38:18 +0200 | <Inst> | ehhh, msys doesn't have it |
2023-07-28 09:38:31 +0200 | <Inst> | yeah, i know, i can't even get more niche python libs to work on windows |
2023-07-28 09:51:55 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 240 seconds) |
2023-07-28 09:53:47 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-28 09:55:18 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-28 09:58:05 +0200 | nattiestnate | internatetional |
2023-07-28 09:58:07 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Remote host closed the connection) |
2023-07-28 09:59:21 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 10:00:18 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 244 seconds) |
2023-07-28 10:01:55 +0200 | <davean> | Inst: I can say accelerate has worked for me on linux without too much trouble. I have heard people *have* gotten it to work on windows, but I forget who |
2023-07-28 10:02:10 +0200 | arahael_ | (~arahael@124-149-31-4.dyn.iinet.net.au) (Ping timeout: 245 seconds) |
2023-07-28 10:03:14 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) |
2023-07-28 10:04:08 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-28 10:04:47 +0200 | <Inst> | I can't figure out how to get the newer versions of accelerate to install from github |
2023-07-28 10:05:59 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) |
2023-07-28 10:14:16 +0200 | phma | (phma@2001:5b0:210b:9ac8:482d:5318:4a02:3871) (Read error: Connection reset by peer) |
2023-07-28 10:15:18 +0200 | phma | (~phma@2001:5b0:210f:78d8:de61:1bc2:fcbd:591a) |
2023-07-28 10:18:18 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 10:18:18 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 10:18:18 +0200 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 10:18:28 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 258 seconds) |
2023-07-28 10:18:59 +0200 | dobblego | dibblego |
2023-07-28 10:21:43 +0200 | Unicorn_Princess | (~Unicorn_P@user/Unicorn-Princess/x-3540542) |
2023-07-28 10:22:04 +0200 | <[exa]> | Inst: git clone the repo and add it to your project using `cabal.project` config? |
2023-07-28 10:29:59 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
2023-07-28 10:30:39 +0200 | Sgeo | (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
2023-07-28 10:32:09 +0200 | danse-nr3 | (~francesco@151.37.208.115) |
2023-07-28 10:32:44 +0200 | tbagrel1 | (~thomas@2a01:e0a:1ef:6520:c532:105d:de51:605) |
2023-07-28 10:33:23 +0200 | tbagrel1 | (~thomas@2a01:e0a:1ef:6520:c532:105d:de51:605) (Client Quit) |
2023-07-28 10:33:45 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
2023-07-28 10:33:57 +0200 | tbagrel1 | (~thomas@2a01:e0a:1ef:6520:c532:105d:de51:605) |
2023-07-28 10:34:04 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
2023-07-28 10:37:09 +0200 | <tbagrel1> | Hey! I'm currently working on GHC memory model, and I don't exactly understand when a thunk will be overwritten with a constructor or overwritten by an indirection (IND) pointing to a newly allocated constructor. I tried to run some tests, by forcing a thunk of a small struct VS big struct, but I couldn't derive any rule from my empirical results. The larger scope of the project is inspecting |
2023-07-28 10:37:10 +0200 | <tbagrel1> | GHC's heap at runtime (which currently works well, except when encountering indirections) |
2023-07-28 10:37:56 +0200 | ub | (~Thunderbi@178.165.173.150.wireless.dyn.drei.com) |
2023-07-28 10:37:58 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-28 10:38:01 +0200 | shriekingnoise | (~shrieking@186.137.175.87) (Ping timeout: 244 seconds) |
2023-07-28 10:38:37 +0200 | ubert1 | (~Thunderbi@178.165.173.150.wireless.dyn.drei.com) |
2023-07-28 10:39:42 +0200 | razetime | (~quassel@117.193.5.53) (Ping timeout: 246 seconds) |
2023-07-28 10:39:57 +0200 | ubert | (~Thunderbi@178.115.37.112.wireless.dyn.drei.com) (Ping timeout: 245 seconds) |
2023-07-28 10:39:57 +0200 | ubert1 | ubert |
2023-07-28 10:44:51 +0200 | mango | (~finn@2001:861:5863:3d50:1ef0:ac25:6f3c:22c7) |
2023-07-28 10:57:19 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Remote host closed the connection) |
2023-07-28 10:57:35 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2023-07-28 10:57:55 +0200 | razetime | (~quassel@117.193.5.53) |
2023-07-28 10:58:51 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-07-28 11:02:49 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 244 seconds) |
2023-07-28 11:14:11 +0200 | gugu256 | (~gugu256@93.22.132.228) |
2023-07-28 11:14:46 +0200 | <gugu256> | Hi everybody |
2023-07-28 11:15:04 +0200 | <gugu256> | if i want to uninstall haskell, what folders should I remove (Windows) |
2023-07-28 11:15:36 +0200 | <gugu256> | uninstall GHCUP |
2023-07-28 11:15:43 +0200 | <gugu256> | uninstall Cabal & Stack |
2023-07-28 11:16:43 +0200 | <gugu256> | ??? |
2023-07-28 11:17:09 +0200 | yangby | (~secret@183.128.108.131) (Quit: Go out for a walk and buy a drink.) |
2023-07-28 11:18:37 +0200 | yangby | (~secret@183.128.108.131) |
2023-07-28 11:20:53 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d004:e151:c029:6b7c) (Remote host closed the connection) |
2023-07-28 11:24:59 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) |
2023-07-28 11:26:28 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 11:27:52 +0200 | <danse-nr3> | gugu256, ghcup has its uninstallation doc https://www.haskell.org/ghcup/install/#uninstallation. Not sure whether it uninstall also cabal and stack |
2023-07-28 11:30:31 +0200 | mango_ | (~finn@2001:861:5863:3d50:37ea:5881:7052:43c7) |
2023-07-28 11:31:08 +0200 | dobblego | (~dibblego@116.255.1.151) |
2023-07-28 11:31:08 +0200 | dobblego | (~dibblego@116.255.1.151) (Changing host) |
2023-07-28 11:31:08 +0200 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 11:31:09 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 246 seconds) |
2023-07-28 11:31:09 +0200 | mango | (~finn@2001:861:5863:3d50:1ef0:ac25:6f3c:22c7) (Ping timeout: 246 seconds) |
2023-07-28 11:31:12 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-28 11:31:39 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 11:31:52 +0200 | dobblego | dibblego |
2023-07-28 11:42:22 +0200 | yangby | (~secret@183.128.108.131) (Ping timeout: 252 seconds) |
2023-07-28 11:42:42 +0200 | yangby | (~secret@183.128.108.131) |
2023-07-28 11:42:51 +0200 | Lord_of_Life_ | (~Lord@user/lord-of-life/x-2819915) |
2023-07-28 11:42:52 +0200 | <maerwald> | gugu256: why |
2023-07-28 11:43:37 +0200 | mango_ | (~finn@2001:861:5863:3d50:37ea:5881:7052:43c7) (Ping timeout: 246 seconds) |
2023-07-28 11:43:51 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-28 11:43:53 +0200 | Lord_of_Life | (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds) |
2023-07-28 11:44:49 +0200 | mango | (~finn@2001:861:5863:3d50:d28b:7203:a2f5:ab43) |
2023-07-28 11:44:50 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) |
2023-07-28 11:45:36 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 11:45:44 +0200 | Lord_of_Life_ | Lord_of_Life |
2023-07-28 11:48:30 +0200 | <gugu256> | maerwald: 6 GB |
2023-07-28 11:48:44 +0200 | <maerwald> | gugu256: how much you got |
2023-07-28 11:49:19 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 244 seconds) |
2023-07-28 11:49:34 +0200 | merijn | (~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds) |
2023-07-28 11:50:29 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-28 11:53:33 +0200 | <maerwald> | gugu256: are you still counting? |
2023-07-28 11:53:41 +0200 | gugu_ | (~gugu256@219.134.22.93.rev.sfr.net) |
2023-07-28 11:53:56 +0200 | gugu_ | (~gugu256@219.134.22.93.rev.sfr.net) (Remote host closed the connection) |
2023-07-28 11:54:11 +0200 | <probie> | maerwald: does that really matter? It seems like a non sequitur. Even if it's just 4KiB there should be instructions on how to get rid of it |
2023-07-28 11:54:13 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2023-07-28 11:54:13 +0200 | gugu_ | (~gugu256@219.134.22.93.rev.sfr.net) |
2023-07-28 11:54:20 +0200 | <maerwald> | probie: there is |
2023-07-28 11:54:23 +0200 | <maerwald> | ghcup nuke |
2023-07-28 11:54:46 +0200 | gugu_ | gugu265 |
2023-07-28 11:54:47 +0200 | <maerwald> | just like in the oppenheimer movie |
2023-07-28 11:54:57 +0200 | <gugu265> | 6 GB of disk space is too much for just a compiler |
2023-07-28 11:55:07 +0200 | <maerwald> | hmm... you can reduce it by removing profiling libs |
2023-07-28 11:55:22 +0200 | <maerwald> | ghcup gc --help |
2023-07-28 11:55:30 +0200 | <maerwald> | it can go down to 1GB for just GHC |
2023-07-28 11:56:22 +0200 | <gugu265> | i removed everything |
2023-07-28 11:56:30 +0200 | <maerwald> | you nuked it? |
2023-07-28 11:56:35 +0200 | <[exa]> | cabal clean --oppenheimer |
2023-07-28 11:56:38 +0200 | <maerwald> | lol |
2023-07-28 11:56:41 +0200 | Guest8558 | (~finn@rul16-h01-176-151-21-224.dsl.sta.abo.bbox.fr) (Ping timeout: 245 seconds) |
2023-07-28 11:56:46 +0200 | gugu256 | (~gugu256@93.22.132.228) (Ping timeout: 250 seconds) |
2023-07-28 11:58:19 +0200 | <maerwald> | gugu265: also check ~/.cabal directory |
2023-07-28 11:58:36 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
2023-07-28 11:58:43 +0200 | <gugu265> | yes i removed it too |
2023-07-28 11:58:50 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
2023-07-28 11:58:58 +0200 | driib | (~driib@vmi931078.contaboserver.net) (Quit: The Lounge - https://thelounge.chat) |
2023-07-28 11:59:04 +0200 | <maerwald> | and now what? |
2023-07-28 11:59:33 +0200 | driib | (~driib@vmi931078.contaboserver.net) |
2023-07-28 12:01:11 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) (Ping timeout: 264 seconds) |
2023-07-28 12:01:39 +0200 | Maxdamantus | (~Maxdamant@user/maxdamantus) |
2023-07-28 12:01:52 +0200 | <gugu265> | now, i'll re-install haskell with less shit and more gold |
2023-07-28 12:01:58 +0200 | <maerwald> | uhm... how? |
2023-07-28 12:02:12 +0200 | <gugu265> | i'll just download the GHC ? |
2023-07-28 12:02:19 +0200 | <maerwald> | that'll still be 2GB lol |
2023-07-28 12:02:35 +0200 | <gugu265> | that's 4GB less |
2023-07-28 12:02:40 +0200 | <gugu265> | what version should I use ? |
2023-07-28 12:02:47 +0200 | <maerwald> | I won't tell you |
2023-07-28 12:02:49 +0200 | <gugu265> | 9.6.2 |
2023-07-28 12:02:49 +0200 | <gugu265> | 9.4.5 |
2023-07-28 12:02:49 +0200 | <gugu265> | 9.2.8 |
2023-07-28 12:02:54 +0200 | <maerwald> | but the other 4GB were due to HLS, not GHC |
2023-07-28 12:02:56 +0200 | <[exa]> | gugu265: tbh I'm doing the same, just get the binary ghc + binary cabal and put them into the system properly |
2023-07-28 12:02:58 +0200 | <maerwald> | you could have just uninstalled that |
2023-07-28 12:03:22 +0200 | <maerwald> | now you don't have an easy mechanism to remove profiling libs, for example |
2023-07-28 12:03:27 +0200 | <maerwald> | unless you know how to do it manually |
2023-07-28 12:03:34 +0200 | <maerwald> | seems like a step backwards |
2023-07-28 12:03:37 +0200 | <gugu265> | OK SO WHAT SHOULD I DO ? |
2023-07-28 12:03:43 +0200 | <maerwald> | first: panic |
2023-07-28 12:03:48 +0200 | <gugu265> | i don't have haskell installed on my computer, at all |
2023-07-28 12:03:48 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-28 12:03:52 +0200 | <gugu265> | what do I do |
2023-07-28 12:04:28 +0200 | <maerwald> | curl --proto '=https' --tlsv1.2 -sSf https://get-ghcup.haskell.org | BOOTSTRAP_HASKELL_MINIMAL=yes sh |
2023-07-28 12:04:57 +0200 | <gugu265> | i'm on windows, u sure it'll work ? |
2023-07-28 12:05:01 +0200 | <maerwald> | ah |
2023-07-28 12:05:03 +0200 | <maerwald> | sec |
2023-07-28 12:05:30 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 12:05:34 +0200 | <gugu265> | I mean, i have MySys installed |
2023-07-28 12:05:49 +0200 | acro | (~acro@user/acro) (Quit: Bye.) |
2023-07-28 12:05:49 +0200 | ouroboros | (~ouroboros@user/ouroboros) (Quit: Bye.) |
2023-07-28 12:05:49 +0200 | <maerwald> | alright |
2023-07-28 12:06:05 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-28 12:06:52 +0200 | <maerwald> | Set-ExecutionPolicy Bypass -Scope Process -Force;[System.Net.ServicePointManager]::SecurityProtocol = [System.Net.ServicePointManager]::SecurityProtocol -bor 3072; try { Invoke-Command -ScriptBlock ([ScriptBlock]::Create((Invoke-WebRequest https://www.haskell.org/ghcup/sh/bootstrap-haskell.ps1 -UseBasicParsing))) -ArgumentList $true, $true } catch { Write-Error $_ } |
2023-07-28 12:06:56 +0200 | <maerwald> | that should do |
2023-07-28 12:07:02 +0200 | acro | (~acro@user/acro) |
2023-07-28 12:07:45 +0200 | <maerwald> | [exa]: manual installation on windows is quite challenging |
2023-07-28 12:08:04 +0200 | ouroboros | (~ouroboros@user/ouroboros) |
2023-07-28 12:08:09 +0200 | <gugu265> | yes that's the command they told me to do in the beginning |
2023-07-28 12:08:19 +0200 | <gugu265> | ok so now my question is, what do i need to install |
2023-07-28 12:08:22 +0200 | <maerwald> | gugu265: but this one is different |
2023-07-28 12:08:30 +0200 | <maerwald> | it will not install GHC |
2023-07-28 12:08:31 +0200 | <gugu265> | like what's the point of cabal and stack ? |
2023-07-28 12:08:40 +0200 | <maerwald> | gugu265: ignore stack for now |
2023-07-28 12:08:44 +0200 | <gugu265> | "it will not install GHC" ??? |
2023-07-28 12:08:50 +0200 | <maerwald> | yes, it's minimal |
2023-07-28 12:08:50 +0200 | <gugu265> | I want GHC, that's all i want actually |
2023-07-28 12:08:53 +0200 | <maerwald> | ok |
2023-07-28 12:09:07 +0200 | <maerwald> | then after it's done, you type: ghcup install ghc 9.4.5 |
2023-07-28 12:09:07 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) (Quit: Leaving) |
2023-07-28 12:09:17 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-07-28 12:09:20 +0200 | <maerwald> | it won't install HLS, stack or cabal |
2023-07-28 12:10:28 +0200 | puke | (~puke@user/puke) |
2023-07-28 12:10:50 +0200 | tcard | (~tcard@2400:4051:5801:7500:cf17:befc:ff82:5303) |
2023-07-28 12:11:22 +0200 | <gugu265> | extracting mysys archive... |
2023-07-28 12:11:31 +0200 | <maerwald> | you can tell it to use an existing msys2 |
2023-07-28 12:11:35 +0200 | <gugu265> | I didnt install anything else than Mysys btw |
2023-07-28 12:11:44 +0200 | <gugu265> | yeah but i don't know where is it |
2023-07-28 12:11:50 +0200 | <maerwald> | I don't know either |
2023-07-28 12:12:26 +0200 | <gugu265> | will it install ghci |
2023-07-28 12:12:27 +0200 | <gugu265> | ? |
2023-07-28 12:12:58 +0200 | <maerwald> | `ghcup install ghc 9.4.5` will |
2023-07-28 12:13:09 +0200 | <gugu265> | ok |
2023-07-28 12:13:11 +0200 | <gugu265> | And btw |
2023-07-28 12:13:12 +0200 | <maerwald> | or rather |
2023-07-28 12:13:20 +0200 | <maerwald> | ghcup install ghc --set 9.4.5 |
2023-07-28 12:13:23 +0200 | <gugu265> | Why do we need SOOO MUCH space just for 1 language ? |
2023-07-28 12:13:35 +0200 | <maerwald> | no idea |
2023-07-28 12:13:56 +0200 | <gugu265> | I'm gonna fckin raid the Glasgow University |
2023-07-28 12:14:07 +0200 | <maerwald> | maintaining compilers seems to be somewhat of a challenge is my guess |
2023-07-28 12:14:33 +0200 | <maerwald> | gugu265: uhm... |
2023-07-28 12:15:52 +0200 | <gugu265> | 262MB just for ghc/ghci |
2023-07-28 12:15:55 +0200 | <gugu265> | WHHYYYYY |
2023-07-28 12:16:01 +0200 | <danse-nr3> | is it not nice to get so much love from newcomers |
2023-07-28 12:16:04 +0200 | <maerwald> | gugu265: in US, these types of jokes are not that much appreciated (bc they actually happen) |
2023-07-28 12:16:15 +0200 | <maerwald> | so I'm guessing this is European humor |
2023-07-28 12:16:15 +0200 | <danse-nr3> | yeah that was quite bad |
2023-07-28 12:16:30 +0200 | <danse-nr3> | gugu265, you use windows anyways, why would you care about memory usage |
2023-07-28 12:16:43 +0200 | <maerwald> | lol |
2023-07-28 12:16:44 +0200 | <gugu265> | maerwald: Very European humor, my bad. And when i said raiding i kinda meant like a viking attack in my head |
2023-07-28 12:16:56 +0200 | <maerwald> | ok, viking attack with flowers? Makes sense |
2023-07-28 12:16:56 +0200 | <gugu265> | Cuz you know scotland |
2023-07-28 12:17:42 +0200 | <gugu265> | Merging file tree from "C:\ghcup\tmp\ghcup-61967fa73e18beb9\ghc-9.4.5-x86_64-unknown-mingw32" to "C:\ghcup\ghc\9.4.5" |
2023-07-28 12:17:50 +0200 | <maerwald> | yeah |
2023-07-28 12:17:53 +0200 | <gugu265> | it's been doing that for like 2 minutes |
2023-07-28 12:17:56 +0200 | <maerwald> | right |
2023-07-28 12:18:05 +0200 | <maerwald> | well... I know why |
2023-07-28 12:18:12 +0200 | <maerwald> | but I can't say whether we can fix it |
2023-07-28 12:18:21 +0200 | <maerwald> | it installs file by file for safety reasons |
2023-07-28 12:18:29 +0200 | <maerwald> | instead of moving entire directory |
2023-07-28 12:18:40 +0200 | <maerwald> | and apparently, those syscalls are SLOW on windows |
2023-07-28 12:18:44 +0200 | <gugu265> | it's so damn slow |
2023-07-28 12:19:07 +0200 | <gugu265> | maerwald: tried Linux once, almost destroyed my computer. never agin. |
2023-07-28 12:19:31 +0200 | <maerwald> | linux destroyed your computer or you did? |
2023-07-28 12:19:35 +0200 | <gugu265> | I did |
2023-07-28 12:19:52 +0200 | <maerwald> | well, I guess you are somewhat of a viking after all |
2023-07-28 12:20:00 +0200 | <gugu265> | i messed up when trying to go back to windows, and my computer couldn't boot up |
2023-07-28 12:20:10 +0200 | <maerwald> | I think destroying computers was a tradition in old times |
2023-07-28 12:20:17 +0200 | <gugu265> | Yess yes |
2023-07-28 12:20:21 +0200 | <gugu265> | my ancestors did that |
2023-07-28 12:20:28 +0200 | <maerwald> | excellent |
2023-07-28 12:20:36 +0200 | <gugu265> | OdinSH >>> other command line tools |
2023-07-28 12:20:44 +0200 | <gugu265> | [ Info ] GHC installation successful |
2023-07-28 12:20:48 +0200 | <gugu265> | Wooho |
2023-07-28 12:21:04 +0200 | <[exa]> | \o/ |
2023-07-28 12:21:08 +0200 | <maerwald> | so... can you type `ghci`? |
2023-07-28 12:21:22 +0200 | <gugu265> | it's not in path, SHITT |
2023-07-28 12:21:23 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d004:e151:c029:6b7c) |
2023-07-28 12:21:29 +0200 | <maerwald> | did you run refreshenv? |
2023-07-28 12:21:32 +0200 | <maerwald> | in your powershell |
2023-07-28 12:21:38 +0200 | <gugu265> | will do |
2023-07-28 12:21:43 +0200 | <[exa]> | gugu265: btw few hundreds of megs are a normal minimum for any compiler nowadays, unfortunately |
2023-07-28 12:22:28 +0200 | <gugu265> | refreshenv doesn't exist |
2023-07-28 12:23:10 +0200 | <gugu265> | i mean, I have the paths of ghc and ghci |
2023-07-28 12:23:16 +0200 | <gugu265> | can't i just add it myself in path ? |
2023-07-28 12:23:45 +0200 | <maerwald> | gugu265: RefreshEnv.exe |
2023-07-28 12:23:51 +0200 | <maerwald> | use tab completion man |
2023-07-28 12:24:44 +0200 | <gugu265> | where do i find refreshenv.exe ? |
2023-07-28 12:25:04 +0200 | <maerwald> | in your powershell |
2023-07-28 12:25:09 +0200 | <gugu265> | it doesn't work |
2023-07-28 12:25:24 +0200 | <gugu265> | wdym use tab completion ? |
2023-07-28 12:25:29 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d004:e151:c029:6b7c) (Ping timeout: 244 seconds) |
2023-07-28 12:26:01 +0200 | <maerwald> | close powershell and open again |
2023-07-28 12:26:26 +0200 | <gugu265> | still doesn't work |
2023-07-28 12:26:50 +0200 | <[exa]> | ghci or RefreshEnv.exe ? |
2023-07-28 12:26:56 +0200 | <gugu265> | both lol |
2023-07-28 12:27:15 +0200 | <gugu265> | ok all good |
2023-07-28 12:27:20 +0200 | <gugu265> | i added it in my path |
2023-07-28 12:27:22 +0200 | <gugu265> | myself |
2023-07-28 12:27:29 +0200 | <gugu265> | like a big boy |
2023-07-28 12:27:32 +0200 | <gugu265> | and it works |
2023-07-28 12:27:40 +0200 | <maerwald> | now you have it twice |
2023-07-28 12:27:46 +0200 | <gugu265> | twice ? |
2023-07-28 12:27:49 +0200 | <maerwald> | yes |
2023-07-28 12:27:52 +0200 | <maerwald> | in your PATH |
2023-07-28 12:28:00 +0200 | <maerwald> | oh |
2023-07-28 12:28:04 +0200 | <maerwald> | it's RefreshEnv.cmd |
2023-07-28 12:28:06 +0200 | <gugu265> | it was not in my path |
2023-07-28 12:28:21 +0200 | <maerwald> | check your path settings, I'm positive there will be two entries that are the same |
2023-07-28 12:28:22 +0200 | <gugu265> | RefreshEnv.cmd doesn't work |
2023-07-28 12:28:25 +0200 | <maerwald> | lol |
2023-07-28 12:28:32 +0200 | <maerwald> | your windows is busted |
2023-07-28 12:28:49 +0200 | <gugu265> | ,ope |
2023-07-28 12:28:50 +0200 | <gugu265> | nope |
2023-07-28 12:29:00 +0200 | <gugu265> | there aren't 2 duplicate entries |
2023-07-28 12:29:05 +0200 | <maerwald> | yes, prolly too old powershell version or something else |
2023-07-28 12:29:39 +0200 | <gugu265> | Windows 11 :skull: |
2023-07-28 12:29:49 +0200 | <maerwald> | or too new lol |
2023-07-28 12:29:50 +0200 | <maerwald> | xD |
2023-07-28 12:30:21 +0200 | <gugu265> | OK |
2023-07-28 12:30:33 +0200 | <gugu265> | So now i have an actual question abt haskell |
2023-07-28 12:31:06 +0200 | CiaoSen | (~Jura@2a05:5800:2a3:b400:664b:f0ff:fe37:9ef) (Ping timeout: 258 seconds) |
2023-07-28 12:31:06 +0200 | <maerwald> | I think you used up your support time already |
2023-07-28 12:31:09 +0200 | <maerwald> | jk :P |
2023-07-28 12:31:24 +0200 | Guest8558 | (~finn@176-151-21-224.abo.bbox.fr) |
2023-07-28 12:31:50 +0200 | <gugu265> | how come i cna write 3+3 in GHCI, and it works |
2023-07-28 12:32:04 +0200 | <gugu265> | but if i write 3+3 in a .hs file and then GHC this file, it says EROROROROR |
2023-07-28 12:32:16 +0200 | <maerwald> | ghci is an interactive repl |
2023-07-28 12:32:26 +0200 | <maerwald> | a proper source file is something different |
2023-07-28 12:32:30 +0200 | <maerwald> | you'll need bindings |
2023-07-28 12:32:38 +0200 | <maerwald> | you can't have free floating expressions |
2023-07-28 12:32:44 +0200 | <maerwald> | what they gonna do? |
2023-07-28 12:32:52 +0200 | titiband1t | (~titibandi@user/titibandit) |
2023-07-28 12:32:54 +0200 | <maerwald> | fall through your editor or what |
2023-07-28 12:33:00 +0200 | <gugu265> | ok |
2023-07-28 12:33:20 +0200 | <[exa]> | gugu265: try something like: main = print (3+3) |
2023-07-28 12:33:25 +0200 | <gugu265> | is this resource good : http://learnyouahaskell.com/ |
2023-07-28 12:33:33 +0200 | <gugu265> | [exa]: oh thx! |
2023-07-28 12:33:52 +0200 | <[exa]> | gugu265: the LYAH book has a newer and much updated version here https://learnyouahaskell.github.io/ |
2023-07-28 12:34:04 +0200 | <[exa]> | (still including the silly pictures) |
2023-07-28 12:34:20 +0200 | <gugu265> | oh thanks |
2023-07-28 12:35:18 +0200 | <maerwald> | gugu265: https://www.haskell.org/ghcup/steps/ |
2023-07-28 12:35:20 +0200 | <maerwald> | here's a first steps guide |
2023-07-28 12:35:25 +0200 | <[exa]> | also good. |
2023-07-28 12:35:57 +0200 | <gugu265> | The Glorious Glasgow Haskell Compilation System, version 9.4.5 go brrr |
2023-07-28 12:36:27 +0200 | danse-nr3 | (~francesco@151.37.208.115) (Remote host closed the connection) |
2023-07-28 12:36:49 +0200 | danse-nr3 | (~francesco@151.37.208.115) |
2023-07-28 12:38:33 +0200 | razetime | (~quassel@117.193.5.53) (Remote host closed the connection) |
2023-07-28 12:38:55 +0200 | mango | (~finn@2001:861:5863:3d50:d28b:7203:a2f5:ab43) (Ping timeout: 246 seconds) |
2023-07-28 12:43:43 +0200 | <maerwald> | gugu265: you can leave donations |
2023-07-28 12:43:52 +0200 | <gugu265> | what ? |
2023-07-28 12:43:59 +0200 | <maerwald> | look |
2023-07-28 12:44:06 +0200 | <maerwald> | you're enjoying Haskell... don't deny it |
2023-07-28 12:44:16 +0200 | <maerwald> | only fair to sponsor it |
2023-07-28 12:44:50 +0200 | <gugu265> | cabal update |
2023-07-28 12:44:50 +0200 | <gugu265> | Downloading the latest package list from hackage.haskell.org |
2023-07-28 12:44:55 +0200 | <gugu265> | why is this so long |
2023-07-28 12:44:58 +0200 | <maerwald> | that's gonna take a while yeah |
2023-07-28 12:45:01 +0200 | <maerwald> | 500mb I think |
2023-07-28 12:45:04 +0200 | <teddyc> | [exa]: ah and they removed the "you're fat lose some weight fatty" in the fork. good |
2023-07-28 12:45:34 +0200 | <gugu265> | ok i'll just ^C that then |
2023-07-28 12:45:38 +0200 | <maerwald> | what? |
2023-07-28 12:45:55 +0200 | <maerwald> | well... ^C doesn't always work on windows xD |
2023-07-28 12:46:01 +0200 | <maerwald> | oops |
2023-07-28 12:46:10 +0200 | <maerwald> | depends on your cabal version |
2023-07-28 12:46:45 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 245 seconds) |
2023-07-28 12:49:08 +0200 | <[exa]> | teddyc: whoa good |
2023-07-28 12:50:48 +0200 | <maerwald> | lyah is fat shaming? |
2023-07-28 12:51:16 +0200 | <Rembane> | Yeah, it was. Very meh. |
2023-07-28 12:53:52 +0200 | mncheck | (~mncheck@193.224.205.254) |
2023-07-28 12:54:27 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 246 seconds) |
2023-07-28 12:54:47 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 12:54:47 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 12:54:47 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 12:55:49 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
2023-07-28 12:59:46 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-28 13:01:18 +0200 | titiband1t | (~titibandi@user/titibandit) (Remote host closed the connection) |
2023-07-28 13:03:00 +0200 | perrierjouet1 | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-28 13:03:52 +0200 | gugu265 | (~gugu256@219.134.22.93.rev.sfr.net) (Remote host closed the connection) |
2023-07-28 13:04:17 +0200 | gugu265 | (~gugu256@219.134.22.93.rev.sfr.net) |
2023-07-28 13:13:39 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 13:15:44 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-28 13:17:40 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-28 13:18:03 +0200 | bontaq | (~user@ool-45779b84.dyn.optonline.net) |
2023-07-28 13:19:05 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 246 seconds) |
2023-07-28 13:22:31 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds) |
2023-07-28 13:24:47 +0200 | <maerwald> | dunno why I'm thinking of fat vikings now |
2023-07-28 13:25:10 +0200 | <Rembane> | maerwald: Have you played Lost Vikings lately? |
2023-07-28 13:25:22 +0200 | <maerwald> | nope... I haven't played games in years |
2023-07-28 13:25:36 +0200 | <maerwald> | maybe I should get a game controller |
2023-07-28 13:25:50 +0200 | <maerwald> | (can't use mouse for long) |
2023-07-28 13:27:07 +0200 | <Rembane> | It's a real classic, dunno if it's actually good |
2023-07-28 13:27:24 +0200 | <Rembane> | https://en.wikipedia.org/wiki/The_Lost_Vikings |
2023-07-28 13:27:41 +0200 | [itchyjunk] | (~itchyjunk@user/itchyjunk/x-7353470) |
2023-07-28 13:30:16 +0200 | <danse-nr3> | that was a great one |
2023-07-28 13:39:42 +0200 | maulanazn | (~maulanazn@103.144.170.135) |
2023-07-28 13:39:53 +0200 | maulanazn | (~maulanazn@103.144.170.135) () |
2023-07-28 13:49:12 +0200 | hdggxin | (~hdggxin@122.175.41.19) (Ping timeout: 240 seconds) |
2023-07-28 13:49:32 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 246 seconds) |
2023-07-28 13:52:50 +0200 | mima | (~mmh@ppp-212-114-180-185.dynamic.mnet-online.de) |
2023-07-28 13:53:22 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds) |
2023-07-28 13:53:56 +0200 | <kenran> | I want to call https://hackage.haskell.org/package/sdl2-2.5.5.0/docs/SDL-Raw-Video.html#v:getWindowWMInfo, where SysWMInfo is a Ptr (), but the official SDL2 docs say that in order for that function to work, its info.version field needs to be filled in by another procedure call first. I haven't really done C FFI in Haskell, so I'm struggling with that part |
2023-07-28 13:55:04 +0200 | gugu265 | (~gugu256@219.134.22.93.rev.sfr.net) (Ping timeout: 250 seconds) |
2023-07-28 13:56:26 +0200 | <kenran> | I need to (I think) call getVersion :: MonadIO m => Ptr Version -> m (), but that Ptr needs to point "into" the SysWMInfo struct. Is that even possible with it being Ptr ()? |
2023-07-28 13:57:14 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 13:57:14 +0200 | dibblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 13:57:14 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 13:57:35 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds) |
2023-07-28 13:57:48 +0200 | <kenran> | (the C code would be something like: SDL_SysWMInfo info; SDL_VERSION(&info.version); SDL_GetWindowWMInfo(&window, &info); |
2023-07-28 14:00:51 +0200 | perrierjouet1 | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.2) |
2023-07-28 14:03:40 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-28 14:03:47 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) |
2023-07-28 14:04:46 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) (Remote host closed the connection) |
2023-07-28 14:05:14 +0200 | AlexNoo | (~AlexNoo@178.34.162.202) (Read error: Connection reset by peer) |
2023-07-28 14:05:16 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) |
2023-07-28 14:05:16 +0200 | lambdabot | (~lambdabot@silicon.int-e.eu) (Changing host) |
2023-07-28 14:05:16 +0200 | lambdabot | (~lambdabot@haskell/bot/lambdabot) |
2023-07-28 14:05:39 +0200 | AlexNoo | (~AlexNoo@178.34.162.202) |
2023-07-28 14:05:43 +0200 | Guest8558 | (~finn@176-151-21-224.abo.bbox.fr) (Ping timeout: 246 seconds) |
2023-07-28 14:06:07 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
2023-07-28 14:08:52 +0200 | hdggxin | (~hdggxin@122.175.41.19) |
2023-07-28 14:09:11 +0200 | misterfish | (~misterfis@84-53-85-146.bbserv.nl) (Ping timeout: 245 seconds) |
2023-07-28 14:09:44 +0200 | <geekosaur> | kenran, `plusPtr` is a thing |
2023-07-28 14:10:26 +0200 | <geekosaur> | the parameter to `Ptr` is meaningless except as a tag you can use to keep distinct `Ptr`s straight in Haskell (that is, it's phantom) |
2023-07-28 14:11:59 +0200 | MajorBiscuit | (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) |
2023-07-28 14:12:46 +0200 | <kenran> | geekosaur: ahh thanks, that makes one thing clear for me! So.... in order to even get the initial SysWMInfo, I'd need to allocate manually? Or how else would I even get that initial info pointer? |
2023-07-28 14:13:21 +0200 | <geekosaur> | this might be easier using "CApi" calling convention (requires `CApiFFI` extension) because then you could call `SDL_VERSION(&info.version)` directly, assuming it's `Storable` |
2023-07-28 14:13:32 +0200 | <geekosaur> | that's what `alloca` is for |
2023-07-28 14:18:12 +0200 | <kenran> | sorry, I'm struggling to even clearly formulate my questions :) thanks for all the advice! (probably) last question: in order to use alloca, I'd need a Haskell type for the `a`, which in my case doesn't exist yet. Is that correct? |
2023-07-28 14:18:45 +0200 | <kenran> | (I'll just read up on C FFI from scratch now) |
2023-07-28 14:18:57 +0200 | <geekosaur> | here's where you want `Storable` |
2023-07-28 14:19:18 +0200 | <geekosaur> | which lets you describe a mapping between a C `struct` and a Haskell type |
2023-07-28 14:19:35 +0200 | danse-nr3 | (~francesco@151.37.208.115) (Read error: Connection reset by peer) |
2023-07-28 14:19:50 +0200 | danse-nr3 | (~francesco@151.35.133.32) |
2023-07-28 14:20:50 +0200 | <geekosaur> | and `hsc2hs` is one of several tools that helps you build `Storable` instances (`c2hs` is another, somewhat more automated but can make mistakes or need extra help because in C there's no difference between `foo *x` and `foo x[n]`) |
2023-07-28 14:21:13 +0200 | gugu265 | (~gugu256@219.134.22.93.rev.sfr.net) |
2023-07-28 14:25:39 +0200 | gurkenglas | (~gurkengla@dynamic-046-114-089-015.46.114.pool.telefonica.de) |
2023-07-28 14:26:33 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) |
2023-07-28 14:26:33 +0200 | dobblego | (~dibblego@116-255-1-151.ip4.superloop.au) (Changing host) |
2023-07-28 14:26:34 +0200 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 14:26:41 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-28 14:27:17 +0200 | dobblego | dibblego |
2023-07-28 14:27:21 +0200 | <chiselfuse> | what's wrong with this? f :: a -> a f 1 = 1 |
2023-07-28 14:27:40 +0200 | <chiselfuse> | • No instance for (Eq a) arising from the literal ‘1’ |
2023-07-28 14:30:36 +0200 | <geekosaur> | you specified "any type `a`" then used one that requires `Eq` for a pattern match |
2023-07-28 14:31:07 +0200 | <kenran> | cool, I seem to begin to grasp it :) so in my case I could create an .hsc file, containing my MySysWMInfo definition (where I use the existing Version type) and mapping, then use alloca to get a pointer, call getVersion |
2023-07-28 14:31:13 +0200 | <kenran> | I'll try that later on, thanks again geekosaur |
2023-07-28 14:31:48 +0200 | <chiselfuse> | geekosaur: by pattern match you mean when haskell runs and tries to match the query `f 1` to the definition? |
2023-07-28 14:31:53 +0200 | <geekosaur> | yes |
2023-07-28 14:32:06 +0200 | Inst | (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 245 seconds) |
2023-07-28 14:32:16 +0200 | <geekosaur> | pattern matches on instances of `Num` get translated into guards using `Eq` |
2023-07-28 14:32:40 +0200 | <chiselfuse> | ok, i specified that a should be of Eq and now i'm getting • Could not deduce (Num a) arising from the literal ‘1’ |
2023-07-28 14:33:20 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 14:33:43 +0200 | hugo | (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds) |
2023-07-28 14:34:21 +0200 | <geekosaur> | right, that's the other `1` which requires `Num` |
2023-07-28 14:34:42 +0200 | kenran | (~user@user/kenran) (Remote host closed the connection) |
2023-07-28 14:34:51 +0200 | <chiselfuse> | but what if i want to have `f 2 = True` |
2023-07-28 14:35:24 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
2023-07-28 14:38:05 +0200 | <ncf> | functions can't return different types based on the value of their argument, at least in haskell |
2023-07-28 14:40:12 +0200 | <geekosaur> | I take it you're used to something like Java where you can use `java.lang.Object` of which everything is an instance? |
2023-07-28 14:40:37 +0200 | <geekosaur> | we don't have any equivalent to that, and in particular there is no subtyping |
2023-07-28 14:41:12 +0200 | jmd_ | (~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds) |
2023-07-28 14:42:14 +0200 | Inst | (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) |
2023-07-28 14:45:43 +0200 | hugo- | (znc@verdigris.lysator.liu.se) |
2023-07-28 14:46:45 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09b522d1b3cfe8e851.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-07-28 14:55:06 +0200 | <chiselfuse> | how can i define a function that returns a function of its own type? |
2023-07-28 14:55:59 +0200 | <chiselfuse> | it takes say an Int, and returns a function that takes an Int that returns a function that takes an Int... and so on |
2023-07-28 14:57:23 +0200 | MajorBiscuit | (~MajorBisc@2001:1c00:31c:8400:f184:4168:559b:d91b) (Ping timeout: 244 seconds) |
2023-07-28 14:57:55 +0200 | Inst | (~Inst@c-76-101-10-131.hsd1.fl.comcast.net) (Ping timeout: 258 seconds) |
2023-07-28 14:57:55 +0200 | <danse-nr3> | how would such function even return anything? |
2023-07-28 14:58:27 +0200 | <danse-nr3> | *ever |
2023-07-28 14:59:00 +0200 | <chiselfuse> | hmm good point, guess i'll need a helper |
2023-07-28 14:59:16 +0200 | MajorBiscuit | (~MajorBisc@c-001-019-004.client.tudelft.eduvpn.nl) |
2023-07-28 14:59:19 +0200 | <chiselfuse> | wait no |
2023-07-28 14:59:27 +0200 | barcisz | (~barcisz@83.6.202.49.ipv4.supernova.orange.pl) |
2023-07-28 14:59:34 +0200 | <chiselfuse> | don't know actually |
2023-07-28 14:59:46 +0200 | <chiselfuse> | i'm trying to use currying to implement a variadic function |
2023-07-28 14:59:53 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) (Ping timeout: 246 seconds) |
2023-07-28 14:59:55 +0200 | <chiselfuse> | without using other haskell features |
2023-07-28 15:00:32 +0200 | <chiselfuse> | so i was thinking of returning the function over and over so it'd apply itself again and again on all functions until it reaches a delimiter |
2023-07-28 15:00:46 +0200 | <danse-nr3> | i guess a list does not give you the flexibility you are looking for |
2023-07-28 15:00:53 +0200 | <chiselfuse> | s/on all functions/on all arguments/ |
2023-07-28 15:01:00 +0200 | Cale | (~cale@cpe80d04ade0a03-cm80d04ade0a01.cpe.net.cable.rogers.com) |
2023-07-28 15:01:03 +0200 | <geekosaur> | you need a way to match a delimiter, which gets you into the realm of typeclasses |
2023-07-28 15:01:03 +0200 | <chiselfuse> | danse-nr3: i don't want to use that either |
2023-07-28 15:01:08 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-28 15:01:14 +0200 | <geekosaur> | e.g. PrintfType |
2023-07-28 15:01:17 +0200 | <chiselfuse> | i want f 1 2 3 4 5 ... delimiter |
2023-07-28 15:02:13 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09a8b60c3f1e99feab.dip0.t-ipconnect.de) |
2023-07-28 15:02:21 +0200 | <danse-nr3> | like `f (Just 1) (Just 2) (Just 3) Nothing` |
2023-07-28 15:02:31 +0200 | <chiselfuse> | danse-nr3: yes |
2023-07-28 15:03:17 +0200 | dobblego | (~dibblego@116.255.1.151) |
2023-07-28 15:03:18 +0200 | dobblego | (~dibblego@116.255.1.151) (Changing host) |
2023-07-28 15:03:18 +0200 | dobblego | (~dibblego@haskell/developer/dibblego) |
2023-07-28 15:03:28 +0200 | dcoutts | (~duncan@cpc69402-oxfd27-2-0-cust903.4-3.cable.virginm.net) |
2023-07-28 15:03:28 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 15:03:41 +0200 | <chiselfuse> | uh, how did you say i'd achieve that again? |
2023-07-28 15:03:46 +0200 | dibblego | (~dibblego@haskell/developer/dibblego) (Ping timeout: 245 seconds) |
2023-07-28 15:04:00 +0200 | dobblego | dibblego |
2023-07-28 15:04:07 +0200 | <ncf> | typeclasses (but your delimiter wouldn't be Nothing, it would be an element of another type) |
2023-07-28 15:04:12 +0200 | <danse-nr3> | geekosaur, i am scared of looking into that, printf seemed hacky and unsafe the last time i looked into it |
2023-07-28 15:05:16 +0200 | <geekosaur> | it's not, really. and while I think the current version uses more stuff, the basic trick is Haskell98 |
2023-07-28 15:05:44 +0200 | <chiselfuse> | ncf: what's "typeclasses", it's stuff like Eq, how would i use that? |
2023-07-28 15:05:59 +0200 | <geekosaur> | granting that any way to do this is "hacky" in some sense, because Haskell doesn't really do variadic functions |
2023-07-28 15:08:38 +0200 | <danse-nr3> | yeah, not easily though. chiselfuse's question is interesting though, although i find it hard to apply my brain on something that seems more easily achievable with lists |
2023-07-28 15:08:57 +0200 | <danse-nr3> | *not easily at least |
2023-07-28 15:12:02 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 15:12:06 +0200 | <danse-nr3> | i cannot think of a function that could call itself with that interface. Maybe an helper, but then it would feed another function that takes lists. Would it still be worth anything for you chiselfuse? |
2023-07-28 15:13:26 +0200 | <chiselfuse> | danse-nr3: that'd be fine |
2023-07-28 15:15:47 +0200 | <danse-nr3> | now i am in trouble ... maybe you know that it is theoretically impossible and are just testing us :D ... i will give this a try shortly |
2023-07-28 15:17:51 +0200 | <chiselfuse> | i am not testing anyone lol, someone implied it was possible that's all i know |
2023-07-28 15:18:21 +0200 | azimut | (~azimut@gateway/tor-sasl/azimut) |
2023-07-28 15:21:56 +0200 | <danse-nr3> | `f (Just 1) (Just 2) (Just 3) Nothing (Just 4)` should throw a compiler error. So at compiler time we would need to know the result of applying `f` ... that sounds like going against some principles of computer science |
2023-07-28 15:23:27 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 15:25:59 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 15:26:38 +0200 | <danse-nr3> | nope, i think it is not possible. Maybe ncf knows a way with typeclasses |
2023-07-28 15:26:53 +0200 | <ncf> | i just said that was not possible |
2023-07-28 15:28:39 +0200 | <ncf> | for the typeclass trick, see https://hackage.haskell.org/package/base-4.18.0.0/docs/Text-Printf.html#t:PrintfType |
2023-07-28 15:29:17 +0200 | <ncf> | that has no delimiter, but you can add one if you want to by adding an arrow in the base case |
2023-07-28 15:37:43 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 15:37:49 +0200 | masterbuilder | (~masterbui@user/masterbuilder) |
2023-07-28 15:39:19 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:210c:477a:6863:3d54) |
2023-07-28 15:43:15 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
2023-07-28 15:43:46 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 15:44:07 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:210c:477a:6863:3d54) (Client Quit) |
2023-07-28 15:48:55 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-28 15:54:08 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 15:59:52 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 250 seconds) |
2023-07-28 16:03:35 +0200 | mei | (~mei@user/mei) (Read error: Connection reset by peer) |
2023-07-28 16:05:24 +0200 | ystael | (~ystael@user/ystael) |
2023-07-28 16:06:01 +0200 | mei | (~mei@user/mei) |
2023-07-28 16:07:26 +0200 | puke | (~puke@user/puke) (Ping timeout: 246 seconds) |
2023-07-28 16:08:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 16:14:24 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
2023-07-28 16:19:42 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) |
2023-07-28 16:19:44 +0200 | ub | (~Thunderbi@178.165.173.150.wireless.dyn.drei.com) (Quit: ub) |
2023-07-28 16:20:48 +0200 | mango | (~finn@2001:861:5863:3d50:4d58:d5db:5cbe:9ed8) |
2023-07-28 16:21:08 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-28 16:26:55 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 16:28:22 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-07-28 16:29:45 +0200 | <EvanR> | danse-nr3, a funny application of dependent types, which obeys computer science, is having the type of printf depend on the format string passed in |
2023-07-28 16:30:13 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-07-28 16:31:04 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 250 seconds) |
2023-07-28 16:31:15 +0200 | <EvanR> | which is an extreme roundabout way to achieve something that's ultimately a bad idea probably xD |
2023-07-28 16:34:58 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 250 seconds) |
2023-07-28 16:35:55 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Remote host closed the connection) |
2023-07-28 16:37:53 +0200 | sm[i] | (~sm@172.56.113.55) |
2023-07-28 16:38:50 +0200 | <danse-nr3> | well, that does not seem too bad, provides type safety |
2023-07-28 16:39:40 +0200 | <[exa]> | type safety against a string |
2023-07-28 16:39:50 +0200 | <[exa]> | pls don't |
2023-07-28 16:40:33 +0200 | <danse-nr3> | uh? Given a formatting string you get a type safe function to consume values that fit there |
2023-07-28 16:41:03 +0200 | <[exa]> | it sounds like a good idea right? |
2023-07-28 16:41:21 +0200 | <danse-nr3> | no, you are right. Better ignore everything and explode at runtime |
2023-07-28 16:41:23 +0200 | <geekosaur> | now you just need a way to make sure that string is a constant |
2023-07-28 16:42:19 +0200 | <[exa]> | danse-nr3: or have an actual correct formatter/prettyprinter in place |
2023-07-28 16:43:36 +0200 | <[exa]> | btw if the string is compiletime constant you could use TH to convert it to correctly typed formatting function, which is IMO much less of an atrocity |
2023-07-28 16:44:48 +0200 | <danse-nr3> | i see what you mean ... yeah i guess that the ergonomy of passing a string that affects the type is similar to pass a typed value that would not require dependent types |
2023-07-28 16:45:34 +0200 | <geekosaur> | I think there's at least one printf impl that does that on hackage? |
2023-07-28 16:45:35 +0200 | raehik | (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 264 seconds) |
2023-07-28 16:45:42 +0200 | <geekosaur> | although it may be a proof of concept |
2023-07-28 16:47:58 +0200 | lisbeths | (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-28 16:48:22 +0200 | shriekingnoise | (~shrieking@186.137.175.87) |
2023-07-28 16:48:39 +0200 | Lycurgus | (~juan@user/Lycurgus) |
2023-07-28 16:50:10 +0200 | perrierjouet | (~perrierjo@modemcable048.127-56-74.mc.videotron.ca) |
2023-07-28 16:50:26 +0200 | <[exa]> | I somehow guessed it's gonna be named printf-th and voila |
2023-07-28 16:50:40 +0200 | Lycurgus | (~juan@user/Lycurgus) (Client Quit) |
2023-07-28 16:51:42 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-07-28 16:52:09 +0200 | mango | (~finn@2001:861:5863:3d50:4d58:d5db:5cbe:9ed8) (Ping timeout: 258 seconds) |
2023-07-28 16:52:46 +0200 | sm[i] | (~sm@172.56.113.55) (Quit: sm[i]) |
2023-07-28 16:54:55 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 16:55:05 +0200 | sm[i] | (~sm@2607:fb90:3c9a:6cc7:e920:67c0:23ad:80fa) |
2023-07-28 17:00:38 +0200 | Inst | (~Inst@2601:6c4:4081:2fc0:dcd5:b807:d9d7:f4a0) |
2023-07-28 17:01:11 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 264 seconds) |
2023-07-28 17:04:33 +0200 | gugu265 | (~gugu256@219.134.22.93.rev.sfr.net) (Read error: Connection reset by peer) |
2023-07-28 17:05:35 +0200 | sm[i] | (~sm@2607:fb90:3c9a:6cc7:e920:67c0:23ad:80fa) (Quit: sm[i]) |
2023-07-28 17:06:40 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-28 17:06:48 +0200 | Sgeo | (~Sgeo@user/sgeo) |
2023-07-28 17:07:55 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
2023-07-28 17:08:03 +0200 | seeg123456 | (~seeg12345@64.176.64.83) |
2023-07-28 17:11:37 +0200 | MajorBiscuit | (~MajorBisc@c-001-019-004.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.6) |
2023-07-28 17:14:41 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:dcd5:b807:d9d7:f4a0) |
2023-07-28 17:16:23 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 17:18:04 +0200 | Inst | (~Inst@2601:6c4:4081:2fc0:dcd5:b807:d9d7:f4a0) (Ping timeout: 260 seconds) |
2023-07-28 17:18:12 +0200 | Inst__ | (~Inst@2601:6c4:4081:2fc0:b8e3:e527:5654:3c93) |
2023-07-28 17:19:09 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-28 17:19:12 +0200 | pavonia | (~user@user/siracusa) (Quit: Bye!) |
2023-07-28 17:20:23 +0200 | Inst_ | (~Inst@2601:6c4:4081:2fc0:dcd5:b807:d9d7:f4a0) (Ping timeout: 264 seconds) |
2023-07-28 17:20:47 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds) |
2023-07-28 17:23:59 +0200 | eggplantade | (~Eggplanta@2600:1700:38c5:d800:d004:e151:c029:6b7c) |
2023-07-28 17:24:35 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2023-07-28 17:26:06 +0200 | masterbuilder | (~masterbui@user/masterbuilder) (Quit: Lost terminal) |
2023-07-28 17:29:39 +0200 | <danse-nr3> | is there a compiler feature to make the performance of `map f . filter g` equal to mapMaybe, iterating a list only once? |
2023-07-28 17:31:27 +0200 | <danse-nr3> | list fusion, i guess https://wiki.haskell.org/GHC_optimisations#Fusion |
2023-07-28 17:32:06 +0200 | <geekosaur> | right, but then you have to see if using that fires any appropriate RULES |
2023-07-28 17:32:09 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 17:32:31 +0200 | <geekosaur> | list fusion requires that someone predefine the fusion rules |
2023-07-28 17:34:46 +0200 | <danse-nr3> | i guess i will use mapMaybe then. Cheers |
2023-07-28 17:35:02 +0200 | mncheck | (~mncheck@193.224.205.254) (Ping timeout: 260 seconds) |
2023-07-28 17:36:41 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds) |
2023-07-28 17:37:31 +0200 | tbagrel1 | (~thomas@2a01:e0a:1ef:6520:c532:105d:de51:605) (Quit: WeeChat 3.5) |
2023-07-28 17:38:20 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-28 17:39:08 +0200 | <geekosaur> | looks to me like map and filter are both FB rules, see Note [Inline FB functions] in GHC.List |
2023-07-28 17:39:29 +0200 | <geekosaur> | so it should optimize, not to mapMaybe but to something morally equivalent |
2023-07-28 17:39:47 +0200 | <geekosaur> | and perhaps faster |
2023-07-28 17:40:15 +0200 | <geekosaur> | (single pass, no Maybe involved) |
2023-07-28 17:41:04 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
2023-07-28 17:41:49 +0200 | dfg | (~dfg@user/dfg) (Remote host closed the connection) |
2023-07-28 17:42:15 +0200 | dfg | (~dfg@dfg.rocks) |
2023-07-28 17:42:15 +0200 | dfg | (~dfg@dfg.rocks) (Changing host) |
2023-07-28 17:42:15 +0200 | dfg | (~dfg@user/dfg) |
2023-07-28 17:45:11 +0200 | <geekosaur> | so instead of mapMaybe it should filterFB and mapFB in the same list operation, either dropping the filtered element or mapping it |
2023-07-28 17:46:02 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-28 17:46:37 +0200 | <danse-nr3> | thanks, but seems a bit opaque, i think i will stick to mapMaybe for now |
2023-07-28 17:46:59 +0200 | <geekosaur> | it is a bit opaque, but it's suitably clever |
2023-07-28 17:47:08 +0200 | <geekosaur> | ghc is pretty good at this stuff |
2023-07-28 17:47:11 +0200 | albet70 | (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
2023-07-28 17:47:59 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) |
2023-07-28 17:48:06 +0200 | <danse-nr3> | yep, it will be handy for the times where we did not notice, and maybe with time i will learn the rules |
2023-07-28 17:48:53 +0200 | <danse-nr3> | is there a table to look up for them? |
2023-07-28 17:49:17 +0200 | <geekosaur> | as a practical matter, the rules are "write the obvious code and worry about optimization if and when it's shown to be necessary" |
2023-07-28 17:49:44 +0200 | razetime | (~quassel@117.193.5.53) |
2023-07-28 17:49:59 +0200 | <geekosaur> | also you may be left pretty embarrassed if your mapMaybe ends up slower than ghc's FB optimizations |
2023-07-28 17:50:20 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
2023-07-28 17:50:28 +0200 | <danse-nr3> | you told me "you have to see if using that fires any appropriate rules", so i thought there was some reference somewhere |
2023-07-28 17:50:50 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
2023-07-28 17:50:59 +0200 | <geekosaur> | the reference is the source code. I probably should not have said that since this seems like a "premature optimization" situation |
2023-07-28 17:51:42 +0200 | <danse-nr3> | yeah i am not dying for bits on this, just general good practice in writing |
2023-07-28 17:51:44 +0200 | <geekosaur> | if you insist on premature optimization then yes, you either look around for `RULE`s or you inspect GHC Core |
2023-07-28 17:52:02 +0200 | shapr | (~user@2600:1700:c640:3100:54fd:7954:acad:5050) |
2023-07-28 17:52:05 +0200 | <geekosaur> | good practice is to write for the reader unless profiling a hot path shows otherwise |
2023-07-28 17:52:22 +0200 | arahael_ | (~arahael@115-64-199-191.tpgi.com.au) (Ping timeout: 252 seconds) |
2023-07-28 17:52:54 +0200 | <danse-nr3> | well i also had stumbled upon list fusion before and was looking for an easy way to conceptualise it |
2023-07-28 17:53:31 +0200 | <geekosaur> | conceptually, list operations get split up into pieces that can be combined into a single fold |
2023-07-28 17:53:56 +0200 | <geekosaur> | so map becomes "call a function", filter becomes "select or reject an item", etc. |
2023-07-28 17:55:47 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Quit: Leaving) |
2023-07-28 17:56:08 +0200 | <danse-nr3> | yeah, but i have no elements to say which list passes will be optimised or not unless i look at the source. To put it simple this is not that simple, will study it a bit more the next time i feel it could help |
2023-07-28 17:56:12 +0200 | <geekosaur> | and ghc does a lot of work to turn obvious code into these optimized folds for you, and you should generally report a bug if it fails |
2023-07-28 17:59:21 +0200 | <[Leary]> | danse-nr3: If you want to understand list fusion, implement operations for `newtype List a = List (forall r. r -> (a -> r) -> r)` and observe that they fuse. Data.List RULES basically just map into this alternate representation. |
2023-07-28 18:00:12 +0200 | highvoltage | (~highvolt@bcdcac82.skybroadband.com) (Ping timeout: 240 seconds) |
2023-07-28 18:01:03 +0200 | ft | (~ft@p3e9bc61e.dip0.t-ipconnect.de) |
2023-07-28 18:01:14 +0200 | <int-e> | :t flip foldr |
2023-07-28 18:01:15 +0200 | <lambdabot> | Foldable t => b -> (a -> b -> b) -> t a -> b |
2023-07-28 18:01:31 +0200 | <int-e> | [Leary]: you're missing an `r` |
2023-07-28 18:01:38 +0200 | <[Leary]> | Oh, I missed a tyvar or two. Yeah, oops. |
2023-07-28 18:02:30 +0200 | mima | (~mmh@ppp-212-114-180-185.dynamic.mnet-online.de) (Ping timeout: 250 seconds) |
2023-07-28 18:03:02 +0200 | highvoltage | (~highvolt@bcdcac82.skybroadband.com) |
2023-07-28 18:03:03 +0200 | ft | (~ft@p3e9bc61e.dip0.t-ipconnect.de) (Remote host closed the connection) |
2023-07-28 18:04:59 +0200 | seeg123456 | (~seeg12345@64.176.64.83) () |
2023-07-28 18:05:22 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09a8b60c3f1e99feab.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-07-28 18:05:31 +0200 | mei | (~mei@user/mei) (Remote host closed the connection) |
2023-07-28 18:07:19 +0200 | <danse-nr3> | not sure what you mean. I should implement `flip foldr`, and then? How do i observe that it fuses? |
2023-07-28 18:07:57 +0200 | mei | (~mei@user/mei) |
2023-07-28 18:08:14 +0200 | flounders | (~flounders@24.246.133.1) |
2023-07-28 18:08:50 +0200 | <int-e> | :t \xs nil cons -> foldr cons nil xs |
2023-07-28 18:08:51 +0200 | <lambdabot> | Foldable t => t a -> b -> (a -> b -> b) -> b |
2023-07-28 18:10:25 +0200 | <int-e> | danse-nr3: The idea is that `forall r. r -> (a -> r -> r) -> r` is isomorphic to [a], and `foldr`, after shuffling arguments is one direction of the isomorphism. |
2023-07-28 18:10:43 +0200 | <[Leary]> | danse-nr3: Rearranging the arguments of `foldr`, we have `[a] -> (forall b. b -> (a -> b -> b) -> b)`. You can also write the other direction; this type is another way to represent lists. If you write operations like `map` and `filter` on this representation, you'll be able to see intuitively (or by algebraic substitution) that they fuse. |
2023-07-28 18:10:53 +0200 | <int-e> | And the other direction can be derived from `foldr (:) [] xs = xs`. |
2023-07-28 18:11:27 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 18:11:52 +0200 | <int-e> | So if you understand `foldr`, understanding `forall r. r -> (a -> r -> r) -> r` should be fairly easy. |
2023-07-28 18:12:51 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09e09871481cfbcb71.dip0.t-ipconnect.de) |
2023-07-28 18:17:56 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-28 18:18:12 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2023-07-28 18:19:52 +0200 | danse-nr3_ | (~francesco@151.37.218.65) |
2023-07-28 18:20:20 +0200 | <danse-nr3_> | i think we are sidetracking ... but i will try to learn this thing. How can `forall r. r -> (a -> r -> r) -> r` be isomorphic to `[a]`? |
2023-07-28 18:20:29 +0200 | <danse-nr3_> | so "abc" would correspond to? |
2023-07-28 18:20:31 +0200 | econo_ | (uid147250@id-147250.tinside.irccloud.com) |
2023-07-28 18:20:57 +0200 | <[Leary]> | \nil cons -> cons 'a' (cons 'b' (cons 'c' nil)) |
2023-07-28 18:21:16 +0200 | danse-nr3 | (~francesco@151.35.133.32) (Read error: Connection reset by peer) |
2023-07-28 18:21:37 +0200 | <danse-nr3_> | :t \nil cons -> cons 'a' (cons 'b' (cons 'c' nil)) |
2023-07-28 18:21:38 +0200 | <lambdabot> | t -> (Char -> t -> t) -> t |
2023-07-28 18:22:28 +0200 | <danse-nr3_> | cool stuff :) |
2023-07-28 18:22:45 +0200 | barcisz | (~barcisz@83.6.202.49.ipv4.supernova.orange.pl) (Quit: Connection closed) |
2023-07-28 18:22:49 +0200 | Drew[m]1 | (~drewefenw@2001:470:69fc:105::c8c4) |
2023-07-28 18:22:58 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
2023-07-28 18:27:39 +0200 | <danse-nr3_> | well looks like i have got some exercise do to in my spare time. Thanks geekosaur [Leary] int-e |
2023-07-28 18:29:58 +0200 | ec | (~ec@gateway/tor-sasl/ec) (Ping timeout: 240 seconds) |
2023-07-28 18:31:06 +0200 | ec | (~ec@gateway/tor-sasl/ec) |
2023-07-28 18:32:04 +0200 | nick4 | (~nick@2600:8807:9084:7800:504a:bdb:1c92:8eb1) (Ping timeout: 246 seconds) |
2023-07-28 18:36:41 +0200 | ft | (~ft@p3e9bc61e.dip0.t-ipconnect.de) |
2023-07-28 18:38:25 +0200 | ddellacosta | (~ddellacos@146.70.185.168) (Ping timeout: 245 seconds) |
2023-07-28 18:38:54 +0200 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2023-07-28 18:38:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 18:41:47 +0200 | harveypwca | (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
2023-07-28 18:42:01 +0200 | billchenchina | (~billchenc@103.152.35.21) (Remote host closed the connection) |
2023-07-28 18:42:10 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 18:42:29 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 246 seconds) |
2023-07-28 18:49:36 +0200 | tomboy64 | (~tomboy64@user/tomboy64) (Ping timeout: 245 seconds) |
2023-07-28 18:51:29 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 18:52:14 +0200 | mango | (~finn@2001:861:5863:3d50:dac7:1c9e:d3d9:d11b) |
2023-07-28 18:52:28 +0200 | son0p | (~ff@181.136.122.143) (Ping timeout: 244 seconds) |
2023-07-28 18:52:42 +0200 | tomboy64 | (~tomboy64@user/tomboy64) |
2023-07-28 19:01:48 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 19:02:44 +0200 | ddellacosta | (~ddellacos@146.70.168.156) |
2023-07-28 19:09:00 +0200 | jmdaemon | (~jmdaemon@user/jmdaemon) |
2023-07-28 19:10:17 +0200 | flounders | (~flounders@24.246.133.1) (Ping timeout: 246 seconds) |
2023-07-28 19:15:23 +0200 | Alex_test | (~al_test@178.34.162.202) (Ping timeout: 246 seconds) |
2023-07-28 19:15:28 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 19:16:05 +0200 | AlexZenon | (~alzenon@178.34.162.202) (Ping timeout: 246 seconds) |
2023-07-28 19:17:14 +0200 | hook54321 | (sid149355@id-149355.ilkley.irccloud.com) (Changing host) |
2023-07-28 19:17:14 +0200 | hook54321 | (sid149355@user/hook54321) |
2023-07-28 19:19:28 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Remote host closed the connection) |
2023-07-28 19:20:30 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) (Ping timeout: 250 seconds) |
2023-07-28 19:23:41 +0200 | Alex_test | (~al_test@178.34.162.202) |
2023-07-28 19:23:50 +0200 | fendor | (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) (Remote host closed the connection) |
2023-07-28 19:25:47 +0200 | <EvanR> | danse-nr3_, to show isomorphism between A and B you need maps between them that cancel each other |
2023-07-28 19:26:01 +0200 | notzmv | (~zmv@user/notzmv) |
2023-07-28 19:27:21 +0200 | <EvanR> | encode decode where decode can't fail |
2023-07-28 19:30:22 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 19:32:01 +0200 | AlexZenon | (~alzenon@178.34.162.202) |
2023-07-28 19:33:14 +0200 | <danse-nr3_> | yeah i think i understand that, thanks |
2023-07-28 19:37:17 +0200 | chele | (~chele@user/chele) (Remote host closed the connection) |
2023-07-28 19:43:18 +0200 | <Inst__> | seems unfortunately accurate |
2023-07-28 19:43:19 +0200 | <Inst__> | https://github.com/vrom911/haskeller-answers/blob/master/src/HaskellerAnswers.hs |
2023-07-28 19:45:36 +0200 | <yushyin> | no |
2023-07-28 19:49:44 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds) |
2023-07-28 19:51:08 +0200 | <Inst__> | in the sense that many haskellers are guilty of the satirized behavior in the list at one time or another |
2023-07-28 19:56:04 +0200 | titibandit | (~titibandi@user/titibandit) (Ping timeout: 246 seconds) |
2023-07-28 19:57:03 +0200 | <ddellacosta> | I feel like most of these are jokes, but yeah "just use nix" does get said a bit much (saying this as a nix user myself) |
2023-07-28 19:59:57 +0200 | notzmv | (~zmv@user/notzmv) (Ping timeout: 245 seconds) |
2023-07-28 20:02:48 +0200 | billchenchina | (~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a) |
2023-07-28 20:03:11 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-07-28 20:03:18 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-07-28 20:03:48 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) |
2023-07-28 20:05:12 +0200 | talismanick | (~user@76.133.152.122) (Remote host closed the connection) |
2023-07-28 20:05:25 +0200 | <yushyin> | seems to me to be more of a trend, at some point it was also 'just use stack' |
2023-07-28 20:05:56 +0200 | <dolio> | Some of these I've never heard, I think. |
2023-07-28 20:06:44 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-28 20:08:08 +0200 | thegeekinside | (~thegeekin@189.217.90.138) (Read error: Connection reset by peer) |
2023-07-28 20:08:21 +0200 | merijn | (~merijn@c-001-001-014.client.esciencecenter.eduvpn.nl) (Ping timeout: 245 seconds) |
2023-07-28 20:09:03 +0200 | <yushyin> | many of these statements are actually rather poorly received and also rejected by the regulars here |
2023-07-28 20:09:28 +0200 | titibandit | (~titibandi@user/titibandit) (Ping timeout: 250 seconds) |
2023-07-28 20:16:27 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) |
2023-07-28 20:16:58 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-07-28 20:17:30 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 20:21:09 +0200 | titibandit | (~titibandi@user/titibandit) |
2023-07-28 20:21:32 +0200 | razetime | (~quassel@117.193.5.53) (Remote host closed the connection) |
2023-07-28 20:21:54 +0200 | Guest8558 | (~finn@176-151-21-224.abo.bbox.fr) |
2023-07-28 20:22:24 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 20:25:53 +0200 | titibandit | (~titibandi@user/titibandit) (Ping timeout: 246 seconds) |
2023-07-28 20:26:37 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) |
2023-07-28 20:33:17 +0200 | mango | (~finn@2001:861:5863:3d50:dac7:1c9e:d3d9:d11b) (Ping timeout: 245 seconds) |
2023-07-28 20:35:43 +0200 | mango | (~finn@2001:861:5863:3d50:8912:5927:5eae:b7b) |
2023-07-28 20:36:25 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 20:36:56 +0200 | <cheater> | dolio: like which one |
2023-07-28 20:38:36 +0200 | czy | (~user@host-140-26.ilcub310.champaign.il.us.clients.pavlovmedia.net) (Remote host closed the connection) |
2023-07-28 20:43:36 +0200 | <dolio> | "Types are IDE" |
2023-07-28 20:44:48 +0200 | <dolio> | Also, two of them look like garbage that is the output of @pl which are like texbook examples of why "only write pointfree code" is a bad idea. |
2023-07-28 20:46:45 +0200 | <int-e> | Though to be fair to @pl, it would never use (<$>) for (.) |
2023-07-28 20:48:43 +0200 | mango | (~finn@2001:861:5863:3d50:8912:5927:5eae:b7b) (Ping timeout: 244 seconds) |
2023-07-28 20:51:01 +0200 | <dolio> | Yeah, it's possible someone figured that one out by hand. |
2023-07-28 20:51:19 +0200 | trev | (~trev@user/trev) (Quit: trev) |
2023-07-28 20:52:58 +0200 | h2t_ | (~h2t@user/h2t) (Quit: ZNC - https://znc.in) |
2023-07-28 20:53:17 +0200 | h2t | (~h2t@user/h2t) |
2023-07-28 20:53:24 +0200 | <dolio> | If it was, something like that is clearly goofing around. So I'm not sure why it's, "unfortunately accurate," that people like to do things like that that are clearly a bad idea just on a goof. |
2023-07-28 20:56:48 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 21:01:35 +0200 | simikando | (~simikando@adsl-dyn-104.95-102-88.t-com.sk) (Ping timeout: 246 seconds) |
2023-07-28 21:04:06 +0200 | son0p | (~ff@181.136.122.143) |
2023-07-28 21:05:51 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-28 21:09:22 +0200 | pavonia | (~user@user/siracusa) |
2023-07-28 21:09:56 +0200 | mixfix41 | (~sdeny9ee@user/mixfix41) |
2023-07-28 21:10:45 +0200 | <monochrom> | Parametricity can prove the difficult direction of why [a] is isomorphic to forall r. r -> (a -> r -> r) -> r. |
2023-07-28 21:11:26 +0200 | <monochrom> | Actually some of you saw that I put that difficult direction on my assignment, using a=Int. :) |
2023-07-28 21:12:09 +0200 | <monochrom> | Today I'm thinking how to be more abstract and, assuming that an initial algebra is already known to exist, how to use Yoneda's lemma to replace parametricity. |
2023-07-28 21:13:21 +0200 | <mauke> | r -> (a -> w -> r) -> x -> d |
2023-07-28 21:13:51 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 21:16:16 +0200 | misterfish | (~misterfis@178.228.71.213) |
2023-07-28 21:16:30 +0200 | <int-e> | mauke: still friendlier than stabby lenses |
2023-07-28 21:17:29 +0200 | <monochrom> | I think this is on the right track. (Given a functor F for us to make F-algebras. Assume it has an intial algebra.) Use the forgetful functor U from F-algebras to carriers in Set. Then by Yoneda, (forall a. (homomorphism from initial algebra to algebra a) -> U (algebra a)) is isomorphic to U (initial algebra). |
2023-07-28 21:17:32 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 21:17:50 +0200 | <monochrom> | And "(homomorphism from initial algebra to algebra a)" can be simplified to F a -> a. |
2023-07-28 21:20:40 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) |
2023-07-28 21:23:00 +0200 | <ncf> | so, forall r. r → (a → r → r) → r ≃ forall r. (Maybe (a, r) → r) → r ≃ forall r. (ListF a r → r) → r ≃ forall r. (Fix (ListF a) → r) → r ≃ Fix (ListF a) ≃ [a] |
2023-07-28 21:23:51 +0200 | misterfish | (~misterfis@178.228.71.213) (Ping timeout: 244 seconds) |
2023-07-28 21:24:17 +0200 | <ncf> | well, this is not typed enough :) |
2023-07-28 21:25:24 +0200 | nate2 | (~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2023-07-28 21:27:57 +0200 | bgs | (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection) |
2023-07-28 21:27:57 +0200 | <monochrom> | If you attempt a parametricity proof, it is simpler to stick to r -> (a -> r -> r) -> r. Don't pack it up into ListF. :) |
2023-07-28 21:28:17 +0200 | thegeekinside | (~thegeekin@189.217.90.138) |
2023-07-28 21:28:23 +0200 | <monochrom> | But if you want a general proof that works for all algebraic types, then yeah. |
2023-07-28 21:28:43 +0200 | forell | (~forell@user/forell) (Quit: ZNC - https://znc.in) |
2023-07-28 21:29:58 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-07-28 21:33:03 +0200 | <dolio> | I think it's a lot less clear how to get this to work with categories, if you want to make literal sense of the quantified type. |
2023-07-28 21:35:22 +0200 | <dolio> | You have to know the right tricks to make mixed variance stuff work out. |
2023-07-28 21:36:12 +0200 | <ncf> | smells like the end |
2023-07-28 21:36:24 +0200 | <monochrom> | I literally try to shoehorn "natural transformation" into it whenever I see forall. So I prefer shoehorning category theory into it. :) |
2023-07-28 21:37:12 +0200 | <monochrom> | And in this case, yeah for 5 minutes I didn't know what to to with the variance of "F a -> a". Then I tried "wait, it's an F-algebra, let me switch to another category". |
2023-07-28 21:37:21 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) |
2023-07-28 21:37:22 +0200 | <dolio> | Right, but in this case it can't be natural. So if you know a little, you might have heard about 'dinatural' transformations, and think you have to do that. |
2023-07-28 21:37:38 +0200 | forell | (~forell@user/forell) |
2023-07-28 21:37:54 +0200 | <dolio> | But I think that's a mistake. They don't actually work. That led some people to come up with 'strong dinatural,' which as far as I can tell was invented only for this purpose. |
2023-07-28 21:37:55 +0200 | <monochrom> | And so the natural transformation is from Hom(initial algebra, -) to U. (where Hom is for the category of F algebras.) |
2023-07-28 21:38:21 +0200 | dom0 | (~u0_a242@79.116.108.247) |
2023-07-28 21:38:52 +0200 | <dolio> | But then category theorists have another trick called 'extranatural,' which behaves better, and covers almost everything people want to do. So I think you'd want to try to massage things into that form first. |
2023-07-28 21:39:32 +0200 | <ncf> | just jump straight to using an end imo |
2023-07-28 21:43:44 +0200 | <monochrom> | Why can't it be natural? Alternatively, I may be proving a much weaker claim, and just focusing on what's given to be natural. |
2023-07-28 21:44:23 +0200 | <monochrom> | And also weak in terms of presuming somehow we already have an initial algebra in some other form in the first place. |
2023-07-28 21:45:02 +0200 | <monochrom> | And my conclusion at the moment is only "isomorphic in Set" so it's still an unstructured bijection. |
2023-07-28 21:45:26 +0200 | <dolio> | monochrom: Because r occurs in both covariant and contravariant positions. |
2023-07-28 21:45:38 +0200 | <dolio> | No matter how you split it up. |
2023-07-28 21:46:58 +0200 | <monochrom> | But I'm using Hom(initial algebra, -). |
2023-07-28 21:47:17 +0200 | <ncf> | so you're not formalising the whole thing |
2023-07-28 21:47:48 +0200 | <monochrom> | The fact that it simplifies to "/\r. F r -> r" is afterwards. |
2023-07-28 21:48:00 +0200 | <dolio> | Yeah, I mean if you want to make sense of a formula like `forall r. r -> (a -> r -> r) -> r` |
2023-07-28 21:49:11 +0200 | L29Ah | (~L29Ah@wikipedia/L29Ah) |
2023-07-28 21:50:27 +0200 | nyc | (~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Changing host) |
2023-07-28 21:50:27 +0200 | nyc | (~nyc@user/nyc) |
2023-07-28 21:51:44 +0200 | danse-nr3_ | (~francesco@151.37.218.65) (Ping timeout: 250 seconds) |
2023-07-28 21:53:38 +0200 | <monochrom> | OK I see. I still don't know whether "forall r. (F r -> r) -> r" is the same as "forall algebra a. a -> U a". |
2023-07-28 21:57:08 +0200 | <dolio> | No, should be `forall algebra a. U a`, I think. |
2023-07-28 21:57:25 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) |
2023-07-28 21:58:01 +0200 | <dolio> | The type of values that all algebras are required to have. |
2023-07-28 21:58:19 +0200 | <monochrom> | I began with "forall algebra a. Hom(initial, a) -> U a". Initiality allows simplifying Hom(initial, a) to a. |
2023-07-28 21:59:22 +0200 | <dolio> | No, there is a unique homomorphism from the initial algebra to each other algebra. |
2023-07-28 21:59:40 +0200 | <dolio> | So Hom(initial, a) is the unit type. |
2023-07-28 22:00:06 +0200 | <monochrom> | Oh darn, right. |
2023-07-28 22:02:51 +0200 | <monochrom> | Thanks. My excuse is I didn't have tea today! |
2023-07-28 22:03:00 +0200 | <monochrom> | And didn't have wine last night! |
2023-07-28 22:05:35 +0200 | <mauke> | https://www.youtube.com/watch?v=u_776fo3XHc |
2023-07-28 22:08:22 +0200 | coot | (~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot) |
2023-07-28 22:13:50 +0200 | internatetional | (~nate@2001:448a:20a3:c2e5:71b9:a710:2866:667f) (Quit: WeeChat 4.0.2) |
2023-07-28 22:32:06 +0200 | <Inst__> | yushyin: that's why it's satire |
2023-07-28 22:34:21 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 22:37:03 +0200 | Pickchea | (~private@user/pickchea) |
2023-07-28 22:41:42 +0200 | fendor | (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) |
2023-07-28 22:44:07 +0200 | idgaen | (~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2) |
2023-07-28 22:47:50 +0200 | _ht | (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
2023-07-28 22:49:44 +0200 | waleee | (~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) |
2023-07-28 22:55:46 +0200 | machinedgod | (~machinedg@d198-53-218-113.abhsia.telus.net) |
2023-07-28 22:57:01 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-28 23:01:29 +0200 | bratwurst | (~dfadsva@2604:3d09:207f:f650::c680) (Ping timeout: 246 seconds) |
2023-07-28 23:04:13 +0200 | kimiamania60 | (~681cf57f@user/kimiamania) (Quit: PegeLinux) |
2023-07-28 23:04:39 +0200 | kimiamania60 | (~681cf57f@user/kimiamania) |
2023-07-28 23:04:58 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
2023-07-28 23:07:05 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) (Ping timeout: 246 seconds) |
2023-07-28 23:10:18 +0200 | bitdex | (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 240 seconds) |
2023-07-28 23:11:00 +0200 | dom0 | (~u0_a242@79.116.108.247) (Quit: WeeChat 4.0.1) |
2023-07-28 23:15:27 +0200 | <justsomeguy> | Hi #haskell. I've been learning Haskell, with some help here and there, from haskellbook.com and this IRC channel. I got through the basics, recursion/folding/ADTs/how to define type classes, as well as Functor and Monad. But now I feel a little burnt out on that book. What do you think I should do from here to continue learning? |
2023-07-28 23:16:32 +0200 | <jade[m]> | find something you find interesting and create a project or contribute to an existing project!! |
2023-07-28 23:16:48 +0200 | <jade[m]> | no amount of learning will be as valuable as actually using what you learnt |
2023-07-28 23:16:49 +0200 | <justsomeguy> | I was considering doing a bunch of small projects, like a website link health checker, a command-line todo app, etc, but to be honest I always get stuck. Maybe I'm just dumb. |
2023-07-28 23:17:31 +0200 | <monochrom> | burnt out => don't continue? |
2023-07-28 23:17:32 +0200 | <jade[m]> | You're not, it's normal to get stuck once you get to bigger projects, that's expected even |
2023-07-28 23:18:01 +0200 | <jade[m]> | also yeah, burnt out means you should probably take a break and get some breathing room |
2023-07-28 23:18:02 +0200 | mima | (~mmh@ppp-212-114-180-85.dynamic.mnet-online.de) |
2023-07-28 23:18:48 +0200 | hololeap_ | (~quassel@user/hololeap) |
2023-07-28 23:19:27 +0200 | <monochrom> | burnt out /\ looking for more => addiction >:) |
2023-07-28 23:19:39 +0200 | <justsomeguy> | lol, that sounds right |
2023-07-28 23:19:42 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) |
2023-07-28 23:19:48 +0200 | <jade[m]> | haha |
2023-07-28 23:20:47 +0200 | acidjnk | (~acidjnk@p200300d6e7072f09e09871481cfbcb71.dip0.t-ipconnect.de) (Ping timeout: 245 seconds) |
2023-07-28 23:21:21 +0200 | <justsomeguy> | I think I'm going to try the tutorial for IHP, and see how that goes. I could use a simple personal website, and at least I have a pretty good idea what goes into making one from the sysadmin side. |
2023-07-28 23:21:44 +0200 | sm[i] | (~sm@2601:196:4b80:3a40:65:7c1f:38cd:576) |
2023-07-28 23:22:00 +0200 | hololeap | (~quassel@user/hololeap) (Ping timeout: 246 seconds) |
2023-07-28 23:22:11 +0200 | nick4 | (~nick@2600:8807:9084:7800:d53:c5f4:7789:80aa) |
2023-07-28 23:23:13 +0200 | ncf | (~n@monade.li) (Quit: Fairfarren.) |
2023-07-28 23:24:02 +0200 | reach__ | (~reach@bras-base-toroon2643w-grc-02-142-198-51-47.dsl.bell.ca) (Ping timeout: 250 seconds) |
2023-07-28 23:24:29 +0200 | ncf | (~n@monade.li) |
2023-07-28 23:25:26 +0200 | <sm> | not sure how "simple" that will be |
2023-07-28 23:25:45 +0200 | <justsomeguy> | I mean, it looks super complex! But also probably very guided. |
2023-07-28 23:26:13 +0200 | <monochrom> | simple personal website => html. what's haskell doing there? |
2023-07-28 23:26:24 +0200 | <sm> | step 1. be a nix user ? |
2023-07-28 23:26:41 +0200 | <justsomeguy> | Hmm, ok, scratch that idea. |
2023-07-28 23:27:06 +0200 | <monochrom> | But you can s/simple/Goldberg machine/ |
2023-07-28 23:27:07 +0200 | <sm> | I'm making a simple personal website myself, with shake and pandoc |
2023-07-28 23:27:50 +0200 | <sm> | "simple" |
2023-07-28 23:27:51 +0200 | <sm> | right |
2023-07-28 23:28:16 +0200 | <monochrom> | You can do some of my assignments at http://www.cs.utoronto.ca/~trebla/CSCC24-2023-Summer/ |
2023-07-28 23:28:39 +0200 | hololeap_ | (~quassel@user/hololeap) (Quit: Bye) |
2023-07-28 23:28:55 +0200 | hololeap | (~quassel@user/hololeap) |
2023-07-28 23:29:12 +0200 | <justsomeguy> | Thanks for sharing. If I do I'll send you a link to my attempts, monochrom. |
2023-07-28 23:29:58 +0200 | mango | (~finn@2001:861:5863:3d50:38dd:bfcb:d7f1:6ae4) |
2023-07-28 23:30:31 +0200 | <justsomeguy> | Battery is running out. Thanks for the advice, everyone. |
2023-07-28 23:30:37 +0200 | <sm> | there are some complete guided haskell projects out there.. I think https://haskell-via-sokoban.nomeata.de is one |
2023-07-28 23:30:49 +0200 | <sm> | good luck |
2023-07-28 23:31:05 +0200 | justsomeguy | (~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6) |
2023-07-28 23:31:43 +0200 | <sm> | clash of code is also fun! hard at first but you start fresh every few minutes |
2023-07-28 23:39:49 +0200 | acidjnk | (~acidjnk@p200300d6e7072f7488c486b520f19958.dip0.t-ipconnect.de) |
2023-07-28 23:45:31 +0200 | fendor | (~fendor@2a02:8388:1640:be00:1f28:32b1:54ac:a932) (Remote host closed the connection) |
2023-07-28 23:46:02 +0200 | forell | (~forell@user/forell) (Ping timeout: 260 seconds) |
2023-07-28 23:46:47 +0200 | Tuplanolla | (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.) |
2023-07-28 23:51:19 +0200 | whatsupdoc | (uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity) |
2023-07-28 23:54:12 +0200 | tromp | (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
2023-07-28 23:59:57 +0200 | wroathe | (~wroathe@user/wroathe) |