2021-01-06 00:00:14 +0100 | <dmj`> | there should exist a baseline Haskell2010 AST / Parser w/o the frills |
2021-01-06 00:01:32 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Remote host closed the connection) |
2021-01-06 00:02:38 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 256 seconds) |
2021-01-06 00:02:39 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-06 00:02:55 +0100 | cgadski | (~cgadski@a95-95-106-208.cpe.netcabo.pt) () |
2021-01-06 00:02:56 +0100 | sgibber2018 | (~arch-gibb@208.85.237.144) |
2021-01-06 00:03:51 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-06 00:04:24 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 260 seconds) |
2021-01-06 00:06:21 +0100 | justsomeguy | (~justsomeg@216.186.218.241) |
2021-01-06 00:06:21 +0100 | justsomeguy | (~justsomeg@216.186.218.241) (Changing host) |
2021-01-06 00:06:21 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) |
2021-01-06 00:06:38 +0100 | carlomagno1 | (~cararell@148.87.23.12) |
2021-01-06 00:06:54 +0100 | carlomagno | (~cararell@148.87.23.12) (Remote host closed the connection) |
2021-01-06 00:07:02 +0100 | denisse_ | (~spaceCat@gateway/tor-sasl/alephzer0) |
2021-01-06 00:07:03 +0100 | denisse | (~spaceCat@gateway/tor-sasl/alephzer0) (Ping timeout: 240 seconds) |
2021-01-06 00:07:23 +0100 | cantstanya | (~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds) |
2021-01-06 00:07:32 +0100 | <dfeuer> | dmj`: you could look at the Hugs, nhc, etc., parsers and see if you like one. |
2021-01-06 00:07:44 +0100 | <monochrom> | Does haskell-src count? |
2021-01-06 00:08:47 +0100 | plutoniix | (~q@ppp-49-237-20-247.revip6.asianet.co.th) (Ping timeout: 260 seconds) |
2021-01-06 00:09:56 +0100 | <dmj`> | dfeuer: ooo hadn't heard of nhc |
2021-01-06 00:10:05 +0100 | <dmj`> | monochrom: no ! traumatizing. |
2021-01-06 00:10:35 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2021-01-06 00:10:35 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2021-01-06 00:10:35 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2021-01-06 00:11:49 +0100 | cantstanya | (~chatting@gateway/tor-sasl/cantstanya) |
2021-01-06 00:13:29 +0100 | <koz_> | Amusingly, 'cabal outdated' won't work without a global GHC, because it won't take a -w argument. |
2021-01-06 00:15:27 +0100 | pera | (~pera@unaffiliated/pera) (Quit: leaving) |
2021-01-06 00:20:00 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 00:20:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 00:24:56 +0100 | ransom | (~c4264035@2a09:bac0:72::82f:c34) |
2021-01-06 00:26:01 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-sukkcsrudpgtylmw) (Quit: Connection closed for inactivity) |
2021-01-06 00:26:02 +0100 | <monochrom> | Yikes, that's a funny corner case. |
2021-01-06 00:26:46 +0100 | <koz_> | Wouldn't be the first time I found of of those... this week. |
2021-01-06 00:26:53 +0100 | fendor_ | (~fendor@91.141.3.164.wireless.dyn.drei.com) (Remote host closed the connection) |
2021-01-06 00:27:14 +0100 | <monochrom> | Heh the year 2021 has barely begun... |
2021-01-06 00:27:22 +0100 | <koz_> | monochrom: It's just how I am. |
2021-01-06 00:27:28 +0100 | <koz_> | I am a lamp, I attract bugs. |
2021-01-06 00:27:38 +0100 | <koz_> | Case in point - so far this year, I've found _two_ kernel bugs. |
2021-01-06 00:32:48 +0100 | cynick_ | cynick |
2021-01-06 00:34:32 +0100 | iteratee | (~kyle@162.211.154.4) (Read error: No route to host) |
2021-01-06 00:37:40 +0100 | usr256 | (~usr25@unaffiliated/usr25) (Quit: Leaving) |
2021-01-06 00:39:06 +0100 | iteratee | (~kyle@162.211.154.4) |
2021-01-06 00:39:23 +0100 | <koz_> | @unmtl ExceptT e (State s) a |
2021-01-06 00:39:23 +0100 | <lambdabot> | s -> (Either e a, s) |
2021-01-06 00:39:37 +0100 | <koz_> | @unmtl StateT s (Except e) a |
2021-01-06 00:39:37 +0100 | <lambdabot> | s -> Except e (a, s) |
2021-01-06 00:40:22 +0100 | usr25 | (~usr25@unaffiliated/usr25) |
2021-01-06 00:42:03 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
2021-01-06 00:42:37 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
2021-01-06 00:43:09 +0100 | kel | (d26b42ca@210.107.66.202) |
2021-01-06 00:43:36 +0100 | kel | (d26b42ca@210.107.66.202) (Remote host closed the connection) |
2021-01-06 00:45:23 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-mfwhrfcnbyerpdae) |
2021-01-06 00:47:00 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
2021-01-06 00:47:28 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
2021-01-06 00:51:14 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Remote host closed the connection) |
2021-01-06 00:52:57 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:5cc6:836f:afa7:e837) (Ping timeout: 268 seconds) |
2021-01-06 00:54:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-06 00:55:41 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:f4f0:d2c0:3ecf:a408) |
2021-01-06 00:58:52 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 00:58:58 +0100 | Vindaloo | (~Vindaloo@70.129.133.37.dynamic.jazztel.es) (Remote host closed the connection) |
2021-01-06 00:59:07 +0100 | justsomeguy | (~justsomeg@unaffiliated/--/x-3805311) () |
2021-01-06 01:00:24 +0100 | fresheyeball | (~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.9) |
2021-01-06 01:04:25 +0100 | fradet | (~pi@216.252.75.247) (Ping timeout: 264 seconds) |
2021-01-06 01:11:03 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: Lost terminal) |
2021-01-06 01:11:18 +0100 | revprez_anzio | (~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) |
2021-01-06 01:14:24 +0100 | timbit | (~trob@135-23-206-58.cpe.pppoe.ca) |
2021-01-06 01:18:48 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 256 seconds) |
2021-01-06 01:24:13 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 264 seconds) |
2021-01-06 01:26:35 +0100 | timbit | (~trob@135-23-206-58.cpe.pppoe.ca) (Quit: Leaving) |
2021-01-06 01:30:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 01:32:37 +0100 | ulidtko|k | (~ulidtko@194.54.80.38) (Ping timeout: 246 seconds) |
2021-01-06 01:32:38 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving) |
2021-01-06 01:33:06 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Quit: thc202) |
2021-01-06 01:35:38 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-06 01:39:37 +0100 | bitmagie | (~Thunderbi@200116b80605280008c19424c544e900.dip.versatel-1u1.de) (Quit: bitmagie) |
2021-01-06 01:41:16 +0100 | alx741 | (~alx741@181.196.69.158) (Ping timeout: 240 seconds) |
2021-01-06 01:46:43 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 265 seconds) |
2021-01-06 01:49:35 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:5cc6:836f:afa7:e837) |
2021-01-06 01:51:56 +0100 | dh | (dh@bsd.ee) (Disconnected by services) |
2021-01-06 01:52:02 +0100 | dh_ | (dh@bsd.ee) |
2021-01-06 01:53:25 +0100 | usr256 | (~usr25@unaffiliated/usr25) |
2021-01-06 01:54:29 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:5cc6:836f:afa7:e837) (Ping timeout: 272 seconds) |
2021-01-06 01:54:45 +0100 | alx741 | (~alx741@186.178.110.141) |
2021-01-06 01:56:36 +0100 | usr25 | (~usr25@unaffiliated/usr25) (Ping timeout: 256 seconds) |
2021-01-06 01:58:25 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 264 seconds) |
2021-01-06 02:00:05 +0100 | jedws | (~jedws@121.209.189.201) |
2021-01-06 02:02:17 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 02:03:38 +0100 | dabr | (~daniel@p5082597a.dip0.t-ipconnect.de) |
2021-01-06 02:05:38 +0100 | dandels | (~dandels@unaffiliated/dandels) |
2021-01-06 02:09:15 +0100 | ryanbooker | (uid4340@gateway/web/irccloud.com/x-hbbtuufbzmpoieub) |
2021-01-06 02:10:29 +0100 | shapr | hops quietly |
2021-01-06 02:13:44 +0100 | <ezzieyguywuf> | is reactive-banana still alive? |
2021-01-06 02:13:59 +0100 | <ezzieyguywuf> | seems the last commit was may 2019, and it has some stale upper bounds |
2021-01-06 02:15:16 +0100 | haritz | (~hrtz@unaffiliated/haritz) (Ping timeout: 240 seconds) |
2021-01-06 02:18:05 +0100 | haritz | (~hrtz@62.3.70.206) |
2021-01-06 02:18:05 +0100 | haritz | (~hrtz@62.3.70.206) (Changing host) |
2021-01-06 02:18:05 +0100 | haritz | (~hrtz@unaffiliated/haritz) |
2021-01-06 02:23:00 +0100 | inkbottle | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 02:24:05 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-6-52.w83-200.abo.wanadoo.fr) (Ping timeout: 240 seconds) |
2021-01-06 02:27:52 +0100 | eacameron | (uid256985@gateway/web/irccloud.com/x-sggmrofinlhiriab) (Quit: Connection closed for inactivity) |
2021-01-06 02:27:54 +0100 | threestrikes | (~threestri@cpe-24-243-229-2.hot.res.rr.com) |
2021-01-06 02:28:25 +0100 | dandels | (~dandels@unaffiliated/dandels) (Ping timeout: 264 seconds) |
2021-01-06 02:30:08 +0100 | inkbottle | zebrag |
2021-01-06 02:30:33 +0100 | troydm | (~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
2021-01-06 02:32:36 +0100 | columbarius1 | (~columbari@mue-88-130-54-222.dsl.tropolys.de) (Ping timeout: 272 seconds) |
2021-01-06 02:32:54 +0100 | <int-e> | ezzieyguywuf: https://github.com/HeinrichApfelmus/reactive-banana/issues/197 seems relevant (so not dead, but kind of hibernating... possibly it's waking up again now) |
2021-01-06 02:32:59 +0100 | mouseghost | (~draco@wikipedia/desperek) (Quit: mew wew) |
2021-01-06 02:34:14 +0100 | columbarius1 | (~columbari@87.123.198.204) |
2021-01-06 02:34:54 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2021-01-06 02:36:47 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-06 02:38:01 +0100 | dabr | (~daniel@p5082597a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds) |
2021-01-06 02:38:30 +0100 | <ezzieyguywuf> | int-e: def. relevant, thanks (I should have checked issues...) |
2021-01-06 02:39:32 +0100 | <ezzieyguywuf> | I've never personally used reactive-banana, but have heard good things, and I'm unsure if there are any real alternatives available - this is why I asked, as I'm getting ready to take it out of the gentoo portage tree due to stale dependencies that cause conflicts, but it's good to see that there is still activity around getting it updated |
2021-01-06 02:39:46 +0100 | usr256 | (~usr25@unaffiliated/usr25) (Quit: Leaving) |
2021-01-06 02:39:48 +0100 | <ezzieyguywuf> | the dependency stuff shouldn't really be an issue, I can probably submit a PR myself to get that up-to-speed |
2021-01-06 02:41:51 +0100 | <maerwald> | take all haskell libs out of the portage tree :p |
2021-01-06 02:42:11 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-01-06 02:42:57 +0100 | troydm | (~troydm@unaffiliated/troydm) |
2021-01-06 02:44:55 +0100 | <ezzieyguywuf> | maerwald: nooooo it's so nice! |
2021-01-06 02:44:56 +0100 | shailangsa | (~shailangs@host86-185-58-185.range86-185.btcentralplus.com) (Ping timeout: 240 seconds) |
2021-01-06 02:45:04 +0100 | <maerwald> | it really isn't |
2021-01-06 02:45:22 +0100 | <ezzieyguywuf> | I like it, that way I don't have to worry about ~/.cabal getting cluttered |
2021-01-06 02:45:23 +0100 | <maerwald> | subslot abuse wrt GHC versions and it still doesn't work |
2021-01-06 02:45:43 +0100 | <ezzieyguywuf> | it definitely has its rough edges, but for the most part seems to work |
2021-01-06 02:45:44 +0100 | <maerwald> | it's worse than perl upgrades, with more resolver errors |
2021-01-06 02:45:53 +0100 | <maerwald> | it's severely broken |
2021-01-06 02:46:03 +0100 | <ezzieyguywuf> | we can't install two version of the same haskell package (we can with non-haskell stuff) |
2021-01-06 02:46:12 +0100 | <ezzieyguywuf> | but that doesn't really seem to be a problem |
2021-01-06 02:46:20 +0100 | <maerwald> | yes, because EAPI wasn't designed for this |
2021-01-06 02:46:26 +0100 | <ezzieyguywuf> | indeed |
2021-01-06 02:46:36 +0100 | iqubic | (~user@2601:602:9500:4870:226b:d1ce:19b9:af92) |
2021-01-06 02:46:46 +0100 | <maerwald> | so ppl trying to abuse EAPI to shove things into it that wasn't meant for it make user experience worse |
2021-01-06 02:46:53 +0100 | <maerwald> | subslots were meant to be used sparingly |
2021-01-06 02:47:16 +0100 | <ezzieyguywuf> | I'd rather contribute to EAPI 8 and fix it than throw my hands up and abandon ship |
2021-01-06 02:47:36 +0100 | <maerwald> | since paludis doesn't work on gentoo anymore, I completely gave up on it :) |
2021-01-06 02:47:45 +0100 | <ezzieyguywuf> | lol nooooo gentoo is so beast |
2021-01-06 02:48:02 +0100 | <ezzieyguywuf> | i never tried paludis, what was so great about it? |
2021-01-06 02:48:28 +0100 | <maerwald> | then spent a few years on exherbo, until I gave up about it too and switched to fedora, so I don't get bothered by packagers anymore who break my installattion :p |
2021-01-06 02:48:41 +0100 | <maerwald> | ezzieyguywuf: it wasn't broken like portage |
2021-01-06 02:49:10 +0100 | <maerwald> | portage doesn't even comply to the spec |
2021-01-06 02:49:19 +0100 | <maerwald> | it's file merging is non-atomic and broken |
2021-01-06 02:49:39 +0100 | <maerwald> | files go missing sometimes, it cannot recover from interrupts properly |
2021-01-06 02:49:59 +0100 | <ezzieyguywuf> | maerwald: nah a lot (if not all) of that has been fixed |
2021-01-06 02:50:05 +0100 | <ezzieyguywuf> | well, depends on what you mean by "interrupts" |
2021-01-06 02:50:20 +0100 | <ezzieyguywuf> | I've never had portage make a file go missing, that'd be a huge bug |
2021-01-06 02:50:21 +0100 | <hololeap> | portage has gotten better. the problem i saw were packages that didn't use the new EAPIs |
2021-01-06 02:50:40 +0100 | <maerwald> | ezzieyguywuf: I don't think any of that has been fixed |
2021-01-06 02:50:40 +0100 | <ezzieyguywuf> | ah, it seems there's been a big push to update EAPI lately though |
2021-01-06 02:50:52 +0100 | <hololeap> | i think their QA has gotten better as well |
2021-01-06 02:51:27 +0100 | <maerwald> | is still does portable file copy/move in the VDB, doesn't it? |
2021-01-06 02:51:34 +0100 | <maerwald> | because it uses python sdlib |
2021-01-06 02:51:54 +0100 | <ezzieyguywuf> | i dunno what most of those words in that order mean... |
2021-01-06 02:52:04 +0100 | <hololeap> | me neither :( |
2021-01-06 02:52:08 +0100 | <maerwald> | well, as I said: I doubt any of that has been fixed |
2021-01-06 02:52:50 +0100 | <ezzieyguywuf> | *shrug* |
2021-01-06 02:52:54 +0100 | <maerwald> | EAPI uses a file based database |
2021-01-06 02:52:56 +0100 | <ezzieyguywuf> | I'm sure fedora is treating you very kindly :) |
2021-01-06 02:53:26 +0100 | <maerwald> | but then portage fails to ensure atomicity of file operations in order to support ppl spreading VBD across devices |
2021-01-06 02:53:28 +0100 | <hololeap> | maerwald: true |
2021-01-06 02:53:41 +0100 | <maerwald> | or broken things like aufs |
2021-01-06 02:53:51 +0100 | <maerwald> | *VDB |
2021-01-06 02:53:57 +0100 | <hololeap> | i would think that would be up to the kernel to handle |
2021-01-06 02:54:00 +0100 | <maerwald> | no |
2021-01-06 02:54:15 +0100 | <maerwald> | atomic file operations across devices doesn't exist |
2021-01-06 02:54:26 +0100 | <hololeap> | spreading a directory tree across devices? |
2021-01-06 02:54:36 +0100 | <maerwald> | yeah, you can do that on portage |
2021-01-06 02:54:41 +0100 | <maerwald> | and aufs does that internally |
2021-01-06 02:55:20 +0100 | <maerwald> | it's a side-effect of not thinking about how to design operations in a file-based custom database |
2021-01-06 02:55:24 +0100 | <maerwald> | so it's all ad-hoc |
2021-01-06 02:55:29 +0100 | <hololeap> | aufs is a kernel-level feature and it's not even in the standard kernel |
2021-01-06 02:55:34 +0100 | <maerwald> | correct |
2021-01-06 02:55:55 +0100 | <hololeap> | i don't really blame them for not testing portage against that |
2021-01-06 02:56:07 +0100 | <maerwald> | no: it works on portage :) |
2021-01-06 02:56:09 +0100 | <maerwald> | but it shouldn't |
2021-01-06 02:57:00 +0100 | iqubic | (~user@2601:602:9500:4870:226b:d1ce:19b9:af92) ("ERC (IRC client for Emacs 28.0.50)") |
2021-01-06 02:57:58 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:f4f0:d2c0:3ecf:a408) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-06 02:58:12 +0100 | <hololeap> | i used to have problems with interrupts when running concurrent portage jobs, but not anymore. it still acts funky if you CTRL+C during a pre-merge check though |
2021-01-06 02:58:14 +0100 | Igloo | (~igloo@matrix.chaos.earth.li) (Ping timeout: 260 seconds) |
2021-01-06 02:58:53 +0100 | <maerwald> | concurrent portage jobs is something that shouldn't even exist |
2021-01-06 02:59:06 +0100 | <maerwald> | there's no way to implement this correctly |
2021-01-06 02:59:27 +0100 | <hololeap> | i don't see why there wouldn't be |
2021-01-06 02:59:31 +0100 | Igloo | (~igloo@matrix.chaos.earth.li) |
2021-01-06 02:59:56 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-06 03:00:00 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:f4f0:d2c0:3ecf:a408) |
2021-01-06 03:01:12 +0100 | <hololeap> | i have --jobs=3 as a default and i haven't run into any problems with it |
2021-01-06 03:01:14 +0100 | blissful | azuline |
2021-01-06 03:01:15 +0100 | azuline | blissful |
2021-01-06 03:01:54 +0100 | <hololeap> | it works like you would expect. if you have a bunch of packages that depend on package X, package X will be run first, without any parralel jobs |
2021-01-06 03:02:02 +0100 | <hololeap> | parallel |
2021-01-06 03:02:16 +0100 | <maerwald> | because you get all sorts of race conditions |
2021-01-06 03:02:31 +0100 | <maerwald> | in the VDB, during merge, in pkg_postinst |
2021-01-06 03:02:33 +0100 | <maerwald> | whatnot |
2021-01-06 03:03:04 +0100 | <maerwald> | then suddenly a file is missing somewhere, because of a partial merge.. the user will think "hmm" and just rebuild the package and move on |
2021-01-06 03:03:13 +0100 | <maerwald> | not understanding that their PM is broken :p |
2021-01-06 03:03:13 +0100 | <hololeap> | you don't, though because they are run in a sandbox. the only race condition would be in the qmerge phase, and there it uses locks to make sure only one thing is merged to the filesystem at a time |
2021-01-06 03:03:44 +0100 | <hololeap> | that has never happened to me |
2021-01-06 03:03:56 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-06 03:04:36 +0100 | jmchael | (~jmchael@81.174.205.210) (Ping timeout: 256 seconds) |
2021-01-06 03:05:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 03:06:31 +0100 | <maerwald> | ok, so you have package A, which deletes a directory and replaces it with a file during merge, then you have package B, which depends on A, which still assumes it's a directory and places a file into it... will it fail or not? |
2021-01-06 03:07:41 +0100 | <maerwald> | it really depends... portage in the end might just delete the file and replace it with a directory without failing :p |
2021-01-06 03:07:44 +0100 | <hololeap> | i think that trying to replace a directory with a file would be detected as a file collision |
2021-01-06 03:07:50 +0100 | <maerwald> | no |
2021-01-06 03:07:55 +0100 | <maerwald> | in paludis yes |
2021-01-06 03:08:17 +0100 | <hololeap> | maerwald: you may have a skewed/outdated image of portage |
2021-01-06 03:08:49 +0100 | <maerwald> | unless the whole development team changed, I doubt it :p |
2021-01-06 03:09:05 +0100 | <maerwald> | there's only one person who really understands portage anyway |
2021-01-06 03:10:01 +0100 | <hololeap> | there can't be an empty directory that is handled by portage. that's why you see .keep files around |
2021-01-06 03:10:40 +0100 | <maerwald> | I know |
2021-01-06 03:10:47 +0100 | <maerwald> | I'm not talking about empty directories |
2021-01-06 03:11:10 +0100 | <maerwald> | I'm talking about a package that used to install /usr/foo as a directory and now switches to it being a file |
2021-01-06 03:11:11 +0100 | <hololeap> | and if some package tried to install a file, where that name was already taken by a directory handled by portage, that would definitely be a file collision, since it would destroy the file structure underneath |
2021-01-06 03:11:13 +0100 | <maerwald> | that is possible |
2021-01-06 03:11:14 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-01-06 03:11:37 +0100 | Entertainment | (~entertain@104.246.132.210) (Ping timeout: 264 seconds) |
2021-01-06 03:11:54 +0100 | <hololeap> | if it was a directory that _wasn't_ handled by portage, that would be reported as a warning |
2021-01-06 03:11:55 +0100 | christo | (~chris@81.96.113.213) |
2021-01-06 03:13:01 +0100 | <maerwald> | portage doesn't handle directories at all, only files |
2021-01-06 03:13:04 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-01-06 03:13:25 +0100 | <maerwald> | because you can't assign an ebuild owner to a directory |
2021-01-06 03:13:36 +0100 | <maerwald> | so directories are always shared resources |
2021-01-06 03:13:38 +0100 | sgibber2018 | (~arch-gibb@208.85.237.144) (Quit: WeeChat 3.0) |
2021-01-06 03:13:42 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
2021-01-06 03:14:22 +0100 | <hololeap> | correct, but if you had /usr/lib/foo/bar and /usr/lib/foo/baz owned by package X, and package Y tried to create a file called /usr/lib/foo, that would destroy the files owned by package X, which would not be allowed |
2021-01-06 03:15:04 +0100 | <maerwald> | well, Y is not installed yet |
2021-01-06 03:15:08 +0100 | <maerwald> | :) |
2021-01-06 03:16:46 +0100 | <hololeap> | right, my statement assumes package X is installed before package Y |
2021-01-06 03:16:56 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
2021-01-06 03:18:59 +0100 | <ezzieyguywuf> | i think maerwald is philosophically opposed to portage |
2021-01-06 03:19:10 +0100 | <ezzieyguywuf> | and it seems you've had some runins with the (sole?) developer as well |
2021-01-06 03:19:14 +0100 | <maerwald> | hololeap: https://bugs.gentoo.org/483494 |
2021-01-06 03:19:16 +0100 | <ezzieyguywuf> | so I can understand your position |
2021-01-06 03:19:37 +0100 | <ezzieyguywuf> | as purely a user of portage, and not a contributor (yet?), I can say that I am mostly satisfied and have not run into the issues you've described |
2021-01-06 03:20:15 +0100 | <maerwald> | but that's another one |
2021-01-06 03:21:03 +0100 | <hololeap> | an unconfirmed bug from 7 years ago? |
2021-01-06 03:21:10 +0100 | <maerwald> | it is confirmed |
2021-01-06 03:21:17 +0100 | <maerwald> | and still unfixed |
2021-01-06 03:21:25 +0100 | <hololeap> | it literally says status: UNCONFIRMED |
2021-01-06 03:21:33 +0100 | <maerwald> | did you read the report? :o |
2021-01-06 03:21:37 +0100 | <maerwald> | and the reply? |
2021-01-06 03:21:59 +0100 | <hololeap> | yes |
2021-01-06 03:22:02 +0100 | <maerwald> | there's literally proof that this is not PMS compliant |
2021-01-06 03:22:24 +0100 | <hololeap> | you would have to point to something current, or ask the gentoo devs if this is still a problem |
2021-01-06 03:23:43 +0100 | <hololeap> | i could try to test it |
2021-01-06 03:24:07 +0100 | <hololeap> | it might take me a bit |
2021-01-06 03:24:59 +0100 | shailangsa | (~shailangs@host86-186-191-114.range86-186.btcentralplus.com) |
2021-01-06 03:26:26 +0100 | threestrikes | (~threestri@cpe-24-243-229-2.hot.res.rr.com) (Ping timeout: 272 seconds) |
2021-01-06 03:30:12 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:f4f0:d2c0:3ecf:a408) (Ping timeout: 268 seconds) |
2021-01-06 03:32:42 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:507b) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2021-01-06 03:33:28 +0100 | carlomagno1 | (~cararell@148.87.23.12) (Quit: Leaving.) |
2021-01-06 03:38:28 +0100 | Varis | (~Tadas@unaffiliated/varis) (Ping timeout: 272 seconds) |
2021-01-06 03:39:48 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 03:41:23 +0100 | L29Ah | (~L29Ah@unaffiliated/l29ah) (Ping timeout: 256 seconds) |
2021-01-06 03:42:32 +0100 | xff0x | (~fox@2001:1a81:52a7:8200:f535:aeb9:901:74c1) (Ping timeout: 268 seconds) |
2021-01-06 03:42:49 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 246 seconds) |
2021-01-06 03:44:16 +0100 | xff0x | (~fox@2001:1a81:52e0:100:232f:c24f:d201:6316) |
2021-01-06 03:50:34 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:5cc6:836f:afa7:e837) |
2021-01-06 03:52:12 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Remote host closed the connection) |
2021-01-06 03:52:47 +0100 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
2021-01-06 03:53:10 +0100 | phadej | (phadej@62.204.15.134) |
2021-01-06 03:53:25 +0100 | Vulfe | (~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Read error: Connection reset by peer) |
2021-01-06 03:53:44 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) |
2021-01-06 03:53:51 +0100 | phadej | (phadej@62.204.15.134) (Read error: Connection reset by peer) |
2021-01-06 03:53:57 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-06 03:54:26 +0100 | phadej | (phadej@62.204.15.134) |
2021-01-06 03:54:32 +0100 | phadej | (phadej@62.204.15.134) (Read error: Connection reset by peer) |
2021-01-06 03:55:07 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:5cc6:836f:afa7:e837) (Ping timeout: 260 seconds) |
2021-01-06 03:55:53 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 03:56:31 +0100 | urodna | (~urodna@unaffiliated/urodna) (Quit: urodna) |
2021-01-06 03:58:44 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 272 seconds) |
2021-01-06 03:59:13 +0100 | ransom | (~c4264035@2a09:bac0:72::82f:c34) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-06 04:00:04 +0100 | plutoniix | (~q@184.82.196.105) |
2021-01-06 04:00:10 +0100 | plutoniix | (~q@184.82.196.105) (Max SendQ exceeded) |
2021-01-06 04:00:39 +0100 | plutoniix | (~q@184.82.196.105) |
2021-01-06 04:01:15 +0100 | jespada | (~jespada@90.254.245.49) |
2021-01-06 04:01:26 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
2021-01-06 04:06:22 +0100 | lagothrix | Guest98014 |
2021-01-06 04:06:22 +0100 | xirhtogal | (~lagothrix@unaffiliated/lagothrix) |
2021-01-06 04:06:22 +0100 | Guest98014 | (~lagothrix@unaffiliated/lagothrix) (Killed (hitchcock.freenode.net (Nickname regained by services))) |
2021-01-06 04:06:22 +0100 | xirhtogal | lagothrix |
2021-01-06 04:07:26 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 256 seconds) |
2021-01-06 04:08:53 +0100 | quinn | (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
2021-01-06 04:09:26 +0100 | phadej | (phadej@huma.la) |
2021-01-06 04:09:57 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-06 04:10:03 +0100 | phadej | (phadej@huma.la) (Read error: Connection reset by peer) |
2021-01-06 04:10:26 +0100 | adamwespiser | (~adamwespi@209.6.43.158) |
2021-01-06 04:12:45 +0100 | phadej | (phadej@huma.la) |
2021-01-06 04:13:08 +0100 | phadej | (phadej@huma.la) (Read error: Connection reset by peer) |
2021-01-06 04:13:36 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-06 04:13:48 +0100 | phadej | (phadej@62.204.15.134) |
2021-01-06 04:13:53 +0100 | ryanbooker | (uid4340@gateway/web/irccloud.com/x-hbbtuufbzmpoieub) (Quit: Connection closed for inactivity) |
2021-01-06 04:14:00 +0100 | phadej | (phadej@62.204.15.134) (Read error: Connection reset by peer) |
2021-01-06 04:14:15 +0100 | jfe | (~user@pool-71-184-149-134.bstnma.fios.verizon.net) |
2021-01-06 04:14:37 +0100 | adamwesp_ | (~adamwespi@107.181.19.30) (Ping timeout: 264 seconds) |
2021-01-06 04:17:07 +0100 | adamwespiser | (~adamwespi@209.6.43.158) (Ping timeout: 246 seconds) |
2021-01-06 04:22:48 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-06 04:23:10 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 04:25:34 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-06 04:25:54 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 04:26:20 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-01-06 04:28:11 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:ad75:1255:fdff:5733) |
2021-01-06 04:28:50 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-01-06 04:29:01 +0100 | <siraben> | Can someone help me understand why this build is failing? https://github.com/siraben/compiler/runs/1651026614?check_suite_focus=true |
2021-01-06 04:29:18 +0100 | <siraben> | Confused about the CPP error |
2021-01-06 04:32:39 +0100 | <ephemient> | looks exactly like https://stackoverflow.com/q/7412548 |
2021-01-06 04:35:25 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:e95c:b04f:cb75:a96) (Read error: Connection reset by peer) |
2021-01-06 04:35:59 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 272 seconds) |
2021-01-06 04:40:39 +0100 | ransom | (~c4264035@2a09:bac0:72::82f:c34) |
2021-01-06 04:44:37 +0100 | mirrorbird | (~psutcliff@m83-187-174-153.cust.tele2.se) (Ping timeout: 264 seconds) |
2021-01-06 04:47:32 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 04:49:36 +0100 | <siraben> | ephemient: Thank you, I'll try that |
2021-01-06 04:50:30 +0100 | jedws | (~jedws@121.209.189.201) |
2021-01-06 04:51:08 +0100 | <jared-w> | Is there a most-principled and least-likey-to-blow-up way to have a cabal test suite that tests the actual built executable of a program? |
2021-01-06 04:52:04 +0100 | <jared-w> | (To be clear, I am really hoping the answer is not `cabal exec -- cabal test --enable-tests`) |
2021-01-06 04:52:51 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-06 04:53:21 +0100 | <ezzieyguywuf> | jared-w: I've made a small `MyExeTest` target before, where `main` just poked some of the outermost pieces of my exe |
2021-01-06 04:53:31 +0100 | <ezzieyguywuf> | or even just call :main of the exe |
2021-01-06 04:53:37 +0100 | theDon | (~td@94.134.91.206) (Ping timeout: 264 seconds) |
2021-01-06 04:53:41 +0100 | adamwespiser | (~adamwespi@209.6.43.158) |
2021-01-06 04:53:56 +0100 | <ezzieyguywuf> | but my use-case was very simple, and "Just Worked ™" for me, dunno about the least-likely-to-blow-up-itiveness of it |
2021-01-06 04:55:21 +0100 | theDon | (~td@94.134.91.66) |
2021-01-06 04:56:30 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-06 04:56:39 +0100 | <jared-w> | I'm wanting real integration tests, basically. Cabal's test stanzas work fine for unit tests but seem to be really lacking in integration testing (where it's important that what you're testing is the same exact bit-for-bit binary that you'll ship, not "the main function"). Otherwise there's nothing wrong with calling the exe like a library (ie the main function strategy you desribed) |
2021-01-06 04:58:15 +0100 | nineonine | (~nineonine@50.216.62.2) |
2021-01-06 05:00:02 +0100 | alexelcu_ | (~alexelcu@142.93.180.198) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-06 05:00:12 +0100 | Tops21 | (~Tobias@dyndsl-095-033-094-030.ewe-ip-backbone.de) |
2021-01-06 05:01:03 +0100 | alexelcu | (~alexelcu@142.93.180.198) |
2021-01-06 05:01:46 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-06 05:01:55 +0100 | adamwespiser | (~adamwespi@209.6.43.158) (Ping timeout: 246 seconds) |
2021-01-06 05:02:58 +0100 | Tops2 | (~Tobias@dyndsl-095-033-094-030.ewe-ip-backbone.de) (Ping timeout: 246 seconds) |
2021-01-06 05:03:18 +0100 | zaquest | (~notzaques@5.128.210.178) |
2021-01-06 05:04:32 +0100 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds) |
2021-01-06 05:05:10 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) (Ping timeout: 268 seconds) |
2021-01-06 05:05:27 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Read error: Connection reset by peer) |
2021-01-06 05:05:45 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-06 05:06:03 +0100 | thunderrd | (~thunderrd@183.182.111.131) (*.net *.split) |
2021-01-06 05:12:27 +0100 | thunderrd | (~thunderrd@183.182.111.131) |
2021-01-06 05:19:05 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 05:19:23 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2021-01-06 05:20:15 +0100 | notzmv | (~user@unaffiliated/zmv) |
2021-01-06 05:21:25 +0100 | <jared-w> | Found it: https://cabal.readthedocs.io/en/3.4/cabal-package.html#pkg-field-build-tool-depends |
2021-01-06 05:24:01 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-06 05:24:04 +0100 | <jared-w> | Had to *exhaustively* read the docs for cabal to find this functionality. I thought it was exclusively for a hard-coded set of magical tools (https://cabal.readthedocs.io/en/3.4/cabal-package.html#buildtoolsmap) but there's a single sentence in the documentation that actually lays out that you can use it for the use-case of testing your own binary |
2021-01-06 05:24:41 +0100 | <jared-w> | Writing good docs are hard y'all, don't let anyone tell you otherwise :) |
2021-01-06 05:25:10 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Client Quit) |
2021-01-06 05:25:14 +0100 | <ezzieyguywuf> | jared-w: do you live in the south? |
2021-01-06 05:25:30 +0100 | <ezzieyguywuf> | I don't usually find other folks on irc saying "y'all" |
2021-01-06 05:25:34 +0100 | <ezzieyguywuf> | (other than me) |
2021-01-06 05:27:12 +0100 | <jared-w> | Funnily enough I'm from Portland, OR, which is about as far as you can get from the south lol |
2021-01-06 05:28:30 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-06 05:29:09 +0100 | <ezzieyguywuf> | lol! |
2021-01-06 05:29:12 +0100 | <ezzieyguywuf> | *shrug* |
2021-01-06 05:29:39 +0100 | spopejoy | (~stuart@ool-44c5f8c9.dyn.optonline.net) (Quit: spopejoy) |
2021-01-06 05:32:07 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-06 05:35:39 +0100 | troydm | (~troydm@unaffiliated/troydm) (Quit: What is Hope? That all of your wishes and all of your dreams come true? To turn back time because things were not supposed to happen like that (C) Rau Le Creuset) |
2021-01-06 05:36:46 +0100 | troydm | (~troydm@unaffiliated/troydm) |
2021-01-06 05:46:45 +0100 | adamwespiser | (~adamwespi@209.6.43.158) |
2021-01-06 05:47:15 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 256 seconds) |
2021-01-06 05:47:25 +0100 | MrMobius | (~MrMobius@208.58.206.154) |
2021-01-06 05:48:21 +0100 | <MrMobius> | hi, im trying to install haskell for windows. I installed chocolatey but get the error "String cannot be of zero length." when I try to install haskell-dev. any idea what I can do? |
2021-01-06 05:49:37 +0100 | <ezzieyguywuf> | MrMobius: have you tried ghcup? |
2021-01-06 05:50:12 +0100 | <MrMobius> | ezzieyguywuf, no, this is all ive tried |
2021-01-06 05:50:56 +0100 | adamwespiser | (~adamwespi@209.6.43.158) (Ping timeout: 240 seconds) |
2021-01-06 05:51:01 +0100 | <ezzieyguywuf> | MrMobius: I think ghcup is typically the recommended method of installation |
2021-01-06 05:51:32 +0100 | <MrMobius> | ezzieyguywuf, looks like its for the linux subsystem not windows |
2021-01-06 05:52:56 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-06 05:53:54 +0100 | spopejoy | (~stuart@ool-44c5f8c9.dyn.optonline.net) |
2021-01-06 05:53:56 +0100 | <ezzieyguywuf> | MrMobius: hrm, i guess you're right |
2021-01-06 05:54:17 +0100 | <ezzieyguywuf> | MrMobius: ah, I think I had issues installing, or didn't want to use chocolatey or something, and ended up using stack instead |
2021-01-06 05:54:43 +0100 | <ezzieyguywuf> | MrMobius: https://docs.haskellstack.org/en/stable/install_and_upgrade/ |
2021-01-06 05:54:48 +0100 | ransom | (~c4264035@2a09:bac0:72::82f:c34) (Read error: Connection reset by peer) |
2021-01-06 05:54:55 +0100 | ransom_ | (~c4264035@8.47.12.52) |
2021-01-06 05:55:23 +0100 | spopejoy | (~stuart@ool-44c5f8c9.dyn.optonline.net) (Client Quit) |
2021-01-06 05:57:02 +0100 | jduhamel | (~textual@bras-base-toroon4664w-grc-16-184-145-103-248.dsl.bell.ca) (Ping timeout: 256 seconds) |
2021-01-06 06:00:10 +0100 | sgibber2018 | (~arch-gibb@208.85.237.144) |
2021-01-06 06:00:11 +0100 | <MrMobius> | ezzieyguywuf, and I should be able to compile with just stack? |
2021-01-06 06:00:52 +0100 | <ezzieyguywuf> | MrMobius: absolutely, stack will provide you with ghc and cabal-install, which are really the only two building blocks you should need to do anything with haskell |
2021-01-06 06:01:00 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-06 06:01:09 +0100 | Sheilong | (uid293653@gateway/web/irccloud.com/x-mfwhrfcnbyerpdae) () |
2021-01-06 06:01:20 +0100 | <ezzieyguywuf> | MrMobius: however, to make life easier, since you'll be using stack, you should do things 'the stack way', i.e. 'stack build' instead of 'cabal build', etc... |
2021-01-06 06:02:34 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Ping timeout: 260 seconds) |
2021-01-06 06:02:56 +0100 | dfeuer | (~dfeuer@pool-108-18-223-60.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
2021-01-06 06:05:37 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds) |
2021-01-06 06:05:47 +0100 | Tario | (~Tario@201.192.165.173) (Ping timeout: 260 seconds) |
2021-01-06 06:06:49 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-06 06:07:00 +0100 | Tops21 | (~Tobias@dyndsl-095-033-094-030.ewe-ip-backbone.de) (Read error: Connection reset by peer) |
2021-01-06 06:09:28 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Remote host closed the connection) |
2021-01-06 06:11:34 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds) |
2021-01-06 06:17:23 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Ping timeout: 265 seconds) |
2021-01-06 06:18:40 +0100 | DataComputist | (~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) |
2021-01-06 06:20:28 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 06:23:01 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
2021-01-06 06:23:49 +0100 | ransom | (~c4264035@70-59-22-250.hlrn.qwest.net) |
2021-01-06 06:24:19 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 06:24:59 +0100 | DTZUZU | (~DTZUZU@205.ip-149-56-132.net) |
2021-01-06 06:25:07 +0100 | ransom_ | (~c4264035@8.47.12.52) (Ping timeout: 265 seconds) |
2021-01-06 06:26:18 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds) |
2021-01-06 06:26:55 +0100 | <MrMobius> | hmm, I dont think I understand how this works |
2021-01-06 06:27:38 +0100 | <MrMobius> | "stack ghci" gets me to a Prelude prompt but "2+2" shows nothing then changes the Prelude prompt to the test project I tried to build |
2021-01-06 06:27:39 +0100 | guest15 | (~user@49.5.6.87) (Read error: Connection reset by peer) |
2021-01-06 06:27:48 +0100 | guest15 | (~user@49.5.6.87) |
2021-01-06 06:28:03 +0100 | <MrMobius> | pressing enter changes the prompt between Prelude and the project name seemingly at random. is this right? |
2021-01-06 06:28:46 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-06 06:29:28 +0100 | christo | (~chris@81.96.113.213) |
2021-01-06 06:29:32 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
2021-01-06 06:30:53 +0100 | <sm[m]> | no |
2021-01-06 06:33:45 +0100 | arahael | (~arahael@61.68.75.69) |
2021-01-06 06:33:49 +0100 | christo | (~chris@81.96.113.213) (Ping timeout: 264 seconds) |
2021-01-06 06:34:21 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-06 06:35:10 +0100 | <MrMobius> | https://pastebin.com/iBLLaYJK |
2021-01-06 06:35:13 +0100 | sm2n_ | sm2n |
2021-01-06 06:39:53 +0100 | <sm[m]> | MrMobius: that seems very messed up |
2021-01-06 06:39:53 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds) |
2021-01-06 06:40:14 +0100 | <sm[m]> | stack --version ? What kind of window are you running in ? |
2021-01-06 06:40:39 +0100 | <MrMobius> | Version 2.5.1, Git revision d6ab861544918185236cf826cb2028abb266d6d5 x86_64 hpack-0.33.0 |
2021-01-06 06:41:00 +0100 | <MrMobius> | windows 10, running at command line as administrator |
2021-01-06 06:41:17 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) |
2021-01-06 06:41:31 +0100 | <sm[m]> | does stack exec -- ghci work any better ? |
2021-01-06 06:42:18 +0100 | <MrMobius> | sm[m], same behavior |
2021-01-06 06:42:28 +0100 | christo | (~chris@81.96.113.213) |
2021-01-06 06:42:51 +0100 | <sm[m]> | perhaps there's something related in the stack issue tracker |
2021-01-06 06:43:59 +0100 | <MrMobius> | heh maybe |
2021-01-06 06:44:09 +0100 | <MrMobius> | not off to a good start learning haskell lol |
2021-01-06 06:44:39 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-01-06 06:44:53 +0100 | <ezzieyguywuf> | MrMobius: :( |
2021-01-06 06:45:18 +0100 | <sm[m]> | Not one we've heard before in here |
2021-01-06 06:45:26 +0100 | <sm[m]> | this issue |
2021-01-06 06:45:49 +0100 | <ezzieyguywuf> | I've succesfully installed stack on windows and used the repl, but I can't say I've used it extensively as I mostly do my dev on linux |
2021-01-06 06:46:03 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-01-06 06:46:22 +0100 | <sm[m]> | any chance you have another ghci running ? "Have you trying rebooting windows" ? |
2021-01-06 06:47:56 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 06:49:10 +0100 | monochrom | (trebla@216.138.220.146) (Quit: NO CARRIER) |
2021-01-06 06:49:24 +0100 | <MrMobius> | no other ghci running |
2021-01-06 06:49:29 +0100 | <MrMobius> | ill try a restart |
2021-01-06 06:49:42 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 06:50:37 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 264 seconds) |
2021-01-06 06:50:37 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-faovxbrouyrpmypw) |
2021-01-06 06:51:39 +0100 | <rajivr> | Would it be okay to ask category theory related question here? |
2021-01-06 06:52:54 +0100 | <koz_> | rajivr: You can try, but there may not be folks who can field it. |
2021-01-06 06:56:15 +0100 | <rajivr> | Thanks koz_ In this https://i.imgur.com/3Gr9Nu5.png diagram, Is the Hom-set(X,Y) just {f} , or is it {f, f o id_x}? |
2021-01-06 06:57:07 +0100 | <dolio> | f . id = f |
2021-01-06 06:57:30 +0100 | <dolio> | So those are the same set. |
2021-01-06 06:57:58 +0100 | monochrom | (trebla@216.138.220.146) |
2021-01-06 06:58:49 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 06:59:13 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) |
2021-01-06 06:59:33 +0100 | <rajivr> | dan64: That's correct. :-) Thanks. for some reason, I missed thinking along that line. |
2021-01-06 07:00:37 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds) |
2021-01-06 07:02:38 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: Lost terminal) |
2021-01-06 07:06:02 +0100 | notzmv | (~user@unaffiliated/zmv) (Ping timeout: 264 seconds) |
2021-01-06 07:11:27 +0100 | <sm[m]> | well MrMobius ? |
2021-01-06 07:16:22 +0100 | <koz_> | sm[m]: Still rebooting Windows probbo. |
2021-01-06 07:18:23 +0100 | rmk236 | (~lcampos@ip-37-201-210-153.hsi13.unitymediagroup.de) |
2021-01-06 07:20:06 +0100 | <sm[m]> | thought it was a bit quicker these days |
2021-01-06 07:21:14 +0100 | <koz_> | Depends on how much money you wanna throw at hardware to fix it, and what else you're running. |
2021-01-06 07:23:04 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds) |
2021-01-06 07:24:34 +0100 | rmk236 | (~lcampos@ip-37-201-210-153.hsi13.unitymediagroup.de) (Ping timeout: 272 seconds) |
2021-01-06 07:25:13 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-06 07:25:17 +0100 | rmk236 | (~lcampos@2a02:908:3616:b100:ad41:f5e6:8b3a:bfc3) |
2021-01-06 07:27:49 +0100 | nyd | (~nyd@unaffiliated/elysian) |
2021-01-06 07:28:49 +0100 | rmk236 | (~lcampos@2a02:908:3616:b100:ad41:f5e6:8b3a:bfc3) (Remote host closed the connection) |
2021-01-06 07:30:54 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds) |
2021-01-06 07:31:43 +0100 | takuan | (~takuan@178-116-218-225.access.telenet.be) |
2021-01-06 07:32:45 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-06 07:46:05 +0100 | ransom | (~c4264035@70-59-22-250.hlrn.qwest.net) (Ping timeout: 240 seconds) |
2021-01-06 07:47:08 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 07:47:53 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2021-01-06 07:48:06 +0100 | adamwespiser | (~adamwespi@209.6.43.158) |
2021-01-06 07:50:25 +0100 | nineonine | (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
2021-01-06 07:52:13 +0100 | ransom | (~c4264035@2a09:bac0:72::82f:c34) |
2021-01-06 07:52:21 +0100 | ransom | (~c4264035@2a09:bac0:72::82f:c34) (Client Quit) |
2021-01-06 07:52:22 +0100 | adamwespiser | (~adamwespi@209.6.43.158) (Ping timeout: 246 seconds) |
2021-01-06 07:53:37 +0100 | phasespace | (~sar@89-162-33-21.fiber.signal.no) (Ping timeout: 264 seconds) |
2021-01-06 07:56:35 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) (Quit: Jd007) |
2021-01-06 08:01:01 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-06 08:03:49 +0100 | thunderrd | (~thunderrd@183.182.111.131) (Ping timeout: 264 seconds) |
2021-01-06 08:04:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 08:05:19 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2021-01-06 08:05:38 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2021-01-06 08:10:25 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds) |
2021-01-06 08:12:34 +0100 | dirediresalt | (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
2021-01-06 08:12:43 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz) |
2021-01-06 08:14:15 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 08:14:30 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-06 08:17:45 +0100 | thunderrd | (~thunderrd@183.182.115.136) |
2021-01-06 08:17:59 +0100 | <jared-w> | GHC 8.8.4 is p'screwed on windows. Ideally you should be using GHC 8.10.3 https://www.stackage.org/nightly-2021-01-05 |
2021-01-06 08:18:33 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 256 seconds) |
2021-01-06 08:18:34 +0100 | phasespace | (~sar@80-89-47-117.inet.signal.no) |
2021-01-06 08:18:58 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) |
2021-01-06 08:19:28 +0100 | <jared-w> | Try running `stack --resolver nightly-2021-01-05 ghci` |
2021-01-06 08:19:49 +0100 | graf_blutwurst | (~user@2001:171b:226e:adc0:fc0a:8b21:4a12:4e1f) |
2021-01-06 08:22:38 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) |
2021-01-06 08:23:31 +0100 | <gentauro> | jared-w: ideally? how about no |
2021-01-06 08:23:44 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) (Client Quit) |
2021-01-06 08:23:46 +0100 | <gentauro> | people should be using the latest LTS |
2021-01-06 08:23:57 +0100 | <jared-w> | You're right, "ideally" is a bad choice of words |
2021-01-06 08:24:14 +0100 | <gentauro> | nightly should just be used by people that want to help find issues |
2021-01-06 08:24:49 +0100 | emptyflask | (~jon@136.49.71.178) (Ping timeout: 264 seconds) |
2021-01-06 08:25:10 +0100 | emptyflask | (~jon@136.49.71.178) |
2021-01-06 08:25:18 +0100 | <jared-w> | That said, the entire GHC 8.8 series has a fairly persistent set of issues for windows support. So normally I'd say use the latest LTS, but given that MrMobius is on Windows, that's not going to pan out well for them |
2021-01-06 08:25:54 +0100 | <jared-w> | (and nightly is pretty harmless if you're just trying to get '2+2' working) |
2021-01-06 08:27:11 +0100 | <jared-w> | although it's not as broken as GHC 8.10.2 was for windows :) https://www.stackage.org/blog/2020/08/ghc-8-10-2-windows-workaround |
2021-01-06 08:27:16 +0100 | <gentauro> | jared-w: I have no exp with Haskell on Windows |
2021-01-06 08:27:31 +0100 | <gentauro> | but I would still think that using nightly could only make things worse? |
2021-01-06 08:27:49 +0100 | <gentauro> | as mentioned before all issues that could appear would make the UX less pleasant |
2021-01-06 08:27:55 +0100 | <gentauro> | (thant it already is?) |
2021-01-06 08:28:11 +0100 | <gentauro> | maybe people on Windows should just use Haskell with the WSL |
2021-01-06 08:28:52 +0100 | <jared-w> | The sole purpose of the nightly here is to get access to the ghc 8.10.3 compiler. A beginner isn't going to try and use a nightly stackage with 47 libraries + GHC plugins and weird esoteric config setups, they usually just want to try a few hello world examples and use the prelude. Nightly is fine for that (and honestly fine for a lot of other things too) |
2021-01-06 08:30:02 +0100 | emptyflask | (~jon@136.49.71.178) (Ping timeout: 256 seconds) |
2021-01-06 08:32:01 +0100 | <gentauro> | a beginner should have a pleasent experience when trying a new language. The `bad-old-days` with the `cabal-hell` are over. We should never revert to that again (cabal-hell was the reason I didn't spend that much time with Haskell during my uni years) |
2021-01-06 08:32:25 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-06 08:32:48 +0100 | Boomerang | (~Boomerang@2a05:f6c7:2179:0:8da5:2e46:f1e1:ab48) |
2021-01-06 08:32:54 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-06 08:33:35 +0100 | <jared-w> | people on windows should use chocolatey if possible. It makes a lot of things easier and Tamar puts a *lot* of work into smoothing over UI/UX issues with it. https://hub.zhox.com/posts/introducing-haskell-dev/ (although a bit ironically, `haskell-dev` isn't really maintained much and you should just use `choco install ghc` and call it a day; it'll work much more reliably) |
2021-01-06 08:36:24 +0100 | <jared-w> | gentauro: right, which is why I'm a bit puzzled at the suggestion to use the LTS of stack instead of GHC 8.10.3 which is more stable and usable for windows users. Larger and more consistent package-set compatibility doesn't make much sense if you can't get 2+2 to work in a repl |
2021-01-06 08:37:40 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) |
2021-01-06 08:38:42 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) (Client Quit) |
2021-01-06 08:41:29 +0100 | <gentauro> | like I say, I can't provide any specific input with regard of Windows 10 since I have never done any Haskell dev there. My comments were just on a high-level |
2021-01-06 08:43:04 +0100 | StoneToad | (~StoneToad@104-192-232-50.ppp.storm.ca) (Ping timeout: 256 seconds) |
2021-01-06 08:43:42 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 08:45:13 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Ping timeout: 264 seconds) |
2021-01-06 08:46:53 +0100 | dandels | (~dandels@unaffiliated/dandels) |
2021-01-06 08:48:35 +0100 | StoneToad | (~StoneToad@104-192-232-4.ppp.storm.ca) |
2021-01-06 08:55:15 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-01-06 08:59:23 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds) |
2021-01-06 09:00:03 +0100 | adamwespiser | (~adamwespi@209.6.43.158) |
2021-01-06 09:01:44 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:ad75:1255:fdff:5733) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-06 09:04:05 +0100 | adamwespiser | (~adamwespi@209.6.43.158) (Ping timeout: 240 seconds) |
2021-01-06 09:06:47 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
2021-01-06 09:15:43 +0100 | ps-auxw | (~arneb@p548d571d.dip0.t-ipconnect.de) (Ping timeout: 256 seconds) |
2021-01-06 09:17:07 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) (Remote host closed the connection) |
2021-01-06 09:17:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) |
2021-01-06 09:17:46 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
2021-01-06 09:18:53 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) |
2021-01-06 09:19:56 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) (Client Quit) |
2021-01-06 09:20:36 +0100 | eager_lambda | (~gdrvnl@cpe-76-94-36-134.socal.res.rr.com) (Ping timeout: 240 seconds) |
2021-01-06 09:21:22 +0100 | ps-auxw | (~arneb@p548c6e54.dip0.t-ipconnect.de) |
2021-01-06 09:22:14 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) (Ping timeout: 264 seconds) |
2021-01-06 09:24:43 +0100 | eager_lambda | (~gdrvnl@cpe-76-94-36-134.socal.res.rr.com) |
2021-01-06 09:27:59 +0100 | plutoniix | (~q@184.82.196.105) (Quit: Leaving) |
2021-01-06 09:30:09 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 09:33:11 +0100 | plutoniix | (~q@184.82.196.105) |
2021-01-06 09:34:00 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) |
2021-01-06 09:34:14 +0100 | argento | (~argent0@168.227.96.26) (Remote host closed the connection) |
2021-01-06 09:34:55 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-06 09:37:01 +0100 | StoneToad | (~StoneToad@104-192-232-4.ppp.storm.ca) (Ping timeout: 246 seconds) |
2021-01-06 09:38:11 +0100 | adamwespiser | (~adamwespi@209.6.43.158) |
2021-01-06 09:42:37 +0100 | adamwespiser | (~adamwespi@209.6.43.158) (Ping timeout: 246 seconds) |
2021-01-06 09:42:48 +0100 | nineonin_ | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-06 09:45:12 +0100 | chele | (~chele@ip5b40237d.dynamic.kabel-deutschland.de) |
2021-01-06 09:46:31 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 09:48:59 +0100 | <DigitalKiwi> | who is this person that's taking over all of the haskell repos D: |
2021-01-06 09:50:30 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) (Quit: My MacBook Pro has gone to sleep. ZZZzzz…) |
2021-01-06 09:50:45 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 240 seconds) |
2021-01-06 09:50:49 +0100 | <DigitalKiwi> | https://mostlyabsurd.com/files/2021-01-06-085019_1088x206_scrot.png |
2021-01-06 09:51:55 +0100 | <dminuoso> | DigitalKiwi: "recipe" what is this from? |
2021-01-06 09:52:55 +0100 | <DigitalKiwi> | is this haskells Event-Stream incident D: |
2021-01-06 09:53:07 +0100 | <DigitalKiwi> | doom-emacs |
2021-01-06 09:53:28 +0100 | <dminuoso> | That seems like a doom-emacs problem? |
2021-01-06 09:54:11 +0100 | <DigitalKiwi> | i mean it'd be more of a problem if it just changed it without asking me :P |
2021-01-06 09:54:40 +0100 | lordyod | (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) |
2021-01-06 09:55:00 +0100 | olban | (~olban@213.152.162.154) |
2021-01-06 09:55:28 +0100 | DigitalKiwi | wonders who even has lpaste.com domain anymore |
2021-01-06 09:57:04 +0100 | hwabyong | (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (Ping timeout: 260 seconds) |
2021-01-06 09:57:35 +0100 | <DigitalKiwi> | How to proceed? (1, 2, 3, 4, 5) 4 |
2021-01-06 09:57:36 +0100 | <DigitalKiwi> | Really delete remote "origin"? (y or n) y |
2021-01-06 09:57:37 +0100 | <DigitalKiwi> | rip |
2021-01-06 10:05:43 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) (Ping timeout: 246 seconds) |
2021-01-06 10:11:51 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) |
2021-01-06 10:12:13 +0100 | dandels | (~dandels@unaffiliated/dandels) (Ping timeout: 264 seconds) |
2021-01-06 10:12:45 +0100 | <tomsmeding> | lpaste.com seems to be for sale DigitalKiwi |
2021-01-06 10:12:58 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) (Client Quit) |
2021-01-06 10:13:10 +0100 | <tomsmeding> | if you're ready to plunk down $5.5k it's yours :p |
2021-01-06 10:13:15 +0100 | <DigitalKiwi> | oh |
2021-01-06 10:13:49 +0100 | hwabyong | (~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) |
2021-01-06 10:14:03 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 10:14:51 +0100 | LKoen | (~LKoen@174.175.9.109.rev.sfr.net) |
2021-01-06 10:15:06 +0100 | Deide | (~Deide@217.155.19.23) |
2021-01-06 10:15:24 +0100 | kuribas | (~user@ptr-25vy0i7d7aymgmplx2i.18120a2.ip6.access.telenet.be) |
2021-01-06 10:16:31 +0100 | <DigitalKiwi> | does chris done still have it i tried getting ahold of him when he said he wanted to get rid of it and wanted someone to take it over... |
2021-01-06 10:17:12 +0100 | <DigitalKiwi> | pastebins are kind of my thing i've made 4 of them :| |
2021-01-06 10:17:22 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-01-06 10:17:24 +0100 | <tomsmeding> | probably if godaddy offers the domain for sale, it's not in Chris' posession anymore |
2021-01-06 10:17:35 +0100 | <tomsmeding> | *possession |
2021-01-06 10:18:27 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 10:18:49 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 264 seconds) |
2021-01-06 10:19:13 +0100 | mapperr | (~mapperr@vmi389916.contaboserver.net) (Remote host closed the connection) |
2021-01-06 10:19:51 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-06 10:20:17 +0100 | mapperr | (~mapperr@vmi389916.contaboserver.net) |
2021-01-06 10:20:28 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 10:20:38 +0100 | <tomsmeding> | DigitalKiwi: what did the 'l' stand for in lpaste |
2021-01-06 10:21:11 +0100 | <DigitalKiwi> | it stood for i love paste |
2021-01-06 10:23:54 +0100 | <DigitalKiwi> | lambda i think |
2021-01-06 10:24:27 +0100 | <DigitalKiwi> | also known as the haskell logo |
2021-01-06 10:24:37 +0100 | <merijn> | We used to have hpaste, but that domain got lost |
2021-01-06 10:24:48 +0100 | <merijn> | So lpaste was registered as new domain for it |
2021-01-06 10:25:20 +0100 | <DigitalKiwi> | and there are still clients on hackage that point to them heh |
2021-01-06 10:25:25 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 264 seconds) |
2021-01-06 10:26:14 +0100 | <idnar> | @type \f -> fmap (fmap f) |
2021-01-06 10:26:16 +0100 | <lambdabot> | (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b) |
2021-01-06 10:27:00 +0100 | <idnar> | @hoogle (Functor f1, Functor f2) => (a -> b) -> f1 (f2 a) -> f1 (f2 b) |
2021-01-06 10:27:01 +0100 | <lambdabot> | Protolude (<<$>>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b) |
2021-01-06 10:27:01 +0100 | <lambdabot> | Protolude.Functor (<<$>>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b) |
2021-01-06 10:27:01 +0100 | <lambdabot> | Relude.Functor.Fmap (<<$>>) :: (Functor f, Functor g) => (a -> b) -> f (g a) -> f (g b) |
2021-01-06 10:27:48 +0100 | <DigitalKiwi> | my first paste client was luapaste and lpaste was haskell and now my latest paste client is haskell... |
2021-01-06 10:28:30 +0100 | <kuribas> | merijn: I just figured that you don't need to use typeclasses for GADT parsing. You can just make a different parser for each (polymorphic) type. |
2021-01-06 10:28:50 +0100 | <kuribas> | merijn: then you don't need to make an instance for every type. |
2021-01-06 10:28:56 +0100 | <kuribas> | just for the types in the GADT :) |
2021-01-06 10:29:35 +0100 | <idnar> | @type \f g x -> (f x, g x) |
2021-01-06 10:29:37 +0100 | <lambdabot> | (t -> a) -> (t -> b) -> t -> (a, b) |
2021-01-06 10:30:01 +0100 | <idnar> | @hoogle (t -> a) -> (t -> b) -> t -> (a, b) |
2021-01-06 10:30:04 +0100 | <lambdabot> | Data.Tuple.Extra (&&&) :: (a -> b) -> (a -> c) -> a -> (b, c) |
2021-01-06 10:30:04 +0100 | <lambdabot> | Extra (&&&) :: (a -> b) -> (a -> c) -> a -> (b, c) |
2021-01-06 10:30:04 +0100 | <lambdabot> | Control.Wire.Core (&&&!) :: (a -> b) -> (a -> c) -> (a -> (b, c)) |
2021-01-06 10:30:21 +0100 | <idnar> | ah |
2021-01-06 10:33:20 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds) |
2021-01-06 10:34:31 +0100 | pjb | (~t@2a01cb04063ec500d400c5fa56f501d7.ipv6.abo.wanadoo.fr) (Read error: Connection reset by peer) |
2021-01-06 10:35:33 +0100 | xff0x | (~fox@2001:1a81:52e0:100:232f:c24f:d201:6316) (Ping timeout: 260 seconds) |
2021-01-06 10:36:24 +0100 | xff0x | (~fox@2001:1a81:52e0:100:91d9:e205:a56c:7d48) |
2021-01-06 10:37:00 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-flblofqkdcnkmtsc) (Quit: Connection closed for inactivity) |
2021-01-06 10:39:09 +0100 | <kuribas> | hmm, but then I need to specialize each polymorphic parser... |
2021-01-06 10:43:05 +0100 | Tuplanolla | (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) |
2021-01-06 10:47:28 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Remote host closed the connection) |
2021-01-06 10:52:16 +0100 | L29Ah | (~L29Ah@unaffiliated/l29ah) |
2021-01-06 10:52:21 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Remote host closed the connection) |
2021-01-06 10:55:45 +0100 | dh_ | (dh@bsd.ee) (Quit: "Fhtagn-Nagh Yog Sothoth") |
2021-01-06 10:55:58 +0100 | dh | (dh@bsd.ee) |
2021-01-06 10:58:46 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 10:59:26 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 10:59:51 +0100 | <kuribas> | merijn: I think if I use this solution, I would make some TH to automate most of it. |
2021-01-06 11:00:17 +0100 | nucranium | (~nucranium@2a02:8010:6173:0:24ec:3ce1:39cf:bba2) |
2021-01-06 11:00:53 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception) |
2021-01-06 11:01:10 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 11:02:17 +0100 | tomsmeding | shudders |
2021-01-06 11:03:44 +0100 | MidAutumnHotaru | (~MidAutumn@154.91.197.93) (Quit: Quit 啾) |
2021-01-06 11:04:03 +0100 | MidAutumnHotaru | (~MidAutumn@154.91.197.93) |
2021-01-06 11:04:06 +0100 | jmchael | (~jmchael@81.174.205.210) |
2021-01-06 11:05:52 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds) |
2021-01-06 11:08:03 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:8314:3772:eb7f:91f1:698c) |
2021-01-06 11:08:14 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:ad75:1255:fdff:5733) |
2021-01-06 11:17:11 +0100 | mirrorbird | (~psutcliff@2a00:801:42b:8314:3772:eb7f:91f1:698c) (Quit: Leaving) |
2021-01-06 11:18:05 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 11:19:45 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 11:19:58 +0100 | LKoen | (~LKoen@174.175.9.109.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”) |
2021-01-06 11:23:38 +0100 | MidAutumnHotaru | (~MidAutumn@154.91.197.93) (Changing host) |
2021-01-06 11:23:38 +0100 | MidAutumnHotaru | (~MidAutumn@unaffiliated/midautumnhotaru) |
2021-01-06 11:24:07 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 246 seconds) |
2021-01-06 11:25:07 +0100 | nyd | (~nyd@unaffiliated/elysian) (Ping timeout: 272 seconds) |
2021-01-06 11:26:38 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) |
2021-01-06 11:26:47 +0100 | nyd | (~nyd@unaffiliated/elysian) |
2021-01-06 11:33:34 +0100 | knupfer | (~Thunderbi@200116b824b6e0005ccc25fffe64feee.dip.versatel-1u1.de) |
2021-01-06 11:35:58 +0100 | knupfer | (~Thunderbi@200116b824b6e0005ccc25fffe64feee.dip.versatel-1u1.de) (Remote host closed the connection) |
2021-01-06 11:36:00 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 11:36:07 +0100 | knupfer | (~Thunderbi@200116b824b6e0000cca6c8e98481b40.dip.versatel-1u1.de) |
2021-01-06 11:36:31 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
2021-01-06 11:38:44 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds) |
2021-01-06 11:39:28 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) |
2021-01-06 11:40:13 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 246 seconds) |
2021-01-06 11:47:53 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 11:49:07 +0100 | thc202 | (~thc202@unaffiliated/thc202) |
2021-01-06 11:49:25 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 264 seconds) |
2021-01-06 11:51:29 +0100 | sgibber2018 | (~arch-gibb@208.85.237.144) (Quit: WeeChat 3.0) |
2021-01-06 11:51:38 +0100 | <kuribas> | tomsmeding: hmm, I was just thinking how it makes more sense to store the type together with the expression. |
2021-01-06 11:51:58 +0100 | <kuribas> | tomsmeding: so to serialize (TypeOf a, Expr a) |
2021-01-06 11:52:52 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Ping timeout: 260 seconds) |
2021-01-06 11:52:53 +0100 | <kuribas> | tomsmeding: that solves the problem of backtracking. |
2021-01-06 11:53:30 +0100 | <kuribas> | and actually makes more sense. Because storing an polymorphic expression is not that useful, at least not for what I need it. |
2021-01-06 11:53:39 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2021-01-06 11:55:15 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 11:55:37 +0100 | __monty__ | (~toonn@unaffiliated/toonn) |
2021-01-06 11:55:39 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 11:56:00 +0100 | fendor | (~fendor@91.141.3.164.wireless.dyn.drei.com) |
2021-01-06 11:56:23 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-01-06 11:56:25 +0100 | <kuribas> | So basically data SomeExpr where SomeExpr :: TypeOf a -> Expr a -> SomeExpr |
2021-01-06 12:00:13 +0100 | adamwespiser | (~adamwespi@209.6.43.158) |
2021-01-06 12:00:22 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-06 12:00:42 +0100 | adamwesp_ | (~adamwespi@107.181.19.30) |
2021-01-06 12:00:43 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 12:01:46 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 12:02:15 +0100 | Kenshi | (2eee1718@46.238.23.24) |
2021-01-06 12:03:30 +0100 | Gurkenglas | (~Gurkengla@unaffiliated/gurkenglas) |
2021-01-06 12:03:57 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 260 seconds) |
2021-01-06 12:04:23 +0100 | daGrevis | (~daGrevis@unaffiliated/dagrevis) (Read error: Connection reset by peer) |
2021-01-06 12:04:43 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Ping timeout: 246 seconds) |
2021-01-06 12:04:49 +0100 | adamwespiser | (~adamwespi@209.6.43.158) (Ping timeout: 260 seconds) |
2021-01-06 12:07:07 +0100 | knupfer | (~Thunderbi@200116b824b6e0000cca6c8e98481b40.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2021-01-06 12:07:10 +0100 | daGrevis | (~daGrevis@unaffiliated/dagrevis) |
2021-01-06 12:08:18 +0100 | geowiesnot | (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds) |
2021-01-06 12:09:38 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 12:13:46 +0100 | <tomsmeding> | kuribas: if you use a generic Some datatype, e.g. the one in https://hackage.haskell.org/package/some, you can do Some (Product TypeOf Expr), where Product is from Data.Functor.Product |
2021-01-06 12:14:08 +0100 | <tomsmeding> | not saying that's better though :p |
2021-01-06 12:14:37 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 264 seconds) |
2021-01-06 12:14:45 +0100 | <kuribas> | tomsmeding: but that doesn't store the output type. |
2021-01-06 12:14:46 +0100 | <tomsmeding> | but yes, if it makes sense it's probably easier to store the type with it |
2021-01-06 12:14:59 +0100 | <tomsmeding> | hm? |
2021-01-06 12:15:05 +0100 | <tomsmeding> | it's equivalent to your SomeExpr |
2021-01-06 12:15:37 +0100 | <kuribas> | tomsmeding: no, because my SomeExpr stores the type |
2021-01-06 12:15:58 +0100 | <tomsmeding> | data Product f g a = Product (f a) (g a) |
2021-01-06 12:16:13 +0100 | <tomsmeding> | hence Product TypeOf Expr a = Product (TypeOf a) (Expr a) |
2021-01-06 12:16:26 +0100 | <kuribas> | ah I see |
2021-01-06 12:16:26 +0100 | <tomsmeding> | it's equivalent to your SomeExpr, I don't see the difference? |
2021-01-06 12:16:52 +0100 | <kuribas> | yes, with Product it is isomorphic |
2021-01-06 12:17:04 +0100 | <tomsmeding> | oh sorry the data constructor is Pair, not Product |
2021-01-06 12:17:09 +0100 | <kuribas> | but what does that give me over defining my own? |
2021-01-06 12:17:14 +0100 | <tomsmeding> | nothing :) |
2021-01-06 12:17:34 +0100 | <tomsmeding> | well, one custom datatype less |
2021-01-06 12:17:39 +0100 | <tomsmeding> | but a custom datatype might be useful too |
2021-01-06 12:17:47 +0100 | <tomsmeding> | so 🤷 |
2021-01-06 12:18:21 +0100 | <kuribas> | one less custom datatype, one more package dependency :-P |
2021-01-06 12:18:26 +0100 | <tomsmeding> | very very true |
2021-01-06 12:18:53 +0100 | <tomsmeding> | also, storing the output type solves the backtracking for your AST, since every argument type is fully determined by the output type for your constructors |
2021-01-06 12:19:10 +0100 | <tomsmeding> | as soon as you'd add a constructor for which that doesn't hold, the backtracking is back |
2021-01-06 12:19:42 +0100 | <kuribas> | indeed :) |
2021-01-06 12:20:30 +0100 | maralorn | (maralornma@gateway/shell/matrix.org/x-wfwnvstmnifltoqx) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:30 +0100 | jesser[m] | (jessermatr@gateway/shell/matrix.org/x-fzvpwsyxxfsxfljc) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:30 +0100 | alexfmpe | (alexfmpema@gateway/shell/matrix.org/x-gowqrzcegnrjuszh) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:30 +0100 | Ericson2314 | (ericson231@gateway/shell/matrix.org/x-gsevokzxekchjacg) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:30 +0100 | domenkozar[m] | (domenkozar@NixOS/user/domenkozar) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:31 +0100 | jtojnar | (jtojnarmat@gateway/shell/matrix.org/x-fmmuispbmxgnkzny) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:31 +0100 | rednaZ[m] | (r3dnazmatr@gateway/shell/matrix.org/x-hfgocjsopdawrtek) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:31 +0100 | fgaz | (fgazmatrix@gateway/shell/matrix.org/x-yxipcpeduqjuvcow) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:32 +0100 | dyniec[m] | (dyniecmatr@gateway/shell/matrix.org/x-qfhwjklxapmkgusb) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:32 +0100 | hsiktas[m] | (hsiktasmat@gateway/shell/matrix.org/x-glefifefdwscjcqe) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:32 +0100 | doct0rhu[m] | (doct0rhumo@gateway/shell/matrix.org/x-sarufxwodykorttc) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:32 +0100 | ThaEwat | (thaewraptm@gateway/shell/matrix.org/x-ufbnzjraelhohfix) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:32 +0100 | jkaye[m] | (jkayematri@gateway/shell/matrix.org/x-mmksapnwkzwrlfaf) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:33 +0100 | pqwy[m] | (pqwymatrix@gateway/shell/matrix.org/x-eixrfqgyidlvnkll) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:33 +0100 | noIOBeforeBedtim | (dissatisfi@gateway/shell/matrix.org/x-cbrqqmkjyuflpaya) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:33 +0100 | PotatoHatsue | (berbermanp@gateway/shell/matrix.org/x-zegdpocllywoosgz) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:34 +0100 | cnmne[m] | (cnmnematri@gateway/shell/matrix.org/x-hcmqjrvmyelkqweq) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:34 +0100 | theduke | (thedukem1@gateway/shell/matrix.org/x-phrgqvuukcgbupcm) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:34 +0100 | berberman[T] | (berberma4@gateway/shell/matrix.org/x-hsuypygvacyqzwmq) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:35 +0100 | jeffcasavant[m] | (jeffcasava@gateway/shell/matrix.org/x-nikrypbvxnsoxboc) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:35 +0100 | michaelpj | (michaelpjm@gateway/shell/matrix.org/x-mfdqiskmtojjlmpd) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:35 +0100 | kadoban | (kadobanmat@gateway/shell/matrix.org/x-rcjrqnbtkevnhgtr) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:35 +0100 | Poscat[m] | (poscatmatr@gateway/shell/matrix.org/x-bvzvvoefeynvfsar) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | sm[m] | (simonmicma@gateway/shell/matrix.org/x-wqdqihhkkwalfrui) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | agentofuser | (agentofuse@gateway/shell/matrix.org/x-dufldhasjoocycnn) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | bsima[m] | (bensimatim@gateway/shell/matrix.org/x-gdhisogubvluiqlm) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | majjoha | (majjohamat@gateway/shell/matrix.org/x-nfknmskoomgvvhht) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | drozdziak1 | (drozdziak1@gateway/shell/matrix.org/x-kopfdlgfyhfmispl) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | VarikValefor[m] | (varikvalef@gateway/shell/matrix.org/x-fktkvdfjumtghkwz) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | stalactite[m] | (stalactite@gateway/shell/matrix.org/x-cboftgeftibsawca) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | Hatsue[m] | (berbermanm@gateway/shell/matrix.org/x-rvoesmgeaopbcbkh) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:36 +0100 | psydruid | (psydruidma@gateway/shell/matrix.org/x-strapbsmwdglzvet) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:37 +0100 | plumenator[m] | (plumenator@gateway/shell/matrix.org/x-wqtlrogjrykbhyan) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:37 +0100 | MrMuffles[m] | (mrmufflesm@gateway/shell/matrix.org/x-xyejpsqzvzaqmmkc) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:37 +0100 | metamod[m] | (metamodmat@gateway/shell/matrix.org/x-lzmujfsacobwjbwo) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:40 +0100 | johnnyboy[m] | (gifumatrix@gateway/shell/matrix.org/x-mpuodigaaerwmayk) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:40 +0100 | Lurkki[m] | (lurkkipriv@gateway/shell/matrix.org/x-djvldaecobwrcdeg) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | falling-edge[m] | (falling-ed@gateway/shell/matrix.org/x-rfbansvrujteeerw) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | siraben | (sirabenmat@gateway/shell/matrix.org/x-dkjvchpaxbrsnvrk) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | Noughtmare[m] | (naughtmare@gateway/shell/matrix.org/x-ctsspavkhlmrbjtt) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | floatingpoint[m] | (floating5@gateway/shell/matrix.org/x-zlmdmugtshzmdqro) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | Vanilla[m] | (danielm_14@gateway/shell/matrix.org/x-dgeqldxyrkfpeufk) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | Lurkki[m]1 | (lurkkifene@gateway/shell/matrix.org/x-jbjjhqmxlbixvnly) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | itai33[m] | (itai33matr@gateway/shell/matrix.org/x-klwkmdlkmfqsikle) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:41 +0100 | lnxw37d4 | (lnxw37d4ma@gateway/shell/matrix.org/x-cfpajotnlvpvilyo) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:43 +0100 | lambdaclan | (lambdaclan@gateway/shell/matrix.org/x-uzlhyhsfgqzaukhe) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:44 +0100 | rab24ack[m] | (rab24ackma@gateway/shell/matrix.org/x-unlxosvvhmxtsapj) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:20:45 +0100 | Wraul[m] | (wraulmatri@gateway/shell/matrix.org/x-bchiszgwyekwoten) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:21:07 +0100 | unclechu | (unclechuma@gateway/shell/matrix.org/x-twjgulyebrjbbbcd) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:21:07 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Quit: andreas303) |
2021-01-06 12:21:09 +0100 | Hanma[m] | (hanmamatri@gateway/shell/matrix.org/x-huiiddwybeabvfvf) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:21:09 +0100 | psamim | (samimpmatr@gateway/shell/matrix.org/x-gsdaohmlsisctzxu) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:21:09 +0100 | materialfuture[m | (materialfu@gateway/shell/matrix.org/x-cwhzlrxokybvzeoj) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:21:09 +0100 | rawles | (~r@unaffiliated/rawles) (Excess Flood) |
2021-01-06 12:21:09 +0100 | srid | (sridmatrix@gateway/shell/matrix.org/x-bgcumtwxpughvykl) (Quit: Bridge terminating on SIGTERM) |
2021-01-06 12:21:17 +0100 | rawles | (~r@unaffiliated/rawles) |
2021-01-06 12:22:03 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-06 12:22:25 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) |
2021-01-06 12:23:16 +0100 | star_cloud | (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 246 seconds) |
2021-01-06 12:23:31 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:ce60) (Client Quit) |
2021-01-06 12:29:43 +0100 | <kuribas> | I also see why using an ADT for an AST is not very useful. |
2021-01-06 12:30:07 +0100 | Ericson2314 | (ericson231@gateway/shell/matrix.org/x-eycjxzyzybmehehh) |
2021-01-06 12:30:11 +0100 | <kuribas> | I mean for storing polymorphic expressions. |
2021-01-06 12:30:25 +0100 | dabr | (~daniel@p50825a42.dip0.t-ipconnect.de) |
2021-01-06 12:31:35 +0100 | <gentauro> | kuribas: how would store an AST if it's not in an ADT? |
2021-01-06 12:32:00 +0100 | <kuribas> | gentauro: sorry, I mean GADT |
2021-01-06 12:32:03 +0100 | <kuribas> | ADT is fine |
2021-01-06 12:32:35 +0100 | <gentauro> | kuribas: fair enough :) |
2021-01-06 12:33:00 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-06 12:34:06 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Ping timeout: 268 seconds) |
2021-01-06 12:34:41 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 12:37:40 +0100 | Alleria | (~textual@mskresolve-a.mskcc.org) |
2021-01-06 12:37:44 +0100 | Saukk | (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection) |
2021-01-06 12:38:04 +0100 | Alleria | Guest20273 |
2021-01-06 12:38:47 +0100 | Kenshi | (2eee1718@46.238.23.24) (Remote host closed the connection) |
2021-01-06 12:38:53 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
2021-01-06 12:38:57 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 246 seconds) |
2021-01-06 12:39:51 +0100 | Ariakenom | (~Ariakenom@2001:9b1:efb:fc00:dc2c:66b9:92e6:b921) |
2021-01-06 12:41:28 +0100 | nyd | (~nyd@unaffiliated/elysian) (Ping timeout: 246 seconds) |
2021-01-06 12:42:32 +0100 | <lortabac> | kuribas: SomeExpr is almost identical to Data.Dynamic.Dynamic |
2021-01-06 12:44:07 +0100 | <kuribas> | lortabac: but a TypeRef cannot be stored, no? |
2021-01-06 12:44:29 +0100 | <kuribas> | TypeRep |
2021-01-06 12:45:00 +0100 | jedws | (~jedws@121.209.189.201) |
2021-01-06 12:45:20 +0100 | <lortabac> | good question |
2021-01-06 12:47:42 +0100 | noop_noob | (31e4c3d3@49.228.195.211) |
2021-01-06 12:48:41 +0100 | ulidtko|k | (~ulidtko@193.111.48.79) |
2021-01-06 12:49:13 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 12:50:17 +0100 | Noughtmare[m] | (naughtmare@gateway/shell/matrix.org/x-elhpevndlmaavbwt) |
2021-01-06 12:50:17 +0100 | alexfmpe | (alexfmpema@gateway/shell/matrix.org/x-byegcjtdnwjrjstz) |
2021-01-06 12:50:17 +0100 | dyniec[m] | (dyniecmatr@gateway/shell/matrix.org/x-dntagevwjtsssopc) |
2021-01-06 12:50:17 +0100 | domenkozar[m] | (domenkozar@NixOS/user/domenkozar) |
2021-01-06 12:50:17 +0100 | fgaz | (fgazmatrix@gateway/shell/matrix.org/x-ilhbhnqcmreoygeu) |
2021-01-06 12:50:17 +0100 | hsiktas[m] | (hsiktasmat@gateway/shell/matrix.org/x-whwokcjaloumigax) |
2021-01-06 12:50:17 +0100 | johnnyboy[m] | (gifumatrix@gateway/shell/matrix.org/x-ddtyjxliegbymllk) |
2021-01-06 12:50:18 +0100 | jesser[m] | (jessermatr@gateway/shell/matrix.org/x-ztgnpizlmfjqozxc) |
2021-01-06 12:50:18 +0100 | jkaye[m] | (jkayematri@gateway/shell/matrix.org/x-ygixxwauoonufenh) |
2021-01-06 12:50:18 +0100 | jtojnar | (jtojnarmat@gateway/shell/matrix.org/x-bqcuakapvvkhqvyh) |
2021-01-06 12:50:18 +0100 | kadoban | (kadobanmat@gateway/shell/matrix.org/x-tvbkdchltyihqohm) |
2021-01-06 12:50:18 +0100 | lambdaclan | (lambdaclan@gateway/shell/matrix.org/x-qnuenoqqycybdvsq) |
2021-01-06 12:50:18 +0100 | lnxw37d4 | (lnxw37d4ma@gateway/shell/matrix.org/x-zcpsgkhlxjrtufan) |
2021-01-06 12:50:18 +0100 | psydruid | (psydruidma@gateway/shell/matrix.org/x-sjzobmayhhdrnyrp) |
2021-01-06 12:50:18 +0100 | rednaZ[m] | (r3dnazmatr@gateway/shell/matrix.org/x-psbwjgmwhnbfxpvd) |
2021-01-06 12:50:18 +0100 | sm[m] | (simonmicma@gateway/shell/matrix.org/x-erpehckoekyivhyz) |
2021-01-06 12:50:18 +0100 | siraben | (sirabenmat@gateway/shell/matrix.org/x-ompxpchgmuwlofwe) |
2021-01-06 12:50:18 +0100 | psamim | (samimpmatr@gateway/shell/matrix.org/x-zcokmttvseaiorus) |
2021-01-06 12:50:18 +0100 | srid | (sridmatrix@gateway/shell/matrix.org/x-kurgtyubfeavcpuk) |
2021-01-06 12:50:18 +0100 | SlackIntegration | (slackbotma@gateway/shell/matrix.org/x-fhaqgxbsmcjmdpgv) |
2021-01-06 12:50:18 +0100 | ThaEwat | (thaewraptm@gateway/shell/matrix.org/x-zzghdaahzrfpgpjd) |
2021-01-06 12:50:18 +0100 | theduke | (thedukem1@gateway/shell/matrix.org/x-hegbybueqtkglolp) |
2021-01-06 12:50:18 +0100 | unclechu | (unclechuma@gateway/shell/matrix.org/x-hiknotexkoisqxxl) |
2021-01-06 12:50:18 +0100 | rab24ack[m] | (rab24ackma@gateway/shell/matrix.org/x-iypkxumuyyhmektk) |
2021-01-06 12:50:19 +0100 | pqwy[m] | (pqwymatrix@gateway/shell/matrix.org/x-yrqbzcfvvgvhihqp) |
2021-01-06 12:50:19 +0100 | plumenator[m] | (plumenator@gateway/shell/matrix.org/x-lvykfzzrvmqptvzq) |
2021-01-06 12:50:19 +0100 | metamod[m] | (metamodmat@gateway/shell/matrix.org/x-qkyweymrjkgyfpfo) |
2021-01-06 12:50:19 +0100 | Hanma[m] | (hanmamatri@gateway/shell/matrix.org/x-hqagbkflkardbeyb) |
2021-01-06 12:50:19 +0100 | stalactite[m] | (stalactite@gateway/shell/matrix.org/x-hmsdktjbvicqrdgd) |
2021-01-06 12:50:19 +0100 | jeffcasavant[m] | (jeffcasava@gateway/shell/matrix.org/x-jkwgveuwpobvzxsf) |
2021-01-06 12:50:19 +0100 | Poscat[m] | (poscatmatr@gateway/shell/matrix.org/x-vcoicgxvllexrrii) |
2021-01-06 12:50:19 +0100 | michaelpj | (michaelpjm@gateway/shell/matrix.org/x-ppnwgolzqhsbjxqk) |
2021-01-06 12:50:19 +0100 | maralorn | (maralornma@gateway/shell/matrix.org/x-ulgtlcoftthaeisp) |
2021-01-06 12:50:19 +0100 | doct0rhu[m] | (doct0rhumo@gateway/shell/matrix.org/x-xqcgpfxdrrdasugy) |
2021-01-06 12:50:19 +0100 | berberman[T] | (berberma4@gateway/shell/matrix.org/x-ydntbnxvrquqngkp) |
2021-01-06 12:50:20 +0100 | Hatsue[m] | (berbermanm@gateway/shell/matrix.org/x-uluzliuxxqhqsyle) |
2021-01-06 12:50:20 +0100 | majjoha | (majjohamat@gateway/shell/matrix.org/x-jifgtzsbvkjppkpw) |
2021-01-06 12:50:20 +0100 | drozdziak1 | (drozdziak1@gateway/shell/matrix.org/x-nhtpbwaweoyyfwgx) |
2021-01-06 12:50:20 +0100 | PotatoHatsue | (berbermanp@gateway/shell/matrix.org/x-qvbwsusysmmnlxwa) |
2021-01-06 12:50:20 +0100 | falling-edge[m] | (falling-ed@gateway/shell/matrix.org/x-pckulybifhkfiaod) |
2021-01-06 12:50:20 +0100 | noIOBeforeBedtim | (dissatisfi@gateway/shell/matrix.org/x-pljvxnigkfwhdutt) |
2021-01-06 12:50:20 +0100 | cnmne[m] | (cnmnematri@gateway/shell/matrix.org/x-sjfvuxbdraxbtjzp) |
2021-01-06 12:50:20 +0100 | VarikValefor[m] | (varikvalef@gateway/shell/matrix.org/x-vnnpwgfssdqwbqfu) |
2021-01-06 12:50:21 +0100 | bsima[m] | (bensimatim@gateway/shell/matrix.org/x-ktajiadhtjvptkuy) |
2021-01-06 12:50:26 +0100 | MrMuffles[m] | (mrmufflesm@gateway/shell/matrix.org/x-ocqxcgfxuorbepel) |
2021-01-06 12:50:26 +0100 | Vanilla[m] | (danielm14@gateway/shell/matrix.org/x-hwrkmoboegngyxlc) |
2021-01-06 12:50:26 +0100 | itai33[m] | (itai33matr@gateway/shell/matrix.org/x-erpojaoftljshoya) |
2021-01-06 12:50:26 +0100 | Lurkki[m] | (lurkkifene@gateway/shell/matrix.org/x-tqwpdpxocqfxaqic) |
2021-01-06 12:50:26 +0100 | materialfuture[m | (materialfu@gateway/shell/matrix.org/x-himioyqaldoiauxa) |
2021-01-06 12:50:26 +0100 | Lurkki[m]1 | (lurkkipriv@gateway/shell/matrix.org/x-mvwakzqqfdzfbmjr) |
2021-01-06 12:50:26 +0100 | agentofuser | (agentofuse@gateway/shell/matrix.org/x-haotbgmijlnmxwen) |
2021-01-06 12:50:27 +0100 | Wraul[m] | (wraulmatri@gateway/shell/matrix.org/x-ocrsiypemiiqameo) |
2021-01-06 12:50:28 +0100 | floatingpoint[m] | (floating5@gateway/shell/matrix.org/x-cjdgttiluqrdsali) |
2021-01-06 12:50:55 +0100 | xff0x | (~fox@2001:1a81:52e0:100:91d9:e205:a56c:7d48) (Ping timeout: 258 seconds) |
2021-01-06 12:51:34 +0100 | xff0x | (~fox@2001:1a81:52e0:100:99c7:97dc:c017:406) |
2021-01-06 12:53:24 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Ping timeout: 240 seconds) |
2021-01-06 12:54:43 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection) |
2021-01-06 12:54:55 +0100 | <noop_noob> | I have a type alias. Is there an easy way I can see all typeclass instances involving that type alias? |
2021-01-06 12:55:14 +0100 | <noop_noob> | or is that a bad idea |
2021-01-06 12:57:26 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) |
2021-01-06 12:58:43 +0100 | <kuribas> | you cannot |
2021-01-06 12:58:53 +0100 | <kuribas> | well only if the type is monomorphic |
2021-01-06 12:59:25 +0100 | <kuribas> | But you cannot "see" instances, because instances are open. |
2021-01-06 12:59:41 +0100 | <kuribas> | They can be defined at any time, like after your code is written. |
2021-01-06 13:00:12 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) |
2021-01-06 13:00:20 +0100 | <noop_noob> | Say, what if I want to see all instances that are in scope? |
2021-01-06 13:00:29 +0100 | <noop_noob> | Or all instances that are defined in a certain package? |
2021-01-06 13:01:12 +0100 | jedws | (~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-06 13:01:12 +0100 | <lortabac> | noop_noob: you can use :instances in GHCI |
2021-01-06 13:01:21 +0100 | <noop_noob> | Thx :D |
2021-01-06 13:01:34 +0100 | <__monty__> | @instances Monoid |
2021-01-06 13:01:36 +0100 | <lambdabot> | (), (a -> b), (a, b), All, Any, Dual a, IO a, Maybe a, Ordering, Product a, ST s a, Sum a |
2021-01-06 13:02:13 +0100 | <lortabac> | noop_noob: however there is no way to distinguish a type synonym from the type it refers to |
2021-01-06 13:02:21 +0100 | <noop_noob> | I'm aware, yup |
2021-01-06 13:02:41 +0100 | <kuribas> | @instances [a] |
2021-01-06 13:02:43 +0100 | <lambdabot> | Couldn't find class `[a]'. Try @instances-importing |
2021-01-06 13:02:44 +0100 | <noop_noob> | I just wanted to have a better way of figuring out a certain library lol |
2021-01-06 13:03:02 +0100 | <noop_noob> | Wait, instances goes the wrong way, doesn't it? |
2021-01-06 13:03:14 +0100 | <__monty__> | Yep, that's what I tried showing. |
2021-01-06 13:03:21 +0100 | <kuribas> | noop_noob: ghci :i is very useful |
2021-01-06 13:04:00 +0100 | <__monty__> | Sadly @info seems to just be `id` >.< |
2021-01-06 13:04:32 +0100 | <lortabac> | noop_noob: what do you mean by wrong way? |
2021-01-06 13:04:55 +0100 | olban | (~olban@213.152.162.154) (Ping timeout: 246 seconds) |
2021-01-06 13:05:05 +0100 | <noop_noob> | @instances seems to go from the typeclass to the type. |
2021-01-06 13:05:06 +0100 | <lortabac> | you can type for ex. ':instances Int' and it will show all the instances involving Int |
2021-01-06 13:05:07 +0100 | <lambdabot> | Couldn't find class `seems to go from the typeclass to the type.'. Try @instances-importing |
2021-01-06 13:05:21 +0100 | <noop_noob> | "unknown command ':instances'" |
2021-01-06 13:05:25 +0100 | <noop_noob> | am i doing something wrong |
2021-01-06 13:05:34 +0100 | <noop_noob> | I have a type, I want to know its typeclasses |
2021-01-06 13:05:36 +0100 | <lortabac> | noop_noob: lambdabot is not GHCI |
2021-01-06 13:05:53 +0100 | <noop_noob> | ghci told me it doesn't know what :instances is lol |
2021-01-06 13:06:06 +0100 | <noop_noob> | Oh |
2021-01-06 13:06:07 +0100 | <lortabac> | oh you probably have an old GHCI |
2021-01-06 13:06:10 +0100 | <__monty__> | % :instances Monoid |
2021-01-06 13:06:11 +0100 | <yahb> | __monty__: |
2021-01-06 13:06:35 +0100 | <lortabac> | % :instances Int |
2021-01-06 13:06:35 +0100 | <yahb> | lortabac: instance Eq Int -- Defined in `GHC.Classes'; instance Ord Int -- Defined in `GHC.Classes'; instance Enum Int -- Defined in `GHC.Enum'; instance Num Int -- Defined in `GHC.Num'; instance Real Int -- Defined in `GHC.Real'; instance Show Int -- Defined in `GHC.Show'; instance [safe] PrintfArg Int -- Defined in `Text.Printf'; instance Data Int -- Defined in `Data.Data'; instance Bits Int -- Defined in `Data.B |
2021-01-06 13:06:53 +0100 | <lortabac> | % :instances String |
2021-01-06 13:06:53 +0100 | <yahb> | lortabac: instance Eq [Char] -- Defined in `GHC.Classes'; instance Monoid [Char] -- Defined in `GHC.Base'; instance Ord [Char] -- Defined in `GHC.Classes'; instance Semigroup [Char] -- Defined in `GHC.Base'; instance Show [Char] -- Defined in `GHC.Show'; instance [safe] PrintfArg [Char] -- Defined in `Text.Printf'; instance [safe] PrintfType [Char] -- Defined in `Text.Printf'; instance Data [Char] -- Defined in `D |
2021-01-06 13:07:10 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 13:07:14 +0100 | Stanley00 | (~stanley00@unaffiliated/stanley00) () |
2021-01-06 13:07:24 +0100 | <lortabac> | noop_noob: there is also :i |
2021-01-06 13:07:28 +0100 | <noop_noob> | "GHCi, version 8.8.4" |
2021-01-06 13:07:39 +0100 | <tomsmeding> | % :i Int |
2021-01-06 13:07:40 +0100 | <yahb> | tomsmeding: type Int :: *; data Int = I# Int#; -- Defined in `GHC.Types'; instance Eq Int -- Defined in `GHC.Classes'; instance Ord Int -- Defined in `GHC.Classes'; instance Enum Int -- Defined in `GHC.Enum'; instance Num Int -- Defined in `GHC.Num'; instance Real Int -- Defined in `GHC.Real'; instance Show Int -- Defined in `GHC.Show'; instance [safe] PrintfArg Int -- Defined in `Text.Printf'; instance Data Int -- |
2021-01-06 13:07:42 +0100 | <noop_noob> | how old is that |
2021-01-06 13:07:42 +0100 | <__monty__> | Huh, why does :instances go the opposite way to @instances? |
2021-01-06 13:07:52 +0100 | <__monty__> | Or does it work for both directions? |
2021-01-06 13:08:20 +0100 | <tomsmeding> | noop_noob: 8.8.4 is not old, it's the currently recommended version |
2021-01-06 13:08:31 +0100 | <tomsmeding> | though that will probably soon change to 8.10.something |
2021-01-06 13:08:37 +0100 | <tomsmeding> | use :i :) |
2021-01-06 13:08:47 +0100 | <lortabac> | sorry, by "old" I meant relative to :instances |
2021-01-06 13:08:59 +0100 | <noop_noob> | lol |
2021-01-06 13:09:09 +0100 | <tomsmeding> | what does :instances give over :i ? |
2021-01-06 13:09:25 +0100 | <tomsmeding> | for me :i already works both ways |
2021-01-06 13:09:33 +0100 | <noop_noob> | % :instances (Int -> Int) |
2021-01-06 13:09:34 +0100 | <yahb> | noop_noob: instance [safe] Control.DeepSeq.NFData (Int -> Int) -- Defined in `Control.DeepSeq'; instance Ixed (Int -> Int) -- Defined in `Control.Lens.At' |
2021-01-06 13:09:41 +0100 | <noop_noob> | % :i (Int -> Int) |
2021-01-06 13:09:41 +0100 | <yahb> | noop_noob: ; <interactive>:1:2: error: parse error on input `Int' |
2021-01-06 13:09:44 +0100 | <noop_noob> | There |
2021-01-06 13:10:16 +0100 | <tomsmeding> | ah that makes sense |
2021-01-06 13:11:30 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 246 seconds) |
2021-01-06 13:14:27 +0100 | <noop_noob> | "Module ‘Pipes.Core’ does not export ‘pipe’" |
2021-01-06 13:14:31 +0100 | <noop_noob> | Am I doing something dumb? |
2021-01-06 13:14:56 +0100 | <noop_noob> | I'm just trying to "import Pipes.Core (pipe)" |
2021-01-06 13:15:25 +0100 | <tomsmeding> | who tells you to use 'pipe'? |
2021-01-06 13:15:37 +0100 | <noop_noob> | https://hackage.haskell.org/package/pipes-4.3.14/docs/Pipes-Core.html |
2021-01-06 13:15:39 +0100 | <noop_noob> | it's here |
2021-01-06 13:15:55 +0100 | <tomsmeding> | where? |
2021-01-06 13:15:56 +0100 | <noop_noob> | "type Pipe a b = Proxy () a () b" |
2021-01-06 13:16:02 +0100 | <noop_noob> | oh |
2021-01-06 13:16:03 +0100 | <tomsmeding> | I do see Pipe |
2021-01-06 13:16:04 +0100 | <noop_noob> | *facepalm* |
2021-01-06 13:16:06 +0100 | <noop_noob> | uppercase |
2021-01-06 13:16:06 +0100 | <tomsmeding> | :) |
2021-01-06 13:16:10 +0100 | noop_noob | (31e4c3d3@49.228.195.211) (Remote host closed the connection) |
2021-01-06 13:16:13 +0100 | <tomsmeding> | lol bye |
2021-01-06 13:17:59 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) (Quit: -a- Connection Timed Out) |
2021-01-06 13:18:16 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) |
2021-01-06 13:20:35 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds) |
2021-01-06 13:22:03 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 13:24:10 +0100 | nyd | (~nyd@unaffiliated/elysian) |
2021-01-06 13:25:31 +0100 | solirc | (~solirc@185.163.110.125) (Remote host closed the connection) |
2021-01-06 13:29:45 +0100 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) |
2021-01-06 13:29:59 +0100 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) (Ping timeout: 260 seconds) |
2021-01-06 13:31:27 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) |
2021-01-06 13:34:35 +0100 | p-core | (~Thunderbi@2001:718:1e03:5128:3697:eeda:19aa:8e56) |
2021-01-06 13:36:38 +0100 | Entertainment | (~entertain@104.246.132.210) |
2021-01-06 13:37:17 +0100 | matryoshka | (~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Ping timeout: 260 seconds) |
2021-01-06 13:37:34 +0100 | matryoshka | (~matryoshk@pool-74-109-186-119.albyny.fios.verizon.net) |
2021-01-06 13:39:37 +0100 | geekosaur | (ac3a54fa@172.58.84.250) |
2021-01-06 13:40:20 +0100 | pjb | (~t@2a01cb04063ec500b94fa4fe14e91c99.ipv6.abo.wanadoo.fr) |
2021-01-06 13:40:45 +0100 | Ishutin_ | (~Ishutin@92-249-185-150.pool.digikabel.hu) |
2021-01-06 13:42:17 +0100 | elfets | (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
2021-01-06 13:44:17 +0100 | Ishutin | (~Ishutin@80-95-69-205.pool.digikabel.hu) (Ping timeout: 260 seconds) |
2021-01-06 13:45:16 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-06 13:45:32 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 13:48:58 +0100 | kyali | (~kyali@APN-123-250-188-gprs.simobil.net) |
2021-01-06 13:49:56 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 13:50:09 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 272 seconds) |
2021-01-06 13:53:30 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-06 13:54:38 +0100 | plutoniix | (~q@184.82.196.105) (Quit: Leaving) |
2021-01-06 13:54:38 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Ping timeout: 264 seconds) |
2021-01-06 13:54:47 +0100 | chrpape | (~user@2a01:4f9:c010:632d::1) (Remote host closed the connection) |
2021-01-06 13:55:30 +0100 | <wz1000> | how do I decode a Bytestring to Text using the system encoding? |
2021-01-06 13:55:47 +0100 | <ski> | @instances [] |
2021-01-06 13:55:49 +0100 | <lambdabot> | Plugin `instances' failed with: Explict error in module Text.Regex.TDFA.String : Text.Regex.TDFA.String died: parseRegex for Text.Regex.TDFA.String failed:"class.*[].*where" (line 1, column 17): |
2021-01-06 13:55:49 +0100 | <lambdabot> | unexpected end of input |
2021-01-06 13:55:49 +0100 | <lambdabot> | expecting Failed to parse bracketed string or "]" |
2021-01-06 13:55:49 +0100 | <lambdabot> | CallStack (from HasCallStack): |
2021-01-06 13:55:49 +0100 | <lambdabot> | error, called at lib/Text/Regex/TDFA/Common.hs:29:3 in regex-tdfa-1.3.1.0-FpSHp7JyERvEeY2R0ZyRbt:Text.Regex.TDFA.Common |
2021-01-06 13:55:58 +0100 | <ski> | hmm .. |
2021-01-06 13:59:21 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 14:00:15 +0100 | kyali | (~kyali@APN-123-250-188-gprs.simobil.net) (Ping timeout: 256 seconds) |
2021-01-06 14:00:28 +0100 | <merijn> | wz1000: Use the GHC API to request the locale/encoding, then decode using that? |
2021-01-06 14:00:38 +0100 | urodna | (~urodna@unaffiliated/urodna) |
2021-01-06 14:00:46 +0100 | <merijn> | wz1000: Also, that is the default behaviour for Text's IO functions |
2021-01-06 14:01:21 +0100 | <wz1000> | merijn: yes, but I want to decode from a bytestring, not from a file |
2021-01-06 14:01:41 +0100 | <wz1000> | I guess Data.ByteString.Encoding is what I want |
2021-01-06 14:02:04 +0100 | <merijn> | wz1000: https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-IO-Encoding.html#v:getLocaleEncoding |
2021-01-06 14:02:22 +0100 | <merijn> | Oh, wait that's not the right thing to base to text's encode stuff, I guess |
2021-01-06 14:02:53 +0100 | <wz1000> | merijn: yeah, I know about that, I just couldn't figure out how to get that to work with Data.Text.Encoding |
2021-01-06 14:03:04 +0100 | <wz1000> | but https://hackage.haskell.org/package/bytestring-encoding-0.1.0.0/docs/Data-ByteString-Encoding.html seems to do what I want |
2021-01-06 14:04:11 +0100 | <wz1000> | I wonder if I really need to bother with decoding if all I want to do is split on newlines |
2021-01-06 14:04:21 +0100 | <merijn> | Probably not |
2021-01-06 14:04:31 +0100 | <wz1000> | Maybe Data.ByteString.Char8 will be code enough |
2021-01-06 14:04:34 +0100 | <wz1000> | *good |
2021-01-06 14:09:53 +0100 | cassim- | (~cassim_@51.194.80.91) (Ping timeout: 256 seconds) |
2021-01-06 14:10:56 +0100 | Rudd0 | (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds) |
2021-01-06 14:14:13 +0100 | cassim- | (~cassim@51.194.80.91) |
2021-01-06 14:22:24 +0100 | <tomsmeding> | if your encoding is ascii-compatible, that is :p |
2021-01-06 14:22:35 +0100 | <tomsmeding> | which the UTF family is, I believe, but others may not be |
2021-01-06 14:23:05 +0100 | <tomsmeding> | wz1000: if (big if) you envision people on a non-UTF machine using your software, Char8 won't work |
2021-01-06 14:23:59 +0100 | dandels | (~dandels@unaffiliated/dandels) |
2021-01-06 14:24:01 +0100 | dabr | (~daniel@p50825a42.dip0.t-ipconnect.de) (Ping timeout: 246 seconds) |
2021-01-06 14:24:38 +0100 | <merijn> | tomsmeding: Define ascii-compatible |
2021-01-06 14:24:53 +0100 | <merijn> | Only UTF-8 is "ascii compatible" for any meaning of that term that I can think off |
2021-01-06 14:24:58 +0100 | <tomsmeding> | newline is always represented using byte 10, and all 10 bytes mean a newline |
2021-01-06 14:25:43 +0100 | <tomsmeding> | I _think_ UTF-16 also works for that, but I'm not sure |
2021-01-06 14:26:17 +0100 | <tomsmeding> | ah no it will not of course |
2021-01-06 14:26:27 +0100 | chalkmonster | (~chalkmons@unaffiliated/chalkmonster) |
2021-01-06 14:26:28 +0100 | <tomsmeding> | so only UTF-8 and the standard windows codepage, whatever that number was |
2021-01-06 14:26:53 +0100 | <idnar> | ISO-8859-* are all ASCII supersets too |
2021-01-06 14:30:37 +0100 | <pjb> | US-ASCII supersets. |
2021-01-06 14:30:40 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-06 14:30:54 +0100 | <pjb> | Because ASCII has national variants with different characters mapped to 0-127… |
2021-01-06 14:31:10 +0100 | carlomagno | (~cararell@148.87.23.11) |
2021-01-06 14:32:12 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Read error: Connection reset by peer) |
2021-01-06 14:34:35 +0100 | <merijn> | pjb: Eh, no? |
2021-01-06 14:34:49 +0100 | <merijn> | There is only one ASCII and it refers to values 0-127 |
2021-01-06 14:35:09 +0100 | <merijn> | US-ASCII would be a weird redundancy, the A in ASCII already stands for American |
2021-01-06 14:35:48 +0100 | <pjb> | american standard, not american code. |
2021-01-06 14:35:50 +0100 | xff0x | (~fox@2001:1a81:52e0:100:99c7:97dc:c017:406) (Ping timeout: 244 seconds) |
2021-01-06 14:36:45 +0100 | xff0x | (~fox@2001:1a81:52e0:100:14f6:c3b8:1702:ec9d) |
2021-01-06 14:36:49 +0100 | <pjb> | and US-ASCII is the IANA assigned name for it. |
2021-01-06 14:37:00 +0100 | cyphase | (~cyphase@unaffiliated/cyphase) (Ping timeout: 256 seconds) |
2021-01-06 14:37:20 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-06 14:37:49 +0100 | <merijn> | The seems like pedantic nitpicking |
2021-01-06 14:38:25 +0100 | <pjb> | You could still find some old files where the code for { is é and the code for } is è… |
2021-01-06 14:38:26 +0100 | <merijn> | In the last two decades I've never heard anyone refer to any "other" ASCII, not even heard of one existing |
2021-01-06 14:38:46 +0100 | <merijn> | pjb: Those are in the 128-255 range that is undefined by ascii to begin with |
2021-01-06 14:38:56 +0100 | <pjb> | It's standardized nowadays as ISO/IEC 646: https://en.wikipedia.org/wiki/ISO/IEC_646 |
2021-01-06 14:38:58 +0100 | <merijn> | Which, would be the ISO-8859 encodings idnar mentioned |
2021-01-06 14:39:06 +0100 | brisbin | (~patrick@pool-173-49-158-4.phlapa.fios.verizon.net) |
2021-01-06 14:39:14 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 14:39:17 +0100 | <geekosaur> | enh |
2021-01-06 14:39:44 +0100 | geekosaur | points to the brackets over in the nick ist, which are Scandinavian characters |
2021-01-06 14:39:55 +0100 | <geekosaur> | *list |
2021-01-06 14:39:56 +0100 | <merijn> | pjb: Hell, your wikipedia link even mentions ISO-8859 as superceding it :p |
2021-01-06 14:40:11 +0100 | <pjb> | Of course. I'm talking about ancient things. |
2021-01-06 14:40:32 +0100 | <pjb> | But my point is that the mathematical structure of the encoding systems is not a mere tree. |
2021-01-06 14:41:15 +0100 | <merijn> | that seems also entirely unrelated to the original discussion? |
2021-01-06 14:41:20 +0100 | <pjb> | Things are complicated. Like February 30th, which is a real date in 1712 in Sweden… |
2021-01-06 14:41:45 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
2021-01-06 14:42:07 +0100 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) |
2021-01-06 14:45:29 +0100 | bitmapper_ | (uid464869@gateway/web/irccloud.com/x-qmmrndshdhsgokli) |
2021-01-06 14:46:06 +0100 | <merijn> | On a more on-topic note: Anyone got any good tricks for speeding up compilation? >.> |
2021-01-06 14:46:31 +0100 | <merijn> | I'm being really bottlenecked by waiting for GHC right now :\ |
2021-01-06 14:47:00 +0100 | <pjb> | Buy a newer computer with more memory and faster processor. Once I did that, my compilation time of the linux kernel fell down to 5 minutes from 12 hours! |
2021-01-06 14:47:27 +0100 | <pjb> | (I don't buy new computers often). |
2021-01-06 14:47:36 +0100 | <merijn> | This machine has something like 250GB RAM, I doubt memory is the issue :p |
2021-01-06 14:47:55 +0100 | <pjb> | Use SSD instead of hard disks? |
2021-01-06 14:48:19 +0100 | <merijn> | It's all on SSD already |
2021-01-06 14:48:21 +0100 | <pjb> | use: make -j $N # to compile in parallel? |
2021-01-06 14:48:47 +0100 | <merijn> | cabal doesn't work with per module parallelism, sadly |
2021-01-06 14:48:54 +0100 | <pjb> | :-( |
2021-01-06 14:49:07 +0100 | <merijn> | Or rather, cabal just uses "ghc --make" which doesn't support that |
2021-01-06 14:49:14 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:93a5:a77a:27e2:f365) (Ping timeout: 264 seconds) |
2021-01-06 14:50:24 +0100 | v_m_v | (~vm_v@2a02:aa12:3200:6480:14d3:e041:99da:4fe5) |
2021-01-06 14:50:37 +0100 | <tomsmeding> | how wide is your module dependency graph |
2021-01-06 14:50:38 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 14:51:03 +0100 | <tomsmeding> | I've been theorising that if it's wide enough, parallelising manually (e.g. using a makefile) might be faster than using ghc --make with the caching stuff |
2021-01-06 14:51:10 +0100 | <tomsmeding> | but takes work |
2021-01-06 14:51:32 +0100 | <tomsmeding> | merijn: compilation becomes faster if you do -fno-code |
2021-01-06 14:51:55 +0100 | <merijn> | tomsmeding: Well, sure, everything is must faster if I just stop working all together! |
2021-01-06 14:52:00 +0100 | <merijn> | s/must/much |
2021-01-06 14:52:01 +0100 | <tomsmeding> | :D |
2021-01-06 14:52:30 +0100 | <merijn> | tomsmeding: I am *not* rewriting my entire buildsystem while working on the finishing touches of my thesis >.> |
2021-01-06 14:52:34 +0100 | Varis | (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
2021-01-06 14:52:37 +0100 | <tomsmeding> | no? |
2021-01-06 14:53:37 +0100 | cyphase | (~cyphase@unaffiliated/cyphase) |
2021-01-06 14:53:53 +0100 | Varis | (~Tadas@unaffiliated/varis) |
2021-01-06 14:55:03 +0100 | bitmapper_ | bitmapper |
2021-01-06 14:55:50 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Ping timeout: 264 seconds) |
2021-01-06 14:57:25 +0100 | christo | (~chris@81.96.113.213) |
2021-01-06 14:57:46 +0100 | noop_noob | (31e4c3d3@49.228.195.211) |
2021-01-06 14:58:16 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) |
2021-01-06 14:58:16 +0100 | mouseghost | (~draco@87-206-9-185.dynamic.chello.pl) (Changing host) |
2021-01-06 14:58:16 +0100 | mouseghost | (~draco@wikipedia/desperek) |
2021-01-06 14:58:58 +0100 | v_m_v | (~vm_v@2a02:aa12:3200:6480:14d3:e041:99da:4fe5) (Remote host closed the connection) |
2021-01-06 14:59:22 +0100 | v_m_v | (~vm_v@2a02:aa12:3200:6480:14d3:e041:99da:4fe5) |
2021-01-06 15:00:30 +0100 | da39a3ee5e6b4b0d | (~da39a3ee5@2403:6200:8876:12e2:ad75:1255:fdff:5733) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
2021-01-06 15:01:13 +0100 | pera | (~pera@unaffiliated/pera) |
2021-01-06 15:01:41 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:321f:ffea:a269:44a4) |
2021-01-06 15:03:24 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) |
2021-01-06 15:04:14 +0100 | v_m_v | (~vm_v@2a02:aa12:3200:6480:14d3:e041:99da:4fe5) (Ping timeout: 264 seconds) |
2021-01-06 15:04:22 +0100 | <merijn> | tomsmeding: The main problem is that I have a bunch of schema code that effectively everything depends on, so if that changes I'm hosed and absolutely everything ends up rebuilding :\ |
2021-01-06 15:04:53 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) |
2021-01-06 15:05:07 +0100 | <merijn> | And a full clean build with -O1 is easily 5 minutes |
2021-01-06 15:05:25 +0100 | <tomsmeding> | maybe maybe some NOINLINE can help, though it's variable in its efficacy |
2021-01-06 15:05:51 +0100 | <merijn> | tomsmeding: There doesn't seem to be a single bad module/code, though |
2021-01-06 15:05:54 +0100 | <tomsmeding> | which is an expensive way of saying "I tried it and it didn't work well" |
2021-01-06 15:06:00 +0100 | <tomsmeding> | ah |
2021-01-06 15:06:01 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
2021-01-06 15:06:03 +0100 | <merijn> | It's just death by a thousand papercuts |
2021-01-06 15:06:14 +0100 | <tomsmeding> | ¯\_(ツ)_/¯ |
2021-01-06 15:06:26 +0100 | <merijn> | tomsmeding: I just have something like 120 modules that all take roughly the same amount of time |
2021-01-06 15:06:59 +0100 | <noop_noob> | death by 120 papercuts |
2021-01-06 15:10:49 +0100 | <wz1000> | I have a little problem I'm trying to outsource to #haskell: https://gist.github.com/wz1000/2bfc0ad5f41a5ee803cd2ccfcde9e1a3 |
2021-01-06 15:11:20 +0100 | <wz1000> | My brain is too fried from lack of sleep to solve this nicely, but I promise any solutions will be richly rewarded |
2021-01-06 15:12:27 +0100 | <wz1000> | (for some definition of "richly") |
2021-01-06 15:13:57 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection) |
2021-01-06 15:14:20 +0100 | <noop_noob> | wz1000 https://en.wikipedia.org/wiki/Longest_common_subsequence_problem |
2021-01-06 15:14:54 +0100 | <noop_noob> | https://www.geeksforgeeks.org/longest-common-subsequence-dp-4/ |
2021-01-06 15:14:59 +0100 | <wz1000> | noop_noob: that is not it |
2021-01-06 15:15:35 +0100 | <kuribas> | merijn: shouldn't we try to make whenMono part of base Data.Monoid? |
2021-01-06 15:15:40 +0100 | <noop_noob> | It's probably a few more steps after computing the longest common subsequence though |
2021-01-06 15:15:46 +0100 | <kuribas> | merijn: as a library proposal |
2021-01-06 15:15:47 +0100 | dabr | (~daniel@p50825a42.dip0.t-ipconnect.de) |
2021-01-06 15:15:53 +0100 | <kuribas> | merijn: we can argue about the name :) |
2021-01-06 15:16:22 +0100 | <wz1000> | noop_noob: nope, I already have the diff. |
2021-01-06 15:16:29 +0100 | <noop_noob> | nvm then |
2021-01-06 15:16:35 +0100 | <merijn> | kuribas: The lack of good name is what has stopped me from writing a proposal so far |
2021-01-06 15:18:09 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) |
2021-01-06 15:18:48 +0100 | <noop_noob> | What's the difference between `StateT something Maybe` and a `MaybeT (StateT something)`? |
2021-01-06 15:18:56 +0100 | <noop_noob> | I'm kinda confused by this lol |
2021-01-06 15:19:10 +0100 | dandels | (~dandels@unaffiliated/dandels) (Ping timeout: 256 seconds) |
2021-01-06 15:19:54 +0100 | <kuribas> | merijn: it's not like good names are a must to be in base ;-) |
2021-01-06 15:20:30 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:f964:d8d4:1ec3:146c) |
2021-01-06 15:20:35 +0100 | <tomsmeding> | @unmtl StateT s Maybe |
2021-01-06 15:20:35 +0100 | <lambdabot> | err: `StateT s Maybe' is not applied to enough arguments, giving `/\A. s -> Maybe (A, s)' |
2021-01-06 15:20:38 +0100 | <tomsmeding> | @unmtl StateT s Maybe a |
2021-01-06 15:20:38 +0100 | <lambdabot> | s -> Maybe (a, s) |
2021-01-06 15:20:44 +0100 | <tomsmeding> | @unmtl MaybeT (StateT s) a |
2021-01-06 15:20:44 +0100 | <lambdabot> | err: `StateT s (Maybe a)' is not applied to enough arguments, giving `/\A. s -> Maybe a (A, s)' |
2021-01-06 15:20:52 +0100 | <noop_noob> | Oh nice. |
2021-01-06 15:20:57 +0100 | olban | (~olban@213.152.161.85) |
2021-01-06 15:21:07 +0100 | <tomsmeding> | @unmtl MaybeT (StateT s m) a |
2021-01-06 15:21:08 +0100 | <lambdabot> | s -> m (Maybe a, s) |
2021-01-06 15:21:13 +0100 | <tomsmeding> | there |
2021-01-06 15:21:23 +0100 | <tomsmeding> | interpretation is up to you :p |
2021-01-06 15:21:42 +0100 | <kuribas> | merijn: what about orMempty? |
2021-01-06 15:21:45 +0100 | <noop_noob> | Oh. On error, the StateT Maybe version doesn't even give the modified state |
2021-01-06 15:21:57 +0100 | <noop_noob> | wz1000, Computer LCS twice, once from the front and once from the back. You now have the LCS between all pairs of suffixes and all pairs of prefixes. |
2021-01-06 15:22:34 +0100 | <kuribas> | merijn: I think whenMono is ok. Not great, but ok. |
2021-01-06 15:22:57 +0100 | <kuribas> | merijn: because it is comparable to when |
2021-01-06 15:22:59 +0100 | <kuribas> | :t when |
2021-01-06 15:23:00 +0100 | <lambdabot> | Applicative f => Bool -> f () -> f () |
2021-01-06 15:23:06 +0100 | <noop_noob> | If a certain line from file 1 can match with a certain line from file 2, then LCS of (file 1 before that line and file 2 before that line) + LCS of (file 1 after that line and file 2 after that line) + 1 = LCS of entire file |
2021-01-06 15:23:13 +0100 | <noop_noob> | wz1000^ |
2021-01-06 15:24:31 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:3831:a625:e216:5736) (Ping timeout: 272 seconds) |
2021-01-06 15:25:12 +0100 | noop_noob | (31e4c3d3@49.228.195.211) (Remote host closed the connection) |
2021-01-06 15:26:03 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-06 15:26:17 +0100 | mputz | (~Thunderbi@dslb-088-064-063-125.088.064.pools.vodafone-ip.de) (Quit: mputz) |
2021-01-06 15:26:18 +0100 | <kuribas> | merijn: in fact, when is whenMono over Ap! |
2021-01-06 15:27:22 +0100 | <Melanie> | :t whenMono |
2021-01-06 15:27:23 +0100 | <lambdabot> | error: Variable not in scope: whenMono |
2021-01-06 15:27:26 +0100 | <kuribas> | let whenMono True m = m; whenMono False _ = mempty in \b -> getAp . whenMono b . Ap |
2021-01-06 15:27:34 +0100 | <kuribas> | > let whenMono True m = m; whenMono False _ = mempty in \b -> getAp . whenMono b . Ap |
2021-01-06 15:27:36 +0100 | <ADG1089__> | is there a better way to write this? https://hastebin.com/uqelobunud.properties (using monad properties?) |
2021-01-06 15:27:36 +0100 | <lambdabot> | error: |
2021-01-06 15:27:37 +0100 | <lambdabot> | • No instance for (Typeable a0) |
2021-01-06 15:27:37 +0100 | <lambdabot> | arising from a use of ‘show_M245131793820374088917039’ |
2021-01-06 15:27:49 +0100 | arguapacha | (uid134895@gateway/web/irccloud.com/x-mfwdshztacdbuefh) |
2021-01-06 15:27:53 +0100 | <kuribas> | Melanie: it doesn't exist, that's why I'd like it in base :) |
2021-01-06 15:28:10 +0100 | <ADG1089__> | I mean what if I have 3 screens and so on. |
2021-01-06 15:28:16 +0100 | <Melanie> | kuribas: aha ;) |
2021-01-06 15:28:26 +0100 | <Melanie> | tehre are a lot of monoid-related functions i'd like in base |
2021-01-06 15:28:37 +0100 | <Melanie> | one is memptyToNothing |
2021-01-06 15:28:47 +0100 | <kuribas> | :t let whenMono True m = m; whenMono False _ = mempty in \b -> getAp . whenMono b . Ap |
2021-01-06 15:28:48 +0100 | <lambdabot> | forall k (f :: k -> *) (a :: k). Monoid (Ap f a) => Bool -> f a -> f a |
2021-01-06 15:28:59 +0100 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) (Ping timeout: 260 seconds) |
2021-01-06 15:29:01 +0100 | <idnar> | :t let whenMono True m = m; whenMono False _ = mempty in whenMono |
2021-01-06 15:29:03 +0100 | <lambdabot> | Monoid p => Bool -> p -> p |
2021-01-06 15:29:19 +0100 | <ADG1089__> | @t when' |
2021-01-06 15:29:20 +0100 | <lambdabot> | Maybe you meant: tell thank you thanks thesaurus thx tic-tac-toe ticker time todo todo-add todo-delete type v @ ? . |
2021-01-06 15:29:24 +0100 | <ADG1089__> | @type when' |
2021-01-06 15:29:25 +0100 | <lambdabot> | error: |
2021-01-06 15:29:25 +0100 | <lambdabot> | • Variable not in scope: when' |
2021-01-06 15:29:26 +0100 | <lambdabot> | • Perhaps you meant ‘when’ (imported from Control.Monad.Writer) |
2021-01-06 15:29:36 +0100 | <idnar> | :t optional |
2021-01-06 15:29:37 +0100 | <lambdabot> | Alternative f => f a -> f (Maybe a) |
2021-01-06 15:30:06 +0100 | <ADG1089__> | @let when' b ma = if b then ma else return mempty |
2021-01-06 15:30:08 +0100 | <lambdabot> | Defined. |
2021-01-06 15:30:11 +0100 | <ADG1089__> | @type when' |
2021-01-06 15:30:13 +0100 | <lambdabot> | (Monad m, Monoid a) => Bool -> m a -> m a |
2021-01-06 15:31:04 +0100 | <idnar> | @hoogle Monoid p => Bool -> p -> p |
2021-01-06 15:31:05 +0100 | <lambdabot> | Data.Monoid.HT when :: Monoid m => Bool -> m -> m |
2021-01-06 15:31:05 +0100 | <lambdabot> | Relude.Monoid memptyIfFalse :: Monoid m => Bool -> m -> m |
2021-01-06 15:31:05 +0100 | <lambdabot> | Relude.Monoid memptyIfTrue :: Monoid m => Bool -> m -> m |
2021-01-06 15:32:09 +0100 | <kuribas> | see, it gets defined many times :) |
2021-01-06 15:32:30 +0100 | <Melanie> | Data.Monoid.HT.when is the function i'm talking about, but it clashes with what's in base already :) |
2021-01-06 15:32:37 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 264 seconds) |
2021-01-06 15:32:57 +0100 | thecoffemaker | (~thecoffem@unaffiliated/thecoffemaker) |
2021-01-06 15:33:29 +0100 | <kuribas> | the name? |
2021-01-06 15:33:42 +0100 | <Melanie> | i mean i guess i could go with \b -> stimesMonoid (fromEnum b) |
2021-01-06 15:33:54 +0100 | <Melanie> | kuribas: yeah, the name |
2021-01-06 15:34:02 +0100 | <kuribas> | having when in Prelude and Data.Monoid would be a bit shitty |
2021-01-06 15:34:13 +0100 | Sgeo | (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
2021-01-06 15:34:41 +0100 | <kuribas> | :t stimesMonoid . fromEnum |
2021-01-06 15:34:43 +0100 | <lambdabot> | error: |
2021-01-06 15:34:43 +0100 | <lambdabot> | Variable not in scope: stimesMonoid :: Int -> c |
2021-01-06 15:35:14 +0100 | philopsos | (~caecilius@gateway/tor-sasl/caecilius) |
2021-01-06 15:35:22 +0100 | <Melanie> | stimesMonoid . fromEnum :: (Enum b, Monoid a) => b -> a -> a |
2021-01-06 15:36:09 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-06 15:36:15 +0100 | <Melanie> | which isn't memptyToNothing, it's when |
2021-01-06 15:37:01 +0100 | <merijn> | Melanie: memptyToNothing isn't possible, though? At least not without Eq |
2021-01-06 15:37:11 +0100 | <Melanie> | that's correct, merijn |
2021-01-06 15:37:45 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 15:38:21 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 15:38:24 +0100 | <Melanie> | would it be possible to write a pattern for mempty in general? |
2021-01-06 15:38:31 +0100 | <merijn> | No |
2021-01-06 15:38:53 +0100 | <Melanie> | ;-; |
2021-01-06 15:39:05 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 15:39:08 +0100 | <ski> | (can't match on functions, e.g.) |
2021-01-06 15:39:31 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 15:39:46 +0100 | <kuribas> | for example: mempty :: Endo Int |
2021-01-06 15:40:41 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 15:40:45 +0100 | <Melanie> | ah, yeah, that throws a bit of a wrench in things |
2021-01-06 15:41:07 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 15:41:30 +0100 | boistordu | (boistordum@gateway/shell/matrix.org/x-uxzyryrlcsuoeixd) |
2021-01-06 15:41:32 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 15:41:54 +0100 | <Melanie> | :l Data.Monoid |
2021-01-06 15:41:58 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 15:42:06 +0100 | <Melanie> | awwwh how does bot work |
2021-01-06 15:42:09 +0100 | <ski> | @let import Data.Monoid |
2021-01-06 15:42:10 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 256 seconds) |
2021-01-06 15:42:11 +0100 | <lambdabot> | Defined. |
2021-01-06 15:42:28 +0100 | <Melanie> | :t stimesMonoid . fromEnum |
2021-01-06 15:42:29 +0100 | <lambdabot> | error: |
2021-01-06 15:42:29 +0100 | <lambdabot> | Variable not in scope: stimesMonoid :: Int -> c |
2021-01-06 15:42:31 +0100 | <Melanie> | ugh |
2021-01-06 15:42:36 +0100 | <Melanie> | it's in semigroup |
2021-01-06 15:42:44 +0100 | <Melanie> | @let import Data.Semigroup |
2021-01-06 15:42:46 +0100 | <lambdabot> | Defined. |
2021-01-06 15:42:49 +0100 | <Melanie> | :t stimesMonoid . fromEnum |
2021-01-06 15:42:50 +0100 | <lambdabot> | (Monoid a1, Enum a2) => a2 -> a1 -> a1 |
2021-01-06 15:43:11 +0100 | <ADG1089__> | ok, i improved it, but is there any better way to do this? https://hastebin.com/susewuwipo.properties |
2021-01-06 15:43:17 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 15:43:49 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-06 15:43:55 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 15:45:01 +0100 | <tomsmeding> | wz1000: https://paste.tomsmeding.com/7hlNnftk |
2021-01-06 15:45:10 +0100 | machinedgod | (~machinedg@135-23-192-217.cpe.pppoe.ca) |
2021-01-06 15:45:18 +0100 | <tomsmeding> | no idea if it works in general :p |
2021-01-06 15:45:32 +0100 | <tomsmeding> | also "nicely" is questionable |
2021-01-06 15:45:47 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) (Quit: -a- Connection Timed Out) |
2021-01-06 15:46:03 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) |
2021-01-06 15:46:13 +0100 | <wz1000> | tomsmeding: yeah, I ended up with something similar |
2021-01-06 15:46:17 +0100 | <tomsmeding> | ah |
2021-01-06 15:46:26 +0100 | <wz1000> | well, almost |
2021-01-06 15:47:28 +0100 | <tomsmeding> | also I was too lazy to properly write 'numberify' as a scan :p |
2021-01-06 15:47:31 +0100 | <Melanie> | ADG1089__: why not use an if statement instead of when'? in this case the reader may misunderstand what happens when screenCount is not 2 |
2021-01-06 15:47:47 +0100 | <ADG1089__> | Melanie: yeah |
2021-01-06 15:49:29 +0100 | ulidtko|k | (~ulidtko@193.111.48.79) (Remote host closed the connection) |
2021-01-06 15:49:56 +0100 | <wz1000> | tomsmeding: yeah, here's my partial solution: https://gist.github.com/wz1000/cf71f931893a441ca005c148c8ce1afd |
2021-01-06 15:50:16 +0100 | <Melanie> | ADG1089__: also, if you're using Just in both parts of the tuple, you might as well wrap the whole thing, since it looks like you're basing whether or not the tuple has both values on whether it has the first |
2021-01-06 15:50:30 +0100 | m0rphism | (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) |
2021-01-06 15:50:45 +0100 | <Melanie> | and then you can use maybe or fromMaybe |
2021-01-06 15:50:46 +0100 | <Melanie> | :t maybe |
2021-01-06 15:50:48 +0100 | <lambdabot> | b -> (a -> b) -> Maybe a -> b |
2021-01-06 15:50:50 +0100 | <Melanie> | :t fromMaybe |
2021-01-06 15:50:51 +0100 | <lambdabot> | a -> Maybe a -> a |
2021-01-06 15:51:20 +0100 | ulidtko|kk | (~ulidtko@194.54.80.38) |
2021-01-06 15:51:32 +0100 | Jd007 | (~Jd007@d154-5-83-24.bchsia.telus.net) |
2021-01-06 15:51:59 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-06 15:52:19 +0100 | <ADG1089__> | Melanie: Handle does not implement Monoid I think so there's no mempty |
2021-01-06 15:52:47 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 15:53:12 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 15:54:06 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 15:54:12 +0100 | <ADG1089__> | if statement would be better |
2021-01-06 15:54:30 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 15:55:21 +0100 | <tomsmeding> | wz1000: writing code is easier than reading code; I'm unsure what exactly you're doing :) |
2021-01-06 15:55:28 +0100 | <tomsmeding> | but doesn't matter |
2021-01-06 15:55:36 +0100 | <Melanie> | ADG1089__ here's what i mean https://hastebin.com/sopulapuqu.properties |
2021-01-06 15:55:59 +0100 | <wz1000> | tomsmeding: its essentially the same thing you are doing, but I'm doing it in both directions |
2021-01-06 15:56:05 +0100 | <Melanie> | sorry for changing your indentation :p |
2021-01-06 15:56:11 +0100 | <ski> | (no `if' statement in __Haskell ..) |
2021-01-06 15:56:16 +0100 | <tomsmeding> | I see |
2021-01-06 15:56:21 +0100 | olban | (~olban@213.152.161.85) (Quit: bye) |
2021-01-06 15:56:25 +0100 | christo | (~chris@81.96.113.213) |
2021-01-06 15:56:26 +0100 | <ski> | (s/__//) |
2021-01-06 15:56:51 +0100 | <wz1000> | And I'm doing it over two passes, first constructing a lookup table [(Int,Maybe Int)] for the exact positions, then my intention is to add the Range positions in a seperate pass |
2021-01-06 15:56:59 +0100 | Neo---- | (~neo@BSN-143-24-94.dynamic.siol.net) |
2021-01-06 15:57:11 +0100 | geekosaur | (ac3a54fa@172.58.84.250) (Remote host closed the connection) |
2021-01-06 15:57:33 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 260 seconds) |
2021-01-06 15:57:45 +0100 | carlomagno | (~cararell@148.87.23.11) (Ping timeout: 240 seconds) |
2021-01-06 15:58:23 +0100 | <ski> | @type fst &&& snd |
2021-01-06 15:58:24 +0100 | <lambdabot> | (c, b) -> (c, b) |
2021-01-06 15:58:35 +0100 | <ADG1089__> | Melanie: why pure (applicative) instead of return (Monad)? |
2021-01-06 15:58:36 +0100 | Neo--- | (~neo@BSN-143-26-67.dynamic.siol.net) (Ping timeout: 240 seconds) |
2021-01-06 15:58:45 +0100 | graf_blutwurst | (~user@2001:171b:226e:adc0:fc0a:8b21:4a12:4e1f) (Read error: Connection reset by peer) |
2021-01-06 15:59:47 +0100 | <Melanie> | instance (Applicative m) => Monad m since base-4.8.0.0 |
2021-01-06 15:59:50 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 16:00:00 +0100 | <Melanie> | and i like pure better ¯\_(ツ)_/¯ |
2021-01-06 16:00:16 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 16:00:31 +0100 | <kuribas> | is there something like guard for applicative? |
2021-01-06 16:00:34 +0100 | <ski> | for_ handles (\(a,b) -> myLogHook 1 a b) -- instead of the `maybe (pure ()) ...' |
2021-01-06 16:00:35 +0100 | carlomagno | (~cararell@148.87.23.11) |
2021-01-06 16:00:41 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 16:00:43 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
2021-01-06 16:00:47 +0100 | <Melanie> | :t guard |
2021-01-06 16:00:48 +0100 | <lambdabot> | Alternative f => Bool -> f () |
2021-01-06 16:01:05 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 16:01:09 +0100 | <kuribas> | ah right :) |
2021-01-06 16:01:11 +0100 | <Melanie> | ski: nice :) |
2021-01-06 16:01:12 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Remote host closed the connection) |
2021-01-06 16:01:36 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 16:02:03 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds) |
2021-01-06 16:02:03 +0100 | xelxebar_ | (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 240 seconds) |
2021-01-06 16:02:10 +0100 | <ADG1089__> | Melanie: thanks! I went with this: https://hastebin.com/opaqamipob.rb |
2021-01-06 16:02:14 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds) |
2021-01-06 16:02:23 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds) |
2021-01-06 16:02:43 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds) |
2021-01-06 16:03:02 +0100 | hrnz | (~hrnz@unaffiliated/hrnz) |
2021-01-06 16:03:09 +0100 | <Melanie> | ADG1089__: looks great!! :D |
2021-01-06 16:04:24 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2021-01-06 16:04:43 +0100 | <ski> | @type for_ :: Applicative i => Maybe a -> (a -> i b) -> i () |
2021-01-06 16:04:44 +0100 | <lambdabot> | Applicative i => Maybe a -> (a -> i b) -> i () |
2021-01-06 16:04:46 +0100 | <ski> | @hoogle whenJust |
2021-01-06 16:04:46 +0100 | <lambdabot> | Control.Monad.Extra whenJust :: Applicative m => Maybe a -> (a -> m ()) -> m () |
2021-01-06 16:04:47 +0100 | <lambdabot> | Extra whenJust :: Applicative m => Maybe a -> (a -> m ()) -> m () |
2021-01-06 16:04:47 +0100 | <lambdabot> | Data.GI.Base.Utils whenJust :: Monad m => Maybe a -> (a -> m ()) -> m () |
2021-01-06 16:05:10 +0100 | ChaiTRex | (~ChaiTRex@gateway/tor-sasl/chaitrex) |
2021-01-06 16:05:11 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-06 16:05:12 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-06 16:05:14 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-06 16:05:18 +0100 | xelxebar | (~xelxebar@gateway/tor-sasl/xelxebar) |
2021-01-06 16:05:37 +0100 | <Melanie> | very cool, i will (try to) remember that |
2021-01-06 16:06:07 +0100 | <kuribas> | @type for_ @Maybe |
2021-01-06 16:06:09 +0100 | <lambdabot> | error: |
2021-01-06 16:06:09 +0100 | <lambdabot> | Pattern syntax in expression context: for_@Maybe |
2021-01-06 16:06:09 +0100 | <lambdabot> | Did you mean to enable TypeApplications? |
2021-01-06 16:06:14 +0100 | <kuribas> | :t for_ @Maybe |
2021-01-06 16:06:15 +0100 | <lambdabot> | error: |
2021-01-06 16:06:15 +0100 | <lambdabot> | Pattern syntax in expression context: for_@Maybe |
2021-01-06 16:06:15 +0100 | <lambdabot> | Did you mean to enable TypeApplications? |
2021-01-06 16:06:22 +0100 | <ski> | % :t for_ @Maybe |
2021-01-06 16:06:22 +0100 | <yahb> | ski: Applicative f => Maybe a -> (a -> f b) -> f () |
2021-01-06 16:07:25 +0100 | phasespace | (~sar@80-89-47-117.inet.signal.no) (Ping timeout: 264 seconds) |
2021-01-06 16:08:31 +0100 | ystael | (~ystael@209.6.50.55) |
2021-01-06 16:09:18 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 16:09:43 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 16:10:20 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) |
2021-01-06 16:10:45 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) (Read error: Connection reset by peer) |
2021-01-06 16:11:06 +0100 | stree | (~stree@50-108-70-224.adr01.mskg.mi.frontiernet.net) |
2021-01-06 16:12:02 +0100 | HHHH | (77497963@static-host119-73-121-99.link.net.pk) |
2021-01-06 16:12:13 +0100 | ulidtko|kk | (~ulidtko@194.54.80.38) (Ping timeout: 264 seconds) |
2021-01-06 16:12:27 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 16:12:44 +0100 | <Melanie> | kuribas: if you want something a little stronger than guard, i wrote pureIf in Extra |
2021-01-06 16:12:47 +0100 | <Melanie> | @hoogle pureIf |
2021-01-06 16:12:48 +0100 | <lambdabot> | No results found |
2021-01-06 16:12:51 +0100 | <Melanie> | awwww |
2021-01-06 16:13:06 +0100 | <Melanie> | @hoogle (Alternative f) => Bool -> a -> f a |
2021-01-06 16:13:07 +0100 | <lambdabot> | Protolude orEmpty :: Alternative f => Bool -> a -> f a |
2021-01-06 16:13:07 +0100 | <lambdabot> | Protolude.Applicative orEmpty :: Alternative f => Bool -> a -> f a |
2021-01-06 16:13:07 +0100 | <lambdabot> | Control.Bool aguard' :: Alternative m => Bool -> a -> m a |
2021-01-06 16:13:15 +0100 | <Melanie> | it's on hackage :/ |
2021-01-06 16:13:39 +0100 | HHHH | (77497963@static-host119-73-121-99.link.net.pk) () |
2021-01-06 16:14:37 +0100 | HHHH | (77497963@static-host119-73-121-99.link.net.pk) |
2021-01-06 16:15:34 +0100 | HHHH | (77497963@static-host119-73-121-99.link.net.pk) (Remote host closed the connection) |
2021-01-06 16:16:09 +0100 | <kuribas> | @hoogle (Applicative f, Alternative t) => Bool -> f (t a) -> f (t a) |
2021-01-06 16:16:10 +0100 | <lambdabot> | No results found |
2021-01-06 16:16:27 +0100 | <kuribas> | lambdabot: you disappoint me :( |
2021-01-06 16:17:01 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 264 seconds) |
2021-01-06 16:17:23 +0100 | pera | (~pera@unaffiliated/pera) (Ping timeout: 256 seconds) |
2021-01-06 16:17:31 +0100 | pera | (~pera@unaffiliated/pera) |
2021-01-06 16:18:57 +0100 | sparsity34 | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) |
2021-01-06 16:21:04 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2021-01-06 16:21:42 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 16:22:08 +0100 | ubert | (~Thunderbi@p200300ecdf1ee07be6b318fffe838f33.dip0.t-ipconnect.de) |
2021-01-06 16:22:16 +0100 | sparsity | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Ping timeout: 240 seconds) |
2021-01-06 16:23:10 +0100 | fendor_ | (~fendor@178.115.129.99.wireless.dyn.drei.com) |
2021-01-06 16:24:20 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 16:26:01 +0100 | fendor | (~fendor@91.141.3.164.wireless.dyn.drei.com) (Ping timeout: 264 seconds) |
2021-01-06 16:27:16 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-06 16:29:39 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 16:29:41 +0100 | noop_noob | (31e4c3d3@49.228.195.211) |
2021-01-06 16:30:48 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:321f:ffea:a269:44a4) (Ping timeout: 260 seconds) |
2021-01-06 16:30:59 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) (Ping timeout: 256 seconds) |
2021-01-06 16:35:04 +0100 | drozdziak1 | (drozdziak1@gateway/shell/matrix.org/x-nhtpbwaweoyyfwgx) (Quit: issued !quit command) |
2021-01-06 16:36:04 +0100 | <noop_noob> | I'm using the "pipes" package. Is there a way for me to check if a Consumer is "done" consuming? |
2021-01-06 16:38:04 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) (Ping timeout: 246 seconds) |
2021-01-06 16:38:10 +0100 | livvy | (~livvy@gateway/tor-sasl/livvy) |
2021-01-06 16:39:04 +0100 | <noop_noob> | Anyway, why is it `type Consumer a = Proxy () a () X` and not `type Consumer a = Proxy X a () X` ? |
2021-01-06 16:39:18 +0100 | <noop_noob> | https://hackage.haskell.org/package/pipes-4.3.14/docs/Pipes-Core.html#t:Proxy |
2021-01-06 16:39:21 +0100 | jollygood2 | (~bc812391@217.29.117.252) |
2021-01-06 16:39:28 +0100 | <noop_noob> | Oops, wrong link |
2021-01-06 16:39:28 +0100 | <noop_noob> | https://hackage.haskell.org/package/pipes-4.3.14/docs/Pipes.html#t:Consumer |
2021-01-06 16:40:53 +0100 | rcdilorenzo | (~rcdiloren@cpe-76-182-87-188.nc.res.rr.com) |
2021-01-06 16:42:50 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:e826:4c07:b220:a42a) |
2021-01-06 16:42:52 +0100 | <noop_noob> | I wish I could pattern-match on the constructor of Proxy, but unfortunately they're not exported... |
2021-01-06 16:43:19 +0100 | <__monty__> | noop_noob: If I'm reading Proxy a' a b' b m r correctly it's because a' and b' need to match up. |
2021-01-06 16:43:32 +0100 | <noop_noob> | what |
2021-01-06 16:44:02 +0100 | <noop_noob> | Oh |
2021-01-06 16:44:09 +0100 | <noop_noob> | I confused b with b' |
2021-01-06 16:44:20 +0100 | <noop_noob> | I think? |
2021-01-06 16:44:49 +0100 | <noop_noob> | Eh... whatever |
2021-01-06 16:45:14 +0100 | <noop_noob> | So anyway..... In the "pipes" package, Is there a way for me to check if a Consumer is "done" consuming? |
2021-01-06 16:46:30 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-06 16:47:51 +0100 | zx__ | kish` |
2021-01-06 16:49:08 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) (Read error: Connection reset by peer) |
2021-01-06 16:51:46 +0100 | edwtjo | (~edwtjo@h-7-145.A213.priv.bahnhof.se) |
2021-01-06 16:51:46 +0100 | edwtjo | (~edwtjo@h-7-145.A213.priv.bahnhof.se) (Changing host) |
2021-01-06 16:51:46 +0100 | edwtjo | (~edwtjo@fsf/member/edwtjo) |
2021-01-06 16:51:57 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 16:54:59 +0100 | dabr | (~daniel@p50825a42.dip0.t-ipconnect.de) (Quit: WeeChat 3.0) |
2021-01-06 16:57:02 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Ping timeout: 264 seconds) |
2021-01-06 16:58:53 +0100 | sparsity34 | (5eae2591@gateway/web/cgi-irc/kiwiirc.com/ip.94.174.37.145) (Quit: Connection closed) |
2021-01-06 16:59:28 +0100 | matryoshka | (~matryoshk@pool-74-109-186-119.albyny.fios.verizon.net) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-06 17:00:31 +0100 | Rudd0 | (~Rudd0@185.189.115.103) |
2021-01-06 17:00:36 +0100 | jespada | (~jespada@90.254.245.49) (Ping timeout: 256 seconds) |
2021-01-06 17:00:41 +0100 | coot | (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-01-06 17:01:35 +0100 | plutoniix | (~q@ppp-27-55-91-8.revip3.asianet.co.th) |
2021-01-06 17:02:26 +0100 | jespada | (~jespada@90.254.245.49) |
2021-01-06 17:03:07 +0100 | emptyflask | (~jon@136.49.71.178) |
2021-01-06 17:05:03 +0100 | matryoshka | (~matryoshk@184.75.223.227) |
2021-01-06 17:06:48 +0100 | djellemah | (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Remote host closed the connection) |
2021-01-06 17:08:12 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 17:11:44 +0100 | hololeap | (~hololeap@unaffiliated/hololeap) (Quit: KVIrc 5.0.1 Aria http://www.kvirc.net/) |
2021-01-06 17:12:52 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection) |
2021-01-06 17:13:37 +0100 | usr25 | (~usr25@unaffiliated/usr25) |
2021-01-06 17:13:53 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-06 17:14:39 +0100 | <shinobi> | I want to create a counter data type and set the initial value to 0, without injecting it. 1. Is this normally done in FP? |
2021-01-06 17:15:13 +0100 | neiluj | (~jco@unaffiliated/neiluj) (Ping timeout: 264 seconds) |
2021-01-06 17:15:37 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-06 17:15:47 +0100 | <merijn> | shinobi: Counter for what? Does it have to be mutable? How do you plan to update it? |
2021-01-06 17:16:45 +0100 | <shinobi> | merijn: It doesn't have to be mutable. I would inject the state into a function that would return an updated state, etc. |
2021-01-06 17:17:02 +0100 | <noop_noob> | shinobi, What do you mean by "inject"? |
2021-01-06 17:17:14 +0100 | <shinobi> | pass in as a parameter |
2021-01-06 17:17:29 +0100 | <merijn> | shinobi: Well, then that's just "data Counter = Counter Int" and passing "Counter 0" to a function, no? :p |
2021-01-06 17:17:33 +0100 | <noop_noob> | Yes, you can have a function of type `Counter -> (a, Counter)` |
2021-01-06 17:17:44 +0100 | <noop_noob> | Although you probably want the `State` monad. |
2021-01-06 17:18:15 +0100 | <noop_noob> | https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Sequence-Internal.html#t:State |
2021-01-06 17:18:40 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) |
2021-01-06 17:19:02 +0100 | <noop_noob> | merijn http://learnyouahaskell.com/for-a-few-monads-more |
2021-01-06 17:19:20 +0100 | noop_noob | (31e4c3d3@49.228.195.211) (Remote host closed the connection) |
2021-01-06 17:19:34 +0100 | new_haskeller | (ae72a197@cpe00fc8d386d93-cm00fc8d386d90.cpe.net.cable.rogers.com) |
2021-01-06 17:19:45 +0100 | <shinobi> | merijn: I don't want a user to pass in the initial state. I was hoping it could be set in the constructor. I am trying to prevent "Counter 6". |
2021-01-06 17:20:26 +0100 | <shinobi> | I see I would never be able to do that because it's constructing each time and not mutating |
2021-01-06 17:20:27 +0100 | usr25 | (~usr25@unaffiliated/usr25) ("Leaving") |
2021-01-06 17:20:31 +0100 | <merijn> | Don't export the constructor and have "initialCounter :: Counter; initialCounter = Counter 0" in your module? |
2021-01-06 17:20:59 +0100 | <new_haskeller> | hi friends, I am puzzling over a disappearing list when I map a file input (text rings). |
2021-01-06 17:21:16 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
2021-01-06 17:21:20 +0100 | <merijn> | @where paste |
2021-01-06 17:21:20 +0100 | <lambdabot> | Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com |
2021-01-06 17:21:20 +0100 | <shinobi> | merijn: that may work. Thanks! |
2021-01-06 17:21:35 +0100 | <merijn> | new_haskeller: paste code + output there |
2021-01-06 17:21:54 +0100 | <merijn> | shinobi: If you don't want users messing with datatype internals, just don't export those ;) |
2021-01-06 17:22:10 +0100 | <dsal> | new_haskeller: ...and expected output. Sometimes things are really obvious to us, but not what you expect to happen. |
2021-01-06 17:22:32 +0100 | carbolymer | (~carbolyme@dropacid.net) (Ping timeout: 256 seconds) |
2021-01-06 17:22:39 +0100 | carbolymer_ | (~carbolyme@dropacid.net) |
2021-01-06 17:22:45 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-06 17:23:08 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 17:23:59 +0100 | <ski> | shinobi : you could wrap `State' in a `newtype', say `Counting', and provide a `runCounting' function that initializes your counter |
2021-01-06 17:25:03 +0100 | ubert | (~Thunderbi@p200300ecdf1ee07be6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection) |
2021-01-06 17:25:07 +0100 | <ski> | (or just have `Counting a' be implemented as `Counter -> (a,Counter)' directly, if you prefer being explicit) |
2021-01-06 17:25:28 +0100 | ubert | (~Thunderbi@p200300ecdf1ee07be6b318fffe838f33.dip0.t-ipconnect.de) |
2021-01-06 17:25:33 +0100 | phasespace | (~sar@89-162-33-21.fiber.signal.no) |
2021-01-06 17:28:39 +0100 | xff0x | (~fox@2001:1a81:52e0:100:14f6:c3b8:1702:ec9d) (Ping timeout: 272 seconds) |
2021-01-06 17:28:57 +0100 | xff0x | (~fox@2001:1a81:52e0:100:d64b:d56d:3d88:4e8b) |
2021-01-06 17:29:22 +0100 | <new_haskeller> | @merijn thanks. as I was pasting the code and typing out my issues I realize that my list did not disappear. the program complained about the last line being empty! Thanks |
2021-01-06 17:29:22 +0100 | <lambdabot> | Unknown command, try @list |
2021-01-06 17:29:46 +0100 | <tomsmeding> | new_haskeller: https://en.wikipedia.org/wiki/Rubber_duck_debugging |
2021-01-06 17:32:27 +0100 | alx741 | (~alx741@186.178.110.141) (Ping timeout: 272 seconds) |
2021-01-06 17:33:28 +0100 | tzh | (~tzh@c-24-21-73-154.hsd1.or.comcast.net) |
2021-01-06 17:33:41 +0100 | notzmv | (~user@unaffiliated/zmv) |
2021-01-06 17:34:00 +0100 | <new_haskeller> | ye_haskeler_gods: if you could spare a minute critiquing this, I would be grateful https://paste.tomsmeding.com/KTWCGcmh |
2021-01-06 17:34:42 +0100 | ubert1 | (~Thunderbi@p200300ecdf1ee062e6b318fffe838f33.dip0.t-ipconnect.de) |
2021-01-06 17:34:58 +0100 | ubert | (~Thunderbi@p200300ecdf1ee07be6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-06 17:34:58 +0100 | ubert1 | ubert |
2021-01-06 17:35:09 +0100 | <merijn> | new_haskeller: The map + list comprehension can be simplified to just filter |
2021-01-06 17:35:14 +0100 | <merijn> | > filter even [1..10] |
2021-01-06 17:35:16 +0100 | <lambdabot> | [2,4,6,8,10] |
2021-01-06 17:35:38 +0100 | <Melanie> | :t count |
2021-01-06 17:35:39 +0100 | <lambdabot> | error: |
2021-01-06 17:35:39 +0100 | <lambdabot> | • Variable not in scope: count |
2021-01-06 17:35:39 +0100 | <lambdabot> | • Perhaps you meant one of these: |
2021-01-06 17:35:57 +0100 | <merijn> | new_haskeller: And rather than using head/tail multiple times in procone you probably wanna use pattern matching instead |
2021-01-06 17:36:22 +0100 | <merijn> | new_haskeller: Which would also warn you for the error you're getting |
2021-01-06 17:36:25 +0100 | <ski> | trues = [y | x <- l,let {y = procone x},y] |
2021-01-06 17:36:29 +0100 | <new_haskeller> | ya -- I was brute forcing it |
2021-01-06 17:36:32 +0100 | <merijn> | Which is calling "tail on an empty list" |
2021-01-06 17:36:53 +0100 | <ski> | t1:t2:t3:_ = words l |
2021-01-06 17:37:08 +0100 | arguapacha | (uid134895@gateway/web/irccloud.com/x-mfwdshztacdbuefh) (Quit: Connection closed for inactivity) |
2021-01-06 17:37:11 +0100 | <new_haskeller> | @merijn the last line of the input file was empty |
2021-01-06 17:37:12 +0100 | <lambdabot> | Unknown command, try @list |
2021-01-06 17:37:37 +0100 | <ski> | if you use `case l of t1:t2:t3:_ -> ...; _ -> ...', you can then decide what to do, if the list is too short |
2021-01-06 17:38:28 +0100 | <Melanie> | @let import Util |
2021-01-06 17:38:29 +0100 | <lambdabot> | .L.hs:145:1: error: |
2021-01-06 17:38:29 +0100 | <lambdabot> | Could not load module ‘Util’ |
2021-01-06 17:38:29 +0100 | <lambdabot> | It is a member of the hidden package ‘ghc-8.10.2’. |
2021-01-06 17:38:37 +0100 | pera | (~pera@unaffiliated/pera) (Ping timeout: 246 seconds) |
2021-01-06 17:38:39 +0100 | <ski> | > span (== '-') "foo-bar-baz" |
2021-01-06 17:38:40 +0100 | <lambdabot> | ("","foo-bar-baz") |
2021-01-06 17:38:45 +0100 | <ski> | > break (== '-') "foo-bar-baz" |
2021-01-06 17:38:47 +0100 | <lambdabot> | ("foo","-bar-baz") |
2021-01-06 17:38:54 +0100 | <merijn> | new_haskeller: If you need inspiration for other ways, here's my solution: https://github.com/merijn/AdventOfCode2020/blob/master/Day3.hs |
2021-01-06 17:39:15 +0100 | <merijn> | spoilers for both day 3 puzzles, obviously :p |
2021-01-06 17:39:18 +0100 | <new_haskeller> | this is perhaps my day 3 of Haskell -- lots to work through based on your comments. Much appreciated. |
2021-01-06 17:39:22 +0100 | <ski> | (lboundStr,'_':uboundStr) = break (== '-') t1 |
2021-01-06 17:40:21 +0100 | <ski> | and perhaps better to use `case readMaybe lboundStr of Just lbound -> ...; Nothing -> ...' as well ? |
2021-01-06 17:40:32 +0100 | pera | (~pera@unaffiliated/pera) |
2021-01-06 17:40:34 +0100 | <new_haskeller> | I did day 1 in 1.5 days. day 2 in 10 minutes. but the day 3 IO involves a fair bit of digging. **I am a convert! ** |
2021-01-06 17:42:09 +0100 | juttamirth | (4e3f1297@78-63-18-151.static.zebra.lt) |
2021-01-06 17:42:18 +0100 | <ski> | passed = inRange (lbound,ubound) size |
2021-01-06 17:43:43 +0100 | <ski> | (and the brackets around your patterns with `Just' are redundant ..) |
2021-01-06 17:43:58 +0100 | <glguy> | new_haskeller: If you're solving this in Haskell you might consider adding yourself to our private leaderboard |
2021-01-06 17:44:35 +0100 | <glguy> | The code is 43100-84040706 |
2021-01-06 17:44:49 +0100 | <glguy> | which I should probably remove from the /topic now that it's January |
2021-01-06 17:44:54 +0100 | | https://www.haskell.org | https://wiki.haskell.org/IRC_channel | Paste code/errors: https://gist.github.com/ | Logs: http://tunes.org/~nef/logs/haskell/?C=M;O=D | https://www.reddit.com/r/haskell | Admin: #haskell-ops | Offtopic: #haskell-offtopic | https://downloads.haskell.org |
2021-01-06 17:44:54 +0100 | <merijn> | I got twice as far this year before pesky real life ruined it >.> |
2021-01-06 17:44:57 +0100 | chalkmon1 | (~chalkmons@unaffiliated/chalkmonster) |
2021-01-06 17:45:03 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2021-01-06 17:45:07 +0100 | <merijn> | At this rate I might actually finish AoC next year :p |
2021-01-06 17:45:28 +0100 | alx741 | (~alx741@186.178.110.141) |
2021-01-06 17:45:35 +0100 | <Melanie> | glguy: there's a leaderboard? |
2021-01-06 17:45:56 +0100 | <Melanie> | sorry, what is the code used for? |
2021-01-06 17:46:08 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) (Quit: -a- Connection Timed Out) |
2021-01-06 17:46:15 +0100 | <glguy> | Melanie: you put the code in the box at https://adventofcode.com/2020/leaderboard/private |
2021-01-06 17:46:18 +0100 | <glguy> | to add yourself to the list |
2021-01-06 17:46:25 +0100 | <Melanie> | thanks! |
2021-01-06 17:46:38 +0100 | xff0x | (~fox@2001:1a81:52e0:100:d64b:d56d:3d88:4e8b) (Ping timeout: 260 seconds) |
2021-01-06 17:46:40 +0100 | chalkmonster | (~chalkmons@unaffiliated/chalkmonster) (Ping timeout: 246 seconds) |
2021-01-06 17:47:19 +0100 | <glguy> | You'll find a lot of links to github where Haskellers have uploaded their solutions if you're exploring |
2021-01-06 17:47:28 +0100 | pavonia | (~user@unaffiliated/siracusa) (Quit: Bye!) |
2021-01-06 17:48:05 +0100 | <Melanie> | neat!! i'm #62 at this point :) |
2021-01-06 17:50:07 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-01-06 17:50:08 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2021-01-06 17:50:24 +0100 | <xerox_> | this was the first time I ended in the top 10, it was a good year |
2021-01-06 17:53:12 +0100 | hekkaidekapus | (~tchouri@gateway/tor-sasl/hekkaidekapus) |
2021-01-06 17:53:18 +0100 | rkbeach | (31cfd1aa@49.207.209.170) |
2021-01-06 17:53:37 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) |
2021-01-06 17:55:26 +0100 | notzmv | (~user@unaffiliated/zmv) |
2021-01-06 17:55:55 +0100 | <new_haskeller> | @glguy @ski @merijn thanks for the hints |
2021-01-06 17:55:56 +0100 | <lambdabot> | Unknown command, try @list |
2021-01-06 17:56:02 +0100 | Wuzzy | (~Wuzzy@p5790ed14.dip0.t-ipconnect.de) |
2021-01-06 17:56:23 +0100 | hekkaidekapus] | (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds) |
2021-01-06 17:57:32 +0100 | madjestic | (~Android@86-88-72-244.fixed.kpn.net) |
2021-01-06 17:57:49 +0100 | <ski> | yw |
2021-01-06 17:59:28 +0100 | hnOsmium0001 | (uid453710@gateway/web/irccloud.com/x-zznalggusqjucmjb) |
2021-01-06 18:00:59 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 18:02:12 +0100 | chrpape | (~user@2a01:4f9:c010:632d::1) |
2021-01-06 18:02:44 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Remote host closed the connection) |
2021-01-06 18:03:42 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 18:07:22 +0100 | ulidtko | (~ulidtko@194.54.80.38) |
2021-01-06 18:08:40 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) (Ping timeout: 272 seconds) |
2021-01-06 18:09:17 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection) |
2021-01-06 18:09:55 +0100 | jpds | (~jpds@gateway/tor-sasl/jpds) |
2021-01-06 18:10:30 +0100 | <sm[m]> | glguy's Haskell leaderboard is great, it deserves more marketing. Permanent website ? Post competition celebration of results ? Prizes ? |
2021-01-06 18:11:08 +0100 | Tario | (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
2021-01-06 18:12:14 +0100 | geekosaur | (ac3a8b92@172.58.139.146) |
2021-01-06 18:15:11 +0100 | rkbeach | (31cfd1aa@49.207.209.170) (Remote host closed the connection) |
2021-01-06 18:16:20 +0100 | juttamirth | (4e3f1297@78-63-18-151.static.zebra.lt) (Ping timeout: 245 seconds) |
2021-01-06 18:19:34 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Ping timeout: 246 seconds) |
2021-01-06 18:19:49 +0100 | jess | (jess@freenode/staff/jess) (Quit: brb) |
2021-01-06 18:21:03 +0100 | ubert | (~Thunderbi@p200300ecdf1ee062e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds) |
2021-01-06 18:22:10 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 18:22:43 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 18:22:46 +0100 | <sshine> | I never get past day 5. |
2021-01-06 18:23:22 +0100 | <sshine> | maybe I'll join the AOC Haskell Club next year :) |
2021-01-06 18:23:28 +0100 | <glguy> | sshine: Day 7 was probably the first interesting one this year |
2021-01-06 18:23:29 +0100 | <merijn> | sshine: I recommend being unemployed, great way to have time for AOC! ;) |
2021-01-06 18:23:49 +0100 | <sshine> | merijn, I *was* actually unemployed all through Dec 1-24! but I was busy hacking on a compiler. |
2021-01-06 18:23:59 +0100 | <merijn> | sshine: Poor excuse! |
2021-01-06 18:24:10 +0100 | <sshine> | I totally agree! |
2021-01-06 18:27:36 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 18:28:08 +0100 | <xerox_> | sshine: which compiler? |
2021-01-06 18:28:34 +0100 | xff0x | (~fox@2001:1a81:52e0:100:d64b:d56d:3d88:4e8b) |
2021-01-06 18:28:57 +0100 | kish` | (~oracle@unaffiliated/oracle) ("Leaving") |
2021-01-06 18:29:01 +0100 | kritzefitz | (~kritzefit@212.86.56.80) (Ping timeout: 264 seconds) |
2021-01-06 18:32:22 +0100 | kritzefitz | (~kritzefit@212.86.56.80) |
2021-01-06 18:32:46 +0100 | <adamwesp_> | best time to build a compiler, either for a job, or as your own job! :) |
2021-01-06 18:33:40 +0100 | nineonine | (~nineonine@S01061cabc0b095f3.vf.shawcable.net) |
2021-01-06 18:35:47 +0100 | Boomerang | (~Boomerang@2a05:f6c7:2179:0:8da5:2e46:f1e1:ab48) (Ping timeout: 272 seconds) |
2021-01-06 18:39:27 +0100 | nyd | (~nyd@unaffiliated/elysian) (Quit: nyd) |
2021-01-06 18:40:57 +0100 | styledash | (~styledash@157.230.173.136) (Quit: The Lounge - https://thelounge.chat) |
2021-01-06 18:41:35 +0100 | styledash | (~styledash@157.230.173.136) |
2021-01-06 18:41:51 +0100 | <new_haskeller> | going back to my aoc day 3 code. Is there an 'easier' way to do String to Int conversion? I cropped 'readMaybe' from somewhere. Seems like there would be a library function somewhere. I'm not being lazy. I have looked but not sure what the canonical solution would be. https://paste.tomsmeding.com/sfEAme6P |
2021-01-06 18:42:32 +0100 | knupfer | (~Thunderbi@200116b824b6e00054a0e5fffe7c6b6a.dip.versatel-1u1.de) |
2021-01-06 18:42:32 +0100 | knupfer | (~Thunderbi@200116b824b6e00054a0e5fffe7c6b6a.dip.versatel-1u1.de) (Client Quit) |
2021-01-06 18:42:47 +0100 | knupfer | (~Thunderbi@i5E86B49C.versanet.de) |
2021-01-06 18:43:21 +0100 | <ski> | @index readMaybe |
2021-01-06 18:43:21 +0100 | <lambdabot> | Text.Read |
2021-01-06 18:43:21 +0100 | spopejoy | (~stuart@ool-44c5f8c9.dyn.optonline.net) |
2021-01-06 18:43:39 +0100 | chele | (~chele@ip5b40237d.dynamic.kabel-deutschland.de) (Remote host closed the connection) |
2021-01-06 18:44:12 +0100 | <ski> | use pattern-matching, instead of `fst' and `snd' (and you can also do it instead of `drop 1') |
2021-01-06 18:44:39 +0100 | <ski> | (and you can replace the pattern `t2' by `check:_', avoiding `head') |
2021-01-06 18:44:44 +0100 | <glguy> | Actual readMaybe tolerates trailing whitespace (like read does) |
2021-01-06 18:45:55 +0100 | <ski> | seeing `(==True)' is jarring |
2021-01-06 18:46:00 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Ping timeout: 256 seconds) |
2021-01-06 18:46:01 +0100 | eacameron | (uid256985@gateway/web/irccloud.com/x-ycbifkwtkicpetrm) |
2021-01-06 18:46:07 +0100 | <glguy> | ski: it's important to be sure |
2021-01-06 18:46:39 +0100 | <merijn> | new_haskeller: Eh, just do "filter procone" |
2021-01-06 18:46:49 +0100 | <merijn> | Instead of map, then filter by comparison to True |
2021-01-06 18:47:19 +0100 | <ski> | (but then it's not a list of `True's ..) |
2021-01-06 18:47:33 +0100 | <merijn> | ski: That's irrelevant |
2021-01-06 18:47:37 +0100 | <ski> | i know |
2021-01-06 18:47:58 +0100 | <ski> | (but the name would have to be changed, in order to not be confusing) |
2021-01-06 18:48:02 +0100 | <glguy> | new_haskeller: You never need to compare for equality to True, you can just pass it through in that case with 'id' |
2021-01-06 18:50:30 +0100 | <new_haskeller> | excellent! 'id' is new to me. let trues = filter id (map procone l ) |
2021-01-06 18:50:44 +0100 | rajivr | (uid269651@gateway/web/irccloud.com/x-faovxbrouyrpmypw) (Quit: Connection closed for inactivity) |
2021-01-06 18:50:47 +0100 | <glguy> | new_haskeller: and if you're doing that you can further simplify: filter procone l |
2021-01-06 18:50:57 +0100 | <glguy> | (since you don't care what the elements are) |
2021-01-06 18:51:07 +0100 | robotmay | (~beepboop@2001:8b0:7af0:2580:e163:8dc0:987:5b1e) (Quit: Be excellent to each other) |
2021-01-06 18:51:26 +0100 | <ski> | new_haskeller : is there anything sensible you can do, or would like to do, in case any of the expected things (length of lists, presence of `-', ability to parse `Int's) fail ? |
2021-01-06 18:51:53 +0100 | <sshine> | xerox_, this one: https://github.com/Sword-Smith/Sword (also, before you comment on the lack of best-practice, there's a bunch of things I did that aren't in that repo. this is a 3-year-old BSc project that was brought back to life.) |
2021-01-06 18:52:22 +0100 | notzmv | (~user@unaffiliated/zmv) (Remote host closed the connection) |
2021-01-06 18:53:14 +0100 | notzmv | (~user@unaffiliated/zmv) |
2021-01-06 18:53:48 +0100 | <sshine> | xerox_, personally, the biggest accomplishment I think we achieved was to lure two students who'd never written Haskell before to extend the compiler with some features. :) |
2021-01-06 18:54:00 +0100 | gues64803 | (~username@62-34-117-205.abo.bbox.fr) |
2021-01-06 18:54:48 +0100 | <Melanie> | > ski: That's irrelevant |
2021-01-06 18:54:50 +0100 | <lambdabot> | error: Variable not in scope: skierror: |
2021-01-06 18:54:50 +0100 | <lambdabot> | Data constructor not in scope: That's :: t0 -> [a]error: Variable not in... |
2021-01-06 18:55:22 +0100 | <xerox_> | sshine: neat (: |
2021-01-06 18:57:40 +0100 | <new_haskeller> | @ski the AoC input file was of course well-formed. I think if a line fails I probably would just skip it. Does my answer influence with library to use? |
2021-01-06 18:57:40 +0100 | <lambdabot> | Maybe you meant: wiki src ask |
2021-01-06 18:58:34 +0100 | <ski> | new_haskeller : i'm just thinking of possibly avoiding all the partiality in `procone' |
2021-01-06 18:58:49 +0100 | <ski> | (mind that i dunno what the intent of that function is) |
2021-01-06 18:59:14 +0100 | <new_haskeller> | 'partiality' ? |
2021-01-06 18:59:26 +0100 | argento | (~argent0@168.227.96.51) |
2021-01-06 18:59:31 +0100 | <ski> | (oh, and btw, those `:: Maybe Int' type ascriptions are actually optional, here) |
2021-01-06 18:59:48 +0100 | Jesin | (~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) |
2021-01-06 19:00:44 +0100 | <ski> | new_haskeller : i mean that calling `procone' with a list that doesn't contain three words, or where you can't parse two `Int's from the first word, will result in the program being aborted |
2021-01-06 19:00:55 +0100 | <ski> | > 1 + head [] |
2021-01-06 19:00:57 +0100 | <lambdabot> | *Exception: Prelude.head: empty list |
2021-01-06 19:01:03 +0100 | <ggVGc> | That's usually fine in AoC :) |
2021-01-06 19:01:07 +0100 | <ski> | (similar to such a failure) |
2021-01-06 19:01:20 +0100 | geekosaur | (ac3a8b92@172.58.139.146) (Ping timeout: 245 seconds) |
2021-01-06 19:01:22 +0100 | <ggVGc> | My rust implementations were littered with unwra |
2021-01-06 19:02:07 +0100 | <ski> | > let [t1,t2,t3] = words "9-10 b: " in (t1,t2,t3) |
2021-01-06 19:02:08 +0100 | <ggVGc> | also why AoC doesn't really teach you to use languages very well... since any error handling is optional |
2021-01-06 19:02:10 +0100 | <lambdabot> | ("*Exception: <interactive>:3:5-33: Non-exhaustive patterns in [t1, t2, t3] |
2021-01-06 19:02:17 +0100 | <new_haskeller> | is there a 'try' 'catch' idiom so the program does not abort? |
2021-01-06 19:02:28 +0100 | <ski> | use `case'-`of' |
2021-01-06 19:02:42 +0100 | <ski> | case words l of |
2021-01-06 19:02:58 +0100 | dandels | (~dandels@unaffiliated/dandels) |
2021-01-06 19:03:04 +0100 | <ski> | [t1,t2,t3] -> ..t1..t2..t3.. |
2021-01-06 19:03:13 +0100 | <ski> | _ -> ..oops.. |
2021-01-06 19:03:28 +0100 | <ski> | and similarly for the `readMaybe' calls |
2021-01-06 19:03:48 +0100 | <new_haskeller> | I see ... of course! |
2021-01-06 19:03:50 +0100 | <ski> | of course, you'd have to decide what to do, in the failing branch |
2021-01-06 19:04:11 +0100 | <ski> | .. which was why i was wondering whether there would be anything sensible you could do, in those cases |
2021-01-06 19:04:27 +0100 | <new_haskeller> | in case of something like AoC I'll likely return False for that line |
2021-01-06 19:04:37 +0100 | <ski> | e.g. maybe it would be sensible to have the call to `procone' result in `False' (or `True' ?) in that case ? |
2021-01-06 19:05:57 +0100 | <jollygood2> | new_haskeller, there is, but you can just fix your function instead. there's -fwarn-incomplete-patterns flag to catch such things |
2021-01-06 19:05:57 +0100 | <ggVGc> | new_haskeller: there's try/catch, but it's mostly not what you want, and it's used when doing things in IO. something like a missed pattern match, or calling `fst` on an empty list is not something you'd handle with try/catch in haskell, and is considered a programming error, and a bug that needs to be fixed and hence should crash the program |
2021-01-06 19:06:13 +0100 | <jollygood2> | new_haskeller, there's also readMaybe in Text.Read |
2021-01-06 19:07:00 +0100 | <ggVGc> | try/catch is somethig that would be used to handle an error while reading a file for example |
2021-01-06 19:07:06 +0100 | <ski> | s/fst/head/ |
2021-01-06 19:07:11 +0100 | codeAlways | (uid272474@gateway/web/irccloud.com/x-ksrtxpuomausdfhe) |
2021-01-06 19:07:11 +0100 | <ggVGc> | haha, sorry |
2021-01-06 19:07:12 +0100 | <ggVGc> | I meant head |
2021-01-06 19:07:50 +0100 | <ski> | jollygood2 : already mentioned :) |
2021-01-06 19:08:37 +0100 | <new_haskeller> | I'll look in Text.Read properly. thks |
2021-01-06 19:10:36 +0100 | <new_haskeller> | ggVGc: good comment about 'try/catch'. I have never thought of it this way (e.g. in javascript) |
2021-01-06 19:12:22 +0100 | <ski> | (either fixing it by making the operation not partial .. or by ensuring that a precondition under which it's total is fulfilled) |
2021-01-06 19:12:30 +0100 | geekosaur | (42d52137@66.213.33.55) |
2021-01-06 19:13:09 +0100 | <ggVGc> | new_haskeller: the thing with haskell is that in pure code (not using IO), there should never be a crash. But this is a bit of a lie, since it's possible to write partial pattern matches (can be prevented with compiler flag),and there are artial functions (like head). So in practice even pure code can crash. But those crashes are incorrect usages of the language, and all those cases can be |
2021-01-06 19:13:11 +0100 | <ggVGc> | rewritten in a way that doesn't crash and produces a real error value instead. |
2021-01-06 19:13:49 +0100 | <ggVGc> | So try/catch only makes sense in "truly exceptional" circumstances, from outside influence that does not mean your code is wrong, and hence only make sense in IO |
2021-01-06 19:14:06 +0100 | ransom | (~c4264035@8.47.12.52) |
2021-01-06 19:14:46 +0100 | <jollygood2> | you can't even call try/catch outside of IO |
2021-01-06 19:14:56 +0100 | <ggVGc> | jollygood2: this is exactly my point |
2021-01-06 19:15:04 +0100 | <ggVGc> | I am trying to clarify why that is the case |
2021-01-06 19:15:19 +0100 | <ggVGc> | I am unfortunately quite bad at expressing myself most of the time |
2021-01-06 19:16:00 +0100 | kyali | (~kyali@APN-123-253-144-gprs.simobil.net) |
2021-01-06 19:16:43 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) (Ping timeout: 240 seconds) |
2021-01-06 19:17:00 +0100 | <ggVGc> | new_haskeller: this is one of the big warts, imo, in JS. That exceptions like file errors are bundled together with invalid property accesses etc. Where one is an actual exceptional situation, and the other is you writing buggy code (which you shouldn't be writing an error handler for) |
2021-01-06 19:17:25 +0100 | <new_haskeller> | that's why I am here :) |
2021-01-06 19:17:48 +0100 | andreas303 | (~andreas@gateway/tor-sasl/andreas303) |
2021-01-06 19:18:21 +0100 | Tario | (~Tario@201.192.165.173) |
2021-01-06 19:19:52 +0100 | <ggVGc> | new_haskeller: I recommend compiing your code with -Wall and -Werror. This will protect you against partial pattern matches, among other things, and generally clear up your code |
2021-01-06 19:21:05 +0100 | stefan-__ | (~cri@42dots.de) (Ping timeout: 240 seconds) |
2021-01-06 19:23:53 +0100 | <new_haskeller> | I find the Haskell extension in VS Code v helpful. If it flags a problem, there is no point going to the compiler! |
2021-01-06 19:24:08 +0100 | <new_haskeller> | ggVGc: done! |
2021-01-06 19:25:48 +0100 | stefan-_ | (~cri@42dots.de) |
2021-01-06 19:26:40 +0100 | robotmay | (~beepboop@80.172.187.81.in-addr.arpa) |
2021-01-06 19:29:25 +0100 | jitwit | (~user@bras-base-mtrlpq4381w-grc-34-174-93-238-71.dsl.bell.ca) (Remote host closed the connection) |
2021-01-06 19:38:29 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 272 seconds) |
2021-01-06 19:39:00 +0100 | chalkmon1 | (~chalkmons@unaffiliated/chalkmonster) (Quit: WeeChat 3.0) |
2021-01-06 19:39:50 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Remote host closed the connection) |
2021-01-06 19:42:46 +0100 | abhixec | (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) |
2021-01-06 19:44:40 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 19:46:11 +0100 | nucranium | (~nucranium@2a02:8010:6173:0:24ec:3ce1:39cf:bba2) (Remote host closed the connection) |
2021-01-06 19:48:28 +0100 | fryguybob | (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (Ping timeout: 246 seconds) |
2021-01-06 19:49:25 +0100 | fryguybob | (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) |
2021-01-06 19:49:59 +0100 | conal | (~conal@64.71.133.70) |
2021-01-06 19:54:12 +0100 | gedda | (~gedda@185.195.233.164) |
2021-01-06 19:54:20 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds) |
2021-01-06 19:55:55 +0100 | Lord_of_Life_ | (~Lord@unaffiliated/lord-of-life/x-0885362) |
2021-01-06 19:56:57 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 19:57:46 +0100 | <gedda> | I have a bunch of type signatures like this: "default foo :: (MonadTrans t, MyTypeClass m1, m ~ t m1) => m a" for a bunch of different foo's and MyTypeClass's |
2021-01-06 19:57:54 +0100 | Lord_of_Life | (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds) |
2021-01-06 19:57:54 +0100 | Lord_of_Life_ | Lord_of_Life |
2021-01-06 19:58:15 +0100 | <gedda> | If i wanted to reduce the constraint boiler, is type families and ConstraintKinds the way to go? |
2021-01-06 19:58:20 +0100 | christo | (~chris@81.96.113.213) (Remote host closed the connection) |
2021-01-06 19:58:55 +0100 | cr3 | (~cr3@192-222-143-195.qc.cable.ebox.net) |
2021-01-06 19:58:56 +0100 | dandels | (~dandels@unaffiliated/dandels) (Ping timeout: 240 seconds) |
2021-01-06 19:59:40 +0100 | jfe | (~user@pool-71-184-149-134.bstnma.fios.verizon.net) (Ping timeout: 246 seconds) |
2021-01-06 19:59:48 +0100 | <gedda> | is it possible to get something like "default foo :: Bar MyTypeClass m => m"? |
2021-01-06 20:00:23 +0100 | <gedda> | where Bar MyTypeClass m would expand to (MonadTrans t, MyTypeClass m1, m ~ t m1) of course |
2021-01-06 20:00:37 +0100 | christo | (~chris@81.96.113.213) |
2021-01-06 20:01:24 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 272 seconds) |
2021-01-06 20:02:15 +0100 | chenshen | (~chenshen@2620:10d:c090:400::5:af56) |
2021-01-06 20:03:09 +0100 | gues64803 | (~username@62-34-117-205.abo.bbox.fr) () |
2021-01-06 20:03:28 +0100 | berberman_ | (~berberman@unaffiliated/berberman) |
2021-01-06 20:03:39 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 20:03:50 +0100 | <merijn> | gedda: With ConstraintKinds and type families, sure |
2021-01-06 20:04:10 +0100 | <merijn> | You can do nearly arbitrary nonsense that way :p |
2021-01-06 20:04:32 +0100 | <gedda> | the question is always is the arbitrary nonsense worth it or KISS |
2021-01-06 20:04:41 +0100 | berberman_ | (~berberman@unaffiliated/berberman) (Max SendQ exceeded) |
2021-01-06 20:04:50 +0100 | berberman | (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds) |
2021-01-06 20:05:00 +0100 | <merijn> | gedda: Actually, for the simple case you just need ConstraintKinds, not even type families |
2021-01-06 20:05:09 +0100 | berberman | (~berberman@unaffiliated/berberman) |
2021-01-06 20:05:25 +0100 | <merijn> | With ConstraintKinds you can just do "type Foo v = (Show v, Eq v, Ord v)" |
2021-01-06 20:05:38 +0100 | <gedda> | merijn, really? how would I define a type which can accept a typeclass as argument? |
2021-01-06 20:06:28 +0100 | <merijn> | gedda: YOu can try if "type Foo cls m = (cls m, Monad m)" or something along those lines works |
2021-01-06 20:06:33 +0100 | <merijn> | I think it should? |
2021-01-06 20:06:43 +0100 | <gedda> | ill have a go |
2021-01-06 20:06:46 +0100 | jamm | (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
2021-01-06 20:06:51 +0100 | <ski> | (looks like you'd need existential quantification (the real thing) for the above example ?) |
2021-01-06 20:07:29 +0100 | <gedda> | over t, and m1? |
2021-01-06 20:07:32 +0100 | <gedda> | or t and m? |
2021-01-06 20:07:48 +0100 | <ski> | type Foo c m = exists t m1. (MonadTrans t,c m1,m ~ t m1) |
2021-01-06 20:07:55 +0100 | jamm | (~jamm@unaffiliated/jamm) |
2021-01-06 20:08:09 +0100 | <ski> | oh, s/Foo/Bar/ |
2021-01-06 20:09:22 +0100 | <kuribas> | why doesn't () have an alternative instance? |
2021-01-06 20:09:30 +0100 | <gedda> | ski, exists and not forall? |
2021-01-06 20:09:34 +0100 | <ski> | yes |
2021-01-06 20:09:50 +0100 | <ski> | foo :: Bar MyTypeClass m => m |
2021-01-06 20:10:05 +0100 | <ski> | foo :: (exists t m1. (MonadTrans t,MyTypeClass m1,m ~ t m1)) => m |
2021-01-06 20:10:16 +0100 | <ski> | foo :: forall t m1. ((MonadTrans t,MyTypeClass m1,m ~ t m1) => m) |
2021-01-06 20:10:18 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Remote host closed the connection) |
2021-01-06 20:10:41 +0100 | <ski> | an alternative would be |
2021-01-06 20:10:47 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:f964:d8d4:1ec3:146c) (Ping timeout: 272 seconds) |
2021-01-06 20:10:58 +0100 | ADG1089__ | (~aditya@223.236.177.109) |
2021-01-06 20:11:00 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 20:11:03 +0100 | jfe | (~user@pool-71-184-149-134.bstnma.fios.verizon.net) |
2021-01-06 20:11:08 +0100 | <ski> | type FooOf c m o = forall t m1. (MonadTrans t,c m1,m ~ t m1) => o |
2021-01-06 20:11:24 +0100 | <ski> | foo :: FooOf MyTypeClass m m |
2021-01-06 20:11:38 +0100 | <ski> | foo :: forall t m1. (MonadTrans t,MyTypeClass m1,m ~ t m1) => m |
2021-01-06 20:11:57 +0100 | shinobi | (~shinobi@c-24-147-48-162.hsd1.ma.comcast.net) (Quit: Leaving) |
2021-01-06 20:12:14 +0100 | <ski> | (wrapping the "body type" in a parameter of the type synonym) |
2021-01-06 20:12:28 +0100 | jamm | (~jamm@unaffiliated/jamm) (Ping timeout: 260 seconds) |
2021-01-06 20:12:48 +0100 | <gedda> | hmm, exists gives me not in in scope error, even with ExistentialQuantification |
2021-01-06 20:13:06 +0100 | <gedda> | with your "type Foo ..." |
2021-01-06 20:13:33 +0100 | gehmehgeh | (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
2021-01-06 20:14:04 +0100 | <ski> | `exists' doesn't exist in GHC |
2021-01-06 20:14:21 +0100 | <ski> | (and `ExistentialQuantification' doesn't turn on existential quantification .. imho, it's a misnomer) |
2021-01-06 20:15:22 +0100 | <gedda> | Wow thats confusing, so is your solution a no go with ghc? |
2021-01-06 20:15:32 +0100 | jfe | (~user@pool-71-184-149-134.bstnma.fios.verizon.net) (Ping timeout: 256 seconds) |
2021-01-06 20:15:35 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) |
2021-01-06 20:15:49 +0100 | <ski> | `FooOf' would work, i think |
2021-01-06 20:15:57 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 260 seconds) |
2021-01-06 20:18:11 +0100 | <ski> | (`ExistentialQuantification' turns on a feature by which you can *encode* existential quantification, by defining a `data' type (more specifically, it amounts to declating a `data' constructor with an existentially quantified parameter type .. although, you can curry -- so it's only directly an existential, in the uncurried form)) |
2021-01-06 20:19:15 +0100 | <gedda> | FooOf would perfectly, thanks |
2021-01-06 20:19:55 +0100 | <gedda> | and it worked neatly where i have `a -> m o` or a -> b -> m o` as well |
2021-01-06 20:19:59 +0100 | <ski> | the solution with `exists' was what you would probably be ablt to do, *if* you had proper existential quantification |
2021-01-06 20:20:06 +0100 | <ski> | yea |
2021-01-06 20:20:25 +0100 | <ski> | of course, you can't access `t' or `m1' there, though .. but hopefully that's not needed |
2021-01-06 20:20:54 +0100 | <gedda> | no it is just to remove type type signature boiler for defaultsigs when using mtl |
2021-01-06 20:21:07 +0100 | <gedda> | foo = lift foo |
2021-01-06 20:21:47 +0100 | <gedda> | and here i was looking for an excuses to learn type families once and for all >:^( |
2021-01-06 20:22:18 +0100 | ski | didn't really see how type families would help, here .. |
2021-01-06 20:22:53 +0100 | <gedda> | (hence why i should learn them) |
2021-01-06 20:25:46 +0100 | <gedda> | naming wise im also a bit surprised that the forall requires RankNTypes and not QuantifiedConstraints |
2021-01-06 20:25:57 +0100 | <ski> | you know how `ExistentialQuantification' works ? |
2021-01-06 20:27:04 +0100 | <ski> | well, you had no quantified constraints, here. that would have been `(forall a. ..a..) => ...'. but you had `forall a. (..a.. => ..a..)', which is an ordinary universally quantified, and constrained, type |
2021-01-06 20:28:53 +0100 | <gedda> | aah, of course |
2021-01-06 20:29:54 +0100 | <gedda> | that explains my confusion with ExistentialQuantification as well |
2021-01-06 20:30:01 +0100 | <gedda> | very helpful! |
2021-01-06 20:32:10 +0100 | geekosaur | (42d52137@66.213.33.55) (Ping timeout: 245 seconds) |
2021-01-06 20:32:44 +0100 | <ski> | note that `(exists a. ..a..) -> ...' is equivalent to `forall a. (..a.. -> ...)' |
2021-01-06 20:32:48 +0100 | <ski> | so, in particular, e.g. |
2021-01-06 20:32:57 +0100 | <ski> | length :: forall a. ([a] -> Int) |
2021-01-06 20:33:00 +0100 | <ski> | could also be thought of as |
2021-01-06 20:33:09 +0100 | <ski> | length :: (exists a. [a]) -> Int |
2021-01-06 20:33:39 +0100 | <ski> | you can read the type signature as (a) for all types `a', if you pass a list of elements of type `a' to `length', you'll get an `Int' back |
2021-01-06 20:34:16 +0100 | <ski> | but you can also read it as (b) the result of calling `length' will be `Int', if there exists some type `a' such that the argument is a list of elements of type `a' |
2021-01-06 20:34:49 +0100 | <gedda> | that much i remember from my logic classes in uni |
2021-01-06 20:35:22 +0100 | <ski> | and for similar reasons, `(exists a. ..a..) => ...' (an existentially quantified constraint, as in my `Foo' above) would be equivalent to `forall a. (..a.. => ...)' |
2021-01-06 20:35:52 +0100 | <gedda> | i think i've been missing out on ExistentialQuantification, looks like i could use it in a bunch of places actually in my code to reduce boiler |
2021-01-06 20:36:56 +0100 | <ski> | so, having an argument type wrapped in `exists' is "not serious", in the sense that you can always rewrite it with a `forall' wrapping the whole function type. (and ditto for `exists' in a constraint that you're assuming with `=>', declaring that the caller/user/consumer must ensure they're satisfied) |
2021-01-06 20:37:45 +0100 | <ski> | otoh, having the result type wrapped in `exists' (or having `exists' more deeply nested in either argument types or result types) would be "serious", not as easily expressible in another way |
2021-01-06 20:38:29 +0100 | <gedda> | naturally, i just presumed forall a. (...) => m a would associate to the left as (forall a. (...)) => m a and not the other way |
2021-01-06 20:38:59 +0100 | <gedda> | which in hindsight doesn't make a lot of sense |
2021-01-06 20:39:05 +0100 | <ski> | you could also note that `... -> (forall a. ..a..)' is equivalent to `forall a. (... -> ..a..)' (and similarly `... => (forall a. ..a..)' is equivalent to `forall a. (... => ..a..)') .. so, you can move `forall's wrapping result type so that it wraps the whole function type. so that usage is also "non-serious"/"trivial" |
2021-01-06 20:39:21 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) |
2021-01-06 20:39:58 +0100 | <ski> | otoh, having *argument* type wrapped in `forall' is "serious"/"nontrivial", requires `Rank2Types'. (and nesting it more deeply in arguments of a callback function type requires `RankNTypes') |
2021-01-06 20:40:16 +0100 | knupfer1 | (~Thunderbi@200116b824b6e000295db61e169135c3.dip.versatel-1u1.de) |
2021-01-06 20:40:17 +0100 | knupfer | (~Thunderbi@i5E86B49C.versanet.de) (Quit: knupfer) |
2021-01-06 20:40:17 +0100 | knupfer1 | knupfer |
2021-01-06 20:40:32 +0100 | <koz_> | ski: Isn't Rank2Types just part of RankNTypes now? |
2021-01-06 20:40:38 +0100 | <gedda> | on the topic of Rank2Types vs RankNTypes, do people still use Rank2Types? |
2021-01-06 20:40:55 +0100 | <koz_> | I mean yes, in theory we can have rank-2 inference, but it's not like GHC uses the algorithm that enables this in any case. |
2021-01-06 20:41:08 +0100 | <ski> | gedda : yea .. not that seldom misunderstandings seem to be like that, they're obviously incorrect, once you examine them (once you're able to examine them, from the right angle, or with enough appropriate detail, perhaps) |
2021-01-06 20:41:12 +0100 | <ski> | koz_ : yes |
2021-01-06 20:41:14 +0100 | <Uniaika> | koz_: yes I think it is |
2021-01-06 20:41:19 +0100 | thc202 | (~thc202@unaffiliated/thc202) (Quit: thc202) |
2021-01-06 20:41:22 +0100 | <ski> | (i was just about to say that :) |
2021-01-06 20:41:34 +0100 | <Uniaika> | no I think you raced me |
2021-01-06 20:41:42 +0100 | <Uniaika> | well-done, mr. combinator |
2021-01-06 20:41:46 +0100 | <koz_> | Uniaika: Somethign something racy comments. |
2021-01-06 20:41:51 +0100 | ski | just types `Rank2Types', is that's all that's needed |
2021-01-06 20:42:08 +0100 | <koz_> | Also, I forget what paper had that algorithm. I remember Odersky was one of the coauthors? |
2021-01-06 20:42:28 +0100 | <ski> | (and similarly, if i only need rank-2 data constructors, i use `PolymorphicComponents') |
2021-01-06 20:42:57 +0100 | <ski> | @where Haskel |
2021-01-06 20:42:57 +0100 | <lambdabot> | <http://web.archive.org/web/20070703001910/http://www.cs.chalmers.se/~augustss/pics/haskel.gif> |
2021-01-06 20:43:40 +0100 | <koz_> | ski: Link be baroke. |
2021-01-06 20:43:54 +0100 | <ski> | works here |
2021-01-06 20:43:56 +0100 | <gedda> | works for me |
2021-01-06 20:43:58 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:e826:4c07:b220:a42a) (Ping timeout: 260 seconds) |
2021-01-06 20:44:00 +0100 | <__monty__> | Is that from Maus? |
2021-01-06 20:44:03 +0100 | <ski> | yes |
2021-01-06 20:44:48 +0100 | <koz_> | Ah whoops. |
2021-01-06 20:45:00 +0100 | <koz_> | Clicked wrong thing because my terminal is 'smart' about links. |
2021-01-06 20:45:59 +0100 | ski | . o O ( "Delimiting a URI in Context" <https://tools.ietf.org/html/rfc3986#appendix-C> ) |
2021-01-06 20:46:17 +0100 | <gedda> | koz_, when you say in theory, doesnt ghc in practice have rank-2 inference with the more general rank-n algorithm? |
2021-01-06 20:46:22 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Ping timeout: 272 seconds) |
2021-01-06 20:46:55 +0100 | <ski> | > let foo f = (f [False,True],f "FileNotFound") in foo reverse |
2021-01-06 20:46:57 +0100 | <lambdabot> | error: |
2021-01-06 20:46:57 +0100 | <lambdabot> | • Couldn't match type ‘Char’ with ‘Bool’ |
2021-01-06 20:46:57 +0100 | <lambdabot> | Expected type: [Bool] |
2021-01-06 20:46:57 +0100 | <koz_> | gedda: In theory means quite literally 'it is possible to do'. |
2021-01-06 20:47:15 +0100 | <koz_> | Rank-n polymorphism can't have type inference even in theory. |
2021-01-06 20:47:16 +0100 | <ski> | > let foo :: (forall a. [a] -> [a]) -> ([Bool],String); foo f = (f [False,True],f "FileNotFound") in foo reverse |
2021-01-06 20:47:18 +0100 | <lambdabot> | ([True,False],"dnuoFtoNeliF") |
2021-01-06 20:47:21 +0100 | <koz_> | (for arbitrary n) |
2021-01-06 20:47:27 +0100 | geekosaur | (42d52137@66.213.33.55) |
2021-01-06 20:47:28 +0100 | <gedda> | koz_, yeah, just wondering if I misunderstood something |
2021-01-06 20:47:42 +0100 | <gedda> | and that was it, arbitrary n inference doesnt work |
2021-01-06 20:47:56 +0100 | <koz_> | Yeah, indeed. Rank-2 can have inference, but IIRC the algorithm is gory. |
2021-01-06 20:47:59 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2021-01-06 20:48:04 +0100 | <gedda> | does GHC limit n to some upper bound? |
2021-01-06 20:48:07 +0100 | <koz_> | (both in specifics and in performance) |
2021-01-06 20:48:14 +0100 | <gedda> | or rather, how large can n be? |
2021-01-06 20:48:18 +0100 | <koz_> | gedda: If you really need rank-100 polymorphism, go for it. |
2021-01-06 20:48:30 +0100 | <koz_> | I think you'll hit other limits _long_ before this becomes an issue. |
2021-01-06 20:48:31 +0100 | <Uniaika> | (or make your machine die trying) |
2021-01-06 20:49:13 +0100 | knupfer | (~Thunderbi@200116b824b6e000295db61e169135c3.dip.versatel-1u1.de) (Ping timeout: 260 seconds) |
2021-01-06 20:49:51 +0100 | <gedda> | more of a thought exercise, how little code can you write to have ghc be unable to typecheck a program in a reasonable time |
2021-01-06 20:50:56 +0100 | <koz_> | gedda: I'm pretty sure it's possible to infinite loop the compiler using type families. |
2021-01-06 20:51:28 +0100 | <gedda> | if we say that the program should be sound then |
2021-01-06 20:51:41 +0100 | <koz_> | gedda: Define 'sound'. |
2021-01-06 20:52:38 +0100 | <gedda> | no infinite types |
2021-01-06 20:53:03 +0100 | <gedda> | like mutual recursion without a base case |
2021-01-06 20:53:27 +0100 | <koz_> | gedda: What do you mean by 'infinite type'? |
2021-01-06 20:53:31 +0100 | <ski> | @type let pair x y z = z x y; x0 y = pair y y; x1 = x0 . x0; x2 = x1 . x1; x3 = x2 . x2 in x3 id |
2021-01-06 20:53:32 +0100 | <lambdabot> | ((((((((((((((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> (a -> a) -> t1) -> t1) -> t2) -> t2) -> (((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> (a -> a) -> t1) -> t1) -> t2) -> t2) |
2021-01-06 20:53:32 +0100 | <lambdabot> | -> t3) -> t3) -> (((((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> (a -> a) -> t1) -> t1) -> t2) -> t2) -> (((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> (a -> a) -> t1) -> t1) -> |
2021-01-06 20:53:32 +0100 | <lambdabot> | t2) -> t2) -> t3) -> t3) -> t4) -> t4) -> (((((((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> (a -> a) -> t1) -> t1) -> t2) -> t2) -> (((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> ( |
2021-01-06 20:53:32 +0100 | <lambdabot> | a -> a) -> t1) -> t1) -> t2) -> t2) -> t3) -> t3) -> (((((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> (a -> a) -> t1) -> t1) -> t2) -> t2) -> (((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a - |
2021-01-06 20:53:32 +0100 | <lambdabot> | > a) -> (a -> a) -> t1) -> t1) -> t2) -> t2) -> t3) -> t3) -> t4) -> t4) -> t5) -> t5) -> (((((((((((a -> a) -> (a -> a) -> t1) -> t1) -> (((a -> a) -> (a -> a) -> t1) -> t1) -> t2) -> t2) -> (((((a |
2021-01-06 20:53:34 +0100 | <lambdabot> | [32 @more lines] |
2021-01-06 20:53:53 +0100 | <monochrom> | If you insist every recursion to have a base case, you are in the wrong channel. |
2021-01-06 20:53:56 +0100 | <koz_> | ski: Oooof. |
2021-01-06 20:54:05 +0100 | pavonia | (~user@unaffiliated/siracusa) |
2021-01-06 20:54:08 +0100 | <monochrom> | In Haskell and #haskell, we have soundness without base cases. |
2021-01-06 20:54:11 +0100 | <koz_> | That's like, an exponentially-sized tree? |
2021-01-06 20:54:15 +0100 | <ski> | yes |
2021-01-06 20:55:10 +0100 | <gedda> | monochrom, of course, but a simple endless loop is no fun :( |
2021-01-06 20:55:50 +0100 | <monochrom> | Is "x = 0 : x" fun? I think it is. |
2021-01-06 20:56:00 +0100 | <monochrom> | Is it also a simple endless loop? I think it is. |
2021-01-06 20:56:14 +0100 | <koz_> | Alternatively, there's the simple [1 ..] |
2021-01-06 20:56:20 +0100 | <koz_> | Also a simple endless loop, but very useful! |
2021-01-06 20:56:25 +0100 | <ski> | @let infixr 5 /\/; (/\/) :: [a] -> [a] -> [a]; [ ] /\/ ys = ys; (x:xs) /\/ ys = x : ys /\/ xs |
2021-01-06 20:56:26 +0100 | <lambdabot> | Defined. |
2021-01-06 20:56:28 +0100 | ericsagnes | (~ericsagne@2405:6580:0:5100:e475:5ea1:1ccc:d1ed) |
2021-01-06 20:56:31 +0100 | <koz_> | (or [0..]) |
2021-01-06 20:56:45 +0100 | <ski> | > let abacaba = repeat 0 /\/ map (1 +) abacaba in abacaba |
2021-01-06 20:56:47 +0100 | <lambdabot> | [0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,4,0,1,0,2,0,1,0,3,0,1,0,2,0,1,0,5,0,1,0,2,0,1... |
2021-01-06 20:57:08 +0100 | <gedda> | monochrom, x :: Num a => [a] |
2021-01-06 20:57:25 +0100 | <gedda> | still typechecks quickly |
2021-01-06 20:57:56 +0100 | <monochrom> | I think you don't get my point. |
2021-01-06 20:58:59 +0100 | <gedda> | i fully do |
2021-01-06 20:59:32 +0100 | jfe | (~user@pool-71-184-149-134.bstnma.fios.verizon.net) |
2021-01-06 20:59:42 +0100 | carif | (~mcarifio@cpe-67-246-227-118.rochester.res.rr.com) |
2021-01-06 20:59:49 +0100 | <ski> | it was just a point re "like mutual recursion without a base case", not about large or infinite types |
2021-01-06 21:00:18 +0100 | <ski> | (or long typechecking time) |
2021-01-06 21:03:06 +0100 | denucat | (teqwve@2001:bc8:28d6::2) (Quit: cya) |
2021-01-06 21:03:12 +0100 | <gedda> | i might have expressed myself clumsily |
2021-01-06 21:04:06 +0100 | conal | (~conal@64.71.133.70) (Ping timeout: 272 seconds) |
2021-01-06 21:05:18 +0100 | cole-h | (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
2021-01-06 21:07:02 +0100 | kuribas | (~user@ptr-25vy0i7d7aymgmplx2i.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3)) |
2021-01-06 21:07:41 +0100 | conal | (~conal@66.115.157.85) |
2021-01-06 21:09:57 +0100 | v_m_v | (~vm_v@2a02:aa12:3200:6480:14d3:e041:99da:4fe5) |
2021-01-06 21:10:23 +0100 | rayyyy | (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds) |
2021-01-06 21:10:34 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:f964:d8d4:1ec3:146c) |
2021-01-06 21:11:46 +0100 | argento | (~argent0@168.227.96.51) (Quit: leaving) |
2021-01-06 21:12:46 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds) |
2021-01-06 21:12:53 +0100 | ADG1089_ | (~aditya@171.76.136.168) |
2021-01-06 21:13:31 +0100 | ADG1089__ | (~aditya@223.236.177.109) (Ping timeout: 246 seconds) |
2021-01-06 21:13:40 +0100 | Franciman | (~francesco@host-82-48-174-127.retail.telecomitalia.it) (Quit: Leaving) |
2021-01-06 21:13:42 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 21:13:44 +0100 | manjaro-user_ | (~manjaro-u@2601:285:c000:a6c0::4f77) |
2021-01-06 21:17:17 +0100 | ph88^ | (~ph88@2a02:8109:9e00:7e5c:f964:d8d4:1ec3:146c) (Ping timeout: 272 seconds) |
2021-01-06 21:18:28 +0100 | ClaudiusMaximus | (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
2021-01-06 21:18:56 +0100 | <melkornms> | hey guys, I was digging a little more into the Monoid (a -> b) and stumbled upon something I can't understand, I have made a little gist - https://gist.github.com/MelkorNemesis/b53535f298d478aa437853c8180dbbd9 |
2021-01-06 21:19:05 +0100 | <melkornms> | would the implementation on line 4 work? |
2021-01-06 21:19:11 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 272 seconds) |
2021-01-06 21:19:22 +0100 | <melkornms> | mappend is a binary function and here it takes 3 arguments |
2021-01-06 21:19:30 +0100 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) |
2021-01-06 21:20:06 +0100 | <ski> | yes it would |
2021-01-06 21:20:11 +0100 | <melkornms> | does it have something to do with partial application? I can understand it on the line 11 where it clearly reads f <> g |
2021-01-06 21:20:19 +0100 | <merijn> | melkornms: Question: What's the difference between a function taking 2 arguments and one taking 1 argument and returning a lambda? |
2021-01-06 21:20:34 +0100 | <ski> | mappend :: (a -> b) -> (a -> b) -> (a -> b) -- where `Monoid b' is known |
2021-01-06 21:20:37 +0100 | <ski> | in that case |
2021-01-06 21:20:40 +0100 | <melkornms> | merijn: I would say none? |
2021-01-06 21:20:44 +0100 | <merijn> | melkornms: Right |
2021-01-06 21:20:53 +0100 | <ski> | mappend f g x = f x `mappend` g x |
2021-01-06 21:20:56 +0100 | <ski> | is equivalent to |
2021-01-06 21:21:02 +0100 | <ski> | mappend f g = \x -> f x `mappend` g x |
2021-01-06 21:21:09 +0100 | <merijn> | melkornms: Now keep in mind that "mappend x f = ..." is the same as "mappend = \x -> \y -> ..." |
2021-01-06 21:21:24 +0100 | <melkornms> | right, thanks guys |
2021-01-06 21:21:37 +0100 | <merijn> | melkornms: So, by extension "mappend f g = \x -> f x <> g x" is equivalent to "mappend f g x = f x <> g x" |
2021-01-06 21:21:47 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-39-70-27-244-102.dsl.bell.ca) (Quit: ZNC 1.8.2 - https://znc.in) |
2021-01-06 21:22:05 +0100 | <merijn> | melkornms: Haskell doesn't really have a notion of "number of arguments", GHC just cares "do the types match?" |
2021-01-06 21:22:20 +0100 | <melkornms> | brilliant, thanks for the help |
2021-01-06 21:22:25 +0100 | <merijn> | So if the "return" is a function, then GHC is perfectly happy if you move that argument to the left of the = |
2021-01-06 21:22:27 +0100 | <ski> | melkornms : if you turn on the `InstanceSigs' extension, you can actually put the signature i mentioned in your code (inside the `instance' declaration) |
2021-01-06 21:22:52 +0100 | <melkornms> | been coding for 15 years, but it was time to dig into some haskell, haha |
2021-01-06 21:23:14 +0100 | <ski> | (and note that that signature means the same thing as `mappend :: (a -> b) -> (a -> b) -> a -> b') |
2021-01-06 21:23:25 +0100 | <ephemient> | let f () _ = undefined in f undefined `seq` () |
2021-01-06 21:23:33 +0100 | <ephemient> | let f () = \_ -> undefined in f undefined `seq` () |
2021-01-06 21:23:39 +0100 | <ephemient> | have different behavior though |
2021-01-06 21:23:48 +0100 | <ski> | yes |
2021-01-06 21:24:18 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
2021-01-06 21:24:41 +0100 | <ski> | (but if you're just matching on variables, wildcards, and `as'-patterns nested around those, then there's no difference) |
2021-01-06 21:25:07 +0100 | <ski> | (you could also throw in irrefutable/lazy patterns) |
2021-01-06 21:25:45 +0100 | <manjaro-user_> | I'm trying to use `rand l = (l!) <$> randomRIO (1, length l)` with the type def of `[String] -> IO String` inside a do block of type `IO ()` and the exact usage is `rand bg'` where bg' is a `[String]` |
2021-01-06 21:26:19 +0100 | <manjaro-user_> | And I'm getting the error of Expected pyte: X String Actual type: IO String |
2021-01-06 21:26:26 +0100 | <manjaro-user_> | type* |
2021-01-06 21:26:46 +0100 | <manjaro-user_> | If I change it to type X String then it gives me the error: |
2021-01-06 21:27:16 +0100 | <ski> | looks like you're not executing `rand l' in `IO', but rather in `X' |
2021-01-06 21:27:24 +0100 | leungbk | (~user@2603-8000-f144-2028-6884-768f-e832-6e83.res6.spectrum.com) |
2021-01-06 21:27:53 +0100 | <ski> | also, i suspect you'd prefer `(0,length l - 1)' ? |
2021-01-06 21:27:54 +0100 | <manjaro-user_> | Expected type: X String Actual type: IO String ... in the expression (l!... |
2021-01-06 21:28:57 +0100 | <manjaro-user_> | Good catch there, but the error still persists |
2021-01-06 21:28:58 +0100 | <ski> | (i also presume you mean `!!', rather than `!' ?) |
2021-01-06 21:29:32 +0100 | <manjaro-user_> | No |
2021-01-06 21:29:40 +0100 | <ephemient> | what is X? |
2021-01-06 21:29:43 +0100 | <ski> | @type (!) |
2021-01-06 21:29:45 +0100 | <lambdabot> | Ix i => Array i e -> i -> e |
2021-01-06 21:29:46 +0100 | pieguy128 | (~pieguy128@bras-base-mtrlpq5031w-grc-39-70-27-244-102.dsl.bell.ca) |
2021-01-06 21:29:47 +0100 | <ski> | @type (!!) |
2021-01-06 21:29:49 +0100 | <lambdabot> | [a] -> Int -> a |
2021-01-06 21:29:51 +0100 | <manjaro-user_> | I set ! as l ! n = l!!(n-1) |
2021-01-06 21:30:00 +0100 | <ski> | which `!' are you using ? |
2021-01-06 21:30:03 +0100 | <ski> | oh, ok |
2021-01-06 21:30:24 +0100 | asthasr | (~asthasr@162.210.29.120) |
2021-01-06 21:30:39 +0100 | <manjaro-user_> | ephemient: X is an Xmonad function type (I think) |
2021-01-06 21:30:49 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2021-01-06 21:30:50 +0100 | <ski> | well, then i guess `(1,length l)' wouldn't error out (assuming the list is non-empty) |
2021-01-06 21:31:20 +0100 | <ski> | (not a function type. it would be a monad. in this case for doing X Windows stuff, for Xmonad) |
2021-01-06 21:31:36 +0100 | <manjaro-user_> | ^ Yeah, that makes more sense |
2021-01-06 21:31:45 +0100 | <ski> | manjaro-user_ : and you actually put a type signature for `rand' in the coded ? |
2021-01-06 21:31:52 +0100 | <ski> | s/coded/code/ |
2021-01-06 21:32:41 +0100 | <manjaro-user_> | in the coded? |
2021-01-06 21:32:52 +0100 | <manjaro-user_> | Sorry, fairly new to haskell, I'm not sure what that means |
2021-01-06 21:33:15 +0100 | <ephemient> | are you writing `rand :: [String] -> X String` before the declaration or something like that |
2021-01-06 21:33:17 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) |
2021-01-06 21:33:21 +0100 | <ski> | in the code, "coded" was a typo |
2021-01-06 21:33:30 +0100 | <manjaro-user_> | at the end of the same file, so seperate, yes |
2021-01-06 21:33:50 +0100 | <ski> | could you paste your code ? |
2021-01-06 21:33:52 +0100 | <ski> | @where paste |
2021-01-06 21:33:52 +0100 | <lambdabot> | Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com |
2021-01-06 21:34:35 +0100 | <manjaro-user_> | Sure, I actually have a slightly older version located at https://github.com/techtiger255/xbronad |
2021-01-06 21:34:52 +0100 | <ski> | (if you could cut down on the code a bit, such that the error still persists, that might be nice. but unless it's a lot of code, it could still be fine) |
2021-01-06 21:35:07 +0100 | <manjaro-user_> | the files in question are lib/Custom/Grid.hs <- rand is defined here |
2021-01-06 21:35:18 +0100 | knupfer | (~Thunderbi@i5E86B49C.versanet.de) |
2021-01-06 21:35:25 +0100 | <manjaro-user_> | xmonad.hs <- the do block with rand bg' is here |
2021-01-06 21:35:27 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 21:35:30 +0100 | geekosaur | is guessing that the real problem is a missing liftIO |
2021-01-06 21:35:34 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) |
2021-01-06 21:35:48 +0100 | <ski> | there's no type signature for `rand' in that file |
2021-01-06 21:35:53 +0100 | <ephemient> | you can't separate the signature from the declaration like that |
2021-01-06 21:36:00 +0100 | <manjaro-user_> | yeah, slightly different version |
2021-01-06 21:36:03 +0100 | <ski> | yes, you can, ephemient |
2021-01-06 21:36:13 +0100 | <monochrom> | Prelude does it all the time. |
2021-01-06 21:36:19 +0100 | <ski> | (but most people don't) |
2021-01-06 21:36:19 +0100 | <manjaro-user_> | in that one I have way less type definitions |
2021-01-06 21:36:27 +0100 | <geekosaur> | ghci won't let you but that's because it's ghci |
2021-01-06 21:36:32 +0100 | <manjaro-user_> | I do it so I can read my config reasonably |
2021-01-06 21:36:41 +0100 | pera | (~pera@unaffiliated/pera) (Ping timeout: 265 seconds) |
2021-01-06 21:36:48 +0100 | codeAlways | (uid272474@gateway/web/irccloud.com/x-ksrtxpuomausdfhe) (Quit: Connection closed for inactivity) |
2021-01-06 21:37:31 +0100 | <ephemient> | huh. TIL |
2021-01-06 21:37:31 +0100 | <manjaro-user_> | again, the supposed type is `[String] -> IO String` or X String instead of IO String |
2021-01-06 21:38:15 +0100 | <ephemient> | well, the generic type would be `rand :: (MonadIO m) => [a] -> m a` |
2021-01-06 21:38:23 +0100 | <ski> | manjaro-user_ : in place of `maybe (pure ()) fn', you could say `traverse_ fn' |
2021-01-06 21:38:37 +0100 | jfe | (~user@pool-71-184-149-134.bstnma.fios.verizon.net) (Ping timeout: 264 seconds) |
2021-01-06 21:39:05 +0100 | <ski> | @index traverse_ |
2021-01-06 21:39:05 +0100 | <lambdabot> | Data.Foldable |
2021-01-06 21:39:20 +0100 | <monochrom> | It can be a reasonable use if you have "f, g, h :: Int -> Int" on one line because they are so closely related, and then define f, g, h, respectively. |
2021-01-06 21:40:06 +0100 | <ski> | or to have separate `f :: Foo' and `g :: Bar -> Baz', with a definition like `(f,g) = ...' or `Blah f g = ...' |
2021-01-06 21:40:12 +0100 | <manjaro-user_> | Yeah, in a regular program I'd probably do that, but if they're all basic types like that then I've ommited them in my config |
2021-01-06 21:40:39 +0100 | <manjaro-user_> | slightly increases compile times (by fractions of seconds, but eh) |
2021-01-06 21:41:17 +0100 | <ski> | manjaro-user_ : anyway, i see no type error relating to `rand' in that file |
2021-01-06 21:41:22 +0100 | ulidtko | (~ulidtko@194.54.80.38) (Remote host closed the connection) |
2021-01-06 21:41:27 +0100 | <manjaro-user_> | in xmonad.hs? |
2021-01-06 21:41:30 +0100 | <ski> | manjaro-user_ : perhaps paste the code that gives the error ? |
2021-01-06 21:41:57 +0100 | <ski> | oh. sorry, i was looking at `Grid.hs'. missed you also mentioned `xmonad.hs' as relevant to look at |
2021-01-06 21:42:15 +0100 | jfe | (~user@pool-71-184-149-134.bstnma.fios.verizon.net) |
2021-01-06 21:42:26 +0100 | <manjaro-user_> | it's very close to the bottom btw |
2021-01-06 21:42:51 +0100 | <manjaro-user_> | ephemient: that type you gave me didn't work |
2021-01-06 21:43:03 +0100 | <ski> | manjaro-user_ : what happens if you add a type signature for `rand' ? |
2021-01-06 21:43:40 +0100 | <manjaro-user_> | ski: thanks for the traverse_ tip |
2021-01-06 21:43:46 +0100 | leungbk | (~user@2603-8000-f144-2028-6884-768f-e832-6e83.res6.spectrum.com) (Quit: ERC (IRC client for Emacs 28.0.50)) |
2021-01-06 21:43:58 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Ping timeout: 246 seconds) |
2021-01-06 21:44:45 +0100 | <manjaro-user_> | The errors I described happen (the one with X String vs IO String, and vice versa, at definition time, vs usage time) |
2021-01-06 21:45:14 +0100 | <manjaro-user_> | I'm thinking I need to change my definition to accept both X String and IO String, is there any way I can do that? |
2021-01-06 21:45:24 +0100 | <pie_> | bitonic: can i pull my inline-c-cpp inline c++ code from a file? |
2021-01-06 21:45:33 +0100 | <manjaro-user_> | the error also occurs if I don't add a type definition |
2021-01-06 21:45:56 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
2021-01-06 21:46:24 +0100 | conal | (~conal@66.115.157.85) (Ping timeout: 260 seconds) |
2021-01-06 21:46:36 +0100 | knupfer | (~Thunderbi@i5E86B49C.versanet.de) (Ping timeout: 240 seconds) |
2021-01-06 21:47:35 +0100 | <ski> | manjaro-user_ : anyway, in `colors', you're using `rand (..)' as an `X' action, while in `main', you're using it as an `IO' action. you can only use the same `rand' in both those two different contexts, if it's overloaded to work for both `IO' and `X', which the signature ephemient would achieve (this is the signature that the system would infer from your `rand' definition, if you don't have a type signature |
2021-01-06 21:47:37 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-06 21:47:41 +0100 | <ski> | written) |
2021-01-06 21:47:44 +0100 | <ski> | @type randomRIO |
2021-01-06 21:47:46 +0100 | <lambdabot> | (Random a, MonadIO m) => (a, a) -> m a |
2021-01-06 21:47:53 +0100 | <ggVGc> | can someone give me a real-world useful example of using fix? |
2021-01-06 21:48:14 +0100 | adamwesp_ | (~adamwespi@107.181.19.30) () |
2021-01-06 21:48:14 +0100 | <ski> | this can work, both for `m' being `IO', and for it being `X', since both of those are instances of `MonadIO' |
2021-01-06 21:48:18 +0100 | <ggVGc> | I don't understand why you'd ever use it instead of explicit recursion. I think I might be missing a bigger picture though |
2021-01-06 21:49:12 +0100 | <ski> | in some cases, it can be a handy shorthand over writing an explicitly recursive definition |
2021-01-06 21:49:19 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2021-01-06 21:49:58 +0100 | <ggVGc> | well... with the added baggage of whoever reading it needing to understand fix? |
2021-01-06 21:50:10 +0100 | <ggVGc> | and introducing a lambda? |
2021-01-06 21:50:22 +0100 | <ggVGc> | (which I think reads worse in general) |
2021-01-06 21:50:26 +0100 | <ski> | if you want to encode "open recursion", you use `T -> T', rather than plain `T', and only at the "last possible point" do you use `fix' ("instantiating the object from the class") to get a `T' |
2021-01-06 21:50:39 +0100 | <manjaro-user_> | IDK, I like shorthands, and there's a fair amount of them in haskell |
2021-01-06 21:51:01 +0100 | <ski> | if you use `fix', then it's easier to swap it out for an instrumented version that e.g. memoizes, or traces |
2021-01-06 21:51:23 +0100 | <ggVGc> | yeah I guess I can see that point |
2021-01-06 21:51:29 +0100 | <ski> | not all uses of `fix' would be applied to a lambda expression |
2021-01-06 21:51:30 +0100 | <manjaro-user_> | idk why, but that typo in 'memorizes |
2021-01-06 21:51:37 +0100 | <ggVGc> | abstracting away the recursion does have some value I guess |
2021-01-06 21:51:44 +0100 | <manjaro-user_> | +' reminds me heavily of a boston accent |
2021-01-06 21:51:52 +0100 | <ski> | (no, it's supposed to be "memoizes", not "memorizes") |
2021-01-06 21:52:03 +0100 | <ggVGc> | yeah, those are different things :) |
2021-01-06 21:52:05 +0100 | <manjaro-user_> | ok, well, boston accent |
2021-01-06 21:52:29 +0100 | <ephemient> | https://en.wikipedia.org/wiki/Memoization > Not to be confused with Memorization. |
2021-01-06 21:53:13 +0100 | <ggVGc> | ski: do you have an example of your own when you've opted for using fix? |
2021-01-06 21:53:19 +0100 | <manjaro-user_> | That's quite an interesting word, never heard it before |
2021-01-06 21:53:23 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) (Ping timeout: 240 seconds) |
2021-01-06 21:53:39 +0100 | <ski> | ggVGc : i had one on <lpaste.net> .. |
2021-01-06 21:54:13 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds) |
2021-01-06 21:54:13 +0100 | <ggVGc> | what happened to lpaste.net? |
2021-01-06 21:54:50 +0100 | <manjaro-user_> | anyway, adding `(MonadIO m) => [a] -> m a` is erroring w/ couldn't match type `m' with `IO' |
2021-01-06 21:55:20 +0100 | <ski> | iirc, the maintainer wanted to do other things, and afaik noone else at the time stepped up |
2021-01-06 21:55:32 +0100 | <ski> | (there was also a spamming problem, i think) |
2021-01-06 21:55:37 +0100 | ski | . o O ( Sic Transit Gloria Mundi ) |
2021-01-06 21:55:50 +0100 | <ski> | manjaro-user_ : adding it, where ? |
2021-01-06 21:56:06 +0100 | <ephemient> | sounds like a fix is needed at the call site, not rand |
2021-01-06 21:56:10 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) (Ping timeout: 256 seconds) |
2021-01-06 21:56:47 +0100 | <ski> | rand :: MonadIO m => [a] -> m a -- like this, at the end of `Grid' ? |
2021-01-06 21:56:54 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) (Remote host closed the connection) |
2021-01-06 21:56:55 +0100 | <manjaro-user_> | indeed |
2021-01-06 21:57:25 +0100 | conal | (~conal@64.71.133.70) |
2021-01-06 21:57:28 +0100 | <manjaro-user_> | and geekosaur mentioned (or rather thought outloud) about liftIO from XMonad |
2021-01-06 21:58:15 +0100 | <ski> | @type let l ! n = l!!(n-1); rand l = (l!) <$> randomRIO (1,length l) in rand |
2021-01-06 21:58:17 +0100 | <lambdabot> | error: |
2021-01-06 21:58:17 +0100 | <lambdabot> | • Couldn't match expected type ‘[a1]’ with actual type ‘Int -> a1’ |
2021-01-06 21:58:17 +0100 | <lambdabot> | • In the expression: |
2021-01-06 22:00:10 +0100 | urb | (5434a07f@tm.84.52.160.127.dc.cable.static.telemach.net) |
2021-01-06 22:00:23 +0100 | evanjs | (~evanjs@075-129-098-007.res.spectrum.com) |
2021-01-06 22:00:46 +0100 | <urb> | Is there a Haskell library that automates selection from a database into a Haskell datatype? I'm looking at Opaleye, but it seems it just selects into tuples |
2021-01-06 22:00:51 +0100 | coot | (~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot) |
2021-01-06 22:01:05 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) |
2021-01-06 22:01:07 +0100 | <urb> | perhaps there's a reason to want to do it like that. I don't know |
2021-01-06 22:01:26 +0100 | <manjaro-user_> | adding liftIO to xmonad.hs didn't seem to effect the call, I also attempted to add it in the colors definition in grid.hs via `fg {- & bg -} <- liftIO <$> rand bg'` |
2021-01-06 22:02:04 +0100 | <manjaro-user_> | now it's complaining about expected type IO (IO Char) vs IO [Char] -- so that's probably not the right place |
2021-01-06 22:02:42 +0100 | conal_ | (~conal@66.115.157.28) |
2021-01-06 22:02:50 +0100 | <ski> | @type let l !!! n = l!!(n-1); rand l = (l!!!) <$> randomRIO (1,length l) in rand -- oh, fun |
2021-01-06 22:02:52 +0100 | <lambdabot> | MonadIO f => [a] -> f a |
2021-01-06 22:03:15 +0100 | <ephemient> | ... what version of random is this using, manjaro-user_ |
2021-01-06 22:03:16 +0100 | conal | (~conal@64.71.133.70) (Ping timeout: 240 seconds) |
2021-01-06 22:03:24 +0100 | <ephemient> | the type of randomRIO has changed between releases |
2021-01-06 22:03:47 +0100 | <manjaro-user_> | whatever the latest is on nixpkgs (from the nix package manager) |
2021-01-06 22:03:58 +0100 | jollygood2 | (~bc812391@217.29.117.252) (Quit: http://www.okay.uz/) |
2021-01-06 22:04:08 +0100 | jollygood2 | (~bc812391@217.29.117.252) |
2021-01-06 22:04:14 +0100 | <manjaro-user_> | last time this particular config worked was a few months ago, so should I downgrade then? |
2021-01-06 22:04:39 +0100 | <ski> | @type let (!) l n = l!!(n-1); rand l = (l!) <$> randomRIO (1,length l) in rand |
2021-01-06 22:04:40 +0100 | <lambdabot> | MonadIO f => [a] -> f a |
2021-01-06 22:04:58 +0100 | <manjaro-user_> | orr, just try to rip the function from the library, and keep the rest updated? |
2021-01-06 22:05:06 +0100 | <ephemient> | nixpkgs uses stackage lts for curation which which is currently at random 1.1, so... it's not MonadIO yet |
2021-01-06 22:05:07 +0100 | koala_man | (~vidar@unaffiliated/koala-man/x-2491903) (Remote host closed the connection) |
2021-01-06 22:05:09 +0100 | <manjaro-user_> | from the older version* |
2021-01-06 22:05:13 +0100 | <ski> | manjaro-user_ : could you show the exact error you get, when you place `rand :: MonadIO m => [a] -> m a' in `Grid' ? |
2021-01-06 22:05:17 +0100 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) |
2021-01-06 22:05:24 +0100 | <manjaro-user_> | sure, I'll get you a paste |
2021-01-06 22:05:31 +0100 | koala_man | (~vidar@157.146.251.23.bc.googleusercontent.com) (Changing host) |
2021-01-06 22:05:31 +0100 | koala_man | (~vidar@unaffiliated/koala-man/x-2491903) |
2021-01-06 22:05:39 +0100 | <ephemient> | type `rand :: [a] -> IO a` and add `liftIO (rand l)` when you're using it inside an `X` |
2021-01-06 22:05:59 +0100 | <ephemient> | or update to newer random, either way |
2021-01-06 22:06:05 +0100 | <ski> | `liftIO' oughtn't be necessary here (but would be one way around it, yes) |
2021-01-06 22:06:09 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-06 22:06:28 +0100 | tomboy64 | (~tomboy64@gateway/tor-sasl/tomboy64) |
2021-01-06 22:06:50 +0100 | <ephemient> | https://hackage.haskell.org/package/random-1.1/docs/System-Random.html#v:randomRIO randomRIO :: (a, a) -> IO a |
2021-01-06 22:06:54 +0100 | knupfer | (~Thunderbi@200116b824b6e000f8306dfffe96fd00.dip.versatel-1u1.de) |
2021-01-06 22:06:54 +0100 | knupfer | (~Thunderbi@200116b824b6e000f8306dfffe96fd00.dip.versatel-1u1.de) (Client Quit) |
2021-01-06 22:07:03 +0100 | <ephemient> | https://hackage.haskell.org/package/random-1.2.0/docs/System-Random.html#v:randomRIO randomRIO :: (MonadIO m) => (a, a) -> m a |
2021-01-06 22:07:06 +0100 | knupfer | (~Thunderbi@i5E86B49C.versanet.de) |
2021-01-06 22:07:17 +0100 | <ski> | it's a backward-compatible change |
2021-01-06 22:07:45 +0100 | <ephemient> | as long as you're not defining your own random instances, but yes |
2021-01-06 22:07:53 +0100 | <ski> | yea |
2021-01-06 22:08:03 +0100 | <ephemient> | it does mean you can't use the MonadIO version on with the older release |
2021-01-06 22:08:27 +0100 | boxscape | (4ff0ba59@gateway/web/cgi-irc/kiwiirc.com/ip.79.240.186.89) (Quit: Connection closed) |
2021-01-06 22:09:05 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 22:09:18 +0100 | <ski> | (ok, `Vars' contains the definition of `!') |
2021-01-06 22:09:40 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Client Quit) |
2021-01-06 22:10:23 +0100 | heatsink | (~heatsink@2600:1700:bef1:5e10:dfd:1630:16ef:2f33) |
2021-01-06 22:10:36 +0100 | <manjaro-user_> | after fiddling around with what you two just said, to no avail, here's the paste, according to your specifications: https://paste.ee/p/WiFbw#b3dSINZxG7znzL6KEezVScDTshvhSFoo |
2021-01-06 22:11:43 +0100 | <manjaro-user_> | oh wait, gimme a sec |
2021-01-06 22:12:04 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 22:12:19 +0100 | v_m_v | (~vm_v@2a02:aa12:3200:6480:14d3:e041:99da:4fe5) (Remote host closed the connection) |
2021-01-06 22:13:29 +0100 | <manjaro-user_> | ok, nvm, using liftIO <$> didn't work in colors |
2021-01-06 22:14:06 +0100 | <monochrom> | liftIO (rand foo) ? |
2021-01-06 22:14:13 +0100 | ghghgh | (~ghghgh@104.152.222.36) |
2021-01-06 22:15:49 +0100 | <manjaro-user_> | ok, well, the parenthesis fixed it... |
2021-01-06 22:16:12 +0100 | carif | (~mcarifio@cpe-67-246-227-118.rochester.res.rr.com) (Quit: leaving) |
2021-01-06 22:16:26 +0100 | <manjaro-user_> | I was under the impression that doing `xyz <$> a b c` was identical to `xyz (a b c)`, but apparently not! |
2021-01-06 22:17:40 +0100 | <exarkun> | You're thinking of `xyz $ a b c` I suppose |
2021-01-06 22:17:55 +0100 | ghghgh | (~ghghgh@104.152.222.36) () |
2021-01-06 22:17:56 +0100 | <exarkun> | @type ($) |
2021-01-06 22:17:57 +0100 | <lambdabot> | (a -> b) -> a -> b |
2021-01-06 22:18:00 +0100 | <exarkun> | @type (<$>) |
2021-01-06 22:18:02 +0100 | <lambdabot> | Functor f => (a -> b) -> f a -> f b |
2021-01-06 22:18:15 +0100 | <exarkun> | close but no cigar |
2021-01-06 22:18:31 +0100 | <manjaro-user_> | Thanks for the help (monochrom geekosaur ski ephemient (and of course) lambdabot) |
2021-01-06 22:18:59 +0100 | <ski> | yw |
2021-01-06 22:19:02 +0100 | <manjaro-user_> | uh, did my thank you message go through, because I just tripped an anti spam measure |
2021-01-06 22:19:04 +0100 | <manjaro-user_> | ah, I see |
2021-01-06 22:19:29 +0100 | <ephemient> | liftIO $ rand foo -- would also work, same as parentheses |
2021-01-06 22:20:10 +0100 | <manjaro-user_> | ah, thanks! |
2021-01-06 22:20:49 +0100 | olligobber | (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 260 seconds) |
2021-01-06 22:20:57 +0100 | justan0theruser | (~justanoth@unaffiliated/justanotheruser) |
2021-01-06 22:22:11 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) |
2021-01-06 22:22:14 +0100 | justanotheruser | (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds) |
2021-01-06 22:23:49 +0100 | _ht | (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
2021-01-06 22:24:09 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:cce3:aa71:9586:6387) |
2021-01-06 22:27:22 +0100 | ADG1089_ | (~aditya@171.76.136.168) (Read error: Connection reset by peer) |
2021-01-06 22:28:09 +0100 | ADG1089_ | (~aditya@171.79.107.193) |
2021-01-06 22:28:11 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-06 22:32:37 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
2021-01-06 22:32:39 +0100 | ph88 | (~ph88@2a02:8109:9e00:7e5c:cce3:aa71:9586:6387) (Ping timeout: 272 seconds) |
2021-01-06 22:35:33 +0100 | geekosaur | (42d52137@66.213.33.55) (Remote host closed the connection) |
2021-01-06 22:36:57 +0100 | qqvat | (~private@176.167.9.201) |
2021-01-06 22:39:28 +0100 | geowiesnot | (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 256 seconds) |
2021-01-06 22:43:43 +0100 | amerigo | (uid331857@gateway/web/irccloud.com/x-yfslrwncojbqmybp) |
2021-01-06 22:44:01 +0100 | dandart | (~Thunderbi@home.dandart.co.uk) (Ping timeout: 264 seconds) |
2021-01-06 22:46:20 +0100 | new_haskeller | (ae72a197@cpe00fc8d386d93-cm00fc8d386d90.cpe.net.cable.rogers.com) (Ping timeout: 245 seconds) |
2021-01-06 22:49:36 +0100 | <qqvat> | hello, is anybody familiar with ixset-typed? I have 2 ixsets ixA (elements with type A) and ixB (elements with type B). B has a field with type A and ixB can be indexed by values of type A. B has also a field "date" (UTCTime). I would like to query the most recent B in ixB that has a given A. I can easily query all Bs in ixB that have a given A (because A is an index of ixB). The date is also an index of |
2021-01-06 22:49:42 +0100 | <qqvat> | ixB. The lib provides toDecList but it takes a "proxy ix" as its first parameter (I imagine to know over which index elements should be sorted, here the date). But in practice I don't know how to use the function. What is "proxy"? Which value am I to provide. The value itself does not matter in the definition of toDecList, only its type is relevant. Should I use provide any UTCTime value? What is "proxy" |
2021-01-06 22:49:48 +0100 | <qqvat> | about? |
2021-01-06 22:50:17 +0100 | Guest_93 | (9e8cc287@158.140.194.135) |
2021-01-06 22:50:35 +0100 | <Guest_93> | Hello everyoned |
2021-01-06 22:53:30 +0100 | <urb> | what's the idiomatic way of dealing with long tuples returned from something like a SQL query? Since there can be many fields and the types repeat, I imagine it would be easy to alias the wrong field - or at least tedious to write out the destructured tuple |
2021-01-06 22:54:07 +0100 | <Melanie> | what language extension enables the syntax foo @(via Backwards) ... ? |
2021-01-06 22:56:23 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
2021-01-06 22:59:03 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds) |
2021-01-06 22:59:22 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-06 22:59:27 +0100 | <monochrom> | probably TypeApplication |
2021-01-06 22:59:38 +0100 | <monochrom> | assuming that "via Backwards" is a type. |
2021-01-06 23:00:03 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds) |
2021-01-06 23:00:30 +0100 | srk | (~sorki@gateway/tor-sasl/sorki) |
2021-01-06 23:00:31 +0100 | hexo | (~hexo@gateway/tor-sasl/hexo) |
2021-01-06 23:02:46 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-06 23:03:00 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-06 23:04:28 +0100 | <yushyin> | it's a ghc proposal |
2021-01-06 23:04:31 +0100 | <yushyin> | https://github.com/ghc-proposals/ghc-proposals/pull/218 |
2021-01-06 23:04:43 +0100 | <yushyin> | ^ Melanie |
2021-01-06 23:05:56 +0100 | <Rembane> | urb: I've seen the tuples been put in records, and then quite some wrangling with Generics to have that translation done more or less automatically. |
2021-01-06 23:06:35 +0100 | hyperisco | (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 265 seconds) |
2021-01-06 23:06:39 +0100 | <monochrom> | ooohhhh very nice, yushyin, I think we (haskellers) really need that! |
2021-01-06 23:07:23 +0100 | ransom | (~c4264035@8.47.12.52) (Read error: Connection reset by peer) |
2021-01-06 23:07:46 +0100 | <monochrom> | probably better than my https://mail.haskell.org/pipermail/haskell-cafe/2017-May/127147.html |
2021-01-06 23:08:12 +0100 | Guest_93 | (9e8cc287@158.140.194.135) (Remote host closed the connection) |
2021-01-06 23:08:32 +0100 | ransom | (~c4264035@8.47.12.52) |
2021-01-06 23:09:01 +0100 | kyali | (~kyali@APN-123-253-144-gprs.simobil.net) (Ping timeout: 246 seconds) |
2021-01-06 23:11:01 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-06 23:11:18 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-06 23:11:48 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection) |
2021-01-06 23:12:21 +0100 | shatriff | (~vitaliish@176-52-216-242.irishtelecom.com) |
2021-01-06 23:13:15 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) |
2021-01-06 23:15:35 +0100 | neiluj | (~jco@91-167-203-101.subs.proxad.net) (Remote host closed the connection) |
2021-01-06 23:17:57 +0100 | mpereira | (~mpereira@2a02:810d:f40:d96:a13a:4248:e827:5654) (Ping timeout: 260 seconds) |
2021-01-06 23:20:17 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) |
2021-01-06 23:22:44 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!) |
2021-01-06 23:22:57 +0100 | zebrag | (~inkbottle@aaubervilliers-654-1-158-67.w86-212.abo.wanadoo.fr) |
2021-01-06 23:24:49 +0100 | ezrakilty | (~ezrakilty@75-172-99-84.tukw.qwest.net) (Ping timeout: 264 seconds) |
2021-01-06 23:28:30 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) |
2021-01-06 23:29:38 +0100 | <Melanie> | yushyin: thanks!! i'll be excited when it's merged |
2021-01-06 23:30:06 +0100 | wroathe | (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
2021-01-06 23:31:13 +0100 | <pie_> | how would increasing frequency of garbage collection make something _stop_ crashing? |
2021-01-06 23:31:15 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) (Remote host closed the connection) |
2021-01-06 23:31:42 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) |
2021-01-06 23:32:18 +0100 | conal_ | (~conal@66.115.157.28) (Ping timeout: 272 seconds) |
2021-01-06 23:32:18 +0100 | <monochrom> | Would it? |
2021-01-06 23:33:16 +0100 | merijn | (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
2021-01-06 23:33:44 +0100 | conal | (~conal@66.115.157.28) |
2021-01-06 23:35:30 +0100 | <ephemient> | I could imagine gc more often -> finalizers called earlier -> smaller leaks |
2021-01-06 23:35:37 +0100 | mananamenos | (~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer) |
2021-01-06 23:36:26 +0100 | <monochrom> | I am against playing speculation games. Let's see some code that actually does it. Code or it didn't happen. |
2021-01-06 23:36:38 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:ec23:2fba:6a47:f771) (Ping timeout: 264 seconds) |
2021-01-06 23:38:03 +0100 | <monochrom> | Alternatively, I'm happy to play speculation games if outrageous speculations are welcome, such as... |
2021-01-06 23:38:12 +0100 | <monochrom> | "Have you re-seated your DIMMs?" |
2021-01-06 23:38:24 +0100 | pera | (~pera@unaffiliated/pera) |
2021-01-06 23:39:03 +0100 | kyali | (~kyali@APN-123-253-144-gprs.simobil.net) |
2021-01-06 23:39:04 +0100 | <pie_> | if i had an idea what was going on it might be easier to make an MRE but I dont. I can try to do some statistics though |
2021-01-06 23:39:17 +0100 | pie_ | looks up how to give ghci commands as args |
2021-01-06 23:40:25 +0100 | danvet | (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds) |
2021-01-06 23:40:48 +0100 | <nshepperd> | it's always bad ram |
2021-01-06 23:42:06 +0100 | <ephemient> | ghci -ignore-dot-ghci -ghci-script <(echo 'putStrLn "hello, world!"') |
2021-01-06 23:42:07 +0100 | <nshepperd> | or at least, it's sometimes bad ram, and when it is, you always regret how long you doesn't checking all other possibilities |
2021-01-06 23:42:11 +0100 | <ephemient> | like that? |
2021-01-06 23:42:22 +0100 | <pie_> | oh no. maybe it is bad ram. this wouldnt be the first time someone suggested it. |
2021-01-06 23:42:36 +0100 | ADG1089_ | (~aditya@171.79.107.193) (Remote host closed the connection) |
2021-01-06 23:42:37 +0100 | <pie_> | ephemient: doesnt work, but piping does |
2021-01-06 23:42:58 +0100 | <pie_> | ephemient: $ ghci <(echo println '"asd"') |
2021-01-06 23:42:58 +0100 | <pie_> | target `/dev/fd/63' is not a module name or a source file |
2021-01-06 23:43:14 +0100 | <ephemient> | -ghci-script <(...) works for me |
2021-01-06 23:43:14 +0100 | <pie_> | well not that println would work anyway but |
2021-01-06 23:43:17 +0100 | jess | (jess@freenode/staff/jess) |
2021-01-06 23:43:20 +0100 | <pie_> | oh sorry i cant read |
2021-01-06 23:46:36 +0100 | ransom | (~c4264035@8.47.12.52) (Ping timeout: 240 seconds) |
2021-01-06 23:47:09 +0100 | Vulfe | (~vulfe@2600:1702:31b0:34e0:a898:ee90:1b20:e047) |
2021-01-06 23:49:30 +0100 | <pie_> | ephemient: hmm, seems to execute before things are loaded though |
2021-01-06 23:49:55 +0100 | texasmynsted | (~texasmyns@99.96.221.112) (Remote host closed the connection) |
2021-01-06 23:50:31 +0100 | sord937 | (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
2021-01-06 23:51:47 +0100 | Tops2 | (~Tobias@dyndsl-095-033-026-219.ewe-ip-backbone.de) |
2021-01-06 23:52:16 +0100 | ransom | (~c4264035@8.47.12.52) |
2021-01-06 23:56:10 +0100 | <ephemient> | all the packages are loaded at that point, just the module path isn't set yet. you can do that yourself or fully-qualify everything |