Logs on 2023-03-18 (liberachat/#haskell)
| 00:01:05 | <EvanR> | hmm setting up megaparsec to parse entire words rather than letters seems involved |
| 00:02:16 | × | acidjnk quits (~acidjnk@p200300d6e715c4806dec91424f6e1ce7.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 00:04:05 | → | bhall joins (~brunohall@195.147.207.136) |
| 00:04:55 | × | jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer) |
| 00:08:23 | <yushyin> | with overloaded strings you can just use a string literal |
| 00:09:04 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 00:09:14 | × | ddellacosta quits (~ddellacos@146.70.165.203) (Quit: WeeChat 3.8) |
| 00:09:32 | × | mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 246 seconds) |
| 00:10:46 | → | ddellacosta joins (~ddellacos@146.70.165.203) |
| 00:13:41 | → | freeside joins (~mengwong@122.11.248.245) |
| 00:18:49 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 00:27:43 | <EvanR> | I mean change the token stream from Text to [Text] |
| 00:28:49 | <c_wraith> | last time I did it, using a custom token type in megaparsec was too hard. It didn't provide utility functions or types with good defaults |
| 00:29:02 | → | acidjnk joins (~acidjnk@p200300d6e715c4018093856d8f871bb4.dip0.t-ipconnect.de) |
| 00:30:29 | × | chomwitt quits (~chomwitt@2a02:587:7a19:9200:1ac0:4dff:fedb:a3f1) (Ping timeout: 256 seconds) |
| 00:30:33 | × | zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
| 00:43:22 | → | sp00kins joins (~sp00kins@97.73.80.30) |
| 00:43:53 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-154.46.114.pool.telefonica.de) (Ping timeout: 268 seconds) |
| 00:45:04 | × | sp00kins quits (~sp00kins@97.73.80.30) (Client Quit) |
| 00:45:22 | → | sp00kins joins (~sp00kins@246.sub-174-216-180.myvzw.com) |
| 00:45:27 | → | freeside joins (~mengwong@122.11.248.245) |
| 00:49:30 | × | ubert quits (~Thunderbi@p200300ecdf0c57fa632b521f42b5c1ff.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 00:50:01 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 00:50:15 | × | jerg quits (~jerg@2001:a61:2611:1701:e737:6af:a06e:d388) (Ping timeout: 260 seconds) |
| 00:51:19 | × | ub quits (~Thunderbi@p548c84ba.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 00:52:14 | → | mauke_ joins (~mauke@user/mauke) |
| 00:53:41 | × | mauke quits (~mauke@user/mauke) (Ping timeout: 246 seconds) |
| 00:53:42 | mauke_ | is now known as mauke |
| 00:54:27 | → | ubert joins (~Thunderbi@p548c89b6.dip0.t-ipconnect.de) |
| 00:56:32 | → | irrgit__ joins (~irrgit@146.70.27.218) |
| 00:57:21 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 00:57:35 | → | nate4 joins (~nate@98.45.169.16) |
| 00:58:52 | → | ub joins (~Thunderbi@p200300ecdf20b545ee6fc32ba90dc667.dip0.t-ipconnect.de) |
| 00:59:31 | × | irrgit_ quits (~irrgit@176.113.74.138) (Ping timeout: 250 seconds) |
| 01:08:54 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds) |
| 01:10:23 | × | albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:10:33 | × | talismanick quits (~talismani@2601:200:c000:f7a0::5321) (Remote host closed the connection) |
| 01:11:24 | → | talismanick joins (~talismani@2601:200:c000:f7a0::5321) |
| 01:16:31 | → | albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:20:12 | → | freeside joins (~mengwong@122.11.248.245) |
| 01:24:47 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 01:28:03 | × | telser_ quits (~quassel@user/telser) (Ping timeout: 265 seconds) |
| 01:28:28 | → | telser joins (~quassel@user/telser) |
| 01:31:55 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 265 seconds) |
| 01:34:51 | → | catern- joins (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) |
| 01:35:41 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 01:37:13 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 250 seconds) |
| 01:46:11 | → | _xor joins (~xor@74.215.46.17) |
| 01:46:20 | × | _xor quits (~xor@74.215.46.17) (Client Quit) |
| 01:47:26 | → | _xor joins (~xor@74.215.46.17) |
| 01:47:37 | × | _xor quits (~xor@74.215.46.17) (Client Quit) |
| 01:51:44 | × | ub quits (~Thunderbi@p200300ecdf20b545ee6fc32ba90dc667.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 01:52:04 | → | ub joins (~Thunderbi@p548c89b6.dip0.t-ipconnect.de) |
| 01:54:54 | → | nate4 joins (~nate@98.45.169.16) |
| 01:55:44 | → | freeside joins (~mengwong@122.11.248.245) |
| 02:00:32 | → | srz joins (~srz@179.36.116.51) |
| 02:00:52 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 02:05:03 | × | catern quits (~sbaugh@2604:2000:8fc0:b:a9c7:866a:bf36:3407) (Remote host closed the connection) |
| 02:05:10 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 02:09:46 | <tusko> | what is the best haskell tutorial? |
| 02:09:58 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 02:15:31 | <yushyin> | https://www.haskell.org/documentation/ lists some tutorials, i don't think there is a tutorial that is objectively the best. |
| 02:17:00 | <yushyin> | i liked https://www.haskell.org/tutorial/ when i started with haskell |
| 02:30:03 | → | Lord_of_Life_ joins (~Lord@user/lord-of-life/x-2819915) |
| 02:30:21 | × | Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds) |
| 02:31:10 | × | masterbuilder quits (~masterbui@user/masterbuilder) (Quit: Lost terminal) |
| 02:31:13 | → | freeside joins (~mengwong@122.11.248.245) |
| 02:31:24 | Lord_of_Life_ | is now known as Lord_of_Life |
| 02:33:09 | → | masterbuilder joins (~masterbui@user/masterbuilder) |
| 02:33:32 | × | sp00kins quits (~sp00kins@246.sub-174-216-180.myvzw.com) (Quit: sp00kins) |
| 02:35:23 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 02:50:55 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
| 02:52:12 | <tusko> | thank you for those suggestions. I'll check it out |
| 02:52:42 | <tusko> | I guess seeing something from 1998 I thought perhaps the language had moved on by now |
| 02:54:11 | × | srz quits (~srz@179.36.116.51) (Read error: Connection reset by peer) |
| 03:03:21 | → | freeside joins (~mengwong@122.11.248.245) |
| 03:05:43 | × | jero98772 quits (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) (Remote host closed the connection) |
| 03:08:28 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 03:10:24 | → | gastus_ joins (~gastus@185.6.123.157) |
| 03:12:18 | <EvanR> | for the basic components "A gentle introduction" still works imo. New gadgets won't be mentioned but that's for later |
| 03:13:15 | × | gastus quits (~gastus@185.6.123.174) (Ping timeout: 248 seconds) |
| 03:19:07 | × | td_ quits (~td@i5387092E.versanet.de) (Ping timeout: 248 seconds) |
| 03:20:52 | → | td_ joins (~td@i5387093F.versanet.de) |
| 03:24:43 | × | ddellacosta quits (~ddellacos@146.70.165.203) (Ping timeout: 276 seconds) |
| 03:29:42 | → | codaraxis___ joins (~codaraxis@user/codaraxis) |
| 03:33:35 | × | codaraxis__ quits (~codaraxis@user/codaraxis) (Ping timeout: 260 seconds) |
| 03:37:26 | → | freeside joins (~mengwong@122.11.248.245) |
| 03:38:29 | <Nosrep> | tusko: I used the haskell wikibook and a little bit of learn you a haskell for a great good |
| 03:38:47 | <Nosrep> | haskell wikibook is surprisingly decent for |
| 03:38:50 | <Nosrep> | yknow a wikibook |
| 03:42:16 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 03:51:14 | → | finn_elija joins (~finn_elij@user/finn-elija/x-0085643) |
| 03:51:14 | × | FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija))) |
| 03:51:14 | finn_elija | is now known as FinnElija |
| 03:57:45 | <sm> | yes it is |
| 04:01:35 | × | wroathe quits (~wroathe@user/wroathe) (Quit: leaving) |
| 04:01:59 | × | hugo- quits (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
| 04:03:26 | <Axman6> | tusko: the fundamentals haven't changed much, and those are the most important to learn, particularly if you are use to another language - there's a lot of unlearning to do |
| 04:05:34 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection) |
| 04:06:11 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 04:06:24 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 04:07:19 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 04:07:31 | → | azimut joins (~azimut@gateway/tor-sasl/azimut) |
| 04:15:03 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 04:21:04 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer) |
| 04:25:06 | → | freeside joins (~mengwong@122.11.248.245) |
| 04:28:58 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds) |
| 04:29:35 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 04:37:53 | → | azimut_ joins (~azimut@gateway/tor-sasl/azimut) |
| 04:40:07 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 04:41:44 | × | azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 04:55:49 | → | bhall joins (~brunohall@195.147.207.136) |
| 04:57:05 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:02:13 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 05:08:20 | → | nate4 joins (~nate@98.45.169.16) |
| 05:13:55 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds) |
| 05:30:19 | → | freeside joins (~mengwong@122.11.248.245) |
| 05:31:59 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 05:33:18 | → | ddellacosta joins (~ddellacos@146.70.165.10) |
| 05:34:57 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 05:39:10 | → | trev joins (~trev@user/trev) |
| 05:41:35 | × | bgamari quits (~bgamari@64.223.227.181) (Ping timeout: 264 seconds) |
| 05:42:56 | → | vglfr joins (~vglfr@88.155.41.190) |
| 06:04:14 | × | raym quits (~ray@user/raym) (Quit: kernel update, rebooting...) |
| 06:05:16 | → | freeside joins (~mengwong@122.11.248.245) |
| 06:08:14 | → | bgamari joins (~bgamari@64.223.175.233) |
| 06:09:50 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 06:11:00 | × | captnemo quits (~captnemo@193.32.127.232) (Quit: WeeChat 3.8) |
| 06:23:16 | → | takuan joins (~takuan@178-116-218-225.access.telenet.be) |
| 06:36:29 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 06:36:38 | → | freeside joins (~mengwong@122.11.248.245) |
| 06:37:57 | × | Techcable quits (~Techcable@user/Techcable) (Ping timeout: 250 seconds) |
| 06:41:40 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 06:41:40 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 276 seconds) |
| 06:51:27 | × | shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 260 seconds) |
| 06:58:34 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 276 seconds) |
| 07:00:31 | × | vglfr quits (~vglfr@88.155.41.190) (Ping timeout: 246 seconds) |
| 07:04:58 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) (Remote host closed the connection) |
| 07:09:53 | → | freeside joins (~mengwong@122.11.248.245) |
| 07:14:49 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 07:21:09 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 07:21:39 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 07:31:25 | → | _xor joins (~xor@74.215.46.17) |
| 07:38:19 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 256 seconds) |
| 07:38:52 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 07:42:30 | → | freeside joins (~mengwong@122.11.248.245) |
| 07:44:30 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 07:47:19 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 07:48:54 | → | _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 07:50:56 | × | _xor quits (~xor@74.215.46.17) (Quit: WeeChat 3.8) |
| 07:51:20 | → | _xor joins (~xor@74.215.46.17) |
| 08:02:40 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 08:05:29 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 08:05:55 | × | jmdaemon quits (~jmdaemon@user/jmdaemon) (Ping timeout: 250 seconds) |
| 08:07:04 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 08:09:47 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) (Ping timeout: 246 seconds) |
| 08:10:49 | → | Techcable joins (~Techcable@user/Techcable) |
| 08:25:18 | → | vglfr joins (~vglfr@88.155.28.96) |
| 08:32:52 | → | bhall joins (~brunohall@195.147.207.136) |
| 08:37:29 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 08:48:12 | → | freeside joins (~mengwong@122.11.248.245) |
| 08:48:31 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 08:52:58 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 08:53:35 | × | vglfr quits (~vglfr@88.155.28.96) (Ping timeout: 250 seconds) |
| 08:54:16 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds) |
| 08:55:29 | → | werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) |
| 08:59:00 | → | nate4 joins (~nate@98.45.169.16) |
| 09:04:00 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 268 seconds) |
| 09:06:09 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Quit: Leaving) |
| 09:06:44 | × | cyphase quits (~cyphase@user/cyphase) (Ping timeout: 265 seconds) |
| 09:07:19 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
| 09:13:00 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 09:17:36 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…) |
| 09:19:34 | → | Tuplanolla joins (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) |
| 09:22:17 | → | freeside joins (~mengwong@122.11.248.245) |
| 09:27:02 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 09:28:52 | × | econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity) |
| 09:29:28 | → | cyphase joins (~cyphase@user/cyphase) |
| 09:43:39 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 248 seconds) |
| 09:45:50 | → | mechap joins (~mechap@user/mechap) |
| 09:50:21 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 09:50:55 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 256 seconds) |
| 09:52:08 | → | mechap joins (~mechap@user/mechap) |
| 09:53:48 | → | freeside joins (~mengwong@122.11.248.245) |
| 09:57:18 | × | Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer) |
| 10:00:18 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 252 seconds) |
| 10:07:20 | × | acidjnk quits (~acidjnk@p200300d6e715c4018093856d8f871bb4.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 10:11:55 | → | gurkenglas joins (~gurkengla@dynamic-046-114-183-154.46.114.pool.telefonica.de) |
| 10:11:58 | → | freeside joins (~mengwong@122.11.248.245) |
| 10:13:47 | → | acidjnk joins (~acidjnk@p200300d6e715c401c40893f71ffff876.dip0.t-ipconnect.de) |
| 10:14:37 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 250 seconds) |
| 10:16:14 | → | bhall joins (~brunohall@195.147.207.136) |
| 10:16:19 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 10:21:12 | → | freeside joins (~mengwong@122.11.248.245) |
| 10:28:55 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 10:31:06 | → | Pickchea joins (~private@user/pickchea) |
| 10:31:57 | → | tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) |
| 10:34:34 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 10:34:59 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 250 seconds) |
| 10:39:33 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 10:42:31 | → | freeside joins (~mengwong@122.11.248.245) |
| 10:42:45 | → | vglfr joins (~vglfr@46.96.129.30) |
| 10:46:58 | × | vglfr quits (~vglfr@46.96.129.30) (Ping timeout: 246 seconds) |
| 10:47:01 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 256 seconds) |
| 10:47:55 | → | vglfr joins (~vglfr@88.155.28.139) |
| 10:49:02 | × | gurkenglas quits (~gurkengla@dynamic-046-114-183-154.46.114.pool.telefonica.de) (Ping timeout: 246 seconds) |
| 10:52:29 | ← | L29Ah parts (~L29Ah@wikipedia/L29Ah) () |
| 11:00:37 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 256 seconds) |
| 11:02:40 | → | siers69 joins (~ij@user/ij) |
| 11:13:14 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 11:13:50 | → | freeside joins (~mengwong@122.11.248.245) |
| 11:13:54 | → | lisbeths joins (uid135845@id-135845.lymington.irccloud.com) |
| 11:15:35 | <siers69> | Hi, are the final/inital encodings from the tagless final paper provably final/inital objects in some category? (I guess it must be the category of the languages described by the encodings with homomorphisms as arrows.) |
| 11:16:16 | × | Ranhir quits (~Ranhir@157.97.53.139) (Read error: Connection reset by peer) |
| 11:20:07 | → | Ranhir joins (~Ranhir@157.97.53.139) |
| 11:22:24 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 11:25:33 | <ncf> | initial certainly refers to initial algebras (initial objects in the category of algebras over a functor or a monad), not sure about final |
| 11:25:57 | <ncf> | there is a dual notion of terminal coalgebra, but i don't think it's that |
| 11:26:14 | <ncf> | > We call this approach final (in contrast to initial), because we represent each object term not by its abstract syntax but by its deno- tation in a semantic algebra. |
| 11:26:15 | <lambdabot> | <hint>:1:30: error: parse error on input ‘in’ |
| 11:27:50 | × | vglfr quits (~vglfr@88.155.28.139) (Ping timeout: 246 seconds) |
| 11:28:01 | <siers69> | that sounds like a certain no |
| 11:28:07 | → | CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 11:28:45 | <ncf> | there might be answers in https://cstheory.stackexchange.com/questions/45565/what-category-are-tagless-final-algebras-final-in |
| 11:32:44 | × | h2t_ quits (~h2t@user/h2t) (Quit: ZNC - https://znc.in) |
| 11:33:26 | → | h2t joins (~h2t@user/h2t) |
| 11:34:14 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 11:42:33 | × | Pickchea quits (~private@user/pickchea) (Quit: Leaving) |
| 11:42:54 | → | Bocaneri joins (~sauvin@user/Sauvin) |
| 11:43:17 | Bocaneri | is now known as Guest8096 |
| 11:45:25 | × | Sauvin quits (~sauvin@user/Sauvin) (Ping timeout: 246 seconds) |
| 12:02:27 | → | Midjak joins (~Midjak@82.66.147.146) |
| 12:06:47 | → | freeside joins (~mengwong@122.11.248.245) |
| 12:08:11 | × | h2t quits (~h2t@user/h2t) (Quit: ZNC - https://znc.in) |
| 12:08:55 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 12:11:52 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 12:13:31 | × | eggplantade quits (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) (Ping timeout: 248 seconds) |
| 12:39:24 | → | freeside joins (~mengwong@122.11.248.245) |
| 12:42:02 | → | jero98772 joins (~jero98772@2800:484:1d80:d8ce:efcc:cbb3:7f2a:6dff) |
| 12:43:55 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 12:45:48 | × | pavonia quits (~user@user/siracusa) (Quit: Bye!) |
| 12:52:37 | → | gemmaro joins (~user@240f:74:d1f0:1:ba1:e787:c9e:b1dc) |
| 12:54:34 | → | nate4 joins (~nate@98.45.169.16) |
| 12:55:46 | × | acidjnk quits (~acidjnk@p200300d6e715c401c40893f71ffff876.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 12:56:36 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 12:59:16 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 246 seconds) |
| 13:01:47 | → | zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe) |
| 13:05:48 | → | mastarija joins (~mastarija@188.252.199.82) |
| 13:11:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 13:18:41 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 13:22:36 | → | vglfr joins (~vglfr@88.155.28.139) |
| 13:22:55 | → | bontaq joins (~user@ool-45779fe5.dyn.optonline.net) |
| 13:24:34 | → | crazazy joins (~user@130.89.171.62) |
| 13:25:12 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 13:25:52 | × | acertain quits (sid470584@hampstead.irccloud.com) (Ping timeout: 252 seconds) |
| 13:29:05 | → | acertain joins (sid470584@2a03:5180:f:4::7:2e38) |
| 13:30:44 | → | jerg joins (~jerg@2001:a61:2611:1701:e737:6af:a06e:d388) |
| 13:30:46 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 246 seconds) |
| 13:31:29 | → | freeside joins (~mengwong@122.11.248.245) |
| 13:36:03 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 13:36:59 | → | freeside joins (~mengwong@122.11.248.245) |
| 13:38:11 | → | wootehfoot joins (~wootehfoo@user/wootehfoot) |
| 13:41:16 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 13:42:05 | × | sagax quits (~sagax_nb@user/sagax) (Quit: Konversation terminated!) |
| 13:55:14 | × | CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
| 14:00:13 | → | freeside joins (~mengwong@122.11.248.245) |
| 14:04:38 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 14:06:17 | → | freeside joins (~mengwong@122.11.248.245) |
| 14:11:04 | <mastarija> | Any idea why I'm getting a `Monad` requirement error when using the `ApplicativeDo` extension? No value depends on the previous one so I'm a bit confused. |
| 14:11:08 | <mastarija> | https://paste.tomsmeding.com/SNv1WXVg |
| 14:13:51 | × | crazazy quits (~user@130.89.171.62) (Ping timeout: 256 seconds) |
| 14:14:14 | <TheMatten[m]> | mastarija: I think `ApplicativeDo` has to end with `pure _` to be valid - try `pure undefined` at the end instead of `undefined` |
| 14:14:42 | <[exa]> | +1 ^ |
| 14:15:02 | <[exa]> | mastarija: also simply try to add (... :: _) to see what it's thinking about the 1st line |
| 14:15:14 | <mastarija> | aha |
| 14:15:22 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 14:15:30 | <mastarija> | It works! :) |
| 14:15:33 | <mastarija> | Thx! |
| 14:15:57 | <geekosaur> | ApplicativeDo is quite dumb, it can push things into Monad just because it doesn't understand them |
| 14:16:07 | <geekosaur> | like requiring explicit `pure` |
| 14:16:34 | → | mmhat joins (~mmh@p200300f1c715f785ee086bfffe095315.dip0.t-ipconnect.de) |
| 14:16:41 | <geekosaur> | or using `let` even if the result is valid Applicative |
| 14:18:07 | <mastarija> | Well, at least it'll make things a bit prettier than lifting lambdas over applicative values :) |
| 14:20:26 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 14:22:47 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 14:22:53 | × | tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer) |
| 14:23:24 | × | lisbeths quits (uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity) |
| 14:23:55 | → | freeside joins (~mengwong@122.11.248.245) |
| 14:25:39 | <mastarija> | geekosaur: is there perhaps a way to circumvent the `let` problem? I imagine it desugars `let stuff = previous` as `stuff <- pure previous` ang gets confused, right? |
| 14:26:36 | <mastarija> | I guess I can put it after last `pure`, something like `pure $ let ... in ...` |
| 14:26:54 | <geekosaur> | I think it does the normal desugaring (to `let` …. `in do`) and that breaks it because it's no longer one `do` block |
| 14:27:37 | <geekosaur> | your desugaring might eve allow it to work, but I doubt it because of the `pure` |
| 14:27:42 | <geekosaur> | *even |
| 14:27:43 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 276 seconds) |
| 14:28:33 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 14:29:05 | <geekosaur> | (remember, `let` is also a block; yours won't work if you have more than one binding) |
| 14:30:34 | <mastarija> | eh.. I guess I'll stick to `pure $ let ... in ...` then. This appears to be working nicely and is not much different from the usuall `do` `let`. |
| 14:32:30 | → | freeside joins (~mengwong@122.11.248.245) |
| 14:32:35 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds) |
| 14:41:09 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 14:44:07 | → | freeside joins (~mengwong@122.11.248.245) |
| 14:48:28 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 14:56:03 | <jerg> | hi there, I'm fairly new to haskell and built a maze generator for fun the other day but I noticed that the runtime and gc behavior is pretty odd: the program takes ~600s for a 256x256 maze (513x513 matrix from Data.Matrix internally) and seems to spend most of that time either idling or the garbage collector (over 90% of the time). Any ideas why that could be happening? (I suspect that the mutable vectors that the matrix is built on |
| 14:56:03 | <jerg> | might be the reason but not sure) The code and profiling stats if someone wants to take a look (general tips are also appreciated :D): https://paste.tomsmeding.com/7vk2JdWG) |
| 15:04:17 | × | Xe quits (~cadey@tailscale/xe) (Ping timeout: 256 seconds) |
| 15:07:21 | <Axman6> | jerg: where are you using mutable vectors? i cant see anything that looks like you are on a quick read of it |
| 15:08:00 | <jerg> | Data.Matrix is using them internally I think |
| 15:08:22 | <Axman6> | i would be surprised if it did |
| 15:09:39 | <Axman6> | well, it is, but by copying immutable vectors _a lot_, based on that profile |
| 15:09:59 | <[exa]> | jerg: probably irrelevant to performance issues but you might love to use guards for the complex condition you have there in baseMaze l. 46 |
| 15:10:16 | → | freeside joins (~mengwong@122.11.248.245) |
| 15:10:45 | → | bhall joins (~brunohall@195.147.207.136) |
| 15:10:53 | <[exa]> | jerg: something like: ... where baseMazeElem x y | even x, even y, x >= 1, .... = Marked; baseMazeElem _ _ = Wall |
| 15:11:16 | <Axman6> | i have a strong feeling thst you are copying your matrix for every single write |
| 15:11:40 | <[exa]> | anyway yeah AFAIK Data.Matrix is immutable |
| 15:12:19 | → | nate4 joins (~nate@98.45.169.16) |
| 15:13:17 | <[exa]> | jerg: and a style pick, you don't need the `in` on line 27; `let` in a do-block has allowed to have the rest of the block as an "implicit" `in` |
| 15:13:37 | <jerg> | added the guards thx:D |
| 15:13:45 | <jerg> | ohh neat I didn't know that |
| 15:13:46 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 15:14:29 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 15:14:57 | <[exa]> | yeah it's lovely (slightly dangerous because it's super easy to assume you're doing monadic env and the let doesn't create a recursive binding :D but that's usually a fast debug) |
| 15:15:36 | <[exa]> | (as in, `x <- doUpdate x` is OK, but `let x = doUpdate x` is usually not what you want) |
| 15:17:05 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds) |
| 15:17:35 | <Axman6> | jerg: Was there anything that made you choose matrix? it's quite old - not sure what the go to package for n-dimensional (mutable) arrays is, but the vector pacage can get you a very long way |
| 15:17:50 | <jerg> | good to know :D |
| 15:18:16 | → | Xe joins (~cadey@tailscale/xe) |
| 15:19:08 | <Axman6> | Repa is an option, or even the age old array package which provides mutale arrays |
| 15:19:13 | <Axman6> | mutable* |
| 15:19:14 | <jerg> | nope not really it just seemed simple and relatively well suited (before I discovered the performance issues) |
| 15:20:13 | <jerg> | thx I'll take a look at those |
| 15:20:14 | <Axman6> | It's possible that thjere are much better ways to implement what you have using the matrix package, but iteratively updating it one location at a time will never be fast |
| 15:20:29 | × | zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!) |
| 15:21:07 | <jerg> | ye I kinda expected that but didn't expect the gc to freak out that much |
| 15:21:11 | <Axman6> | you can maintain a pure interface to thealgorithm, by using the ST monad, which gives you genuine mutability with a guaranteed pure interface |
| 15:22:37 | <jerg> | I'll take a look at as well then |
| 15:22:46 | <Axman6> | well, you are generating _a lot_ of garbage, 513*513*8 bytes per matyrix, and 513*513 of those,. is I understand correctly |
| 15:23:01 | <Axman6> | > 513^4*8 |
| 15:23:03 | <lambdabot> | 554063380488 |
| 15:23:42 | <Axman6> | > logBase 1024 554063380488 |
| 15:23:43 | <lambdabot> | 3.901126006242822 |
| 15:24:26 | <Axman6> | so... several GB of garbage |
| 15:24:35 | <Axman6> | actually, from he profile: |
| 15:24:44 | <Axman6> | > logBase 1024 276242083440 |
| 15:24:45 | <lambdabot> | 3.8007142164027927 |
| 15:25:33 | <Axman6> | 276242083440 bytes is over 276GB |
| 15:26:19 | <Axman6> | I would expect any program allocating that much, particularly when thestructure is completely made of pointers, to sopend a lot of time GCing (: |
| 15:26:42 | <jerg> | fair makes sense |
| 15:27:16 | <Axman6> | Anyway, now you get to learn about the ST monad and make this thing use like 1KB of memory |
| 15:27:28 | <jerg> | :D |
| 15:27:59 | <Axman6> | An introduction https://wiki.haskell.org/Monad/ST |
| 15:28:35 | <jerg> | reading that rn might take a bit for me to wrap my head around |
| 15:30:29 | <geekosaur> | ST looks scary but isn't; it gives you mutable arrays / matrices like IO does, but tagged so you can do it in pure code and they can't escape |
| 15:31:41 | <Axman6> | f you used Data.Array.MArray, yopu'd have something like runSTArray $ do { arr <- newArray_ ((0,0),(513,513)); lotsOfCallsTo writeArray arr (x,y) Path; pure arr } |
| 15:32:21 | <Axman6> | which would give you back an Array Cell |
| 15:33:19 | → | gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) |
| 15:33:37 | → | dsp__ joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 15:34:17 | dsp__ | is now known as dsp |
| 15:37:00 | → | freeside joins (~mengwong@122.11.248.245) |
| 15:38:03 | → | econo joins (uid147250@user/econo) |
| 15:38:21 | → | fyrstavon joins (~fyrstavon@194.144.46.247) |
| 15:39:35 | × | fyrstavon quits (~fyrstavon@194.144.46.247) (Client Quit) |
| 15:40:00 | → | __ht joins (~Thunderbi@194.110.115.10) |
| 15:40:29 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Ping timeout: 250 seconds) |
| 15:40:30 | __ht | is now known as _ht |
| 15:44:02 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 15:44:23 | → | __ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) |
| 15:45:05 | → | freeside joins (~mengwong@122.11.248.245) |
| 15:45:27 | × | _ht quits (~Thunderbi@194.110.115.10) (Ping timeout: 268 seconds) |
| 15:45:27 | __ht | is now known as _ht |
| 15:47:51 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 250 seconds) |
| 15:49:46 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 268 seconds) |
| 15:55:28 | × | pwntips quits (~user@24-113-98-114.wavecable.com) (Ping timeout: 276 seconds) |
| 15:57:04 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:03:03 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 16:10:22 | → | freeside joins (~mengwong@122.11.248.245) |
| 16:13:53 | × | nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat) |
| 16:14:40 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 252 seconds) |
| 16:16:20 | → | freeside joins (~mengwong@122.11.248.245) |
| 16:23:00 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 16:23:17 | → | freeside joins (~mengwong@122.11.248.245) |
| 16:26:58 | → | nek0 joins (~nek0@2a01:4f8:222:2b41::12) |
| 16:27:47 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 16:28:57 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 16:30:29 | × | gehmehgeh quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds) |
| 16:31:11 | → | crazazy joins (~user@130.89.171.62) |
| 16:32:36 | → | gehmehgeh joins (~user@user/gehmehgeh) |
| 16:39:04 | → | eggplantade joins (~Eggplanta@2600:1700:38c5:d800:710f:b6bb:b29d:a808) |
| 16:40:02 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 246 seconds) |
| 16:45:55 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 16:51:13 | × | crazazy quits (~user@130.89.171.62) (Ping timeout: 265 seconds) |
| 16:53:50 | → | sp00kins joins (~sp00kins@2601:5ce:4300:7501:d35e:6f0f:6b0e:6d83) |
| 16:54:56 | → | freeside joins (~mengwong@122.11.248.245) |
| 16:58:59 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 246 seconds) |
| 17:00:26 | → | acidjnk joins (~acidjnk@p54ad56b7.dip0.t-ipconnect.de) |
| 17:00:28 | × | ddellacosta quits (~ddellacos@146.70.165.10) (Ping timeout: 276 seconds) |
| 17:00:32 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:01:22 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds) |
| 17:03:26 | × | mechap quits (~mechap@user/mechap) (Ping timeout: 252 seconds) |
| 17:04:08 | × | dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection) |
| 17:04:14 | × | aisa quits (~aisa@user/aisa) (Ping timeout: 246 seconds) |
| 17:05:26 | → | mechap joins (~mechap@user/mechap) |
| 17:05:40 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 17:06:47 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:08:06 | → | dcoutts_ joins (~duncan@host86-144-78-144.range86-144.btcentralplus.com) |
| 17:10:52 | × | dcoutts quits (~duncan@host86-144-78-144.range86-144.btcentralplus.com) (Ping timeout: 276 seconds) |
| 17:11:31 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 17:15:10 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 252 seconds) |
| 17:16:38 | → | trev joins (~trev@user/trev) |
| 17:19:03 | → | L29Ah joins (~L29Ah@wikipedia/L29Ah) |
| 17:26:35 | → | dcoutts joins (~duncan@host86-144-78-144.range86-144.btcentralplus.com) |
| 17:29:06 | × | dcoutts_ quits (~duncan@host86-144-78-144.range86-144.btcentralplus.com) (Ping timeout: 252 seconds) |
| 17:30:39 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:31:52 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
| 17:32:14 | → | jmdaemon joins (~jmdaemon@user/jmdaemon) |
| 17:36:12 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 17:36:35 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 17:36:56 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:37:56 | × | mmhat quits (~mmh@p200300f1c715f785ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.8) |
| 17:38:49 | × | euandreh quits (~Thunderbi@189.6.18.7) (Ping timeout: 276 seconds) |
| 17:45:39 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 255 seconds) |
| 17:45:57 | <EvanR> | I just noticed the Show instance for Vector looks like List |
| 17:46:38 | <EvanR> | replicate 5 'a' => "aaaaa", replicate 5 1.9 => [1.9,1.9,1.9,1.9,1.9] |
| 17:46:50 | <EvanR> | don't that beat all |
| 17:49:06 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:49:32 | <EvanR> | how does that even work, magic? |
| 17:49:42 | × | telser quits (~quassel@user/telser) (Ping timeout: 255 seconds) |
| 17:50:25 | <geekosaur> | hand written instance that calls showList |
| 17:51:21 | → | telser joins (~quassel@user/telser) |
| 17:54:09 | <EvanR> | and the list show is magic? |
| 17:54:39 | <EvanR> | :t showList |
| 17:54:41 | <lambdabot> | Show a => [a] -> ShowS |
| 17:54:46 | <geekosaur> | showList is a separate method of Show, so strings can be handled specially without requiring extensions over Haskell98 |
| 17:55:12 | <EvanR> | showList "abc" "" |
| 17:55:15 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 250 seconds) |
| 17:55:16 | <EvanR> | > showList "abc" "" |
| 17:55:17 | <lambdabot> | "\"abc\"" |
| 17:55:22 | <EvanR> | > showList [1,2,3] "" |
| 17:55:24 | <lambdabot> | "[1,2,3]" |
| 17:56:10 | → | freeside joins (~mengwong@122.11.248.245) |
| 17:56:16 | <geekosaur> | it has a default implementation which is overridden by instance Show Char |
| 17:56:29 | <EvanR> | oh cool |
| 18:00:49 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 18:03:15 | × | azure_vermilion quits (~Thunderbi@164.39.138.83) (Quit: azure_vermilion) |
| 18:03:36 | → | azure_vermilion joins (~Thunderbi@164.39.138.83) |
| 18:04:05 | → | MajorBiscuit joins (~MajorBisc@2001:1c00:2408:a400:67e:5371:52a7:9b9a) |
| 18:17:34 | × | codaraxis___ quits (~codaraxis@user/codaraxis) (Remote host closed the connection) |
| 18:21:32 | → | shriekingnoise joins (~shrieking@186.137.175.87) |
| 18:26:25 | × | mechap quits (~mechap@user/mechap) (Quit: WeeChat 3.8) |
| 18:27:37 | → | freeside joins (~mengwong@122.11.248.245) |
| 18:30:22 | <mastarija> | When defining a helper function in `where` block. Is it possible to make it not "specialize" to the first type it's used on, without writing a type signature and `forall x...`? |
| 18:31:02 | <geekosaur> | nope. either you specify a type or it infers one |
| 18:31:11 | <mastarija> | :( |
| 18:31:59 | <int-e> | isn't that NoMonomorphismRestriction territory? |
| 18:32:19 | <int-e> | Wait, wrong one, there's NoMonoLocalBinds |
| 18:33:23 | <geekosaur> | but MonoLocalBinds defaults off unless you're using something that makes it problematic, like type families |
| 18:34:02 | <int-e> | let's check... foo :: (Int, Integer); foo = (n, n) where n = 42 compiles with NoMonomorphismRestriction enabled. |
| 18:34:23 | <int-e> | while NoMonoLocalBinds makes no difference there |
| 18:35:05 | → | paul_j joins (~user@2001:8b0:dea0:f3c9:52eb:f6ff:fe56:59ca) |
| 18:35:10 | <int-e> | I've never used it... usually type signatures are good. |
| 18:36:16 | → | dcoutts_ joins (~duncan@host86-144-78-144.range86-144.btcentralplus.com) |
| 18:36:24 | <mauke> | mastarija: it normally doesn't specialize |
| 18:36:39 | <int-e> | So I rather reach for ScopedTypeVariables to make those work. But on occasion, types get big and ugly and uninformative. |
| 18:36:59 | <mauke> | mastarija: can I see an example that's giving you trouble? |
| 18:37:03 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 260 seconds) |
| 18:38:33 | <geekosaur> | their mentioning forall makes me wonder if they want rank-2 inference, which isn't happening |
| 18:38:35 | × | dcoutts quits (~duncan@host86-144-78-144.range86-144.btcentralplus.com) (Ping timeout: 248 seconds) |
| 18:38:54 | <geekosaur> | (rank-2 is possible but Hard. higher ranks are impossible) |
| 18:39:24 | <mauke> | it might be the monomorphism restriction |
| 18:39:33 | <geekosaur> | not inside a where |
| 18:39:37 | <mauke> | I don't see how anything else could match the reported symptoms |
| 18:39:44 | <geekosaur> | and we already checked MonoLocalBinds |
| 18:40:43 | <mauke> | > let foo x = (s x, s [x]) where s = show in foo 42 |
| 18:40:45 | <lambdabot> | ("42","[42]") |
| 18:41:31 | <int-e> | that would fail with MonomorphismRestriction enabled |
| 18:42:18 | → | caryhartline joins (~caryhartl@2600:1700:2d0:8d30:6576:9fe8:b907:8643) |
| 18:42:38 | × | paul_j quits (~user@2001:8b0:dea0:f3c9:52eb:f6ff:fe56:59ca) (Quit: Asta la vista) |
| 18:44:03 | <int-e> | Well, I don't know. The "forall" could well be the one you need for scoped type variables. |
| 18:44:48 | <int-e> | [information needed] |
| 18:45:38 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Quit: au revoir) |
| 18:50:28 | → | emmanuelux joins (~emmanuelu@user/emmanuelux) |
| 18:52:17 | → | harveypwca joins (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) |
| 18:52:33 | <mastarija> | mauke: just a sec |
| 18:54:10 | × | sp00kins quits (~sp00kins@2601:5ce:4300:7501:d35e:6f0f:6b0e:6d83) (Quit: sp00kins) |
| 18:54:10 | <mastarija> | mauke: https://paste.tomsmeding.com/kmO9UMVg |
| 18:57:24 | → | freeside joins (~mengwong@122.11.248.245) |
| 18:57:37 | <mastarija> | the `where` part in the `_curbs` traversal in case it wasn't clear :) |
| 18:57:59 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 18:59:24 | <mastarija> | I should be able to apply `cd2fcdH` to any `Curb s a n` of any `s`. |
| 18:59:42 | <mastarija> | But without the type signature I'm not able to. |
| 19:02:35 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 19:03:58 | × | shapr quits (~user@68.54.166.125) (Ping timeout: 246 seconds) |
| 19:08:21 | → | Sgeo joins (~Sgeo@user/sgeo) |
| 19:11:26 | → | euandreh joins (~Thunderbi@189.6.18.7) |
| 19:12:48 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 19:13:56 | → | nate4 joins (~nate@98.45.169.16) |
| 19:19:07 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
| 19:21:55 | → | CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) |
| 19:22:51 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 246 seconds) |
| 19:30:30 | → | emmanuelux_ joins (~emmanuelu@user/emmanuelux) |
| 19:31:10 | → | freeside joins (~mengwong@122.11.248.245) |
| 19:31:55 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 19:33:37 | × | emmanuelux quits (~emmanuelu@user/emmanuelux) (Ping timeout: 250 seconds) |
| 19:35:49 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 19:39:04 | × | telser quits (~quassel@user/telser) (Ping timeout: 276 seconds) |
| 19:39:44 | → | telser joins (~quassel@user/telser) |
| 19:40:33 | <mauke> | mastarija: do you still get an error if you remove the type signature, but change the definition to `cd2fcdH x = (fmap redirectCurb . cd2fcd . redirectCurb) x`? |
| 19:41:20 | → | coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 19:43:14 | <mastarija> | mauke: yes |
| 19:49:48 | × | telser quits (~quassel@user/telser) (Ping timeout: 246 seconds) |
| 19:50:07 | × | ubert quits (~Thunderbi@p548c89b6.dip0.t-ipconnect.de) (Ping timeout: 276 seconds) |
| 19:50:07 | ub | is now known as ubert |
| 19:50:10 | → | bhall joins (~brunohall@195.147.207.136) |
| 19:50:25 | → | telser joins (~quassel@user/telser) |
| 19:51:35 | × | vglfr quits (~vglfr@88.155.28.139) (Ping timeout: 256 seconds) |
| 19:52:47 | → | vglfr joins (~vglfr@88.155.24.235) |
| 19:53:25 | <mauke> | OK, I smell ScopedTypeVariables, but there's too many undefined things in that code for me to play around with it |
| 19:56:32 | → | ubert1 joins (~Thunderbi@p200300ecdf20b55e36d1449b246cba0e.dip0.t-ipconnect.de) |
| 19:59:01 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 19:59:41 | → | captnemo joins (~captnemo@193.32.127.232) |
| 20:00:25 | × | trev quits (~trev@user/trev) (Remote host closed the connection) |
| 20:01:09 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 20:01:42 | <mastarija> | thx anyway |
| 20:03:37 | → | freeside joins (~mengwong@122.11.248.245) |
| 20:03:55 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds) |
| 20:07:03 | × | biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer) |
| 20:08:25 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 20:11:51 | → | biberu joins (~biberu@user/biberu) |
| 20:13:15 | × | krei-se quits (~krei-se@p50874d44.dip0.t-ipconnect.de) (Ping timeout: 255 seconds) |
| 20:15:10 | → | krei-se joins (~krei-se@p57af2793.dip0.t-ipconnect.de) |
| 20:16:18 | → | dsrt^ joins (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) |
| 20:23:46 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 246 seconds) |
| 20:28:24 | × | telser quits (~quassel@user/telser) (Ping timeout: 252 seconds) |
| 20:34:54 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 20:36:51 | → | freeside joins (~mengwong@122.11.248.245) |
| 20:41:15 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 20:42:11 | × | gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8) |
| 20:42:21 | → | michalz joins (~michalz@185.246.207.205) |
| 20:48:05 | → | dcoutts joins (~duncan@host86-144-78-144.range86-144.btcentralplus.com) |
| 20:48:24 | → | chomwitt joins (~chomwitt@ppp-94-67-217-45.home.otenet.gr) |
| 20:50:02 | × | dcoutts_ quits (~duncan@host86-144-78-144.range86-144.btcentralplus.com) (Ping timeout: 252 seconds) |
| 20:50:10 | → | telser joins (~quassel@user/telser) |
| 20:55:05 | × | michalz quits (~michalz@185.246.207.205) (Remote host closed the connection) |
| 21:00:16 | → | michalz joins (~michalz@185.246.207.222) |
| 21:01:51 | × | telser quits (~quassel@user/telser) (Ping timeout: 255 seconds) |
| 21:02:59 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 256 seconds) |
| 21:04:15 | → | coot_ joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) |
| 21:04:38 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Ping timeout: 246 seconds) |
| 21:04:52 | × | wootehfoot quits (~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer) |
| 21:05:03 | coot_ | is now known as coot |
| 21:05:19 | → | telser joins (~quassel@user/telser) |
| 21:10:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 21:10:56 | × | telser quits (~quassel@user/telser) (Ping timeout: 252 seconds) |
| 21:14:58 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 252 seconds) |
| 21:16:47 | × | Fischmiep quits (~Fischmiep@user/Fischmiep) (Read error: Connection reset by peer) |
| 21:21:47 | × | talismanick quits (~talismani@2601:200:c000:f7a0::5321) (Ping timeout: 260 seconds) |
| 21:22:05 | → | pavonia joins (~user@user/siracusa) |
| 21:22:36 | → | Fischmiep joins (~Fischmiep@user/Fischmiep) |
| 21:35:11 | → | telser joins (~quassel@user/telser) |
| 21:36:25 | → | shapr joins (~user@68.54.166.125) |
| 21:39:31 | × | CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
| 21:42:17 | → | wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com) |
| 21:42:17 | × | wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host) |
| 21:42:17 | → | wroathe joins (~wroathe@user/wroathe) |
| 21:43:27 | → | freeside joins (~mengwong@122.11.248.245) |
| 21:45:14 | × | michalz quits (~michalz@185.246.207.222) (Remote host closed the connection) |
| 21:46:01 | × | bhall quits (~brunohall@195.147.207.136) (Read error: Connection reset by peer) |
| 21:48:11 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 264 seconds) |
| 21:49:34 | × | _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Quit: _ht) |
| 21:49:38 | <azure_vermilion> | what does ~ mean in unzip3 = foldr (\(a,b,c) ~(as,bs,cs) -> (a:as,b:bs,c:cs)) ([],[],[]) |
| 21:49:59 | × | azimut_ quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 255 seconds) |
| 21:50:37 | <monochrom> | Look for "irrefutable patterns". Short answer is it increases laziness. |
| 21:51:39 | <azure_vermilion> | thanks |
| 21:52:47 | → | bhall joins (~brunohall@195.147.207.136) |
| 21:54:06 | × | werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Quit: Lost terminal) |
| 21:54:25 | <mauke> | the "trust me, bro" of pattern matching |
| 21:54:47 | <Jade[m]1> | hahaha |
| 21:55:39 | <mauke> | > case Nothing of ~(Just x) -> "we cool" |
| 21:55:41 | <lambdabot> | "we cool" |
| 21:55:48 | <mauke> | > case Nothing of ~(Just x) -> "we cool: " ++ show x |
| 21:55:50 | <lambdabot> | "we cool: *Exception: <interactive>:(3,1)-(4,22): Non-exhaustive patterns in... |
| 21:56:31 | <azure_vermilion> | lol |
| 21:57:29 | × | telser quits (~quassel@user/telser) (Ping timeout: 250 seconds) |
| 22:00:02 | → | merijn joins (~merijn@86-86-29-250.fixed.kpn.net) |
| 22:06:14 | × | jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 246 seconds) |
| 22:06:33 | → | telser joins (~quassel@user/telser) |
| 22:09:17 | → | freeside joins (~mengwong@122.11.248.245) |
| 22:12:11 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 22:13:57 | × | dcoutts quits (~duncan@host86-144-78-144.range86-144.btcentralplus.com) (Ping timeout: 250 seconds) |
| 22:14:25 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 276 seconds) |
| 22:19:23 | → | jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) |
| 22:23:56 | → | andrewboltachev joins (~andrey@178.141.199.8) |
| 22:25:59 | <andrewboltachev> | Hello. When using zygomorphism (recusrion scheme), may I have the auxillary F-algebra (1st argument of zygo) as a composition of two F-algebras? |
| 22:28:21 | → | crazazy joins (~user@130.89.171.62) |
| 22:32:39 | <andrewboltachev> | Using easier approach, is it possible to convert a value from "normal" recursive type to "F" (if makeBaseFunctor was used on a "normal" type)? |
| 22:33:12 | × | merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 255 seconds) |
| 22:42:19 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
| 22:42:24 | → | freeside joins (~mengwong@122.11.248.245) |
| 22:42:41 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 22:45:35 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 250 seconds) |
| 22:45:59 | × | mastarija quits (~mastarija@188.252.199.82) (Quit: WeeChat 3.7.1) |
| 22:46:35 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 22:47:14 | × | bhall quits (~brunohall@195.147.207.136) (Ping timeout: 246 seconds) |
| 22:48:50 | × | vglfr quits (~vglfr@88.155.24.235) (Ping timeout: 252 seconds) |
| 22:54:35 | → | bhall joins (~brunohall@195.147.207.136) |
| 22:54:41 | × | crazazy quits (~user@130.89.171.62) (Ping timeout: 265 seconds) |
| 23:08:31 | <ncf> | andrewboltachev: `project` ? |
| 23:10:58 | × | [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 276 seconds) |
| 23:15:07 | × | andrewboltachev quits (~andrey@178.141.199.8) (Quit: Leaving.) |
| 23:15:32 | → | nate4 joins (~nate@98.45.169.16) |
| 23:15:46 | → | freeside joins (~mengwong@122.11.248.245) |
| 23:16:08 | × | coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot) |
| 23:16:54 | → | talismanick joins (~talismani@c-98-238-242-189.hsd1.ca.comcast.net) |
| 23:20:18 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 265 seconds) |
| 23:20:47 | × | nate4 quits (~nate@98.45.169.16) (Ping timeout: 265 seconds) |
| 23:22:59 | → | [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470) |
| 23:23:00 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 264 seconds) |
| 23:23:53 | → | dsp joins (~dsp@host86-137-135-17.range86-137.btcentralplus.com) |
| 23:25:57 | × | Tuplanolla quits (~Tuplanoll@91-159-68-152.elisa-laajakaista.fi) (Quit: Leaving.) |
| 23:30:29 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 23:32:18 | × | MajorBiscuit quits (~MajorBisc@2001:1c00:2408:a400:67e:5371:52a7:9b9a) (Quit: WeeChat 3.6) |
| 23:34:11 | × | Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep) |
| 23:35:24 | × | acidjnk quits (~acidjnk@p54ad56b7.dip0.t-ipconnect.de) (Ping timeout: 252 seconds) |
| 23:38:51 | × | machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal) |
| 23:39:14 | → | machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net) |
| 23:41:01 | → | gurkenglas joins (~gurkengla@dynamic-046-114-176-014.46.114.pool.telefonica.de) |
| 23:43:28 | × | harveypwca quits (~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving) |
| 23:45:35 | → | pwntips joins (~user@24-113-98-114.wavecable.com) |
| 23:45:49 | × | hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 250 seconds) |
| 23:46:49 | → | razetime joins (~Thunderbi@117.193.0.127) |
| 23:49:39 | → | freeside joins (~mengwong@122.11.248.245) |
| 23:52:56 | → | hugo joins (znc@verdigris.lysator.liu.se) |
| 23:53:47 | × | freeside quits (~mengwong@122.11.248.245) (Ping timeout: 248 seconds) |
| 23:55:49 | × | talismanick quits (~talismani@c-98-238-242-189.hsd1.ca.comcast.net) (Ping timeout: 276 seconds) |
| 23:59:04 | × | dsp quits (~dsp@host86-137-135-17.range86-137.btcentralplus.com) (Ping timeout: 276 seconds) |
All times are in UTC on 2023-03-18.