2022/07/11

2022-07-11 00:00:21 +0200 <geekosaur> (I did miss that was the same person whose earlier "no" raised my hackles though)
2022-07-11 00:01:11 +0200toluene(~toluene@user/toulene)
2022-07-11 00:01:11 +0200 <monochrom> I wanted to not bother too, but then the nick change is indicative that they intend further disruptions.
2022-07-11 00:03:55 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2022-07-11 00:06:58 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-07-11 00:10:02 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-07-11 00:12:26 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-11 00:15:41 +0200acidjnk(~acidjnk@p200300d6e7246c33f99a28ea5fa0c307.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2022-07-11 00:18:19 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com) (Ping timeout: 246 seconds)
2022-07-11 00:20:49 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-07-11 00:22:39 +0200dudek(~dudek@185.150.236.103) (Quit: Leaving)
2022-07-11 00:25:39 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f) (Remote host closed the connection)
2022-07-11 00:25:44 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 00:25:58 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-11 00:26:47 +0200 <maerwald> lol
2022-07-11 00:27:08 +0200 <maerwald> freenode had better trolls
2022-07-11 00:29:10 +0200 <Clint> demand a refund
2022-07-11 00:39:24 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 276 seconds)
2022-07-11 00:40:27 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:bc12:23b1:7459:b5b8) (Ping timeout: 260 seconds)
2022-07-11 00:41:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 00:43:04 +0200sagax(~sagax_nb@user/sagax)
2022-07-11 00:45:06 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 264 seconds)
2022-07-11 00:50:53 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-11 00:58:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 01:02:30 +0200mvk(~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 264 seconds)
2022-07-11 01:03:47 +0200zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-07-11 01:05:01 +0200zaquest(~notzaques@5.130.79.72)
2022-07-11 01:14:00 +0200fweht(uid404746@id-404746.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2022-07-11 01:18:08 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-11 01:20:30 +0200adium(adium@user/adium)
2022-07-11 01:22:07 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-11 01:25:33 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 276 seconds)
2022-07-11 01:26:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f)
2022-07-11 01:27:37 +0200Ram-Z(~Ram-Z@li1814-254.members.linode.com)
2022-07-11 01:28:16 +0200 <DigitalKiwi> freenode had bruenig before he was famous lol
2022-07-11 01:30:54 +0200liz(~liz@host86-159-158-175.range86-159.btcentralplus.com) (Quit: Lost terminal)
2022-07-11 01:31:17 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f) (Ping timeout: 244 seconds)
2022-07-11 01:35:37 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 256 seconds)
2022-07-11 01:35:54 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-07-11 01:49:22 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f)
2022-07-11 01:50:21 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-07-11 01:53:10 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 240 seconds)
2022-07-11 02:02:57 +0200king_gs(~Thunderbi@187.201.38.129)
2022-07-11 02:03:37 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f) (Remote host closed the connection)
2022-07-11 02:06:25 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 260 seconds)
2022-07-11 02:17:59 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f)
2022-07-11 02:27:57 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
2022-07-11 02:31:12 +0200pgas(~pg@190.247.245.154)
2022-07-11 02:36:23 +0200alp(~alp@user/alp) (Ping timeout: 244 seconds)
2022-07-11 02:38:02 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
2022-07-11 02:42:35 +0200king_gs(~Thunderbi@187.201.38.129) (Read error: Connection reset by peer)
2022-07-11 02:43:46 +0200king_gs(~Thunderbi@2806:103e:29:5946:ae8b:1218:3255:d41d)
2022-07-11 02:51:39 +0200tdammers(~tdammers@77.109.72.118.res.static.edpnet.net) (Ping timeout: 276 seconds)
2022-07-11 02:52:55 +0200tdammers(~tdammers@77.109.72.118.res.static.edpnet.net)
2022-07-11 03:06:18 +0200xff0x(~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 240 seconds)
2022-07-11 03:10:33 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-07-11 03:11:15 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-07-11 03:16:41 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-07-11 03:27:02 +0200tomgus1(~tomgus1@97e50351.skybroadband.com) (Quit: ZNC 1.8.2+deb2 - https://znc.in)
2022-07-11 03:28:30 +0200tomgus1(~tomgus1@97e50351.skybroadband.com)
2022-07-11 03:34:46 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 244 seconds)
2022-07-11 03:38:46 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-11 03:39:56 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds)
2022-07-11 03:43:36 +0200Me-me(~me-me@v.working.name) (Changing host)
2022-07-11 03:43:36 +0200Me-me(~me-me@user/me-me)
2022-07-11 03:45:15 +0200pgas(~pg@190.247.245.154) (Quit: Leaving)
2022-07-11 03:47:13 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-11 03:52:26 +0200 <edwardk> egraphs are really annoying to represent in haskell, that is all
2022-07-11 03:54:20 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2022-07-11 03:54:21 +0200mvk(~mvk@2607:fea8:5ce3:8500::909a)
2022-07-11 03:55:01 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 256 seconds)
2022-07-11 03:55:03 +0200maroloccio(~marolocci@151.53.133.54) (Ping timeout: 276 seconds)
2022-07-11 03:55:17 +0200king_gs1(~Thunderbi@187.201.38.129)
2022-07-11 03:55:57 +0200king_gs(~Thunderbi@2806:103e:29:5946:ae8b:1218:3255:d41d) (Ping timeout: 244 seconds)
2022-07-11 03:55:57 +0200king_gs1king_gs
2022-07-11 03:56:15 +0200maroloccio(~marolocci@37.100.9.74)
2022-07-11 03:58:47 +0200maroloccio(~marolocci@37.100.9.74) (Client Quit)
2022-07-11 03:59:09 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-07-11 03:59:31 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-07-11 04:04:00 +0200lemonsni-(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-11 04:06:50 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
2022-07-11 04:07:50 +0200opow(~igloo@c-68-32-52-58.hsd1.mi.comcast.net)
2022-07-11 04:07:56 +0200opow(~igloo@c-68-32-52-58.hsd1.mi.comcast.net) (Max SendQ exceeded)
2022-07-11 04:09:13 +0200edinwood(~edinwood@213.205.241.124)
2022-07-11 04:14:51 +0200 <Axman6> "egraph" makes me think of the cheese edam
2022-07-11 04:16:54 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 264 seconds)
2022-07-11 04:19:13 +0200notzmv(~zmv@user/notzmv)
2022-07-11 04:20:14 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 244 seconds)
2022-07-11 04:20:49 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2022-07-11 04:29:30 +0200td_(~td@muedsl-82-207-238-125.citykom.de) (Ping timeout: 240 seconds)
2022-07-11 04:31:32 +0200td_(~td@muedsl-82-207-238-180.citykom.de)
2022-07-11 04:35:54 +0200 <edwardk> thinking it might be easiest to use something like my old 'rcu' library here to handle the egraph rebuilds
2022-07-11 04:36:37 +0200 <edwardk> and treat the common mode of operation like a rcu read thread or writer thread, but then we can allow these to go a bit out of sync if they are monotone to gaining more information
2022-07-11 04:36:50 +0200 <edwardk> so rcu is a bit 'heavy'
2022-07-11 04:37:21 +0200 <Axman6> I'm sensing a new LambdaJam talk in the works
2022-07-11 04:37:44 +0200 <edwardk> let me solve it before i start planning talks ;)
2022-07-11 04:38:17 +0200 <edwardk> the videos (5 and 30m long) on https://egraphs-good.github.io/ give a good set of reasons for why to care about these structures
2022-07-11 04:38:31 +0200 <edwardk> if you haven't played with or seen egg yet
2022-07-11 04:38:48 +0200 <Axman6> BEst I can do is scrambles eggs, sorry
2022-07-11 04:39:02 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
2022-07-11 04:39:08 +0200 <edwardk> scramble, bad egg, sulphur, brimstone, hell. all the names write themselves =P
2022-07-11 04:39:18 +0200 <Axman6> scrambled even
2022-07-11 04:39:23 +0200 <Axman6> ha
2022-07-11 04:40:19 +0200 <edwardk> currently using the name 'constable' because it builds hashconsing out of a bunch of hashtables. and hashconstable was too long and hashtable too ambiguous
2022-07-11 04:40:33 +0200 <edwardk> and now i want to pin a sherrif's badge on it
2022-07-11 04:41:21 +0200 <Axman6> sometimes a good names demands the existance of a package. one day I will make an Accelerate backed version of Grenade and call it RPG, but currently I have no use for it
2022-07-11 04:41:25 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
2022-07-11 04:42:38 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
2022-07-11 04:43:06 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
2022-07-11 04:44:19 +0200terrorjack(~terrorjac@2a01:4f8:1c1e:509a::1)
2022-07-11 04:45:47 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-07-11 04:45:47 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-07-11 04:45:47 +0200finn_elijaFinnElija
2022-07-11 04:47:35 +0200king_gs(~Thunderbi@187.201.38.129) (Quit: king_gs)
2022-07-11 04:50:33 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
2022-07-11 04:52:16 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 04:53:46 +0200toluene(~toluene@user/toulene) (Read error: Connection reset by peer)
2022-07-11 04:53:49 +0200jpds1(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
2022-07-11 04:54:32 +0200toluene(~toluene@user/toulene)
2022-07-11 04:58:50 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2022-07-11 04:59:20 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-07-11 05:00:00 +0200Taneb(~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.)
2022-07-11 05:01:13 +0200Taneb(~Taneb@runciman.hacksoc.org)
2022-07-11 05:05:34 +0200edinwood(~edinwood@213.205.241.124) (Remote host closed the connection)
2022-07-11 05:06:58 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-11 05:07:39 +0200 <edwardk> hrmm. https://ldhulipala.github.io/readings/split_ordered_lists.pdf seems like a cute inversion of the olf witold litwin style sorted linear hashtable
2022-07-11 05:07:46 +0200 <edwardk> er old
2022-07-11 05:11:50 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-07-11 05:23:09 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-11 05:40:21 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 276 seconds)
2022-07-11 05:44:58 +0200mvk(~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 244 seconds)
2022-07-11 05:47:30 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-07-11 05:48:12 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
2022-07-11 05:49:45 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 06:04:50 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-07-11 06:07:04 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 06:15:50 +0200frost(~frost@user/frost)
2022-07-11 06:28:55 +0200kenran(~kenran@200116b82b139d00794db14e87015f86.dip.versatel-1u1.de)
2022-07-11 06:33:35 +0200toluene(~toluene@user/toulene) (Quit: Ping timeout (120 seconds))
2022-07-11 06:33:49 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 06:33:49 +0200 <matthewmosior> Hi
2022-07-11 06:34:31 +0200 <matthewmosior> Not sure how this works, but I think I am not in the #haskell irc.libera server hopefully?
2022-07-11 06:34:39 +0200 <matthewmosior> Not sure how this works, but I think I am now in the #haskell irc.libera server hopefully?
2022-07-11 06:34:54 +0200 <Axman6> you're in the #haskell channel on Libera, yes
2022-07-11 06:35:01 +0200 <matthewmosior> Ah okay super cool!
2022-07-11 06:35:06 +0200kenran(~kenran@200116b82b139d00794db14e87015f86.dip.versatel-1u1.de) (Quit: WeeChat info:version)
2022-07-11 06:35:06 +0200 <Axman6> Welcome
2022-07-11 06:35:07 +0200 <matthewmosior> Really excited to be here!
2022-07-11 06:35:08 +0200toluene(~toluene@user/toulene)
2022-07-11 06:35:09 +0200 <matthewmosior> Thank you!
2022-07-11 06:37:40 +0200 <jackdk> Welcome
2022-07-11 06:40:26 +0200 <matthewmosior> :)
2022-07-11 06:47:17 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 256 seconds)
2022-07-11 06:51:11 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
2022-07-11 06:52:39 +0200defanor_defanor
2022-07-11 07:01:36 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 276 seconds)
2022-07-11 07:01:41 +0200_________(~nobody@user/noodly) (Quit: Reconnecting)
2022-07-11 07:02:00 +0200_________(~nobody@user/noodly)
2022-07-11 07:02:02 +0200 <Axman6> matthewmosior: Are you workoing on some Haskell? Also, if you're new to IRC, it's normal for discussion to ebb and flow, so don't think anything is abnormal because no one is chatting right now - us Australians are just busy working
2022-07-11 07:03:40 +0200jargon(~jargon@184.101.188.251)
2022-07-11 07:03:41 +0200 <jackdk> And while we're doing the netiquette primer, don't feel like you have to ask permission to ask a question ("does anyone know about monad transformers?"). Instead, just open with your question ("I'm trying to make a transformer stack work, and I'm having this specific problem. also here's a link to a pastebin")
2022-07-11 07:03:46 +0200 <jackdk> @where paste
2022-07-11 07:03:47 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2022-07-11 07:08:13 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-11 07:08:50 +0200vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 240 seconds)
2022-07-11 07:09:23 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 07:09:50 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 07:11:50 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds)
2022-07-11 07:13:57 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 07:18:08 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 07:20:46 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2022-07-11 07:22:37 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 07:30:05 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-11 07:32:07 +0200`2jt(~jtomas@141.red-88-17-65.dynamicip.rima-tde.net)
2022-07-11 07:36:26 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 07:37:51 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-07-11 07:41:03 +0200mikoto-chan(~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi)
2022-07-11 07:41:54 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
2022-07-11 08:04:49 +0200acidjnk(~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de)
2022-07-11 08:07:30 +0200mikoto-chan(~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi) (Ping timeout: 260 seconds)
2022-07-11 08:08:24 +0200tolt(~weechat-h@li219-154.members.linode.com) (*.net *.split)
2022-07-11 08:08:24 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de) (*.net *.split)
2022-07-11 08:08:24 +0200lambdap23(~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split)
2022-07-11 08:08:24 +0200wagle(~wagle@quassel.wagle.io) (*.net *.split)
2022-07-11 08:08:24 +0200leah2(~leah@vuxu.org) (*.net *.split)
2022-07-11 08:08:24 +0200cods(~fred@82-65-232-44.subs.proxad.net) (*.net *.split)
2022-07-11 08:08:24 +0200tristanC(~tristanC@user/tristanc) (*.net *.split)
2022-07-11 08:08:24 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (*.net *.split)
2022-07-11 08:08:24 +0200noctux(~noctux@user/noctux) (*.net *.split)
2022-07-11 08:08:24 +0200hyiltiz(~quassel@31.220.5.250) (*.net *.split)
2022-07-11 08:08:24 +0200macabre(~m@161.35.15.236) (*.net *.split)
2022-07-11 08:08:24 +0200triteraflops(~triterafl@user/triteraflops) (*.net *.split)
2022-07-11 08:08:24 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu) (*.net *.split)
2022-07-11 08:08:24 +0200wrengr(~wrengr@249.189.233.35.bc.googleusercontent.com) (*.net *.split)
2022-07-11 08:08:24 +0200caubert(~caubert@user/caubert) (*.net *.split)
2022-07-11 08:08:24 +0200x88x88x(~x88x88x@149.28.53.172) (*.net *.split)
2022-07-11 08:08:24 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) (*.net *.split)
2022-07-11 08:08:24 +0200jamestmartin(~james@jtmar.me) (*.net *.split)
2022-07-11 08:08:24 +0200loonycyborg_(~loonycybo@chantal.wesnoth.org) (*.net *.split)
2022-07-11 08:08:24 +0200haskl(~haskl@user/haskl) (*.net *.split)
2022-07-11 08:08:24 +0200Aleksejs(~Aleksejs@107.170.21.106) (*.net *.split)
2022-07-11 08:08:34 +0200noctux(~noctux@user/noctux)
2022-07-11 08:08:36 +0200jamestmartin(~james@jtmar.me)
2022-07-11 08:08:37 +0200triteraflops(~triterafl@user/triteraflops)
2022-07-11 08:08:37 +0200lambdabot(~lambdabot@silicon.int-e.eu)
2022-07-11 08:08:37 +0200cods(~fred@82-65-232-44.subs.proxad.net)
2022-07-11 08:08:38 +0200wagle(~wagle@quassel.wagle.io)
2022-07-11 08:08:38 +0200lambdap23(~lambdap@static.167.190.119.168.clients.your-server.de)
2022-07-11 08:08:46 +0200hyiltiz(~quassel@31.220.5.250)
2022-07-11 08:08:53 +0200lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2022-07-11 08:08:53 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-07-11 08:08:56 +0200caubert(~caubert@136.244.111.235)
2022-07-11 08:08:56 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu)
2022-07-11 08:08:58 +0200leah2(~leah@vuxu.org)
2022-07-11 08:09:00 +0200loonycyborg(loonycybor@wesnoth/developer/loonycyborg)
2022-07-11 08:09:05 +0200tolt(~weechat-h@li219-154.members.linode.com)
2022-07-11 08:09:14 +0200macabre(~m@161.35.15.236)
2022-07-11 08:09:18 +0200caubert(~caubert@136.244.111.235) (Signing in (caubert))
2022-07-11 08:09:18 +0200caubert(~caubert@user/caubert)
2022-07-11 08:09:41 +0200red-snail(~snail@static.151.210.203.116.clients.your-server.de)
2022-07-11 08:09:46 +0200haskl(~haskl@user/haskl)
2022-07-11 08:09:48 +0200Aleksejs(~Aleksejs@107.170.21.106)
2022-07-11 08:10:44 +0200dwt_(~dwt_@c-98-198-103-176.hsd1.tx.comcast.net)
2022-07-11 08:11:59 +0200ircbrowse_tom(~ircbrowse@2a01:4f8:1c1c:9319::1) (ZNC 1.7.5+deb4 - https://znc.in)
2022-07-11 08:13:35 +0200ircbrowse_tom(~ircbrowse@2a01:4f8:1c1c:9319::1)
2022-07-11 08:13:35 +0200Server+Cnt
2022-07-11 08:13:39 +0200remedan(~remedan@octo.cafe)
2022-07-11 08:13:44 +0200burakcank(~burakcank@has.arrived.and.is.ready-to.party)
2022-07-11 08:13:47 +0200tristanC(~tristanC@user/tristanc)
2022-07-11 08:13:47 +0200dragestil(~znc@user/dragestil)
2022-07-11 08:13:51 +0200wrengr(~wrengr@249.189.233.35.bc.googleusercontent.com)
2022-07-11 08:13:57 +0200PHO`(~pho@akari.cielonegro.org)
2022-07-11 08:14:05 +0200hololeap(~quassel@user/hololeap)
2022-07-11 08:14:06 +0200stvc(~stvc@192.241.166.39)
2022-07-11 08:14:07 +0200gabriel_1(~gabriel@188-167-229-200.dynamic.chello.sk)
2022-07-11 08:14:24 +0200Yumemi(~Yumemi@chamoin.net)
2022-07-11 08:14:50 +0200RMSBach(~guygastin@137.184.131.156)
2022-07-11 08:17:22 +0200kmein(~weechat@user/kmein) (Quit: ciao kakao)
2022-07-11 08:19:26 +0200kmein(~weechat@user/kmein)
2022-07-11 08:21:47 +0200nisstyre(wes@2600:3c00::f03c:91ff:fe69:7f3d) (Changing host)
2022-07-11 08:21:47 +0200nisstyre(wes@user/nisstyre)
2022-07-11 08:22:12 +0200mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 276 seconds)
2022-07-11 08:22:32 +0200mbuf(~Shakthi@122.165.55.71)
2022-07-11 08:23:50 +0200mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2022-07-11 08:30:59 +0200alexhandy(~trace@user/trace) (Read error: Connection reset by peer)
2022-07-11 08:31:11 +0200alexhandy(~trace@user/trace)
2022-07-11 08:37:39 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 08:38:17 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
2022-07-11 08:38:41 +0200jese(~nikola@79-101-208-134.dynamic.isp.telekom.rs)
2022-07-11 08:44:14 +0200jakalx(~jakalx@base.jakalx.net)
2022-07-11 08:50:09 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 08:52:06 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-11 08:53:21 +0200johnw_(~johnw@2600:1700:cf00:db0:643e:99a6:aa43:f921) (Quit: ZNC - http://znc.in)
2022-07-11 08:55:36 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 08:56:23 +0200johnw(~johnw@2600:1700:cf00:db0:405e:10f2:10b5:9731)
2022-07-11 08:58:46 +0200cfricke(~cfricke@user/cfricke)
2022-07-11 08:59:52 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-07-11 09:05:42 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-07-11 09:08:57 +0200Kevin578(~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
2022-07-11 09:14:39 +0200alp(~alp@user/alp)
2022-07-11 09:18:06 +0200 <jese> ghc-pkg list --user cannot find any packages i've installed with cabal. even when i run cabal info on an installed package it shows it as not installed... what can i do to fix this -- as i think that that's the reason why Setup.hs can't access installed packages modules?
2022-07-11 09:22:59 +0200benin0(~benin@183.82.29.162)
2022-07-11 09:24:22 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 09:28:05 +0200 <sm> one gotcha is that it doesn't list packages providing only executables
2022-07-11 09:28:50 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 09:29:15 +0200 <sm> but there are many more. You may need to stick "cabal exec --" or "stack exec --" in front of that command
2022-07-11 09:29:35 +0200 <jese> sm: i have libraries too
2022-07-11 09:29:59 +0200vglfr(~vglfr@88.155.13.182)
2022-07-11 09:32:10 +0200leah2(~leah@vuxu.org) (Quit: trotz alledem!)
2022-07-11 09:32:18 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2022-07-11 09:32:20 +0200leah2(~leah@vuxu.org)
2022-07-11 09:34:05 +0200 <int-e> cabal v2-install doesn't touch the "global" package dbs (neither the global nor the user one); ghc-pkg list --package-db=~/.cabal/store/ghc-<version>/package-db should see it? (according to https://github.com/haskell/cabal/issues/6478 )
2022-07-11 09:35:34 +0200 <jese> sm: `cabal exec -- cabal info ...` says there are no files matching ./*.cabal. i'm not sure how to interpret that.
2022-07-11 09:36:47 +0200 <int-e> I'm not sure what `cabal exec` does in a v2 command context; it used to deal with sandboxes
2022-07-11 09:37:06 +0200 <sm> jese, more info needed: where are you running these commands ?
2022-07-11 09:37:11 +0200 <jese> int-e: nope, "ghc-pkg: ~/.cabal/store/ghc-9.0.2/package.db/: getDirectoryContents:openDirStream: does not exist (No such file or directory)" even though i do have that directory
2022-07-11 09:37:11 +0200 <int-e> which are a v1 command thing (and something I'm still fond of)
2022-07-11 09:37:43 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net)
2022-07-11 09:38:00 +0200 <jese> sm: in my ~, there is are no *.cabal files there.
2022-07-11 09:38:13 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-11 09:38:28 +0200 <sm> ok. I had better let the cabal users help you out
2022-07-11 09:39:02 +0200 <sm> when you ran install, maybe it printed the install path ?
2022-07-11 09:40:03 +0200vglfr(~vglfr@88.155.13.182) (Ping timeout: 272 seconds)
2022-07-11 09:41:49 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-07-11 09:42:12 +0200 <jese> sm: i don't remember, but everything is in ~/.cabal/store/ghc-9.0.2/
2022-07-11 09:42:32 +0200 <int-e> jese: note the literal ~; you need to expand ~ yourself: "$HOME"
2022-07-11 09:42:44 +0200fserucas(~fserucas@12.64.114.89.rev.vodafone.pt)
2022-07-11 09:42:54 +0200fserucas(~fserucas@12.64.114.89.rev.vodafone.pt) (Client Quit)
2022-07-11 09:43:09 +0200 <jese> static libs, dynamic libs, executables, of each package in its corresponding subdirectory
2022-07-11 09:43:12 +0200fserucas(~fserucas@12.64.114.89.rev.vodafone.pt)
2022-07-11 09:43:17 +0200 <sm> really ?
2022-07-11 09:43:37 +0200 <jese> int-e: wdym?
2022-07-11 09:43:39 +0200 <int-e> oh, or drop the = in favor of a space
2022-07-11 09:43:57 +0200 <int-e> jese: your shell didn't expand ~ to your home directory
2022-07-11 09:44:19 +0200 <int-e> (mine didn't either when I just tried) cabal-install won't do that for you either.
2022-07-11 09:44:28 +0200 <jese> oh yeah thanks
2022-07-11 09:44:33 +0200 <jese> it shows packages now
2022-07-11 09:44:40 +0200 <sm> good to know.. --package-db should do that for you
2022-07-11 09:45:43 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
2022-07-11 09:45:44 +0200 <int-e> that's not how unix deals with that though
2022-07-11 09:46:01 +0200 <int-e> anyway, right or wrong, it's a pitfall
2022-07-11 09:47:00 +0200gmg(~user@user/gehmehgeh)
2022-07-11 09:47:29 +0200 <jese> can i get this to be default behavior?
2022-07-11 09:51:04 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-11 09:51:44 +0200smwould have expected cabal exec -- ghc-pkg list to work
2022-07-11 09:51:58 +0200 <int-e> exec was only for sandboxes
2022-07-11 09:52:47 +0200 <int-e> I still haven't worked out how to live in the v2 command world... I'm still using an old version of cabal-install that has sandboxes... which hit a sweet spot for me.
2022-07-11 09:53:21 +0200 <Axman6> I feel like I definitely understood the model of sandboxes more than the V2 stuff
2022-07-11 09:53:26 +0200 <sm> I'm starting to think cabal will never reach stack's consistency
2022-07-11 09:53:42 +0200mmhat(~mmh@p200300f1c7090730ee086bfffe095315.dip0.t-ipconnect.de)
2022-07-11 09:58:15 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 09:59:14 +0200kuribas(~user@silversquare.silversquare.eu)
2022-07-11 10:00:51 +0200 <kuribas> Man, loose type variables are such a pain ...
2022-07-11 10:00:58 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 240 seconds)
2022-07-11 10:02:47 +0200 <Axman6> Loose types sink shypes
2022-07-11 10:04:03 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-07-11 10:06:25 +0200Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-07-11 10:06:51 +0200Batzy(~quassel@user/batzy)
2022-07-11 10:09:12 +0200 <kuribas> How often do you get errors about "kinds don't match"...
2022-07-11 10:11:00 +0200 <jese> the actual problem i'm trying to solve is that i want to use modules in Setup.hs that are defined by external libraries, but the compiler cannot find those libraries when compiling Setup.hs (it can when compiling the program itself). i think the previous problem is related to this one so i'm looking for a way to somehow make its solution default behavior.
2022-07-11 10:14:31 +0200 <chreekat> maybe https://cabal.readthedocs.io/en/3.6/cabal-package.html?highlight=build-dep#custom-setup-scripts ?
2022-07-11 10:18:44 +0200 <merijn> Axman6: I mean, the only real difference between sandboxes and v2 is that in v2 the sandboxes are invisibly managed by cabal for you and installs can be shared between them automagically :p
2022-07-11 10:18:58 +0200johnw(~johnw@2600:1700:cf00:db0:405e:10f2:10b5:9731) (Quit: ZNC - http://znc.in)
2022-07-11 10:19:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f) (Remote host closed the connection)
2022-07-11 10:19:20 +0200 <int-e> merijn: v2 is way messier
2022-07-11 10:19:30 +0200 <merijn> int-e: Messier in what sense?
2022-07-11 10:19:36 +0200 <int-e> I want sandbox delete
2022-07-11 10:19:39 +0200 <jese> chreekat: already doing that
2022-07-11 10:19:53 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2022-07-11 10:19:55 +0200 <merijn> int-e: There's already some prototype "gc" commands around
2022-07-11 10:20:07 +0200 <merijn> int-e: The tricky part is defining what's a GC root
2022-07-11 10:20:09 +0200 <int-e> v2 doesn't have that by default, and making it work with separate stores is really inconvenient.
2022-07-11 10:20:16 +0200 <qrpnxz> supposedly Strong Profunctors are equivalent exactly power to Arrow, yes? How come profunctors package has no superclass then? Is every Profunctor also Category? How do I define `arr` for any Strong Profunctor? (Given only the Strong type class)
2022-07-11 10:20:44 +0200 <merijn> int-e: I mean, the only reason to want that is disk space, which you can also achieve by just nuking the entire store once a year or so
2022-07-11 10:20:59 +0200 <int-e> yes, my partitions tend to be 95% full
2022-07-11 10:21:03 +0200 <int-e> disk space is an issue here
2022-07-11 10:23:48 +0200Batzy(~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-07-11 10:25:36 +0200 <int-e> maybe hsenv is a solution for me. will see once I really have to abandon sandboxes
2022-07-11 10:26:14 +0200 <int-e> it may also be completely bitrotted
2022-07-11 10:26:21 +0200Batzy(~quassel@user/batzy)
2022-07-11 10:26:32 +0200 <int-e> (2014... yeah it probably is :-/)
2022-07-11 10:27:48 +0200 <merijn> I mean, the global store doesn't take up a lot of space and the sharing of dependencies should have a smaller footprint than multiple sandboxes
2022-07-11 10:29:15 +0200 <merijn> In my case, a global store for about 10 projects, that I have repeatedly updated over a year without cleaning is only 2.5GB. If you are working on machine where you have sub 1GB free, then I dunno, that sounds like a super niche problem
2022-07-11 10:29:42 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
2022-07-11 10:31:14 +0200ubert(~Thunderbi@178.165.191.175.wireless.dyn.drei.com)
2022-07-11 10:35:17 +0200 <chreekat> int-e I feel your pain
2022-07-11 10:35:40 +0200 <chreekat> it's not super niche to want your tool to clean up after itself
2022-07-11 10:35:51 +0200coot(~coot@213.134.190.95)
2022-07-11 10:39:42 +0200 <tomsmeding> Thing is, it's a hard problem to solve nicely
2022-07-11 10:39:57 +0200 <tomsmeding> Because merging all the stores together also _saves_ disk space
2022-07-11 10:40:19 +0200califax_(~califax@user/califx)
2022-07-11 10:40:32 +0200 <tomsmeding> You're usually only storing aeson once instead of once for each project that depends on it
2022-07-11 10:40:37 +0200califax(~califax@user/califx) (Remote host closed the connection)
2022-07-11 10:40:43 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 10:41:30 +0200 <tomsmeding> I do agree that having the sandboxes behaviour also would be nice, but more proliferation of features is not necessarily a good thing, for new users as well as for the maintainers,
2022-07-11 10:41:32 +0200califax_califax
2022-07-11 10:41:39 +0200 <merijn> chreekat: There are prototype cleanups, but it is not trivial to define what should be cleaned up
2022-07-11 10:41:41 +0200 <tomsmeding> s/,$//
2022-07-11 10:41:53 +0200stefan-_(~cri@42dots.de) (Ping timeout: 256 seconds)
2022-07-11 10:42:14 +0200 <tomsmeding> merijn: it's only because there is a shared store instead of one store (sandbox) per project
2022-07-11 10:42:41 +0200 <merijn> I mean, you had to manually cleanup sandboxes too
2022-07-11 10:42:44 +0200 <tomsmeding> I think int-e and folks would contest that having the shared store is better in the first place
2022-07-11 10:42:46 +0200 <merijn> So that's not automatic either
2022-07-11 10:43:04 +0200 <merijn> sandboxes had utterly horrible UX, though
2022-07-11 10:43:08 +0200 <tomsmeding> But it's easy to do manually without nuking the build for other projects
2022-07-11 10:43:36 +0200 <merijn> the global store is so much better I switched to it from sandboxes when they were still so experimental stuff broke all the time :p
2022-07-11 10:43:55 +0200 <merijn> tomsmeding: There's already tools who can "nuke everything except these projects" with the global store, so...
2022-07-11 10:44:22 +0200 <int-e> ...if only the v2 commands were as smooth as sandboxes
2022-07-11 10:44:33 +0200 <tomsmeding> merijn: For these people that's the wrong way round
2022-07-11 10:44:47 +0200 <tomsmeding> They don't want to "nuke everything but this", they want to nuke "only this"
2022-07-11 10:45:04 +0200 <merijn> tomsmeding: Well, they're free to maintain the sandbox code themselves :)
2022-07-11 10:45:05 +0200 <tomsmeding> And tbh I understand the wish, especially if you don't have 20 cores available for compiling
2022-07-11 10:45:13 +0200 <int-e> Note that all of this is rather subjective. I have a mental model for sandboxes. I have no useful one for v2 commands.
2022-07-11 10:45:19 +0200 <int-e> That makes a ton of a difference.
2022-07-11 10:45:37 +0200mncheck(~mncheck@193.224.205.254)
2022-07-11 10:45:43 +0200 <tomsmeding> To be fair "having a mental model" is not what I'm missing with v2 mode
2022-07-11 10:45:45 +0200 <maerwald> merijn: sandboxes should never have been removed
2022-07-11 10:45:47 +0200 <int-e> and I disagree that the sandbox UX is bad
2022-07-11 10:45:53 +0200stefan-_(~cri@42dots.de)
2022-07-11 10:45:58 +0200 <tomsmeding> Just compile everything always, but cache stuff globally
2022-07-11 10:46:06 +0200 <chreekat> It's all a great idea but it did kinda break cabal. It's just half-implemented. "Nix-style builds" without the Nix-style usage tracking and garbage collection. It leaves off the "viable" of "minimum viable [feature]". I mean I hate to say bad things about cabal since it kind of seems like the shattered child of a messy divorce. But it's definitely got a lot of open wounds at the moment
2022-07-11 10:46:17 +0200 <maerwald> sandboxes are superior in almost every regard to nix style builds, except for sharing artifacts
2022-07-11 10:46:31 +0200 <merijn> chreekat: "a lot" <- like what, besides cleanup?
2022-07-11 10:46:34 +0200 <maerwald> idk much about sharing artifacts, given that Haskell already wastes tons of GB on my PC
2022-07-11 10:46:48 +0200 <merijn> maerwald: sandboxes got corrupted all the time, though
2022-07-11 10:46:52 +0200 <merijn> It was annoying as shit
2022-07-11 10:47:14 +0200 <int-e> But I suppose it could be if I had to routinely rebuild huge projects from scratch, because yes, sandboxes do inherit the potential dependency mess from reinstalling packages that the user package db model had; they just keep projects isolated and thus make it easier to start over from scratch.
2022-07-11 10:47:17 +0200 <tomsmeding> merijn: that sounds like an implementation problem, not a design problem :p
2022-07-11 10:47:20 +0200 <maerwald> merijn: I don't remember that. And even if it did, fixing it is easier than trying to fix your store
2022-07-11 10:47:33 +0200 <merijn> Fixing the store is trivial, "rm -r" :p
2022-07-11 10:47:35 +0200 <maerwald> the store semantics are annoying as shit
2022-07-11 10:47:58 +0200 <merijn> I've not had any corruption of the store in the past 6 years, though
2022-07-11 10:48:21 +0200 <chreekat> I also have no mental model for v2. I slowly discover new things by re-reading the manual, which is at least helpfully up to date, although readthedocs continues to be the worst possible way of displaying docs while still actually displaying docs
2022-07-11 10:48:27 +0200 <int-e> And I think isolation between projects is the thing here that I really want, even more than a simple cleanup story.
2022-07-11 10:48:35 +0200 <int-e> Those two go hand in hand though.
2022-07-11 10:48:52 +0200 <int-e> nuking the store is not isolated
2022-07-11 10:48:59 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 10:49:00 +0200 <tomsmeding> Why isolation, because the store breaks for you?
2022-07-11 10:49:05 +0200 <maerwald> int-e: you can get isolation between projects too with v2
2022-07-11 10:49:05 +0200 <int-e> unless you have separate stores, which I know is an option
2022-07-11 10:49:19 +0200 <maerwald> int-e: cabal --store-dir=$(pwd)/store build
2022-07-11 10:49:23 +0200 <maerwald> yeah
2022-07-11 10:49:27 +0200 <maerwald> it's kinda dumb
2022-07-11 10:50:12 +0200 <merijn> int-e: The isolation is automatic, though. The only way your projects aren't isolated is if there's a bug in v2, which I haven't encountered yet
2022-07-11 10:50:17 +0200 <arahael> You could always set up a user per project.
2022-07-11 10:50:24 +0200 <int-e> (My plan going forward is to figure out a way to make that convenient. Obviously I won't be typing that all the time. Also, $(pwd) isn't quite the right thing.)
2022-07-11 10:50:43 +0200 <merijn> int-e: two projects should never interfere/affect each other in v2
2022-07-11 10:50:47 +0200 <int-e> arahael: ah, how do I share the package db?
2022-07-11 10:50:50 +0200gemadmin(~gemadmin@114.198.31.146)
2022-07-11 10:50:51 +0200 <maerwald> I tried using GC tools on the cabal store several times. They always broke the entire store
2022-07-11 10:51:00 +0200 <chreekat> i'm pretty excited to see that cabal isn't actually dead though - like I think my favorite v2 bug might have been fixed, assuming the PR does what it says it does
2022-07-11 10:51:06 +0200 <merijn> int-e: Cabal creates an on-demand package db for each project
2022-07-11 10:51:18 +0200 <merijn> int-e: There is no static package db at all anymore
2022-07-11 10:51:24 +0200 <chreekat> (my favorite bug was that Ctrl-C doesn't stop the build, whlie multiple Ctrl-C's stop the build and corrupt the store)
2022-07-11 10:51:36 +0200gemadminArahael2
2022-07-11 10:51:38 +0200 <merijn> int-e: The store is "just disk storage" that has no affect on build plans or anything
2022-07-11 10:51:39 +0200 <int-e> have I mentioned that the ghc environment files UX is horrible because it's hidden and magical
2022-07-11 10:51:54 +0200 <int-e> merijn: until you nuke it
2022-07-11 10:51:58 +0200 <merijn> int-e: You can disable that. But also, I quote like "ghci" working
2022-07-11 10:52:01 +0200 <merijn> int-e: No
2022-07-11 10:52:27 +0200 <int-e> sure... echo $GHC_ENVIRONMENT --> -
2022-07-11 10:52:27 +0200 <merijn> int-e: Unless you update your package set from hackage via "cabal update" you will only ever get the same buildplan
2022-07-11 10:52:43 +0200 <merijn> int-e: You can disable it in "~/.cabal/config
2022-07-11 10:52:51 +0200 <int-e> alias ghci='ghci -ignore-dot-ghci -ghci-script /home/<user>/.ghci'
2022-07-11 10:52:54 +0200 <merijn> Whether to generate ghc environment files can be toggled there
2022-07-11 10:53:03 +0200int-eshrugs
2022-07-11 10:53:34 +0200 <merijn> int-e: Anyway, v2's buildplan generation is deterministic, so if you nuke the store and rebuild it will rebuild the exact same build plan from your project
2022-07-11 10:54:07 +0200 <merijn> So whether the store is around or not (and what is in it) does not affect buildplans
2022-07-11 10:54:34 +0200fweht(uid404746@2a03:5180:f:2::6:2d0a) ()
2022-07-11 10:55:08 +0200 <sm> chreekat: by the way what do you dislike about readthedocs ? I can think of a lot of worse ways to read docs
2022-07-11 10:56:01 +0200 <maerwald> the default readthedocs design is just weird... but you can use any other
2022-07-11 10:57:14 +0200 <sm> why is it weird ?
2022-07-11 10:57:19 +0200 <maerwald> too packed
2022-07-11 10:57:19 +0200smis looking at https://cabal.readthedocs.io/en/3.6/
2022-07-11 10:57:49 +0200 <maerwald> it takes up only half the screen... of that half only 50% is text, the other is the navigation (wtf)
2022-07-11 10:58:00 +0200 <maerwald> and then have small font and massive text
2022-07-11 10:58:14 +0200 <sm> ah.. maybe not good on large screens, I'm on a laptop
2022-07-11 11:03:01 +0200jese(~nikola@79-101-208-134.dynamic.isp.telekom.rs) (Quit: leaving)
2022-07-11 11:03:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-11 11:07:21 +0200causal(~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.5)
2022-07-11 11:07:22 +0200yauhsien(~yauhsien@2402:7500:4e3:6633:e5c9:3430:d74d:b121)
2022-07-11 11:08:03 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-07-11 11:10:53 +0200__monty__(~toonn@user/toonn)
2022-07-11 11:11:10 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-07-11 11:12:31 +0200yauhsien(~yauhsien@2402:7500:4e3:6633:e5c9:3430:d74d:b121) (Ping timeout: 244 seconds)
2022-07-11 11:16:37 +0200MajorBiscuit(~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl)
2022-07-11 11:17:34 +0200 <sm> I wonder why cabal could be segfaulting here: https://github.com/simonmichael/hledger/runs/7276941032
2022-07-11 11:17:57 +0200 <sm> or ghc
2022-07-11 11:18:05 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-07-11 11:18:29 +0200 <sm> I tried a smaller build, in case it was out of memory, and it still segfaulted (in a different package)
2022-07-11 11:18:36 +0200vandit_(~vandit@87-97-88-201.pool.digikabel.hu)
2022-07-11 11:19:11 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-07-11 11:19:26 +0200 <tomsmeding> sm: any chance of reproducing locally?
2022-07-11 11:19:52 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00)
2022-07-11 11:20:02 +0200 <tomsmeding> Also OOM should never result in a segfault hopefully :p
2022-07-11 11:20:13 +0200 <sm> that could be a way forward I guess
2022-07-11 11:20:43 +0200 <sm> I'd rather just try switching to stack, but I suspect it makes building static too hard
2022-07-11 11:20:52 +0200 <tomsmeding> Ideally, it would be a single ghc invocation that segfaults, which you can then run under lldb
2022-07-11 11:21:06 +0200 <sm> I see, noted thx
2022-07-11 11:21:25 +0200 <tomsmeding> (on mac; on linux I'd use gdb, but gdb is finicky on mac)
2022-07-11 11:24:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00) (Ping timeout: 260 seconds)
2022-07-11 11:26:59 +0200TMA(tma@twin.jikos.cz) (Ping timeout: 244 seconds)
2022-07-11 11:29:14 +0200BusConscious(~martin@ip5f5bdf31.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2022-07-11 11:37:13 +0200mmhat(~mmh@p200300f1c7090730ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-07-11 11:45:59 +0200 <merijn> tomsmeding: "need to install a certificate/sign once" :p Although you could just use lldb
2022-07-11 11:46:37 +0200 <tomsmeding> merijn: I know :p
2022-07-11 11:47:23 +0200 <Arahael2> sm: I dont' have haskell running at all on my alpine, I'm considering setting up a chroot for it (eventually...) that uses glibc.
2022-07-11 11:50:39 +0200mmhat(~mmh@p200300f1c7090723ee086bfffe095315.dip0.t-ipconnect.de)
2022-07-11 11:50:49 +0200 <maerwald> Arahael2: why
2022-07-11 11:52:15 +0200john(~john@115.98.234.40)
2022-07-11 11:52:23 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 11:52:48 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-11 11:55:42 +0200 <Arahael2> maerwald: There's no bindist that supports the distro natively on the system I'm using.
2022-07-11 11:56:33 +0200 <maerwald> Arahael2: there is
2022-07-11 11:57:02 +0200 <Arahael2> maerwald: We've talked about it before but to be honest, I just haven't had a chance to put any time on this (yet?) - it's alpine, musl on arm7. (I think it's arm7...) Oh, it's changed?
2022-07-11 11:57:04 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
2022-07-11 11:57:06 +0200 <Arahael2> There's one now?
2022-07-11 11:57:23 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
2022-07-11 11:57:25 +0200 <maerwald> ah, armv7
2022-07-11 11:57:53 +0200 <maerwald> yeah, latest 9.2.3 doesn't even have armv7 for glibc linuxes
2022-07-11 11:58:51 +0200 <Arahael2> Actually I'm not sure if it's arm7 or armhf I need, I should check.
2022-07-11 11:59:22 +0200 <Arahael2> It's "aarch64"
2022-07-11 12:00:01 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-07-11 12:02:43 +0200cosimone`(~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
2022-07-11 12:03:40 +0200 <Arahael2> maerwald: In any case, I believe there is a build, using glibc, so I do still have the option of setting up a chroot with that. I'm not stuck, just lazy.
2022-07-11 12:04:06 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net)
2022-07-11 12:06:18 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 12:07:37 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds)
2022-07-11 12:08:08 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-07-11 12:10:24 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 12:17:57 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it)
2022-07-11 12:18:40 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 244 seconds)
2022-07-11 12:20:47 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 255 seconds)
2022-07-11 12:23:15 +0200mncheckm(~mncheck@193.224.205.254)
2022-07-11 12:25:54 +0200Vajb(~Vajb@2001:999:58c:b683:1e3e:e86f:8cdc:e10) (Ping timeout: 264 seconds)
2022-07-11 12:26:49 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 12:27:03 +0200Vajb(~Vajb@85-76-36-231-nat.elisa-mobile.fi)
2022-07-11 12:32:13 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2022-07-11 12:33:50 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 255 seconds)
2022-07-11 12:35:22 +0200caubert(~caubert@user/caubert) (Quit: WeeChat 3.5)
2022-07-11 12:35:32 +0200caubert(~caubert@user/caubert)
2022-07-11 12:39:51 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 12:39:56 +0200mncheckm(~mncheck@193.224.205.254) (Quit: Leaving)
2022-07-11 12:40:18 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-07-11 12:43:14 +0200christiansen(~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
2022-07-11 12:47:24 +0200Vajb(~Vajb@85-76-36-231-nat.elisa-mobile.fi) (Ping timeout: 276 seconds)
2022-07-11 12:47:38 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Remote host closed the connection)
2022-07-11 12:48:38 +0200Vajb(~Vajb@2001:999:780:85a3:dba:df53:267d:8644)
2022-07-11 12:49:21 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds)
2022-07-11 12:50:24 +0200CiaoSen(~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-07-11 12:51:08 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 12:52:51 +0200kjak(~kjak@pool-108-31-68-111.washdc.fios.verizon.net)
2022-07-11 13:03:00 +0200raym(~raym@user/raym) (Ping timeout: 276 seconds)
2022-07-11 13:12:40 +0200xff0x(~xff0x@2405:6580:b080:900:1ebc:3cfb:759f:a6de)
2022-07-11 13:14:45 +0200vandit_(~vandit@87-97-88-201.pool.digikabel.hu) (Ping timeout: 272 seconds)
2022-07-11 13:16:04 +0200vandit_(~vandit@80-95-82-235.pool.digikabel.hu)
2022-07-11 13:21:42 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00)
2022-07-11 13:24:53 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 272 seconds)
2022-07-11 13:25:29 +0200raym(~raym@user/raym)
2022-07-11 13:26:02 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00) (Ping timeout: 255 seconds)
2022-07-11 13:27:38 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-07-11 13:29:28 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 13:29:30 +0200dcoutts_(~duncan@host86-176-29-6.range86-176.btcentralplus.com)
2022-07-11 13:30:10 +0200fuinnybunny(~fuinnybun@p7902b706.tokynt01.ap.so-net.ne.jp)
2022-07-11 13:31:26 +0200dcoutts(~duncan@host86-176-29-6.range86-176.btcentralplus.com) (Ping timeout: 255 seconds)
2022-07-11 13:31:28 +0200 <fuinnybunny> Hello, I am trying to run the Win32 program here: https://github.com/haskell/win32/blob/master/tests/helloworld.hs If I load the file in ghci it says it could not find the modules Win32 and Addr. I installed Win32 with stack install Win32 and (I think) Addr with stack install primitive
2022-07-11 13:32:04 +0200 <geekosaur> use stack ghci instead of ghci directly?
2022-07-11 13:32:54 +0200 <fuinnybunny> It gives the same errors
2022-07-11 13:35:27 +0200 <geekosaur> do you have a cabal file (or package.yaml but don't use that) declaring dependencies on those things? stack keeps a very close gri[p on its libraries and only exposes them when dependencies are declared
2022-07-11 13:35:45 +0200 <fuinnybunny> I don't know
2022-07-11 13:37:10 +0200 <fuinnybunny> Am I supposed to use stack to install packages?
2022-07-11 13:37:52 +0200 <fuinnybunny> I followed the links on https://www.haskell.org/downloads/
2022-07-11 13:38:09 +0200 <[exa]> unless the setup requires stack, you can install packages with cabal
2022-07-11 13:38:45 +0200 <fuinnybunny> The homepage doesn't explain what they are
2022-07-11 13:38:52 +0200 <fuinnybunny> I just did 1 and 2
2022-07-11 13:39:27 +0200 <fuinnybunny> I am now installing the packages with cabal install
2022-07-11 13:40:56 +0200 <[exa]> ok, after that you still might need to "enable" the package for your ghc
2022-07-11 13:41:23 +0200 <[exa]> if you just typed `cabal install win32`, you may be good off with `ghc -package win32 -package theotherone yourFile.hs`
2022-07-11 13:41:43 +0200 <fuinnybunny> OK, I will try that when it's done installing
2022-07-11 13:42:18 +0200 <[exa]> the usual way is to write a small file that tracks the dependencies for each project, this is a pretty good introduction: https://wiki.haskell.org/How_to_write_a_Haskell_program
2022-07-11 13:44:16 +0200 <fuinnybunny> OK, I will try to make one
2022-07-11 13:44:20 +0200Vajb(~Vajb@2001:999:780:85a3:dba:df53:267d:8644) (Ping timeout: 272 seconds)
2022-07-11 13:44:33 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-07-11 13:46:07 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-07-11 13:46:35 +0200 <fuinnybunny> `ghc -package win32 ...` gives the same errors
2022-07-11 13:46:43 +0200 <fuinnybunny> *Win32
2022-07-11 13:47:16 +0200Feuermagier(~Feuermagi@user/feuermagier)
2022-07-11 13:47:27 +0200 <[exa]> the error is that Win32 module is missing?
2022-07-11 13:47:31 +0200Vajb(~Vajb@2001:999:40:3227:1637:ead0:8398:8c93)
2022-07-11 13:47:57 +0200 <fuinnybunny> Yes
2022-07-11 13:48:01 +0200 <[exa]> hm the list of modules in that package is here: https://hackage.haskell.org/package/Win32
2022-07-11 13:48:09 +0200 <[exa]> try rewriting it to System.Win32
2022-07-11 13:48:31 +0200 <[exa]> (spoiler: the tests on github[4~ may have the module resolution method changed or something)
2022-07-11 13:49:53 +0200 <fuinnybunny> OK, I think it worked. Now I am installing primitive with cabal for Addr
2022-07-11 13:51:15 +0200 <fuinnybunny> Hm, I think it installed with cabal install primitive, but then ghc -package Win32 -package primitive helloworld.hs says cannot satisfy -package primitive
2022-07-11 13:52:02 +0200 <[exa]> you want this one right? https://hackage.haskell.org/package/primitive-addr-0.1.0.2/docs/Data-Primitive-Addr.html
2022-07-11 13:52:07 +0200Vajb(~Vajb@2001:999:40:3227:1637:ead0:8398:8c93) (Ping timeout: 272 seconds)
2022-07-11 13:52:29 +0200 <fuinnybunny> I think so, if that's what Addr is referring to in helloworld.hs
2022-07-11 13:52:40 +0200 <[exa]> ah here: https://hoogle.haskell.org/?hoogle=nullAddr
2022-07-11 13:52:47 +0200 <[exa]> it's in `primitive-addr` package
2022-07-11 13:52:58 +0200 <fuinnybunny> Ohh
2022-07-11 13:54:07 +0200 <fuinnybunny> Hm, I installed that one with cabal install primitive-addr but I get the same cannot satisfy -package primitive-addr when I try to run helloworld.hs
2022-07-11 13:54:41 +0200 <[exa]> like, the source code there is a few years old and I guess half of the ecosystem has changed from the time, so I'd expect problems like this
2022-07-11 13:55:05 +0200 <fuinnybunny> Nobody uses Win32?
2022-07-11 13:55:28 +0200 <sm> `foo` runs normally. Identical copy with a different name `foo-1826` dies with "Killed: 9". On mac. Any ideas ?
2022-07-11 13:56:06 +0200 <[exa]> fuinnybunny: like, I don't want to touch windows anytime again, but I'm probably extreme :D
2022-07-11 13:56:24 +0200 <[exa]> fuinnybunny: the `cabal install` didn't report any problems?
2022-07-11 13:56:30 +0200 <sm> a new copy works as expected. Just this particular file seems cursed.
2022-07-11 13:56:30 +0200 <fuinnybunny> I'm sure some ppl in here play games
2022-07-11 13:56:37 +0200Vajb(~Vajb@2001:999:580:670b:ef53:ed37:f6d7:705e)
2022-07-11 13:57:12 +0200 <tomsmeding> sm: what happens whem you `lldb
2022-07-11 13:57:12 +0200 <tomsmeding> ./foo-1826` and then `run`
2022-07-11 13:57:17 +0200 <fuinnybunny> cabal install said WARNING: Installation might not be completed as desired! and then talked about making a .cabal file. Otherwise it seemed fine
2022-07-11 13:57:25 +0200 <geekosaur> sm, you'd have to check the system log but "Killed: 9" sounds like SIP got unhappy with it
2022-07-11 13:57:26 +0200 <tomsmeding> Oh sorry no newline in there
2022-07-11 13:57:36 +0200 <merijn> sm: "ulimit -c unlimited" and check the core dump?
2022-07-11 13:57:42 +0200 <fuinnybunny> You might have wanted to add them to a GHC environment. In this case use "cabal install --lib primitive-addr". The "--lib" flag is provisional...
2022-07-11 13:57:45 +0200 <sm> $ lldb ./hledgerdies
2022-07-11 13:57:46 +0200 <sm> (lldb) target create "./hledgerdies"
2022-07-11 13:57:46 +0200 <sm> Killed: 9
2022-07-11 13:58:02 +0200 <tomsmeding> sm: O.o
2022-07-11 13:58:25 +0200 <merijn> sm: You wanna make sure there's no limit on core sizes and then inspect the core dump
2022-07-11 13:58:37 +0200 <geekosaur> (system integrity protection is a mean mother and not all its decisions are comprehensible)
2022-07-11 13:59:26 +0200 <sm> merijn: thx, if I knew where to find those I'd give it a try
2022-07-11 13:59:31 +0200 <merijn> geekosaur: I don't see why SIP would kill use code
2022-07-11 13:59:54 +0200 <merijn> sm: Under /cores (after you up the core size limit as I just mentioned ;))
2022-07-11 14:00:02 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-11 14:00:14 +0200 <[exa]> fuinnybunny: does it work with --lib ?
2022-07-11 14:00:52 +0200 <fuinnybunny> No
2022-07-11 14:01:06 +0200 <fuinnybunny> Do I need to do cabal init before cabal install?
2022-07-11 14:01:28 +0200 <[exa]> no, cabal init creates a "new project"
2022-07-11 14:01:42 +0200 <[exa]> where you can put the cabal file and your sources and can declare their dependencies etc
2022-07-11 14:02:00 +0200 <sm> merijn: I did that and did find /cores but it's empty of course
2022-07-11 14:02:15 +0200 <sm> it couldn't be that easy on mac
2022-07-11 14:02:20 +0200 <[exa]> fuinnybunny: the error you get from primitive-addr is something like "Could not resolve dependencies: ..., trying binary-0.8.9.0..." , right?
2022-07-11 14:03:11 +0200 <geekosaur> SIGKILL doesn't usually leave a core file
2022-07-11 14:03:29 +0200 <fuinnybunny> Is there a Discord server for Haskell?
2022-07-11 14:03:38 +0200 <fuinnybunny> Or something where I can share my screen
2022-07-11 14:04:21 +0200 <[exa]> fuinnybunny: hm actually, it seems the win32 sample you have is a bit outdated. You should be able to replace the Addr import by Foreign.Ptr, and replace nullAddr by nullPtr
2022-07-11 14:04:23 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 14:04:32 +0200 <fuinnybunny> Ok, I will try that
2022-07-11 14:05:25 +0200mon_aaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-07-11 14:05:49 +0200 <[exa]> re discord, yeah afaik there is one but discord totally fails for me for whatever reason. Here we just pastebin stuff, e.g. to https://paste.tomsmeding.com
2022-07-11 14:06:06 +0200 <fuinnybunny> OK, that made it give new errors about no module named Win32 is imported
2022-07-11 14:06:16 +0200 <fuinnybunny> I guess because I changed it to System.Win32
2022-07-11 14:06:35 +0200 <[exa]> uh yes they use the Win32 there as a prefix
2022-07-11 14:06:38 +0200 <fuinnybunny> I tried to find it on disboard but I didn't find it
2022-07-11 14:06:42 +0200 <[exa]> you can do `import qualified System.Win32 as Win32`
2022-07-11 14:06:54 +0200 <[exa]> which should give it the name the example expects
2022-07-11 14:07:09 +0200 <fuinnybunny> Now it says System.Win32 doesn't export endPaint, etc
2022-07-11 14:07:23 +0200 <fuinnybunny> I wonder if it's the right package
2022-07-11 14:07:38 +0200 <[exa]> yeah I'm starting to wonder myself
2022-07-11 14:08:55 +0200 <[exa]> that example may be seriously outdated
2022-07-11 14:09:05 +0200 <geekosaur> those are Graphics.Win32 I think
2022-07-11 14:09:13 +0200Vajb(~Vajb@2001:999:580:670b:ef53:ed37:f6d7:705e) (Ping timeout: 272 seconds)
2022-07-11 14:11:15 +0200 <fuinnybunny> I think I will try GLFW instead
2022-07-11 14:11:46 +0200 <[exa]> +1 ^
2022-07-11 14:11:47 +0200Katarushisu(~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
2022-07-11 14:11:53 +0200 <john> hi .. I have a question from haskell book.. chapter 5 types..
2022-07-11 14:12:20 +0200 <[exa]> fuinnybunny: like, even in game programming no one really wants to touch the win32 api directly, everyone goes either SDL or SFML or GLFW
2022-07-11 14:12:30 +0200 <john> If the type of kessel is (Ord a, Num b)=> a -> b -> a then the type of kessel 1 2 is ?
2022-07-11 14:12:49 +0200Vajb(~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi)
2022-07-11 14:13:01 +0200 <john> The answer given is (Num a, Ord a) => a
2022-07-11 14:13:09 +0200 <john> but i am not able to figure out why..
2022-07-11 14:13:09 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
2022-07-11 14:13:16 +0200 <kuribas> :t 1
2022-07-11 14:13:17 +0200 <lambdabot> Num p => p
2022-07-11 14:13:20 +0200jargon(~jargon@184.101.188.251) (Remote host closed the connection)
2022-07-11 14:14:01 +0200 <kuribas> john: Num p comes from the literal 1
2022-07-11 14:14:10 +0200 <john> yes
2022-07-11 14:14:11 +0200 <geekosaur> basically, taken by itself it'd be Ord a => a. but because you passed a literal 1, it induces a Num a
2022-07-11 14:14:11 +0200 <kuribas> Num a
2022-07-11 14:14:40 +0200 <john> geekosaur: can you elaborate?
2022-07-11 14:14:42 +0200fuinnybunny(~fuinnybun@p7902b706.tokynt01.ap.so-net.ne.jp) ()
2022-07-11 14:14:45 +0200 <geekosaur> becase any numeric literal is typed as Num a => a or Fractional a => a depending on whether it has a decimal point
2022-07-11 14:15:19 +0200 <geekosaur> and internally goes through respectively fromInteger or fromRational
2022-07-11 14:16:01 +0200 <kuribas> :t 1 + 1.2
2022-07-11 14:16:03 +0200 <lambdabot> Fractional a => a
2022-07-11 14:16:05 +0200 <john> so you are saying since output as per type signature is a and 1 as a num literal is passed for a..thats why its subject to num and ord class constraint?
2022-07-11 14:16:19 +0200 <geekosaur> right
2022-07-11 14:16:31 +0200 <geekosaur> if not for it being a numeric literal, it'd just be Ord
2022-07-11 14:16:51 +0200 <geekosaur> (or concrete if you passed some concrete type such as Char)
2022-07-11 14:17:37 +0200 <john> In that case If the type of kessel is (Ord a, Num b) => a -> b -> a, then the type of kessel (1 :: Integer) 2.. would be only integer?
2022-07-11 14:18:02 +0200 <john> or would it be Ord a => a
2022-07-11 14:18:13 +0200 <kuribas> Integer
2022-07-11 14:18:32 +0200 <john> kuribas: why not Ord a?
2022-07-11 14:18:40 +0200 <john> kuribas: why not Ord a => a?
2022-07-11 14:18:46 +0200 <geekosaur> because it knows Integer is already Ord
2022-07-11 14:18:59 +0200 <kuribas> john: because you just told haskell the first variable is Integer.
2022-07-11 14:19:03 +0200 <geekosaur> so there's no point in keeping the constraint around
2022-07-11 14:19:41 +0200 <kuribas> :t (1 :: Ord Integer => Integer)
2022-07-11 14:19:42 +0200 <lambdabot> Integer
2022-07-11 14:20:16 +0200 <john> are you saying is Integer already has Ordering built into it.. so there is no need to specify ?
2022-07-11 14:20:42 +0200 <kuribas> john: if by built in, you mean that haskell provides an instance, then yes.
2022-07-11 14:21:00 +0200alp(~alp@user/alp) (Ping timeout: 276 seconds)
2022-07-11 14:21:46 +0200 <kuribas> :t (1 :: Foldable Integer => Integer)
2022-07-11 14:21:49 +0200 <lambdabot> error:
2022-07-11 14:21:49 +0200 <lambdabot> • Expected kind ‘* -> *’, but ‘Integer’ has kind ‘*’
2022-07-11 14:21:49 +0200 <lambdabot> • In the first argument of ‘Foldable’, namely ‘Integer’
2022-07-11 14:21:55 +0200 <geekosaur> in the case where it has a constraint and you provide a type, it will check that the type fulfills the constraint (here, Ord) and either throw a type error or drop the constraint as already fulfilled
2022-07-11 14:22:25 +0200 <kuribas> :t (1 :: Fractional Integer => Integer)
2022-07-11 14:22:27 +0200 <lambdabot> error:
2022-07-11 14:22:27 +0200 <lambdabot> No instance for (Fractional Integer)
2022-07-11 14:22:27 +0200 <lambdabot> arising from an expression type signature
2022-07-11 14:22:57 +0200 <john> geekosaur : thanks..
2022-07-11 14:23:48 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 14:27:56 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-07-11 14:29:02 +0200renzhi(~xp@2607:fa49:6500:b100::b399) (Ping timeout: 255 seconds)
2022-07-11 14:29:22 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 244 seconds)
2022-07-11 14:30:35 +0200john(~john@115.98.234.40) (Quit: Leaving)
2022-07-11 14:31:43 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 14:32:49 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at)
2022-07-11 14:34:40 +0200frost(~frost@user/frost) (Ping timeout: 252 seconds)
2022-07-11 14:34:42 +0200MajorBiscuit(~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl) (Quit: WeeChat 3.5)
2022-07-11 14:35:49 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 272 seconds)
2022-07-11 14:38:53 +0200MajorBiscuit(~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl)
2022-07-11 14:39:51 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-07-11 14:41:14 +0200coot(~coot@213.134.190.95)
2022-07-11 14:42:13 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
2022-07-11 14:42:44 +0200 <chreekat> sm: the way readthedocs displays the navigation as a flat menu with sections that appear and disappear makes me feel looks I'm in a labyrinth
2022-07-11 14:43:09 +0200acidjnk(~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de) (Remote host closed the connection)
2022-07-11 14:43:33 +0200acidjnk(~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de)
2022-07-11 14:44:36 +0200 <sm> I hear that.. but with big docs the alternative is an overwhelming TOC. It's hard to be right for everyone
2022-07-11 14:45:30 +0200 <geekosaur> ghc docs do the same thing
2022-07-11 14:45:49 +0200 <geekosaur> kind of annoying when I'm jumping between two sections
2022-07-11 14:46:30 +0200foul_owl(~kerry@23.82.194.107) (Ping timeout: 240 seconds)
2022-07-11 14:46:33 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-07-11 14:46:54 +0200 <sm> good example.. at https://downloads.haskell.org/ghc/latest/docs/html/users_guide/ imagine if that TOC in the body appeared in the sidebar
2022-07-11 14:47:01 +0200 <chreekat> geekosaur: yep, also readthedocs
2022-07-11 14:47:44 +0200 <chreekat> So don't shove the whole toc in a sidebar? :D
2022-07-11 14:48:37 +0200smthinks readthedocs' sidebar is a pretty good compromise
2022-07-11 14:48:45 +0200 <geekosaur> it works better than the Report where I keep having to Up to the TOC
2022-07-11 14:49:25 +0200 <geekosaur> annoying is better than nigh unusable
2022-07-11 14:49:42 +0200 <geekosaur> and it's hard to do better with something that is by its nature flat
2022-07-11 14:54:54 +0200 <chreekat> Wait what's flat by nature?
2022-07-11 14:55:27 +0200 <geekosaur> manuals, and in particular the Haskell Report which is what I was talking about as an alternative to the sidebar
2022-07-11 14:55:40 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
2022-07-11 14:56:05 +0200acidjnk(~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-07-11 14:57:02 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 14:58:11 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
2022-07-11 14:59:19 +0200 <chreekat> Oh those strike me as being deeply hierarchical. 🤔 Chapters and sections and subsections and paragraphs
2022-07-11 15:00:57 +0200 <geekosaur> ghc's is as well. the sidebar only does first and secoind level headings
2022-07-11 15:01:14 +0200 <chreekat> Actually one thing that made readthedocs so jarring for me is that I couldn't even tell which were the top -level headings and which were the sub headings. They're just different colors with nothing else to distinguish them. Maybe it's better now (or maybe I've been trained)
2022-07-11 15:02:30 +0200foul_owl(~kerry@23.82.194.109)
2022-07-11 15:02:34 +0200 <geekosaur> oh, I guess ghc does third level as well. indentation indicates the level
2022-07-11 15:04:42 +0200Kaiepi(~Kaiepi@156.34.47.253)
2022-07-11 15:07:10 +0200Kaipei(~Kaiepi@156.34.47.253) (Ping timeout: 240 seconds)
2022-07-11 15:07:41 +0200 <kuribas> I saw the Munich hackaton. Would anyone be interested in a talk about using higher kinded data?
2022-07-11 15:08:17 +0200TMA(tma@twin.jikos.cz)
2022-07-11 15:08:33 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-07-11 15:09:25 +0200 <kuribas> for example: meta programming with hkd, nested hkd records.
2022-07-11 15:10:24 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 15:11:16 +0200 <geekosaur> oh, I think we're using "flat" in different meanings. you're talking about the hierarchy, I'm thinking in more of a hypertext context
2022-07-11 15:11:17 +0200vandit_(~vandit@80-95-82-235.pool.digikabel.hu) (Ping timeout: 272 seconds)
2022-07-11 15:11:42 +0200 <geekosaur> it's hard to take something that's designed mostly forprinting and make it nicely accessible on screen
2022-07-11 15:12:37 +0200vandit_(~vandit@188-143-101-77.pool.digikabel.hu)
2022-07-11 15:18:01 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
2022-07-11 15:18:27 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-11 15:19:33 +0200mjs2600(~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
2022-07-11 15:21:03 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds)
2022-07-11 15:21:45 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-07-11 15:22:01 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
2022-07-11 15:22:28 +0200ubert1(~Thunderbi@178.165.177.173.wireless.dyn.drei.com)
2022-07-11 15:23:19 +0200ubert(~Thunderbi@178.165.191.175.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2022-07-11 15:23:20 +0200ubert1ubert
2022-07-11 15:25:02 +0200CiaoSen(~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-07-11 15:25:29 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net)
2022-07-11 15:30:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
2022-07-11 15:30:29 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 15:30:35 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 15:30:44 +0200moonsheep(~user@user/moonsheep)
2022-07-11 15:30:53 +0200 <moonsheep> What do you guys think of selda?
2022-07-11 15:31:29 +0200 <[exa]> I used it a few times, would do again I'd say
2022-07-11 15:31:42 +0200chele(~chele@user/chele)
2022-07-11 15:32:18 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 15:32:47 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 15:33:56 +0200Pickchea(~private@user/pickchea)
2022-07-11 15:34:18 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Ping timeout: 240 seconds)
2022-07-11 15:36:09 +0200 <kuribas> haskell-centric, not useable with existing schemas.
2022-07-11 15:37:00 +0200 <moonsheep> I don't have an existing schema so it's not really a problem
2022-07-11 15:37:23 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 15:38:03 +0200 <moonsheep> The few examples I've seen it looks extremely succint, in stark contrast with something like, say, persistent
2022-07-11 15:38:13 +0200 <moonsheep> Is it too good to be true?
2022-07-11 15:38:42 +0200 <kuribas> it also has a weird mapping between db types and haskell types.
2022-07-11 15:39:36 +0200 <moonsheep> How so?
2022-07-11 15:39:50 +0200 <kuribas> personally I would only use db libraries which look like SQL.
2022-07-11 15:39:56 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 15:41:01 +0200 <moonsheep> Hmm, so what would you recommend?
2022-07-11 15:41:11 +0200 <kuribas> my own library, hasqlator :)
2022-07-11 15:41:14 +0200rburkholder(~blurb@96.45.2.121)
2022-07-11 15:41:17 +0200 <kuribas> but it only works for mysql still.
2022-07-11 15:41:18 +0200 <moonsheep> I really like the record-row mapping
2022-07-11 15:41:30 +0200 <moonsheep> Ah yeah mysql is more than enough
2022-07-11 15:42:19 +0200 <kuribas> moonsheep: but don't let my library force MySQL on you though :-O
2022-07-11 15:42:21 +0200 <kuribas> mysql sucks
2022-07-11 15:42:26 +0200 <kuribas> but it's what we use...
2022-07-11 15:42:48 +0200 <moonsheep> Nah don't worry, if there's one thing I strive for that is simplicity. MySQL is simple and that I appreciate, as much as I don't love SQL in general
2022-07-11 15:43:00 +0200 <kuribas> it's also a buggy mess
2022-07-11 15:43:09 +0200 <moonsheep> Your library also doesn't marshall types right?
2022-07-11 15:43:21 +0200 <moonsheep> You have to pull stuff out of MySqlValue correct?
2022-07-11 15:43:24 +0200 <kuribas> it has a 1-1 mapping bewteen mysql and haskell types.
2022-07-11 15:44:01 +0200 <moonsheep> So I can't, say, insert a sum type into a db?
2022-07-11 15:44:06 +0200 <kuribas> https://hackage.haskell.org/package/hasqlator-mysql-0.1.0/docs/Database-MySQL-Hasqlator.html#t:Fro…
2022-07-11 15:44:21 +0200 <moonsheep> Ah so it's a bit like mongodb
2022-07-11 15:44:27 +0200 <kuribas> moonsheep: you could make a FromSQL instance.
2022-07-11 15:44:31 +0200 <moonsheep> Right
2022-07-11 15:44:55 +0200 <moonsheep> Is there also a ToSQL class?
2022-07-11 15:44:59 +0200 <kuribas> yes
2022-07-11 15:45:17 +0200 <moonsheep> Hmm, might consider it
2022-07-11 15:45:30 +0200 <moonsheep> Looks pretty good
2022-07-11 15:45:45 +0200 <kuribas> moonsheep: there are 2 levels, one typed, on untyped.
2022-07-11 15:45:57 +0200 <kuribas> typed in the sense of checking the query against the schema.
2022-07-11 15:46:23 +0200 <kuribas> There is TH to read a schema from the information schema.
2022-07-11 15:46:58 +0200 <moonsheep> I'd prefer to avoid template haskell if possible
2022-07-11 15:47:11 +0200 <kuribas> You can use the untyped version
2022-07-11 15:47:19 +0200 <kuribas> It builds queries using monoids.
2022-07-11 15:47:39 +0200 <moonsheep> Right, thanks
2022-07-11 15:50:24 +0200 <kuribas> select (User <$> textSel "user" <*> intSel "age") $ from "myTable" <> where_ ("user" =. arg "kuribas")
2022-07-11 15:54:07 +0200noteness(~noteness@user/noteness) (Remote host closed the connection)
2022-07-11 15:54:29 +0200noteness(~noteness@user/noteness)
2022-07-11 15:56:15 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 272 seconds)
2022-07-11 15:58:31 +0200acidjnk(~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de)
2022-07-11 16:02:23 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 16:02:51 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 16:04:08 +0200Arahael2(~gemadmin@114.198.31.146) (Quit: Lost terminal)
2022-07-11 16:06:17 +0200Sgeo(~Sgeo@user/sgeo)
2022-07-11 16:07:01 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 16:10:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 16:10:57 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
2022-07-11 16:11:11 +0200lbseale(~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
2022-07-11 16:11:16 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
2022-07-11 16:12:04 +0200lbseale(~quassel@user/ep1ctetus)
2022-07-11 16:12:43 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 260 seconds)
2022-07-11 16:13:05 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-07-11 16:14:16 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-11 16:18:46 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
2022-07-11 16:18:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 16:24:33 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
2022-07-11 16:24:51 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
2022-07-11 16:26:57 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
2022-07-11 16:27:21 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 16:29:56 +0200 <heath> from #haskell in the functional programming slack: is there a good package defining algebraic structures like groups, rings, fields, principal ideal domains, finite or infinite? numeric-prelude? I'm also interested in an efficient linear albegra library
2022-07-11 16:35:02 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-11 16:38:31 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection)
2022-07-11 16:39:33 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 16:40:01 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 16:40:43 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 260 seconds)
2022-07-11 16:41:51 +0200Vajb(~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Ping timeout: 272 seconds)
2022-07-11 16:42:50 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 16:42:57 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 16:45:11 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
2022-07-11 16:46:50 +0200yaroot(~yaroot@166.104.13.160.dy.iij4u.or.jp) (Ping timeout: 240 seconds)
2022-07-11 16:47:25 +0200yaroot(~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953)
2022-07-11 16:47:56 +0200dsrt^(~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Remote host closed the connection)
2022-07-11 16:50:50 +0200 <[exa]> heath: how "efficient"? as in, how it should compare with BLAS?
2022-07-11 16:58:09 +0200 <heath> forwarded that message to the original author
2022-07-11 17:03:39 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 17:03:49 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
2022-07-11 17:04:01 +0200Pickchea(~private@user/pickchea) (Ping timeout: 272 seconds)
2022-07-11 17:04:08 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 17:06:58 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 17:07:00 +0200szkl(uid110435@id-110435.uxbridge.irccloud.com)
2022-07-11 17:07:05 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 17:09:31 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
2022-07-11 17:11:06 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 17:11:13 +0200noteness(~noteness@user/noteness) (Remote host closed the connection)
2022-07-11 17:11:36 +0200noteness(~noteness@user/noteness)
2022-07-11 17:14:43 +0200vandit_(~vandit@188-143-101-77.pool.digikabel.hu) (Ping timeout: 244 seconds)
2022-07-11 17:16:17 +0200vandit_(~vandit@91-83-1-213.pool.digikabel.hu)
2022-07-11 17:23:10 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-07-11 17:25:36 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 17:27:46 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at)
2022-07-11 17:29:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 17:30:37 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-07-11 17:32:17 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-11 17:33:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection)
2022-07-11 17:37:15 +0200hpc(~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 256 seconds)
2022-07-11 17:38:22 +0200 <joel135> when talking about cps transforms, what is the difference between cbv and cbn?
2022-07-11 17:38:58 +0200hpc(~juzz@ip98-169-32-242.dc.dc.cox.net)
2022-07-11 17:41:09 +0200 <joel135> the variant i know is [K = continuation, C = computation] K(AxB) = K(A) + K(B), K(A=>B) = (C(A)=>K(B)), K(X) = (X => R), C(A) = (K(A) => R) and i have heard this is just the cbn variant
2022-07-11 17:41:48 +0200 <joel135> err, K(A=>B) = C(A) x K(B)
2022-07-11 17:42:50 +0200mrmr(~mrmr@user/mrmr) (Quit: The Lounge - https://thelounge.chat)
2022-07-11 17:43:33 +0200 <tomsmeding> joel135: what are x, + and => ?
2022-07-11 17:43:50 +0200 <tomsmeding> Product types, sum types, function types?
2022-07-11 17:43:52 +0200 <joel135> conjunction, disjunction, implication
2022-07-11 17:43:53 +0200 <joel135> yes
2022-07-11 17:44:09 +0200 <tomsmeding> Then how is K(AxB) = K(A) + K(B) at all sensible
2022-07-11 17:44:22 +0200 <tomsmeding> Oh wait I see
2022-07-11 17:44:30 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-07-11 17:44:46 +0200 <tomsmeding> What's K of a primitive type, such as Int?
2022-07-11 17:44:54 +0200 <joel135> that's the X case
2022-07-11 17:45:01 +0200 <tomsmeding> Ah
2022-07-11 17:45:43 +0200ccntrq(~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
2022-07-11 17:46:25 +0200 <joel135> (i learned this variant from https://www.mscs.dal.ca/~selinger/papers/krivine.pdf)
2022-07-11 17:47:37 +0200 <tomsmeding> The one I know is simply... C(A) = (A => R) => R, in your notation
2022-07-11 17:48:56 +0200 <tomsmeding> newtype Cont a = Cont (forall r. (a -> r) -> r)
2022-07-11 17:50:16 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.5)
2022-07-11 17:50:40 +0200 <tomsmeding> joel135: I'm not sure I'm on the mark, but I suggest transforming the term `let x = E in fst x + snd x` using your cps transform, where x : (Int, Int) and (+) is considered a primitive operation
2022-07-11 17:50:56 +0200 <tomsmeding> If I'm not mistaken, your variant will end up computing E twice
2022-07-11 17:51:18 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at) (Ping timeout: 260 seconds)
2022-07-11 17:51:19 +0200 <tomsmeding> Or, well, CPS[E]
2022-07-11 17:51:48 +0200 <tomsmeding> And if that's true, then that sounds like cbn
2022-07-11 17:52:04 +0200 <joel135> yes, i believe my variant is cbn
2022-07-11 17:52:30 +0200 <joel135> but i don't think eta : A => ((A => R) => R) is a cps transform. it doesn't "do anything" to a term of type A.
2022-07-11 17:52:42 +0200tomsmedingis always skeptical when seeing anything related to cbn, because of the lack of usefulness in implementation
2022-07-11 17:53:25 +0200 <tomsmeding> joel135: C(A) = (A => R) => R is simply the type-level transform, indeed inhabited by \x k -> k x, which is useless
2022-07-11 17:53:38 +0200 <tomsmeding> But also inhabited by a proper cps transform
2022-07-11 17:54:33 +0200 <tomsmeding> C[(t1,t2)] = \k -> C[t1] (\x -> C[t2] (\y -> k (x, y)))
2022-07-11 17:54:41 +0200 <tomsmeding> Etc. for the other term formers
2022-07-11 17:54:57 +0200 <tomsmeding> Writing C[] for the term-level transformation
2022-07-11 17:56:07 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 17:56:15 +0200 <joel135> hmm, that sounds right, thanks! will need to think about this a little
2022-07-11 17:56:34 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 17:57:13 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
2022-07-11 17:57:19 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 17:57:23 +0200 <tomsmeding> joel135: the wiki page discusses this form of cps https://en.m.wikipedia.org/wiki/Continuation-passing_style
2022-07-11 17:57:25 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 17:57:33 +0200 <tomsmeding> I don't like the scheme examples, but there's a haskell example too
2022-07-11 17:57:54 +0200 <tomsmeding> It doesn't get very formal though, but I feel like you're capable of formalising it anyway :p
2022-07-11 17:58:44 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 18:00:45 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it)
2022-07-11 18:02:24 +0200 <tomsmeding> Hot take: CBN is useful only 1. for proofs of correctness, and 2. to optimise into something that is not CBN
2022-07-11 18:03:08 +0200 <tomsmeding> Its performance (complexity?) properties are so enormously atrocious
2022-07-11 18:06:23 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 244 seconds)
2022-07-11 18:06:33 +0200vglfr(~vglfr@88.155.25.62)
2022-07-11 18:07:17 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 256 seconds)
2022-07-11 18:08:15 +0200 <dolio> Which 'N' is CBN?
2022-07-11 18:09:14 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 18:09:43 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 18:12:53 +0200sagax(~sagax_nb@user/sagax) (Remote host closed the connection)
2022-07-11 18:13:27 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-11 18:14:38 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-07-11 18:16:18 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-11 18:16:56 +0200moonsheep(~user@user/moonsheep) (ERC 5.4 (IRC client for GNU Emacs 28.1))
2022-07-11 18:18:28 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-07-11 18:21:03 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
2022-07-11 18:21:35 +0200 <joel135> name (not need)
2022-07-11 18:22:13 +0200benin0(~benin@183.82.29.162) (Quit: The Lounge - https://thelounge.chat)
2022-07-11 18:23:06 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 18:23:15 +0200kuribas(~user@silversquare.silversquare.eu) (Remote host closed the connection)
2022-07-11 18:26:58 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 18:29:41 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
2022-07-11 18:29:43 +0200mikoto-chan(~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi)
2022-07-11 18:31:32 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 18:34:31 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 18:37:19 +0200 <romes[m]> could someone running macOS try to build `primitive` in an attempt to troubleshoot https://github.com/haskell/primitive/issues/348 ? thanks
2022-07-11 18:37:23 +0200mbuf(~Shakthi@122.165.55.71) (Quit: Leaving)
2022-07-11 18:37:45 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 276 seconds)
2022-07-11 18:38:11 +0200ski(~ski@ext-1-468.eduroam.chalmers.se)
2022-07-11 18:38:52 +0200 <geekosaur> that's the same problem as edward was having yesterday. homebrew llvm is installed ahead of ld64 in $PATH, but its ld.lld doesn't understand `ld -r`
2022-07-11 18:39:22 +0200 <geekosaur> reinstall ghc bindist with ld64 first in $PATH (usually it's in /usr/bin)
2022-07-11 18:39:41 +0200 <yin> ahh, computers...
2022-07-11 18:39:51 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 18:40:29 +0200 <geekosaur> 9.2.3 has a workaround which excludes ld.lld as a valid linker, so it finds ld64 anyway
2022-07-11 18:40:41 +0200econo(uid147250@user/econo)
2022-07-11 18:42:28 +0200chele(~chele@user/chele) (Remote host closed the connection)
2022-07-11 18:47:35 +0200 <sm> romes: I just built primitive-0.7.4.0
2022-07-11 18:47:53 +0200 <sm> wait.. I have 9.2.2
2022-07-11 18:50:53 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 18:51:22 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 18:51:34 +0200sagax(~sagax_nb@user/sagax)
2022-07-11 18:52:36 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 18:52:42 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 18:55:30 +0200 <romes[m]> no, that’s alright, I can’t build with 9.2.2 either. It must be as geekosaur said. I’ll write a comment soon
2022-07-11 18:58:55 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-11 19:05:10 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-11 19:05:23 +0200MajorBiscuit(~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl) (Ping timeout: 260 seconds)
2022-07-11 19:05:41 +0200 <segfaultfizzbuzz> so... i have been trying to think about what a "code invariant" is
2022-07-11 19:06:53 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2022-07-11 19:07:03 +0200 <segfaultfizzbuzz> is there a formalization of this notion?
2022-07-11 19:07:43 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-07-11 19:08:39 +0200 <ski> .. example ?
2022-07-11 19:08:51 +0200 <geekosaur> segfaultfizzbuzz, these kinjds of questions you've been asking are better suited to #haskell-offtopic, really
2022-07-11 19:08:58 +0200 <sm> some property of the code that you can express in words, that should always be true
2022-07-11 19:10:27 +0200 <geekosaur> "you can express in words" is begging for trouble
2022-07-11 19:11:33 +0200 <geekosaur> eiffel was big on expressing code invariants as preconditions and postconditions… never caught on, though, as it usually just triplicated the function
2022-07-11 19:12:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 19:12:41 +0200 <segfaultfizzbuzz> ok i am moving to haskell-offtopic, sorry about the noise
2022-07-11 19:13:02 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 19:13:58 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 19:14:09 +0200 <ski> Dafny is checking pre- and post-conditions (and loop invariants and variants (termination metrics)), Hoare logic/triples style, <https://en.wikipedia.org/wiki/Dafny>
2022-07-11 19:14:40 +0200 <segfaultfizzbuzz> ski: this is interesting thanks, i will look
2022-07-11 19:17:47 +0200 <Haskelytic> :t (fmap . fmap) sum
2022-07-11 19:17:48 +0200 <lambdabot> (Functor f1, Functor f2, Foldable t, Num b) => f1 (f2 (t b)) -> f1 (f2 b)
2022-07-11 19:17:52 +0200 <Haskelytic> :t (fmap . fmap) sum Just
2022-07-11 19:17:53 +0200 <lambdabot> (Foldable t, Num b) => t b -> Maybe b
2022-07-11 19:18:10 +0200 <Haskelytic> I have no idea what's happening here
2022-07-11 19:18:20 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 19:18:40 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection)
2022-07-11 19:18:55 +0200 <Haskelytic> how can `(fmap . fmap) sum` be applied to `Just`
2022-07-11 19:19:51 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 19:20:33 +0200vandit_(~vandit@91-83-1-213.pool.digikabel.hu) (Ping timeout: 260 seconds)
2022-07-11 19:20:49 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 19:20:55 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 19:21:59 +0200vandit_(~vandit@94-21-82-63.pool.digikabel.hu)
2022-07-11 19:22:11 +0200 <ski> Haskelytic : the instance in question is `Functor (rho ->)'
2022-07-11 19:23:03 +0200 <ski> we have say `Just :: a -> Maybe a', okay ?
2022-07-11 19:23:21 +0200vandit_(~vandit@94-21-82-63.pool.digikabel.hu) (Killed (NickServ (GHOST command used by vapid2!~user@h130-35.pool77-110.cgn.tolna.net)))
2022-07-11 19:23:37 +0200 <Haskelytic> ski: I can't seem to match up the top-level functor here
2022-07-11 19:23:42 +0200 <Haskelytic> ohh....
2022-07-11 19:23:52 +0200 <Haskelytic> hold on i got it haha
2022-07-11 19:23:56 +0200 <ski> Just :: (a ->) (Maybe a)
2022-07-11 19:25:10 +0200 <ski> `f1' in `fmap . fmap :: (Functor f1,Functor f2) => (t -> u) -> (f1 (f2 t) -> f1 (f2 u))' becomes `(a ->)', and `f2' becomes `Maybe'
2022-07-11 19:28:19 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 19:29:15 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 19:32:55 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Remote host closed the connection)
2022-07-11 19:33:29 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2022-07-11 19:33:59 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-11 19:34:34 +0200 <Haskelytic> ski:
2022-07-11 19:34:43 +0200 <Haskelytic> thanks! makes sense now
2022-07-11 19:35:58 +0200m1dnight(~christoph@78-22-0-121.access.telenet.be) (Ping timeout: 240 seconds)
2022-07-11 19:36:11 +0200dextaa(~DV@user/dextaa)
2022-07-11 19:36:57 +0200 <ski> i'd probably write `fmap sum . Just' instead
2022-07-11 19:37:23 +0200 <ski> (note that in the `Functor (rho ->)' instance, we have `fmap = (.)')
2022-07-11 19:37:25 +0200m1dnight(~christoph@78-22-0-121.access.telenet.be)
2022-07-11 19:38:01 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2022-07-11 19:38:08 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 19:38:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
2022-07-11 19:40:16 +0200dextaa(~DV@user/dextaa)
2022-07-11 19:41:39 +0200Haskelytic(~Haskelyti@118.179.211.17) (Quit: Client closed)
2022-07-11 19:42:30 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 240 seconds)
2022-07-11 19:42:38 +0200remexre(~remexre@user/remexre) (Ping timeout: 255 seconds)
2022-07-11 19:43:25 +0200Haskelytic(~Haskelyti@118.179.211.17)
2022-07-11 19:44:31 +0200coot(~coot@213.134.190.95)
2022-07-11 19:44:38 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-07-11 19:46:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 19:48:15 +0200remexre(~remexre@user/remexre)
2022-07-11 19:54:49 +0200Raito_Bezarius(~Raito@wireguard/tunneler/raito-bezarius)
2022-07-11 19:59:26 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
2022-07-11 20:00:49 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 20:01:17 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-11 20:05:28 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-07-11 20:08:36 +0200jgeerds(~jgeerds@55d437cf.access.ecotel.net)
2022-07-11 20:10:23 +0200Pickchea(~private@user/pickchea)
2022-07-11 20:11:19 +0200Topsi(~Topsi@37.84.153.102)
2022-07-11 20:12:28 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
2022-07-11 20:12:43 +0200mcglk(~mcglk@131.191.49.120)
2022-07-11 20:15:55 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 272 seconds)
2022-07-11 20:16:33 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 276 seconds)
2022-07-11 20:20:10 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2022-07-11 20:21:31 +0200cosimone(~user@93-44-186-171.ip98.fastwebnet.it)
2022-07-11 20:21:50 +0200 <carbolymer> what was ghci option `-W` doing?
2022-07-11 20:21:55 +0200 <carbolymer> I forgot why I have it there
2022-07-11 20:22:00 +0200 <carbolymer> and why `it` is unassigned :|
2022-07-11 20:22:28 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 20:23:03 +0200 <geekosaur> -W turns on a base set of warnings iirc? and look for -fno-it somewhere (maybe a ~/.ghci or project specific .ghci)
2022-07-11 20:23:16 +0200 <carbolymer> thx
2022-07-11 20:23:20 +0200 <int-e> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using-warnings.html#ghc-flag--W
2022-07-11 20:23:28 +0200 <carbolymer> oh it's from GHC
2022-07-11 20:23:44 +0200 <geekosaur> assigning to `it` changes some type inference, although not usually noticeably
2022-07-11 20:23:49 +0200 <int-e> ghci is basically ghc except it defaults to --interactive
2022-07-11 20:24:08 +0200Pickchea(~private@user/pickchea) (Ping timeout: 260 seconds)
2022-07-11 20:28:46 +0200AndrewHaxCPU
2022-07-11 20:30:10 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 20:33:03 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 20:33:04 +0200gurkenglas(~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
2022-07-11 20:34:23 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at)
2022-07-11 20:34:50 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 20:43:32 +0200coot(~coot@213.134.190.95)
2022-07-11 20:46:08 +0200Guest45(~Guest45@bras-base-okvlon5405w-grc-53-70-30-46-127.dsl.bell.ca)
2022-07-11 20:49:48 +0200dschrempf(~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
2022-07-11 20:53:10 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
2022-07-11 20:53:34 +0200motherfsck(~motherfsc@user/motherfsck)
2022-07-11 20:54:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 21:02:37 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 21:07:09 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 21:07:12 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 21:10:48 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
2022-07-11 21:17:56 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:e44b:517c:8b93:d71d)
2022-07-11 21:23:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 21:24:48 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:e44b:517c:8b93:d71d) (Ping timeout: 276 seconds)
2022-07-11 21:27:33 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:68e4:4ca8:a63:19fd)
2022-07-11 21:31:51 +0200Vajb(~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
2022-07-11 21:35:07 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 21:35:54 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 21:37:45 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
2022-07-11 21:37:47 +0200nek0(~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat)
2022-07-11 21:40:32 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 21:41:49 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 21:42:29 +0200Haskelytic(~Haskelyti@118.179.211.17) (Quit: Client closed)
2022-07-11 21:43:11 +0200kenran(~kenran@200116b82b139d005625d042cb0248e6.dip.versatel-1u1.de)
2022-07-11 21:43:15 +0200kenran(~kenran@200116b82b139d005625d042cb0248e6.dip.versatel-1u1.de) (Client Quit)
2022-07-11 21:47:20 +0200mikoto-chan(~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi) (Ping timeout: 255 seconds)
2022-07-11 21:48:08 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 260 seconds)
2022-07-11 21:48:16 +0200elkcl(~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
2022-07-11 21:49:59 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:68e4:4ca8:a63:19fd) (Remote host closed the connection)
2022-07-11 21:50:23 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:4e3c:ad56:fffa:225d)
2022-07-11 21:53:19 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net)
2022-07-11 21:54:42 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds)
2022-07-11 21:56:26 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 21:57:43 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2022-07-11 21:58:39 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 21:58:56 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 22:03:40 +0200Pickchea(~private@user/pickchea)
2022-07-11 22:04:35 +0200`2jt(~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
2022-07-11 22:04:42 +0200pavonia(~user@user/siracusa)
2022-07-11 22:06:14 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
2022-07-11 22:09:40 +0200quintasan(~quassel@quintasan.pl) ()
2022-07-11 22:09:50 +0200quintasan(~quassel@quintasan.pl)
2022-07-11 22:10:57 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 22:17:16 +0200coot(~coot@213.134.190.95) (Quit: coot)
2022-07-11 22:21:30 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
2022-07-11 22:22:39 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:4e3c:ad56:fffa:225d) (Ping timeout: 276 seconds)
2022-07-11 22:23:46 +0200monaaraj(~MonAaraj@user/mon-aaraj/x-4416475)
2022-07-11 22:23:51 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 22:23:58 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 22:24:05 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 22:24:57 +0200Guest41(~Guest41@ool-18bd55d4.dyn.optonline.net)
2022-07-11 22:25:10 +0200Guest41(~Guest41@ool-18bd55d4.dyn.optonline.net) (Client Quit)
2022-07-11 22:25:31 +0200segfaultfizzbuzz(~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
2022-07-11 22:26:23 +0200seriously(~seriously@ool-18bd55d4.dyn.optonline.net)
2022-07-11 22:26:43 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2022-07-11 22:31:20 +0200 <seriously> hey... im struggling with a hw problem in CIS194... Local maxima. "A local maximum of a list is an element of the list which is strictly
2022-07-11 22:31:21 +0200 <seriously> greater than both the elements immediately before and after it." I need to define a function that finds all the local maxima in a list.
2022-07-11 22:31:32 +0200notzmv(~zmv@user/notzmv)
2022-07-11 22:31:49 +0200 <seriously> "localMaxima :: [Integer] -> [Integer]
2022-07-11 22:32:51 +0200 <Rembane> seriously: How far have you got?
2022-07-11 22:33:15 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2022-07-11 22:33:25 +0200 <monochrom> Suppose you want to find the local maxima of [a,b,c,d,e,f,g,h,i,j].
2022-07-11 22:33:28 +0200 <seriously> my functional intuition is telling me i can use "filter" in combination with pattern matching to filter these local maximas into a new list
2022-07-11 22:34:03 +0200 <monochrom> 1. Can you also obtain these lists: [b,c,d,e,f,g,h,i,j], [c,d,e,f,g,h,i,j]
2022-07-11 22:34:06 +0200 <geekosaur> but filter only examines individual list elements. you need comparisons to their neighbors
2022-07-11 22:34:17 +0200matthewmosior(~matthewmo@173.170.253.91) (Remote host closed the connection)
2022-07-11 22:34:28 +0200 <seriously> so like filter (\(x:y:z-> ....) xs
2022-07-11 22:34:45 +0200 <monochrom> 2. Can you then obtain [(a,b,c), (b,c,d), (c,d,e), (d,e,f), (e,f,g), (f,g,h), (g,h,i), (h,i,j)]
2022-07-11 22:34:46 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 22:34:56 +0200 <monochrom> 3. Can you now use filter on that?
2022-07-11 22:34:56 +0200 <seriously> right..."individual elements"
2022-07-11 22:35:06 +0200 <geekosaur> filter isn't that smart. you can't just declare more elements in its predicate parameter to get more list elements
2022-07-11 22:35:11 +0200 <monochrom> And now I'm afk.
2022-07-11 22:35:14 +0200 <int-e> or maybe work on suffixes (aka tails)
2022-07-11 22:35:49 +0200 <seriously> one sec reading through the suggestions
2022-07-11 22:38:13 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-11 22:39:10 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
2022-07-11 22:39:41 +0200 <seriously> before I try and figure out your suggestion monochrom, I did have one more intuition that I wanted
2022-07-11 22:39:49 +0200 <seriously> to throw out there
2022-07-11 22:41:46 +0200 <seriously> What if i "zip" against the input list, marking the local maximas with 1.... so [(0,2), (1,5), (0,3)], and then filter on that?
2022-07-11 22:43:04 +0200 <geekosaur> you seem to be trying to reach toward monochrom's suggestion. now you should go back and read it
2022-07-11 22:43:04 +0200 <Rembane> seriously: Don't you lack one item in the tuples?
2022-07-11 22:44:18 +0200brettgilio(~brettgili@c9yh.net) (Remote host closed the connection)
2022-07-11 22:46:18 +0200brettgilio(~brettgili@c9yh.net)
2022-07-11 22:47:17 +0200 <EvanR> functional programming solutions, an exercise in setting something up that is easily knocked down xD
2022-07-11 22:48:01 +0200 <Rembane> Yeah. unfold, fold, C-O-M-B-O!
2022-07-11 22:49:37 +0200 <seriously> Rembane say this is the input [1,18,5,9,2,3,2,1], what if i could zip it into [(0, 1), (1,18... . I think the issue there is again im thinking i can zip or zipWith using neighboring elements in the function logic
2022-07-11 22:49:52 +0200 <EvanR> my hammers are map, filter, and fold. So gotta convert the problem into one or more kind of nails xD
2022-07-11 22:50:11 +0200 <geekosaur> the problem, as Rembane is trying to highlight, is you need the elements before *and* after a given element. threes, not twos
2022-07-11 22:50:22 +0200 <geekosaur> see also monochrom's suggestion
2022-07-11 22:51:38 +0200phma(~phma@host-67-44-209-41.hnremote.net) (Read error: Connection reset by peer)
2022-07-11 22:52:51 +0200phma(phma@2001:5b0:215d:e008:5054:f1a6:ecb8:df53)
2022-07-11 22:53:25 +0200 <seriously> ok im following... So using pattern matching in combination with recursion to achieve a sliding window
2022-07-11 22:53:37 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:b231:296e:3336:4e6e)
2022-07-11 22:54:04 +0200 <Rembane> seriously: That's another solution, code that one! :)
2022-07-11 22:54:09 +0200 <EvanR> recursion is cool, but also cool is using a canned function that does the sort of recursion you want
2022-07-11 22:54:32 +0200 <EvanR> looks like no one mentioned the one monochrom was talking about by name
2022-07-11 22:54:36 +0200 <ski> is `localMaxima [a]' the empty list ?
2022-07-11 22:54:38 +0200vglfr(~vglfr@88.155.25.62) (Ping timeout: 260 seconds)
2022-07-11 22:54:46 +0200 <Rembane> EvanR: You're just trying to use your hammer. :D
2022-07-11 22:55:43 +0200 <EvanR> you can use a can as a hammer in a pinch (been playing a lot of project zomboid)
2022-07-11 22:56:41 +0200 <Rembane> And a stone!
2022-07-11 22:59:27 +0200vglfr(~vglfr@88.155.25.62)
2022-07-11 23:07:28 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-07-11 23:08:48 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 23:09:27 +0200chomwitt(~chomwitt@2a02:587:dc0d:4a00:b231:296e:3336:4e6e) (Ping timeout: 276 seconds)
2022-07-11 23:13:18 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
2022-07-11 23:18:59 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
2022-07-11 23:20:51 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2022-07-11 23:23:48 +0200merijn(~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
2022-07-11 23:24:30 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
2022-07-11 23:30:48 +0200 <seriously> still here gents... heres what i have so far:
2022-07-11 23:30:58 +0200 <seriously> localMaxima :: [Integer] -> [Integer]
2022-07-11 23:30:59 +0200 <seriously>  localMaxima [] = []
2022-07-11 23:30:59 +0200 <seriously>  localMaxima lst@(x:y:z:xs)
2022-07-11 23:31:00 +0200 <seriously>    | length lst < 3 = []
2022-07-11 23:31:00 +0200 <seriously>    | otherwise =
2022-07-11 23:31:01 +0200 <seriously>        snd (unzip (filter (\(x,y,z) -> y > x && y > z) (x,y,z):(func y:z:xs)))
2022-07-11 23:31:36 +0200 <seriously> how can i define a function within a "where" block?
2022-07-11 23:32:18 +0200fockerize(~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5)
2022-07-11 23:32:40 +0200 <seriously> can
2022-07-11 23:32:51 +0200 <Rembane> seriously: f x = g x where g y = y * 2
2022-07-11 23:33:11 +0200 <Rembane> seriously: Indentation is important though
2022-07-11 23:33:24 +0200 <seriously> ok thx
2022-07-11 23:33:31 +0200 <EvanR> where can attach to any equation
2022-07-11 23:33:43 +0200yauhsien_(~yauhsien@61-231-21-122.dynamic-ip.hinet.net)
2022-07-11 23:35:29 +0200yauhsien(~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 244 seconds)
2022-07-11 23:36:34 +0200waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-07-11 23:37:42 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2022-07-11 23:41:09 +0200matthewmosior(~matthewmo@173.170.253.91)
2022-07-11 23:41:10 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-07-11 23:42:23 +0200acidjnk(~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2022-07-11 23:43:27 +0200Topsi(~Topsi@37.84.153.102) (Read error: Connection reset by peer)
2022-07-11 23:44:10 +0200belphegor666(~satan@ip-046-223-002-238.um13.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2022-07-11 23:45:38 +0200matthewmosior(~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
2022-07-11 23:47:35 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-07-11 23:52:16 +0200mmhat(~mmh@p200300f1c7090723ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5)
2022-07-11 23:52:54 +0200kaskal-kaskal
2022-07-11 23:54:10 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds)
2022-07-11 23:55:05 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-07-11 23:57:35 +0200machinedgod(~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 272 seconds)
2022-07-11 23:59:19 +0200nate4(~nate@98.45.169.16)