Home liberachat/#haskell: Logs Calendar

Logs on 2022-07-11 (liberachat/#haskell)

00:02:57 king_gs joins (~Thunderbi@187.201.38.129)
00:03:37 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f) (Remote host closed the connection)
00:06:25 × jgeerds quits (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 260 seconds)
00:17:59 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f)
00:27:57 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 276 seconds)
00:31:12 pgas joins (~pg@190.247.245.154)
00:36:23 × alp quits (~alp@user/alp) (Ping timeout: 244 seconds)
00:38:02 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.5)
00:42:35 × king_gs quits (~Thunderbi@187.201.38.129) (Read error: Connection reset by peer)
00:43:46 king_gs joins (~Thunderbi@2806:103e:29:5946:ae8b:1218:3255:d41d)
00:51:39 × tdammers quits (~tdammers@77.109.72.118.res.static.edpnet.net) (Ping timeout: 276 seconds)
00:52:55 tdammers joins (~tdammers@77.109.72.118.res.static.edpnet.net)
01:06:18 × xff0x quits (~xff0x@b133147.ppp.asahi-net.or.jp) (Ping timeout: 240 seconds)
01:10:33 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:15 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
01:16:41 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:27:02 × tomgus1 quits (~tomgus1@97e50351.skybroadband.com) (Quit: ZNC 1.8.2+deb2 - https://znc.in)
01:28:30 tomgus1 joins (~tomgus1@97e50351.skybroadband.com)
01:34:46 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 244 seconds)
01:38:46 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
01:39:56 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds)
01:43:36 × Me-me quits (~me-me@v.working.name) (Changing host)
01:43:36 Me-me joins (~me-me@user/me-me)
01:45:15 × pgas quits (~pg@190.247.245.154) (Quit: Leaving)
01:47:13 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
01:52:26 <edwardk> egraphs are really annoying to represent in haskell, that is all
01:54:20 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
01:54:21 mvk joins (~mvk@2607:fea8:5ce3:8500::909a)
01:55:01 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 256 seconds)
01:55:03 × maroloccio quits (~marolocci@151.53.133.54) (Ping timeout: 276 seconds)
01:55:17 king_gs1 joins (~Thunderbi@187.201.38.129)
01:55:57 × king_gs quits (~Thunderbi@2806:103e:29:5946:ae8b:1218:3255:d41d) (Ping timeout: 244 seconds)
01:55:57 king_gs1 is now known as king_gs
01:56:15 maroloccio joins (~marolocci@37.100.9.74)
01:58:47 × maroloccio quits (~marolocci@37.100.9.74) (Client Quit)
01:59:09 × jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
01:59:31 jpds1 joins (~jpds@gateway/tor-sasl/jpds)
02:04:00 × lemonsni- quits (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
02:06:50 dsrt^ joins (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
02:07:50 opow joins (~igloo@c-68-32-52-58.hsd1.mi.comcast.net)
02:07:56 × opow quits (~igloo@c-68-32-52-58.hsd1.mi.comcast.net) (Max SendQ exceeded)
02:09:13 edinwood joins (~edinwood@213.205.241.124)
02:14:51 <Axman6> "egraph" makes me think of the cheese edam
02:16:54 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 264 seconds)
02:19:13 notzmv joins (~zmv@user/notzmv)
02:20:14 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 244 seconds)
02:20:49 lemonsnicks joins (~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
02:29:30 × td_ quits (~td@muedsl-82-207-238-125.citykom.de) (Ping timeout: 240 seconds)
02:31:32 td_ joins (~td@muedsl-82-207-238-180.citykom.de)
02:35:54 <edwardk> thinking it might be easiest to use something like my old 'rcu' library here to handle the egraph rebuilds
02:36:37 <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
02:36:50 <edwardk> so rcu is a bit 'heavy'
02:37:21 <Axman6> I'm sensing a new LambdaJam talk in the works
02:37:44 <edwardk> let me solve it before i start planning talks ;)
02:38:17 <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
02:38:31 <edwardk> if you haven't played with or seen egg yet
02:38:48 <Axman6> BEst I can do is scrambles eggs, sorry
02:39:02 × jao quits (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
02:39:08 <edwardk> scramble, bad egg, sulphur, brimstone, hell. all the names write themselves =P
02:39:18 <Axman6> scrambled even
02:39:23 <Axman6> ha
02:40:19 <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
02:40:33 <edwardk> and now i want to pin a sherrif's badge on it
02:41:21 <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
02:41:25 × Kevin578 quits (~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 244 seconds)
02:42:38 Kevin578 joins (~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net)
02:43:06 × terrorjack quits (~terrorjac@2a01:4f8:1c1e:509a::1) (Quit: The Lounge - https://thelounge.chat)
02:44:19 terrorjack joins (~terrorjac@2a01:4f8:1c1e:509a::1)
02:45:47 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:45:47 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:45:47 finn_elija is now known as FinnElija
02:47:35 × king_gs quits (~Thunderbi@187.201.38.129) (Quit: king_gs)
02:50:33 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 256 seconds)
02:52:16 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
02:53:46 × toluene quits (~toluene@user/toulene) (Read error: Connection reset by peer)
02:53:49 × jpds1 quits (~jpds@gateway/tor-sasl/jpds) (Ping timeout: 268 seconds)
02:54:32 toluene joins (~toluene@user/toulene)
02:58:50 jpds1 joins (~jpds@gateway/tor-sasl/jpds)
02:59:20 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
03:00:00 × Taneb quits (~Taneb@runciman.hacksoc.org) (Quit: I seem to have stopped.)
03:01:13 Taneb joins (~Taneb@runciman.hacksoc.org)
03:05:34 × edinwood quits (~edinwood@213.205.241.124) (Remote host closed the connection)
03:06:58 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
03:07:39 <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
03:07:46 <edwardk> er old
03:11:50 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
03:23:09 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
03:40:21 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 276 seconds)
03:44:58 × mvk quits (~mvk@2607:fea8:5ce3:8500::909a) (Ping timeout: 244 seconds)
03:47:30 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
03:48:12 dsrt^ joins (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
03:49:45 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
04:04:50 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
04:07:04 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
04:15:50 frost joins (~frost@user/frost)
04:28:55 kenran joins (~kenran@200116b82b139d00794db14e87015f86.dip.versatel-1u1.de)
04:33:35 × toluene quits (~toluene@user/toulene) (Quit: Ping timeout (120 seconds))
04:33:49 matthewmosior joins (~matthewmo@173.170.253.91)
04:33:49 <matthewmosior> Hi
04:34:31 <matthewmosior> Not sure how this works, but I think I am not in the #haskell irc.libera server hopefully?
04:34:39 <matthewmosior> Not sure how this works, but I think I am now in the #haskell irc.libera server hopefully?
04:34:54 <Axman6> you're in the #haskell channel on Libera, yes
04:35:01 <matthewmosior> Ah okay super cool!
04:35:06 × kenran quits (~kenran@200116b82b139d00794db14e87015f86.dip.versatel-1u1.de) (Quit: WeeChat info:version)
04:35:06 <Axman6> Welcome
04:35:07 <matthewmosior> Really excited to be here!
04:35:08 toluene joins (~toluene@user/toulene)
04:35:09 <matthewmosior> Thank you!
04:37:40 <jackdk> Welcome
04:40:26 <matthewmosior> :)
04:47:17 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 256 seconds)
04:51:11 dsrt^ joins (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
04:52:39 defanor_ is now known as defanor
05:01:36 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 276 seconds)
05:01:41 × _________ quits (~nobody@user/noodly) (Quit: Reconnecting)
05:02:00 _________ joins (~nobody@user/noodly)
05:02:02 <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
05:03:40 jargon joins (~jargon@184.101.188.251)
05:03:41 <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")
05:03:46 <jackdk> @where paste
05:03:47 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
05:08:13 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
05:08:50 × vglfr quits (~vglfr@coupling.penchant.volia.net) (Ping timeout: 240 seconds)
05:09:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
05:09:50 matthewmosior joins (~matthewmo@173.170.253.91)
05:11:50 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 240 seconds)
05:13:57 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
05:18:08 matthewmosior joins (~matthewmo@173.170.253.91)
05:20:46 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:22:37 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
05:30:05 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
05:32:07 `2jt joins (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net)
05:36:26 matthewmosior joins (~matthewmo@173.170.253.91)
05:37:51 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
05:41:03 mikoto-chan joins (~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi)
05:41:54 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
06:04:49 acidjnk joins (~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de)
06:07:30 × mikoto-chan quits (~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi) (Ping timeout: 260 seconds)
06:08:24 × tolt quits (~weechat-h@li219-154.members.linode.com) (*.net *.split)
06:08:24 × red-snail quits (~snail@static.151.210.203.116.clients.your-server.de) (*.net *.split)
06:08:24 × lambdap23 quits (~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split)
06:08:24 × wagle quits (~wagle@quassel.wagle.io) (*.net *.split)
06:08:24 × leah2 quits (~leah@vuxu.org) (*.net *.split)
06:08:24 × cods quits (~fred@82-65-232-44.subs.proxad.net) (*.net *.split)
06:08:24 × tristanC quits (~tristanC@user/tristanc) (*.net *.split)
06:08:24 × lambdabot quits (~lambdabot@haskell/bot/lambdabot) (*.net *.split)
06:08:24 × noctux quits (~noctux@user/noctux) (*.net *.split)
06:08:24 × hyiltiz quits (~quassel@31.220.5.250) (*.net *.split)
06:08:24 × macabre quits (~m@161.35.15.236) (*.net *.split)
06:08:24 × triteraflops quits (~triterafl@user/triteraflops) (*.net *.split)
06:08:24 × polux quits (~polux@51-15-169-172.rev.poneytelecom.eu) (*.net *.split)
06:08:24 × wrengr quits (~wrengr@249.189.233.35.bc.googleusercontent.com) (*.net *.split)
06:08:24 × caubert quits (~caubert@user/caubert) (*.net *.split)
06:08:24 × x88x88x quits (~x88x88x@149.28.53.172) (*.net *.split)
06:08:24 × dwt_ quits (~dwt_@c-98-198-103-176.hsd1.tx.comcast.net) (*.net *.split)
06:08:24 × jamestmartin quits (~james@jtmar.me) (*.net *.split)
06:08:24 × loonycyborg_ quits (~loonycybo@chantal.wesnoth.org) (*.net *.split)
06:08:24 × haskl quits (~haskl@user/haskl) (*.net *.split)
06:08:24 × Aleksejs quits (~Aleksejs@107.170.21.106) (*.net *.split)
06:08:34 noctux joins (~noctux@user/noctux)
06:08:36 jamestmartin joins (~james@jtmar.me)
06:08:37 triteraflops joins (~triterafl@user/triteraflops)
06:08:37 lambdabot joins (~lambdabot@silicon.int-e.eu)
06:08:37 cods joins (~fred@82-65-232-44.subs.proxad.net)
06:08:38 wagle joins (~wagle@quassel.wagle.io)
06:08:38 lambdap23 joins (~lambdap@static.167.190.119.168.clients.your-server.de)
06:08:46 hyiltiz joins (~quassel@31.220.5.250)
06:08:53 × lambdabot quits (~lambdabot@silicon.int-e.eu) (Changing host)
06:08:53 lambdabot joins (~lambdabot@haskell/bot/lambdabot)
06:08:56 caubert joins (~caubert@136.244.111.235)
06:08:56 polux joins (~polux@51-15-169-172.rev.poneytelecom.eu)
06:08:58 leah2 joins (~leah@vuxu.org)
06:09:00 loonycyborg joins (loonycybor@wesnoth/developer/loonycyborg)
06:09:05 tolt joins (~weechat-h@li219-154.members.linode.com)
06:09:14 macabre joins (~m@161.35.15.236)
06:09:18 × caubert quits (~caubert@136.244.111.235) (Signing in (caubert))
06:09:18 caubert joins (~caubert@user/caubert)
06:09:41 red-snail joins (~snail@static.151.210.203.116.clients.your-server.de)
06:09:46 haskl joins (~haskl@user/haskl)
06:09:48 Aleksejs joins (~Aleksejs@107.170.21.106)
06:10:44 dwt_ joins (~dwt_@c-98-198-103-176.hsd1.tx.comcast.net)
06:11:59 × ircbrowse_tom quits (~ircbrowse@2a01:4f8:1c1c:9319::1) (ZNC 1.7.5+deb4 - https://znc.in)
06:13:35 ircbrowse_tom joins (~ircbrowse@2a01:4f8:1c1c:9319::1)
06:13:35 Server sets mode +Cnt
06:13:39 remedan joins (~remedan@octo.cafe)
06:13:44 burakcank joins (~burakcank@has.arrived.and.is.ready-to.party)
06:13:47 tristanC joins (~tristanC@user/tristanc)
06:13:47 dragestil joins (~znc@user/dragestil)
06:13:51 wrengr joins (~wrengr@249.189.233.35.bc.googleusercontent.com)
06:13:57 PHO` joins (~pho@akari.cielonegro.org)
06:14:05 hololeap joins (~quassel@user/hololeap)
06:14:06 stvc joins (~stvc@192.241.166.39)
06:14:07 gabriel_1 joins (~gabriel@188-167-229-200.dynamic.chello.sk)
06:14:24 Yumemi joins (~Yumemi@chamoin.net)
06:14:50 RMSBach joins (~guygastin@137.184.131.156)
06:17:22 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
06:19:26 kmein joins (~weechat@user/kmein)
06:21:47 × nisstyre quits (wes@2600:3c00::f03c:91ff:fe69:7f3d) (Changing host)
06:21:47 nisstyre joins (wes@user/nisstyre)
06:22:12 × mstksg quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 276 seconds)
06:22:32 mbuf joins (~Shakthi@122.165.55.71)
06:23:50 mstksg joins (~jle`@cpe-23-240-75-236.socal.res.rr.com)
06:30:59 × alexhandy quits (~trace@user/trace) (Read error: Connection reset by peer)
06:31:11 alexhandy joins (~trace@user/trace)
06:37:39 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
06:38:17 christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
06:38:41 jese joins (~nikola@79-101-208-134.dynamic.isp.telekom.rs)
06:44:14 jakalx joins (~jakalx@base.jakalx.net)
06:50:09 matthewmosior joins (~matthewmo@173.170.253.91)
06:52:06 fockerize joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
06:53:21 × johnw_ quits (~johnw@2600:1700:cf00:db0:643e:99a6:aa43:f921) (Quit: ZNC - http://znc.in)
06:55:36 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
06:56:23 johnw joins (~johnw@2600:1700:cf00:db0:405e:10f2:10b5:9731)
06:58:46 cfricke joins (~cfricke@user/cfricke)
06:59:52 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:05:42 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
07:08:57 × Kevin578 quits (~Kevin578@pool-173-76-179-30.bstnma.fios.verizon.net) (Ping timeout: 256 seconds)
07:14:39 alp joins (~alp@user/alp)
07:18:06 <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?
07:22:59 benin0 joins (~benin@183.82.29.162)
07:24:22 matthewmosior joins (~matthewmo@173.170.253.91)
07:28:05 <sm> one gotcha is that it doesn't list packages providing only executables
07:28:50 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
07:29:15 <sm> but there are many more. You may need to stick "cabal exec --" or "stack exec --" in front of that command
07:29:35 <jese> sm: i have libraries too
07:29:59 vglfr joins (~vglfr@88.155.13.182)
07:32:10 × leah2 quits (~leah@vuxu.org) (Quit: trotz alledem!)
07:32:18 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
07:32:20 leah2 joins (~leah@vuxu.org)
07:34:05 <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 )
07:35:34 <jese> sm: `cabal exec -- cabal info ...` says there are no files matching ./*.cabal. i'm not sure how to interpret that.
07:36:47 <int-e> I'm not sure what `cabal exec` does in a v2 command context; it used to deal with sandboxes
07:37:06 <sm> jese, more info needed: where are you running these commands ?
07:37:11 <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
07:37:11 <int-e> which are a v1 command thing (and something I'm still fond of)
07:37:43 jgeerds joins (~jgeerds@55d437cf.access.ecotel.net)
07:38:00 <jese> sm: in my ~, there is are no *.cabal files there.
07:38:13 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
07:38:28 <sm> ok. I had better let the cabal users help you out
07:39:02 <sm> when you ran install, maybe it printed the install path ?
07:40:03 × vglfr quits (~vglfr@88.155.13.182) (Ping timeout: 272 seconds)
07:41:49 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
07:42:12 <jese> sm: i don't remember, but everything is in ~/.cabal/store/ghc-9.0.2/
07:42:32 <int-e> jese: note the literal ~; you need to expand ~ yourself: "$HOME"
07:42:44 fserucas joins (~fserucas@12.64.114.89.rev.vodafone.pt)
07:42:54 × fserucas quits (~fserucas@12.64.114.89.rev.vodafone.pt) (Client Quit)
07:43:09 <jese> static libs, dynamic libs, executables, of each package in its corresponding subdirectory
07:43:12 fserucas joins (~fserucas@12.64.114.89.rev.vodafone.pt)
07:43:17 <sm> really ?
07:43:37 <jese> int-e: wdym?
07:43:39 <int-e> oh, or drop the = in favor of a space
07:43:57 <int-e> jese: your shell didn't expand ~ to your home directory
07:44:19 <int-e> (mine didn't either when I just tried) cabal-install won't do that for you either.
07:44:28 <jese> oh yeah thanks
07:44:33 <jese> it shows packages now
07:44:40 <sm> good to know.. --package-db should do that for you
07:45:43 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
07:45:44 <int-e> that's not how unix deals with that though
07:46:01 <int-e> anyway, right or wrong, it's a pitfall
07:47:00 gmg joins (~user@user/gehmehgeh)
07:47:29 <jese> can i get this to be default behavior?
07:51:04 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
07:51:44 sm would have expected cabal exec -- ghc-pkg list to work
07:51:58 <int-e> exec was only for sandboxes
07:52:47 <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.
07:53:21 <Axman6> I feel like I definitely understood the model of sandboxes more than the V2 stuff
07:53:26 <sm> I'm starting to think cabal will never reach stack's consistency
07:53:42 mmhat joins (~mmh@p200300f1c7090730ee086bfffe095315.dip0.t-ipconnect.de)
07:58:15 matthewmosior joins (~matthewmo@173.170.253.91)
07:59:14 kuribas joins (~user@silversquare.silversquare.eu)
08:00:51 <kuribas> Man, loose type variables are such a pain ...
08:00:58 × jgeerds quits (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 240 seconds)
08:02:47 <Axman6> Loose types sink shypes
08:04:03 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
08:06:25 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
08:06:51 Batzy joins (~quassel@user/batzy)
08:09:12 <kuribas> How often do you get errors about "kinds don't match"...
08:11:00 <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.
08:14:31 <chreekat> maybe https://cabal.readthedocs.io/en/3.6/cabal-package.html?highlight=build-dep#custom-setup-scripts ?
08:18:44 <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
08:18:58 × johnw quits (~johnw@2600:1700:cf00:db0:405e:10f2:10b5:9731) (Quit: ZNC - http://znc.in)
08:19:16 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:4df7:4e2c:3ff5:237f) (Remote host closed the connection)
08:19:20 <int-e> merijn: v2 is way messier
08:19:30 <merijn> int-e: Messier in what sense?
08:19:36 <int-e> I want sandbox delete
08:19:39 <jese> chreekat: already doing that
08:19:53 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:19:55 <merijn> int-e: There's already some prototype "gc" commands around
08:20:07 <merijn> int-e: The tricky part is defining what's a GC root
08:20:09 <int-e> v2 doesn't have that by default, and making it work with separate stores is really inconvenient.
08:20:16 <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)
08:20:44 <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
08:20:59 <int-e> yes, my partitions tend to be 95% full
08:21:03 <int-e> disk space is an issue here
08:23:48 × Batzy quits (~quassel@user/batzy) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
08:25:36 <int-e> maybe hsenv is a solution for me. will see once I really have to abandon sandboxes
08:26:14 <int-e> it may also be completely bitrotted
08:26:21 Batzy joins (~quassel@user/batzy)
08:26:32 <int-e> (2014... yeah it probably is :-/)
08:27:48 <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
08:29:15 <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
08:29:42 ccntrq joins (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
08:31:14 ubert joins (~Thunderbi@178.165.191.175.wireless.dyn.drei.com)
08:35:17 <chreekat> int-e I feel your pain
08:35:40 <chreekat> it's not super niche to want your tool to clean up after itself
08:35:51 coot joins (~coot@213.134.190.95)
08:39:42 <tomsmeding> Thing is, it's a hard problem to solve nicely
08:39:57 <tomsmeding> Because merging all the stores together also _saves_ disk space
08:40:19 califax_ joins (~califax@user/califx)
08:40:32 <tomsmeding> You're usually only storing aeson once instead of once for each project that depends on it
08:40:37 × califax quits (~califax@user/califx) (Remote host closed the connection)
08:40:43 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
08:41:30 <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,
08:41:32 califax_ is now known as califax
08:41:39 <merijn> chreekat: There are prototype cleanups, but it is not trivial to define what should be cleaned up
08:41:41 <tomsmeding> s/,$//
08:41:53 × stefan-_ quits (~cri@42dots.de) (Ping timeout: 256 seconds)
08:42:14 <tomsmeding> merijn: it's only because there is a shared store instead of one store (sandbox) per project
08:42:41 <merijn> I mean, you had to manually cleanup sandboxes too
08:42:44 <tomsmeding> I think int-e and folks would contest that having the shared store is better in the first place
08:42:46 <merijn> So that's not automatic either
08:43:04 <merijn> sandboxes had utterly horrible UX, though
08:43:08 <tomsmeding> But it's easy to do manually without nuking the build for other projects
08:43:36 <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
08:43:55 <merijn> tomsmeding: There's already tools who can "nuke everything except these projects" with the global store, so...
08:44:22 <int-e> ...if only the v2 commands were as smooth as sandboxes
08:44:33 <tomsmeding> merijn: For these people that's the wrong way round
08:44:47 <tomsmeding> They don't want to "nuke everything but this", they want to nuke "only this"
08:45:04 <merijn> tomsmeding: Well, they're free to maintain the sandbox code themselves :)
08:45:05 <tomsmeding> And tbh I understand the wish, especially if you don't have 20 cores available for compiling
08:45:13 <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.
08:45:19 <int-e> That makes a ton of a difference.
08:45:37 mncheck joins (~mncheck@193.224.205.254)
08:45:43 <tomsmeding> To be fair "having a mental model" is not what I'm missing with v2 mode
08:45:45 <maerwald> merijn: sandboxes should never have been removed
08:45:47 <int-e> and I disagree that the sandbox UX is bad
08:45:53 stefan-_ joins (~cri@42dots.de)
08:45:58 <tomsmeding> Just compile everything always, but cache stuff globally
08:46:06 <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
08:46:17 <maerwald> sandboxes are superior in almost every regard to nix style builds, except for sharing artifacts
08:46:31 <merijn> chreekat: "a lot" <- like what, besides cleanup?
08:46:34 <maerwald> idk much about sharing artifacts, given that Haskell already wastes tons of GB on my PC
08:46:48 <merijn> maerwald: sandboxes got corrupted all the time, though
08:46:52 <merijn> It was annoying as shit
08:47:14 <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.
08:47:17 <tomsmeding> merijn: that sounds like an implementation problem, not a design problem :p
08:47:20 <maerwald> merijn: I don't remember that. And even if it did, fixing it is easier than trying to fix your store
08:47:33 <merijn> Fixing the store is trivial, "rm -r" :p
08:47:35 <maerwald> the store semantics are annoying as shit
08:47:58 <merijn> I've not had any corruption of the store in the past 6 years, though
08:48:21 <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
08:48:27 <int-e> And I think isolation between projects is the thing here that I really want, even more than a simple cleanup story.
08:48:35 <int-e> Those two go hand in hand though.
08:48:52 <int-e> nuking the store is not isolated
08:48:59 matthewmosior joins (~matthewmo@173.170.253.91)
08:49:00 <tomsmeding> Why isolation, because the store breaks for you?
08:49:05 <maerwald> int-e: you can get isolation between projects too with v2
08:49:05 <int-e> unless you have separate stores, which I know is an option
08:49:19 <maerwald> int-e: cabal --store-dir=$(pwd)/store build
08:49:23 <maerwald> yeah
08:49:27 <maerwald> it's kinda dumb
08:50:12 <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
08:50:17 <arahael> You could always set up a user per project.
08:50:24 <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.)
08:50:43 <merijn> int-e: two projects should never interfere/affect each other in v2
08:50:47 <int-e> arahael: ah, how do I share the package db?
08:50:50 gemadmin joins (~gemadmin@114.198.31.146)
08:50:51 <maerwald> I tried using GC tools on the cabal store several times. They always broke the entire store
08:51:00 <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
08:51:06 <merijn> int-e: Cabal creates an on-demand package db for each project
08:51:18 <merijn> int-e: There is no static package db at all anymore
08:51:24 <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)
08:51:36 gemadmin is now known as Arahael2
08:51:38 <merijn> int-e: The store is "just disk storage" that has no affect on build plans or anything
08:51:39 <int-e> have I mentioned that the ghc environment files UX is horrible because it's hidden and magical
08:51:54 <int-e> merijn: until you nuke it
08:51:58 <merijn> int-e: You can disable that. But also, I quote like "ghci" working
08:52:01 <merijn> int-e: No
08:52:27 <int-e> sure... echo $GHC_ENVIRONMENT --> -
08:52:27 <merijn> int-e: Unless you update your package set from hackage via "cabal update" you will only ever get the same buildplan
08:52:43 <merijn> int-e: You can disable it in "~/.cabal/config
08:52:51 <int-e> alias ghci='ghci -ignore-dot-ghci -ghci-script /home/<user>/.ghci'
08:52:54 <merijn> Whether to generate ghc environment files can be toggled there
08:53:03 int-e shrugs
08:53:34 <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
08:54:07 <merijn> So whether the store is around or not (and what is in it) does not affect buildplans
08:54:34 fweht parts (uid404746@2a03:5180:f:2::6:2d0a) ()
08:55:08 <sm> chreekat: by the way what do you dislike about readthedocs ? I can think of a lot of worse ways to read docs
08:56:01 <maerwald> the default readthedocs design is just weird... but you can use any other
08:57:14 <sm> why is it weird ?
08:57:19 <maerwald> too packed
08:57:19 sm is looking at https://cabal.readthedocs.io/en/3.6/
08:57:49 <maerwald> it takes up only half the screen... of that half only 50% is text, the other is the navigation (wtf)
08:58:00 <maerwald> and then have small font and massive text
08:58:14 <sm> ah.. maybe not good on large screens, I'm on a laptop
09:03:01 × jese quits (~nikola@79-101-208-134.dynamic.isp.telekom.rs) (Quit: leaving)
09:03:42 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
09:07:21 × causal quits (~user@2001:470:ea0f:3:329c:23ff:fe3f:1e0e) (Quit: WeeChat 3.5)
09:07:22 yauhsien joins (~yauhsien@2402:7500:4e3:6633:e5c9:3430:d74d:b121)
09:08:03 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
09:10:53 __monty__ joins (~toonn@user/toonn)
09:11:10 × fockerize quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
09:12:31 × yauhsien quits (~yauhsien@2402:7500:4e3:6633:e5c9:3430:d74d:b121) (Ping timeout: 244 seconds)
09:16:37 MajorBiscuit joins (~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl)
09:17:34 <sm> I wonder why cabal could be segfaulting here: https://github.com/simonmichael/hledger/runs/7276941032
09:17:57 <sm> or ghc
09:18:05 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
09:18:29 <sm> I tried a smaller build, in case it was out of memory, and it still segfaulted (in a different package)
09:18:36 vandit_ joins (~vandit@87-97-88-201.pool.digikabel.hu)
09:19:11 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
09:19:26 <tomsmeding> sm: any chance of reproducing locally?
09:19:52 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00)
09:20:02 <tomsmeding> Also OOM should never result in a segfault hopefully :p
09:20:13 <sm> that could be a way forward I guess
09:20:43 <sm> I'd rather just try switching to stack, but I suspect it makes building static too hard
09:20:52 <tomsmeding> Ideally, it would be a single ghc invocation that segfaults, which you can then run under lldb
09:21:06 <sm> I see, noted thx
09:21:25 <tomsmeding> (on mac; on linux I'd use gdb, but gdb is finicky on mac)
09:24:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00) (Ping timeout: 260 seconds)
09:26:59 × TMA quits (tma@twin.jikos.cz) (Ping timeout: 244 seconds)
09:29:14 × BusConscious quits (~martin@ip5f5bdf31.dynamic.kabel-deutschland.de) (Remote host closed the connection)
09:37:13 × mmhat quits (~mmh@p200300f1c7090730ee086bfffe095315.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
09:45:59 <merijn> tomsmeding: "need to install a certificate/sign once" :p Although you could just use lldb
09:46:37 <tomsmeding> merijn: I know :p
09:47:23 <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.
09:50:39 mmhat joins (~mmh@p200300f1c7090723ee086bfffe095315.dip0.t-ipconnect.de)
09:50:49 <maerwald> Arahael2: why
09:52:15 john joins (~john@115.98.234.40)
09:52:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
09:52:48 yauhsien joins (~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
09:55:42 <Arahael2> maerwald: There's no bindist that supports the distro natively on the system I'm using.
09:56:33 <maerwald> Arahael2: there is
09:57:02 <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?
09:57:04 × ccntrq quits (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
09:57:06 <Arahael2> There's one now?
09:57:23 ccntrq joins (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
09:57:25 <maerwald> ah, armv7
09:57:53 <maerwald> yeah, latest 9.2.3 doesn't even have armv7 for glibc linuxes
09:58:51 <Arahael2> Actually I'm not sure if it's arm7 or armhf I need, I should check.
09:59:22 <Arahael2> It's "aarch64"
10:00:01 × yauhsien quits (~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
10:02:43 × cosimone` quits (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
10:03:40 <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.
10:04:06 jgeerds joins (~jgeerds@55d437cf.access.ecotel.net)
10:06:18 matthewmosior joins (~matthewmo@173.170.253.91)
10:07:37 × pretty_dumm_guy quits (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 272 seconds)
10:08:08 pretty_dumm_guy joins (trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
10:10:24 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
10:17:57 cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it)
10:18:40 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 244 seconds)
10:20:47 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 255 seconds)
10:23:15 mncheckm joins (~mncheck@193.224.205.254)
10:25:54 × Vajb quits (~Vajb@2001:999:58c:b683:1e3e:e86f:8cdc:e10) (Ping timeout: 264 seconds)
10:26:49 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
10:27:03 Vajb joins (~Vajb@85-76-36-231-nat.elisa-mobile.fi)
10:32:13 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
10:33:50 × christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 255 seconds)
10:35:22 × caubert quits (~caubert@user/caubert) (Quit: WeeChat 3.5)
10:35:32 caubert joins (~caubert@user/caubert)
10:39:51 matthewmosior joins (~matthewmo@173.170.253.91)
10:39:56 × mncheckm quits (~mncheck@193.224.205.254) (Quit: Leaving)
10:40:18 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
10:43:14 christiansen joins (~christian@83-95-137-75-dynamic.dk.customer.tdc.net)
10:47:24 × Vajb quits (~Vajb@85-76-36-231-nat.elisa-mobile.fi) (Ping timeout: 276 seconds)
10:47:38 × kjak quits (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Remote host closed the connection)
10:48:38 Vajb joins (~Vajb@2001:999:780:85a3:dba:df53:267d:8644)
10:49:21 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds)
10:50:24 CiaoSen joins (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
10:51:08 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
10:52:51 kjak joins (~kjak@pool-108-31-68-111.washdc.fios.verizon.net)
11:03:00 × raym quits (~raym@user/raym) (Ping timeout: 276 seconds)
11:12:40 xff0x joins (~xff0x@2405:6580:b080:900:1ebc:3cfb:759f:a6de)
11:14:45 × vandit_ quits (~vandit@87-97-88-201.pool.digikabel.hu) (Ping timeout: 272 seconds)
11:16:04 vandit_ joins (~vandit@80-95-82-235.pool.digikabel.hu)
11:21:42 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00)
11:24:53 × jgeerds quits (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 272 seconds)
11:25:29 raym joins (~raym@user/raym)
11:26:02 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:3c84:bbe3:18f2:fe00) (Ping timeout: 255 seconds)
11:27:38 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
11:29:28 mon_aaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
11:29:30 dcoutts_ joins (~duncan@host86-176-29-6.range86-176.btcentralplus.com)
11:30:10 fuinnybunny joins (~fuinnybun@p7902b706.tokynt01.ap.so-net.ne.jp)
11:31:26 × dcoutts quits (~duncan@host86-176-29-6.range86-176.btcentralplus.com) (Ping timeout: 255 seconds)
11:31:28 <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
11:32:04 <geekosaur> use stack ghci instead of ghci directly?
11:32:54 <fuinnybunny> It gives the same errors
11:35:27 <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
11:35:45 <fuinnybunny> I don't know
11:37:10 <fuinnybunny> Am I supposed to use stack to install packages?
11:37:52 <fuinnybunny> I followed the links on https://www.haskell.org/downloads/
11:38:09 <[exa]> unless the setup requires stack, you can install packages with cabal
11:38:45 <fuinnybunny> The homepage doesn't explain what they are
11:38:52 <fuinnybunny> I just did 1 and 2
11:39:27 <fuinnybunny> I am now installing the packages with cabal install
11:40:56 <[exa]> ok, after that you still might need to "enable" the package for your ghc
11:41:23 <[exa]> if you just typed `cabal install win32`, you may be good off with `ghc -package win32 -package theotherone yourFile.hs`
11:41:43 <fuinnybunny> OK, I will try that when it's done installing
11:42:18 <[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
11:44:16 <fuinnybunny> OK, I will try to make one
11:44:20 × Vajb quits (~Vajb@2001:999:780:85a3:dba:df53:267d:8644) (Ping timeout: 272 seconds)
11:44:33 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
11:46:07 fockerize joins (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
11:46:35 <fuinnybunny> `ghc -package win32 ...` gives the same errors
11:46:43 <fuinnybunny> *Win32
11:47:16 Feuermagier joins (~Feuermagi@user/feuermagier)
11:47:27 <[exa]> the error is that Win32 module is missing?
11:47:31 Vajb joins (~Vajb@2001:999:40:3227:1637:ead0:8398:8c93)
11:47:57 <fuinnybunny> Yes
11:48:01 <[exa]> hm the list of modules in that package is here: https://hackage.haskell.org/package/Win32
11:48:09 <[exa]> try rewriting it to System.Win32
11:48:31 <[exa]> (spoiler: the tests on github[4~ may have the module resolution method changed or something)
11:49:53 <fuinnybunny> OK, I think it worked. Now I am installing primitive with cabal for Addr
11:51:15 <fuinnybunny> Hm, I think it installed with cabal install primitive, but then ghc -package Win32 -package primitive helloworld.hs says cannot satisfy -package primitive
11:52:02 <[exa]> you want this one right? https://hackage.haskell.org/package/primitive-addr-0.1.0.2/docs/Data-Primitive-Addr.html
11:52:07 × Vajb quits (~Vajb@2001:999:40:3227:1637:ead0:8398:8c93) (Ping timeout: 272 seconds)
11:52:29 <fuinnybunny> I think so, if that's what Addr is referring to in helloworld.hs
11:52:40 <[exa]> ah here: https://hoogle.haskell.org/?hoogle=nullAddr
11:52:47 <[exa]> it's in `primitive-addr` package
11:52:58 <fuinnybunny> Ohh
11:54:07 <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
11:54:41 <[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
11:55:05 <fuinnybunny> Nobody uses Win32?
11:55:28 <sm> `foo` runs normally. Identical copy with a different name `foo-1826` dies with "Killed: 9". On mac. Any ideas ?
11:56:06 <[exa]> fuinnybunny: like, I don't want to touch windows anytime again, but I'm probably extreme :D
11:56:24 <[exa]> fuinnybunny: the `cabal install` didn't report any problems?
11:56:30 <sm> a new copy works as expected. Just this particular file seems cursed.
11:56:30 <fuinnybunny> I'm sure some ppl in here play games
11:56:37 Vajb joins (~Vajb@2001:999:580:670b:ef53:ed37:f6d7:705e)
11:57:12 <tomsmeding> sm: what happens whem you `lldb
11:57:12 <tomsmeding> ./foo-1826` and then `run`
11:57:17 <fuinnybunny> cabal install said WARNING: Installation might not be completed as desired! and then talked about making a .cabal file. Otherwise it seemed fine
11:57:25 <geekosaur> sm, you'd have to check the system log but "Killed: 9" sounds like SIP got unhappy with it
11:57:26 <tomsmeding> Oh sorry no newline in there
11:57:36 <merijn> sm: "ulimit -c unlimited" and check the core dump?
11:57:42 <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...
11:57:45 <sm> $ lldb ./hledgerdies
11:57:46 <sm> (lldb) target create "./hledgerdies"
11:57:46 <sm> Killed: 9
11:58:02 <tomsmeding> sm: O.o
11:58:25 <merijn> sm: You wanna make sure there's no limit on core sizes and then inspect the core dump
11:58:37 <geekosaur> (system integrity protection is a mean mother and not all its decisions are comprehensible)
11:59:26 <sm> merijn: thx, if I knew where to find those I'd give it a try
11:59:31 <merijn> geekosaur: I don't see why SIP would kill use code
11:59:54 <merijn> sm: Under /cores (after you up the core size limit as I just mentioned ;))
12:00:02 × coot quits (~coot@213.134.190.95) (Quit: coot)
12:00:14 <[exa]> fuinnybunny: does it work with --lib ?
12:00:52 <fuinnybunny> No
12:01:06 <fuinnybunny> Do I need to do cabal init before cabal install?
12:01:28 <[exa]> no, cabal init creates a "new project"
12:01:42 <[exa]> where you can put the cabal file and your sources and can declare their dependencies etc
12:02:00 <sm> merijn: I did that and did find /cores but it's empty of course
12:02:15 <sm> it couldn't be that easy on mac
12:02:20 <[exa]> fuinnybunny: the error you get from primitive-addr is something like "Could not resolve dependencies: ..., trying binary-0.8.9.0..." , right?
12:03:11 <geekosaur> SIGKILL doesn't usually leave a core file
12:03:29 <fuinnybunny> Is there a Discord server for Haskell?
12:03:38 <fuinnybunny> Or something where I can share my screen
12:04:21 <[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
12:04:23 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:04:32 <fuinnybunny> Ok, I will try that
12:05:25 × mon_aaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
12:05:49 <[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
12:06:06 <fuinnybunny> OK, that made it give new errors about no module named Win32 is imported
12:06:16 <fuinnybunny> I guess because I changed it to System.Win32
12:06:35 <[exa]> uh yes they use the Win32 there as a prefix
12:06:38 <fuinnybunny> I tried to find it on disboard but I didn't find it
12:06:42 <[exa]> you can do `import qualified System.Win32 as Win32`
12:06:54 <[exa]> which should give it the name the example expects
12:07:09 <fuinnybunny> Now it says System.Win32 doesn't export endPaint, etc
12:07:23 <fuinnybunny> I wonder if it's the right package
12:07:38 <[exa]> yeah I'm starting to wonder myself
12:08:55 <[exa]> that example may be seriously outdated
12:09:05 <geekosaur> those are Graphics.Win32 I think
12:09:13 × Vajb quits (~Vajb@2001:999:580:670b:ef53:ed37:f6d7:705e) (Ping timeout: 272 seconds)
12:11:15 <fuinnybunny> I think I will try GLFW instead
12:11:46 <[exa]> +1 ^
12:11:47 × Katarushisu quits (~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net) (Quit: The Lounge - https://thelounge.chat)
12:11:53 <john> hi .. I have a question from haskell book.. chapter 5 types..
12:12:20 <[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
12:12:30 <john> If the type of kessel is (Ord a, Num b)=> a -> b -> a then the type of kessel 1 2 is ?
12:12:49 Vajb joins (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi)
12:13:01 <john> The answer given is (Num a, Ord a) => a
12:13:09 <john> but i am not able to figure out why..
12:13:09 dsrt^ joins (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
12:13:16 <kuribas> :t 1
12:13:17 <lambdabot> Num p => p
12:13:20 × jargon quits (~jargon@184.101.188.251) (Remote host closed the connection)
12:14:01 <kuribas> john: Num p comes from the literal 1
12:14:10 <john> yes
12:14:11 <geekosaur> basically, taken by itself it'd be Ord a => a. but because you passed a literal 1, it induces a Num a
12:14:11 <kuribas> Num a
12:14:40 <john> geekosaur: can you elaborate?
12:14:42 fuinnybunny parts (~fuinnybun@p7902b706.tokynt01.ap.so-net.ne.jp) ()
12:14:45 <geekosaur> becase any numeric literal is typed as Num a => a or Fractional a => a depending on whether it has a decimal point
12:15:19 <geekosaur> and internally goes through respectively fromInteger or fromRational
12:16:01 <kuribas> :t 1 + 1.2
12:16:03 <lambdabot> Fractional a => a
12:16:05 <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?
12:16:19 <geekosaur> right
12:16:31 <geekosaur> if not for it being a numeric literal, it'd just be Ord
12:16:51 <geekosaur> (or concrete if you passed some concrete type such as Char)
12:17:37 <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?
12:18:02 <john> or would it be Ord a => a
12:18:13 <kuribas> Integer
12:18:32 <john> kuribas: why not Ord a?
12:18:40 <john> kuribas: why not Ord a => a?
12:18:46 <geekosaur> because it knows Integer is already Ord
12:18:59 <kuribas> john: because you just told haskell the first variable is Integer.
12:19:03 <geekosaur> so there's no point in keeping the constraint around
12:19:41 <kuribas> :t (1 :: Ord Integer => Integer)
12:19:42 <lambdabot> Integer
12:20:16 <john> are you saying is Integer already has Ordering built into it.. so there is no need to specify ?
12:20:42 <kuribas> john: if by built in, you mean that haskell provides an instance, then yes.
12:21:00 × alp quits (~alp@user/alp) (Ping timeout: 276 seconds)
12:21:46 <kuribas> :t (1 :: Foldable Integer => Integer)
12:21:49 <lambdabot> error:
12:21:49 <lambdabot> • Expected kind ‘* -> *’, but ‘Integer’ has kind ‘*’
12:21:49 <lambdabot> • In the first argument of ‘Foldable’, namely ‘Integer’
12:21:55 <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
12:22:25 <kuribas> :t (1 :: Fractional Integer => Integer)
12:22:27 <lambdabot> error:
12:22:27 <lambdabot> No instance for (Fractional Integer)
12:22:27 <lambdabot> arising from an expression type signature
12:22:57 <john> geekosaur : thanks..
12:23:48 matthewmosior joins (~matthewmo@173.170.253.91)
12:27:56 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
12:29:02 × renzhi quits (~xp@2607:fa49:6500:b100::b399) (Ping timeout: 255 seconds)
12:29:22 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 244 seconds)
12:30:35 × john quits (~john@115.98.234.40) (Quit: Leaving)
12:31:43 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:32:49 dschrempf joins (~dominik@mobiledyn-62-240-134-33.mrsn.at)
12:34:40 × frost quits (~frost@user/frost) (Ping timeout: 252 seconds)
12:34:42 × MajorBiscuit quits (~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl) (Quit: WeeChat 3.5)
12:35:49 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 272 seconds)
12:38:53 MajorBiscuit joins (~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl)
12:39:51 jao joins (~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
12:41:14 coot joins (~coot@213.134.190.95)
12:42:13 × dschrempf quits (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
12:42:44 <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
12:43:09 × acidjnk quits (~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de) (Remote host closed the connection)
12:43:33 acidjnk joins (~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de)
12:44:36 <sm> I hear that.. but with big docs the alternative is an overwhelming TOC. It's hard to be right for everyone
12:45:30 <geekosaur> ghc docs do the same thing
12:45:49 <geekosaur> kind of annoying when I'm jumping between two sections
12:46:30 × foul_owl quits (~kerry@23.82.194.107) (Ping timeout: 240 seconds)
12:46:33 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
12:46:54 <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
12:47:01 <chreekat> geekosaur: yep, also readthedocs
12:47:44 <chreekat> So don't shove the whole toc in a sidebar? :D
12:48:37 sm thinks readthedocs' sidebar is a pretty good compromise
12:48:45 <geekosaur> it works better than the Report where I keep having to Up to the TOC
12:49:25 <geekosaur> annoying is better than nigh unusable
12:49:42 <geekosaur> and it's hard to do better with something that is by its nature flat
12:54:54 <chreekat> Wait what's flat by nature?
12:55:27 <geekosaur> manuals, and in particular the Haskell Report which is what I was talking about as an alternative to the sidebar
12:55:40 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 268 seconds)
12:56:05 × acidjnk quits (~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
12:57:02 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
12:58:11 dsrt^ joins (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
12:59:19 <chreekat> Oh those strike me as being deeply hierarchical. 🤔 Chapters and sections and subsections and paragraphs
13:00:57 <geekosaur> ghc's is as well. the sidebar only does first and secoind level headings
13:01:14 <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)
13:02:30 foul_owl joins (~kerry@23.82.194.109)
13:02:34 <geekosaur> oh, I guess ghc does third level as well. indentation indicates the level
13:04:42 Kaiepi joins (~Kaiepi@156.34.47.253)
13:07:10 × Kaipei quits (~Kaiepi@156.34.47.253) (Ping timeout: 240 seconds)
13:07:41 <kuribas> I saw the Munich hackaton. Would anyone be interested in a talk about using higher kinded data?
13:08:17 TMA joins (tma@twin.jikos.cz)
13:08:33 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
13:09:25 <kuribas> for example: meta programming with hkd, nested hkd records.
13:10:24 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
13:11:16 <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
13:11:17 × vandit_ quits (~vandit@80-95-82-235.pool.digikabel.hu) (Ping timeout: 272 seconds)
13:11:42 <geekosaur> it's hard to take something that's designed mostly forprinting and make it nicely accessible on screen
13:12:37 vandit_ joins (~vandit@188-143-101-77.pool.digikabel.hu)
13:18:01 × mjs2600 quits (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net) (Quit: ZNC 1.8.2 - https://znc.in)
13:18:27 motherfsck joins (~motherfsc@user/motherfsck)
13:19:33 mjs2600 joins (~mjs2600@c-24-91-3-49.hsd1.vt.comcast.net)
13:21:03 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 244 seconds)
13:21:45 × Feuermagier quits (~Feuermagi@user/feuermagier) (Remote host closed the connection)
13:22:01 yauhsien joins (~yauhsien@61-231-36-12.dynamic-ip.hinet.net)
13:22:28 ubert1 joins (~Thunderbi@178.165.177.173.wireless.dyn.drei.com)
13:23:19 × ubert quits (~Thunderbi@178.165.191.175.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
13:23:20 ubert1 is now known as ubert
13:25:02 × CiaoSen quits (~Jura@p200300c9570ffb002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
13:25:29 jgeerds joins (~jgeerds@55d437cf.access.ecotel.net)
13:30:14 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
13:30:29 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:30:35 matthewmosior joins (~matthewmo@173.170.253.91)
13:30:44 moonsheep joins (~user@user/moonsheep)
13:30:53 <moonsheep> What do you guys think of selda?
13:31:29 <[exa]> I used it a few times, would do again I'd say
13:31:42 chele joins (~chele@user/chele)
13:32:18 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
13:32:47 matthewmosior joins (~matthewmo@173.170.253.91)
13:33:56 Pickchea joins (~private@user/pickchea)
13:34:18 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Ping timeout: 240 seconds)
13:36:09 <kuribas> haskell-centric, not useable with existing schemas.
13:37:00 <moonsheep> I don't have an existing schema so it's not really a problem
13:37:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
13:38:03 <moonsheep> The few examples I've seen it looks extremely succint, in stark contrast with something like, say, persistent
13:38:13 <moonsheep> Is it too good to be true?
13:38:42 <kuribas> it also has a weird mapping between db types and haskell types.
13:39:36 <moonsheep> How so?
13:39:50 <kuribas> personally I would only use db libraries which look like SQL.
13:39:56 matthewmosior joins (~matthewmo@173.170.253.91)
13:41:01 <moonsheep> Hmm, so what would you recommend?
13:41:11 <kuribas> my own library, hasqlator :)
13:41:14 rburkholder joins (~blurb@96.45.2.121)
13:41:17 <kuribas> but it only works for mysql still.
13:41:18 <moonsheep> I really like the record-row mapping
13:41:30 <moonsheep> Ah yeah mysql is more than enough
13:42:19 <kuribas> moonsheep: but don't let my library force MySQL on you though :-O
13:42:21 <kuribas> mysql sucks
13:42:26 <kuribas> but it's what we use...
13:42:48 <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
13:43:00 <kuribas> it's also a buggy mess
13:43:09 <moonsheep> Your library also doesn't marshall types right?
13:43:21 <moonsheep> You have to pull stuff out of MySqlValue correct?
13:43:24 <kuribas> it has a 1-1 mapping bewteen mysql and haskell types.
13:44:01 <moonsheep> So I can't, say, insert a sum type into a db?
13:44:06 <kuribas> https://hackage.haskell.org/package/hasqlator-mysql-0.1.0/docs/Database-MySQL-Hasqlator.html#t:FromSql
13:44:21 <moonsheep> Ah so it's a bit like mongodb
13:44:27 <kuribas> moonsheep: you could make a FromSQL instance.
13:44:31 <moonsheep> Right
13:44:55 <moonsheep> Is there also a ToSQL class?
13:44:59 <kuribas> yes
13:45:17 <moonsheep> Hmm, might consider it
13:45:30 <moonsheep> Looks pretty good
13:45:45 <kuribas> moonsheep: there are 2 levels, one typed, on untyped.
13:45:57 <kuribas> typed in the sense of checking the query against the schema.
13:46:23 <kuribas> There is TH to read a schema from the information schema.
13:46:58 <moonsheep> I'd prefer to avoid template haskell if possible
13:47:11 <kuribas> You can use the untyped version
13:47:19 <kuribas> It builds queries using monoids.
13:47:39 <moonsheep> Right, thanks
13:50:24 <kuribas> select (User <$> textSel "user" <*> intSel "age") $ from "myTable" <> where_ ("user" =. arg "kuribas")
13:54:07 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
13:54:29 noteness joins (~noteness@user/noteness)
13:56:15 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 272 seconds)
13:58:31 acidjnk joins (~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de)
14:02:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:02:51 matthewmosior joins (~matthewmo@173.170.253.91)
14:04:08 × Arahael2 quits (~gemadmin@114.198.31.146) (Quit: Lost terminal)
14:06:17 Sgeo joins (~Sgeo@user/sgeo)
14:07:01 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
14:10:14 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
14:10:57 × ccntrq quits (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
14:11:11 × lbseale quits (~quassel@user/ep1ctetus) (Quit: https://quassel-irc.org - Chat comfortably. Anywhere.)
14:11:16 ccntrq joins (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
14:12:04 lbseale joins (~quassel@user/ep1ctetus)
14:12:43 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 260 seconds)
14:13:05 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
14:14:16 azimut joins (~azimut@gateway/tor-sasl/azimut)
14:18:46 dsrt^ joins (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
14:18:51 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
14:24:33 × ccntrq quits (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
14:24:51 ccntrq joins (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db)
14:26:57 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
14:27:21 matthewmosior joins (~matthewmo@173.170.253.91)
14:29:56 <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
14:35:02 motherfsck joins (~motherfsc@user/motherfsck)
14:38:31 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection)
14:39:33 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:40:01 matthewmosior joins (~matthewmo@173.170.253.91)
14:40:43 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Ping timeout: 260 seconds)
14:41:51 × Vajb quits (~Vajb@n1zigc3rgo9mpde2w-1.v6.elisa-mobile.fi) (Ping timeout: 272 seconds)
14:42:50 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
14:42:57 matthewmosior joins (~matthewmo@173.170.253.91)
14:45:11 dsrt^ joins (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net)
14:46:50 × yaroot quits (~yaroot@166.104.13.160.dy.iij4u.or.jp) (Ping timeout: 240 seconds)
14:47:25 yaroot joins (~yaroot@2409:12:ac0:2300:680e:dbff:fe1e:4953)
14:47:56 × dsrt^ quits (~dsrt@50-246-23-230-static.hfc.comcastbusiness.net) (Remote host closed the connection)
14:50:50 <[exa]> heath: how "efficient"? as in, how it should compare with BLAS?
14:58:09 <heath> forwarded that message to the original author
15:03:39 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
15:03:49 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
15:04:01 × Pickchea quits (~private@user/pickchea) (Ping timeout: 272 seconds)
15:04:08 matthewmosior joins (~matthewmo@173.170.253.91)
15:06:58 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
15:07:00 szkl joins (uid110435@id-110435.uxbridge.irccloud.com)
15:07:05 matthewmosior joins (~matthewmo@173.170.253.91)
15:09:31 × cosimone quits (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
15:11:06 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:11:13 × noteness quits (~noteness@user/noteness) (Remote host closed the connection)
15:11:36 noteness joins (~noteness@user/noteness)
15:14:43 × vandit_ quits (~vandit@188-143-101-77.pool.digikabel.hu) (Ping timeout: 244 seconds)
15:16:17 vandit_ joins (~vandit@91-83-1-213.pool.digikabel.hu)
15:23:10 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
15:25:36 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
15:27:46 dschrempf joins (~dominik@mobiledyn-62-240-134-33.mrsn.at)
15:29:57 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:30:37 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
15:32:17 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:33:14 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection)
15:37:15 × hpc quits (~juzz@ip98-169-32-242.dc.dc.cox.net) (Ping timeout: 256 seconds)
15:38:22 <joel135> when talking about cps transforms, what is the difference between cbv and cbn?
15:38:58 hpc joins (~juzz@ip98-169-32-242.dc.dc.cox.net)
15:41:09 <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
15:41:48 <joel135> err, K(A=>B) = C(A) x K(B)
15:42:50 × mrmr quits (~mrmr@user/mrmr) (Quit: The Lounge - https://thelounge.chat)
15:43:33 <tomsmeding> joel135: what are x, + and => ?
15:43:50 <tomsmeding> Product types, sum types, function types?
15:43:52 <joel135> conjunction, disjunction, implication
15:43:53 <joel135> yes
15:44:09 <tomsmeding> Then how is K(AxB) = K(A) + K(B) at all sensible
15:44:22 <tomsmeding> Oh wait I see
15:44:30 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
15:44:46 <tomsmeding> What's K of a primitive type, such as Int?
15:44:54 <joel135> that's the X case
15:45:01 <tomsmeding> Ah
15:45:43 × ccntrq quits (~Thunderbi@2a01:c22:917b:8000:7ba0:79c7:d855:34db) (Remote host closed the connection)
15:46:25 <joel135> (i learned this variant from https://www.mscs.dal.ca/~selinger/papers/krivine.pdf)
15:47:37 <tomsmeding> The one I know is simply... C(A) = (A => R) => R, in your notation
15:48:56 <tomsmeding> newtype Cont a = Cont (forall r. (a -> r) -> r)
15:50:16 × cfricke quits (~cfricke@user/cfricke) (Quit: WeeChat 3.5)
15:50:40 <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
15:50:56 <tomsmeding> If I'm not mistaken, your variant will end up computing E twice
15:51:18 × dschrempf quits (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Ping timeout: 260 seconds)
15:51:19 <tomsmeding> Or, well, CPS[E]
15:51:48 <tomsmeding> And if that's true, then that sounds like cbn
15:52:04 <joel135> yes, i believe my variant is cbn
15:52:30 <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.
15:52:42 tomsmeding is always skeptical when seeing anything related to cbn, because of the lack of usefulness in implementation
15:53:25 <tomsmeding> joel135: C(A) = (A => R) => R is simply the type-level transform, indeed inhabited by \x k -> k x, which is useless
15:53:38 <tomsmeding> But also inhabited by a proper cps transform
15:54:33 <tomsmeding> C[(t1,t2)] = \k -> C[t1] (\x -> C[t2] (\y -> k (x, y)))
15:54:41 <tomsmeding> Etc. for the other term formers
15:54:57 <tomsmeding> Writing C[] for the term-level transformation
15:56:07 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
15:56:15 <joel135> hmm, that sounds right, thanks! will need to think about this a little
15:56:34 matthewmosior joins (~matthewmo@173.170.253.91)
15:57:13 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
15:57:19 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
15:57:23 <tomsmeding> joel135: the wiki page discusses this form of cps https://en.m.wikipedia.org/wiki/Continuation-passing_style
15:57:25 matthewmosior joins (~matthewmo@173.170.253.91)
15:57:33 <tomsmeding> I don't like the scheme examples, but there's a haskell example too
15:57:54 <tomsmeding> It doesn't get very formal though, but I feel like you're capable of formalising it anyway :p
15:58:44 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
16:00:45 cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it)
16:02:24 <tomsmeding> Hot take: CBN is useful only 1. for proofs of correctness, and 2. to optimise into something that is not CBN
16:03:08 <tomsmeding> Its performance (complexity?) properties are so enormously atrocious
16:06:23 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 244 seconds)
16:06:33 vglfr joins (~vglfr@88.155.25.62)
16:07:17 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 256 seconds)
16:08:15 <dolio> Which 'N' is CBN?
16:09:14 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
16:09:43 matthewmosior joins (~matthewmo@173.170.253.91)
16:12:53 × sagax quits (~sagax_nb@user/sagax) (Remote host closed the connection)
16:13:27 Haskelytic joins (~Haskelyti@118.179.211.17)
16:14:38 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
16:16:18 × coot quits (~coot@213.134.190.95) (Quit: coot)
16:16:56 moonsheep parts (~user@user/moonsheep) (ERC 5.4 (IRC client for GNU Emacs 28.1))
16:18:28 tzh joins (~tzh@c-24-21-73-154.hsd1.or.comcast.net)
16:21:03 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 260 seconds)
16:21:35 <joel135> name (not need)
16:22:13 × benin0 quits (~benin@183.82.29.162) (Quit: The Lounge - https://thelounge.chat)
16:23:06 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
16:23:15 × kuribas quits (~user@silversquare.silversquare.eu) (Remote host closed the connection)
16:26:58 matthewmosior joins (~matthewmo@173.170.253.91)
16:29:41 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
16:29:43 mikoto-chan joins (~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi)
16:31:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
16:34:31 matthewmosior joins (~matthewmo@173.170.253.91)
16:37:19 <romes[m]> could someone running macOS try to build `primitive` in an attempt to troubleshoot https://github.com/haskell/primitive/issues/348 ? thanks
16:37:23 × mbuf quits (~Shakthi@122.165.55.71) (Quit: Leaving)
16:37:45 × jgeerds quits (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 276 seconds)
16:38:11 ski joins (~ski@ext-1-468.eduroam.chalmers.se)
16:38:52 <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`
16:39:22 <geekosaur> reinstall ghc bindist with ld64 first in $PATH (usually it's in /usr/bin)
16:39:41 <yin> ahh, computers...
16:39:51 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:40:29 <geekosaur> 9.2.3 has a workaround which excludes ld.lld as a valid linker, so it finds ld64 anyway
16:40:41 econo joins (uid147250@user/econo)
16:42:28 × chele quits (~chele@user/chele) (Remote host closed the connection)
16:47:35 <sm> romes: I just built primitive-0.7.4.0
16:47:53 <sm> wait.. I have 9.2.2
16:50:53 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
16:51:22 matthewmosior joins (~matthewmo@173.170.253.91)
16:51:34 sagax joins (~sagax_nb@user/sagax)
16:52:36 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
16:52:42 matthewmosior joins (~matthewmo@173.170.253.91)
16:55:30 <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
16:58:55 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
17:05:10 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
17:05:23 × MajorBiscuit quits (~MajorBisc@wlan-145-94-252-171.wlan.tudelft.nl) (Ping timeout: 260 seconds)
17:05:41 <segfaultfizzbuzz> so... i have been trying to think about what a "code invariant" is
17:06:53 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
17:07:03 <segfaultfizzbuzz> is there a formalization of this notion?
17:07:43 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
17:08:39 <ski> .. example ?
17:08:51 <geekosaur> segfaultfizzbuzz, these kinjds of questions you've been asking are better suited to #haskell-offtopic, really
17:08:58 <sm> some property of the code that you can express in words, that should always be true
17:10:27 <geekosaur> "you can express in words" is begging for trouble
17:11:33 <geekosaur> eiffel was big on expressing code invariants as preconditions and postconditions… never caught on, though, as it usually just triplicated the function
17:12:36 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:12:41 <segfaultfizzbuzz> ok i am moving to haskell-offtopic, sorry about the noise
17:13:02 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
17:13:58 matthewmosior joins (~matthewmo@173.170.253.91)
17:14:09 <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>
17:14:40 <segfaultfizzbuzz> ski: this is interesting thanks, i will look
17:17:47 <Haskelytic> :t (fmap . fmap) sum
17:17:48 <lambdabot> (Functor f1, Functor f2, Foldable t, Num b) => f1 (f2 (t b)) -> f1 (f2 b)
17:17:52 <Haskelytic> :t (fmap . fmap) sum Just
17:17:53 <lambdabot> (Foldable t, Num b) => t b -> Maybe b
17:18:10 <Haskelytic> I have no idea what's happening here
17:18:20 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
17:18:40 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection)
17:18:55 <Haskelytic> how can `(fmap . fmap) sum` be applied to `Just`
17:19:51 matthewmosior joins (~matthewmo@173.170.253.91)
17:20:33 × vandit_ quits (~vandit@91-83-1-213.pool.digikabel.hu) (Ping timeout: 260 seconds)
17:20:49 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
17:20:55 matthewmosior joins (~matthewmo@173.170.253.91)
17:21:59 vandit_ joins (~vandit@94-21-82-63.pool.digikabel.hu)
17:22:11 <ski> Haskelytic : the instance in question is `Functor (rho ->)'
17:23:03 <ski> we have say `Just :: a -> Maybe a', okay ?
17:23:21 × vandit_ quits (~vandit@94-21-82-63.pool.digikabel.hu) (Killed (NickServ (GHOST command used by vapid2!~user@h130-35.pool77-110.cgn.tolna.net)))
17:23:37 <Haskelytic> ski: I can't seem to match up the top-level functor here
17:23:42 <Haskelytic> ohh....
17:23:52 <Haskelytic> hold on i got it haha
17:23:56 <ski> Just :: (a ->) (Maybe a)
17:25:10 <ski> `f1' in `fmap . fmap :: (Functor f1,Functor f2) => (t -> u) -> (f1 (f2 t) -> f1 (f2 u))' becomes `(a ->)', and `f2' becomes `Maybe'
17:28:19 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
17:29:15 matthewmosior joins (~matthewmo@173.170.253.91)
17:32:55 × ChaiTRex quits (~ChaiTRex@user/chaitrex) (Remote host closed the connection)
17:33:29 ChaiTRex joins (~ChaiTRex@user/chaitrex)
17:33:59 × dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer)
17:34:34 <Haskelytic> ski:
17:34:43 <Haskelytic> thanks! makes sense now
17:35:58 × m1dnight quits (~christoph@78-22-0-121.access.telenet.be) (Ping timeout: 240 seconds)
17:36:11 dextaa joins (~DV@user/dextaa)
17:36:57 <ski> i'd probably write `fmap sum . Just' instead
17:37:23 <ski> (note that in the `Functor (rho ->)' instance, we have `fmap = (.)')
17:37:25 m1dnight joins (~christoph@78-22-0-121.access.telenet.be)
17:38:01 × dextaa quits (~DV@user/dextaa) (Read error: Connection reset by peer)
17:38:08 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
17:38:11 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
17:40:16 dextaa joins (~DV@user/dextaa)
17:41:39 × Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed)
17:42:30 × Raito_Bezarius quits (~Raito@wireguard/tunneler/raito-bezarius) (Ping timeout: 240 seconds)
17:42:38 × remexre quits (~remexre@user/remexre) (Ping timeout: 255 seconds)
17:43:25 Haskelytic joins (~Haskelyti@118.179.211.17)
17:44:31 coot joins (~coot@213.134.190.95)
17:44:38 elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
17:46:25 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
17:48:15 remexre joins (~remexre@user/remexre)
17:54:49 Raito_Bezarius joins (~Raito@wireguard/tunneler/raito-bezarius)
17:59:26 × cosimone quits (~user@93-44-186-171.ip98.fastwebnet.it) (Remote host closed the connection)
18:00:49 matthewmosior joins (~matthewmo@173.170.253.91)
18:01:17 × coot quits (~coot@213.134.190.95) (Quit: coot)
18:05:28 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
18:08:36 jgeerds joins (~jgeerds@55d437cf.access.ecotel.net)
18:10:23 Pickchea joins (~private@user/pickchea)
18:11:19 Topsi joins (~Topsi@37.84.153.102)
18:12:28 × segfaultfizzbuzz quits (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net) (Ping timeout: 260 seconds)
18:12:43 mcglk joins (~mcglk@131.191.49.120)
18:15:55 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 272 seconds)
18:16:33 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 276 seconds)
18:20:10 × gurkenglas quits (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
18:21:31 cosimone joins (~user@93-44-186-171.ip98.fastwebnet.it)
18:21:50 <carbolymer> what was ghci option `-W` doing?
18:21:55 <carbolymer> I forgot why I have it there
18:22:00 <carbolymer> and why `it` is unassigned :|
18:22:28 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
18:23:03 <geekosaur> -W turns on a base set of warnings iirc? and look for -fno-it somewhere (maybe a ~/.ghci or project specific .ghci)
18:23:16 <carbolymer> thx
18:23:20 <int-e> https://ghc.gitlab.haskell.org/ghc/doc/users_guide/using-warnings.html#ghc-flag--W
18:23:28 <carbolymer> oh it's from GHC
18:23:44 <geekosaur> assigning to `it` changes some type inference, although not usually noticeably
18:23:49 <int-e> ghci is basically ghc except it defaults to --interactive
18:24:08 × Pickchea quits (~private@user/pickchea) (Ping timeout: 260 seconds)
18:28:46 Andrew is now known as HaxCPU
18:30:10 matthewmosior joins (~matthewmo@173.170.253.91)
18:33:03 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
18:33:04 gurkenglas joins (~gurkengla@dslb-002-203-144-112.002.203.pools.vodafone-ip.de)
18:34:23 dschrempf joins (~dominik@mobiledyn-62-240-134-33.mrsn.at)
18:34:50 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
18:43:32 coot joins (~coot@213.134.190.95)
18:46:08 Guest45 joins (~Guest45@bras-base-okvlon5405w-grc-53-70-30-46-127.dsl.bell.ca)
18:49:48 × dschrempf quits (~dominik@mobiledyn-62-240-134-33.mrsn.at) (Quit: WeeChat 3.5)
18:53:10 × motherfsck quits (~motherfsc@user/motherfsck) (Ping timeout: 240 seconds)
18:53:34 motherfsck joins (~motherfsc@user/motherfsck)
18:54:52 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:02:37 matthewmosior joins (~matthewmo@173.170.253.91)
19:07:09 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:07:12 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
19:10:48 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
19:17:56 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:e44b:517c:8b93:d71d)
19:23:07 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:24:48 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:e44b:517c:8b93:d71d) (Ping timeout: 276 seconds)
19:27:33 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:68e4:4ca8:a63:19fd)
19:31:51 Vajb joins (~Vajb@hag-jnsbng11-58c3ad-40.dhcp.inet.fi)
19:35:07 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
19:35:54 matthewmosior joins (~matthewmo@173.170.253.91)
19:37:45 × azimut quits (~azimut@gateway/tor-sasl/azimut) (Ping timeout: 268 seconds)
19:37:47 × nek0 quits (~nek0@2a01:4f8:222:2b41::12) (Quit: The Lounge - https://thelounge.chat)
19:40:32 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
19:41:49 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
19:42:29 × Haskelytic quits (~Haskelyti@118.179.211.17) (Quit: Client closed)
19:43:11 kenran joins (~kenran@200116b82b139d005625d042cb0248e6.dip.versatel-1u1.de)
19:43:15 × kenran quits (~kenran@200116b82b139d005625d042cb0248e6.dip.versatel-1u1.de) (Client Quit)
19:47:20 × mikoto-chan quits (~mikoto-ch@d59mf84twhjn22gzzgy-4.rev.dnainternet.fi) (Ping timeout: 255 seconds)
19:48:08 × elkcl quits (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru) (Ping timeout: 260 seconds)
19:48:16 elkcl joins (~elkcl@broadband-37-110-156-162.ip.moscow.rt.ru)
19:49:59 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:68e4:4ca8:a63:19fd) (Remote host closed the connection)
19:50:23 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:4e3c:ad56:fffa:225d)
19:53:19 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
19:54:42 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 276 seconds)
19:56:26 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
19:57:43 azimut joins (~azimut@gateway/tor-sasl/azimut)
19:58:39 matthewmosior joins (~matthewmo@173.170.253.91)
19:58:56 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:03:40 Pickchea joins (~private@user/pickchea)
20:04:35 × `2jt quits (~jtomas@141.red-88-17-65.dynamicip.rima-tde.net) (Ping timeout: 260 seconds)
20:04:42 pavonia joins (~user@user/siracusa)
20:06:14 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
20:09:40 × quintasan quits (~quassel@quintasan.pl) ()
20:09:50 quintasan joins (~quassel@quintasan.pl)
20:10:57 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:17:16 × coot quits (~coot@213.134.190.95) (Quit: coot)
20:21:30 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 240 seconds)
20:22:39 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:4e3c:ad56:fffa:225d) (Ping timeout: 276 seconds)
20:23:46 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
20:23:51 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
20:23:58 matthewmosior joins (~matthewmo@173.170.253.91)
20:24:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
20:24:57 Guest41 joins (~Guest41@ool-18bd55d4.dyn.optonline.net)
20:25:10 × Guest41 quits (~Guest41@ool-18bd55d4.dyn.optonline.net) (Client Quit)
20:25:31 segfaultfizzbuzz joins (~segfaultf@157-131-253-58.fiber.dynamic.sonic.net)
20:26:23 seriously joins (~seriously@ool-18bd55d4.dyn.optonline.net)
20:26:43 nek0 joins (~nek0@2a01:4f8:222:2b41::12)
20:31:20 <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
20:31:21 <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.
20:31:32 notzmv joins (~zmv@user/notzmv)
20:31:49 <seriously> "localMaxima :: [Integer] -> [Integer]
20:32:51 <Rembane> seriously: How far have you got?
20:33:15 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
20:33:25 <monochrom> Suppose you want to find the local maxima of [a,b,c,d,e,f,g,h,i,j].
20:33:28 <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
20:34:03 <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]
20:34:06 <geekosaur> but filter only examines individual list elements. you need comparisons to their neighbors
20:34:17 × matthewmosior quits (~matthewmo@173.170.253.91) (Remote host closed the connection)
20:34:28 <seriously> so like filter (\(x:y:z-> ....) xs
20:34:45 <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)]
20:34:46 matthewmosior joins (~matthewmo@173.170.253.91)
20:34:56 <monochrom> 3. Can you now use filter on that?
20:34:56 <seriously> right..."individual elements"
20:35:06 <geekosaur> filter isn't that smart. you can't just declare more elements in its predicate parameter to get more list elements
20:35:11 <monochrom> And now I'm afk.
20:35:14 <int-e> or maybe work on suffixes (aka tails)
20:35:49 <seriously> one sec reading through the suggestions
20:38:13 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
20:39:10 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
20:39:41 <seriously> before I try and figure out your suggestion monochrom, I did have one more intuition that I wanted
20:39:49 <seriously> to throw out there
20:41:46 <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?
20:43:04 <geekosaur> you seem to be trying to reach toward monochrom's suggestion. now you should go back and read it
20:43:04 <Rembane> seriously: Don't you lack one item in the tuples?
20:44:18 × brettgilio quits (~brettgili@c9yh.net) (Remote host closed the connection)
20:46:18 brettgilio joins (~brettgili@c9yh.net)
20:47:17 <EvanR> functional programming solutions, an exercise in setting something up that is easily knocked down xD
20:48:01 <Rembane> Yeah. unfold, fold, C-O-M-B-O!
20:49:37 <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
20:49:52 <EvanR> my hammers are map, filter, and fold. So gotta convert the problem into one or more kind of nails xD
20:50:11 <geekosaur> the problem, as Rembane is trying to highlight, is you need the elements before *and* after a given element. threes, not twos
20:50:22 <geekosaur> see also monochrom's suggestion
20:51:38 × phma quits (~phma@host-67-44-209-41.hnremote.net) (Read error: Connection reset by peer)
20:52:51 phma joins (phma@2001:5b0:215d:e008:5054:f1a6:ecb8:df53)
20:53:25 <seriously> ok im following... So using pattern matching in combination with recursion to achieve a sliding window
20:53:37 chomwitt joins (~chomwitt@2a02:587:dc0d:4a00:b231:296e:3336:4e6e)
20:54:04 <Rembane> seriously: That's another solution, code that one! :)
20:54:09 <EvanR> recursion is cool, but also cool is using a canned function that does the sort of recursion you want
20:54:32 <EvanR> looks like no one mentioned the one monochrom was talking about by name
20:54:36 <ski> is `localMaxima [a]' the empty list ?
20:54:38 × vglfr quits (~vglfr@88.155.25.62) (Ping timeout: 260 seconds)
20:54:46 <Rembane> EvanR: You're just trying to use your hammer. :D
20:55:43 <EvanR> you can use a can as a hammer in a pinch (been playing a lot of project zomboid)
20:56:41 <Rembane> And a stone!
20:59:27 vglfr joins (~vglfr@88.155.25.62)
21:07:28 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
21:08:48 matthewmosior joins (~matthewmo@173.170.253.91)
21:09:27 × chomwitt quits (~chomwitt@2a02:587:dc0d:4a00:b231:296e:3336:4e6e) (Ping timeout: 276 seconds)
21:13:18 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
21:18:59 merijn joins (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl)
21:20:51 wootehfoot joins (~wootehfoo@user/wootehfoot)
21:23:48 × merijn quits (~merijn@c-001-001-028.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
21:24:30 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 260 seconds)
21:30:48 <seriously> still here gents... heres what i have so far:
21:30:58 <seriously> localMaxima :: [Integer] -> [Integer]
21:30:59 <seriously>  localMaxima [] = []
21:30:59 <seriously>  localMaxima lst@(x:y:z:xs)
21:31:00 <seriously>    | length lst < 3 = []
21:31:00 <seriously>    | otherwise =
21:31:01 <seriously>        snd (unzip (filter (\(x,y,z) -> y > x && y > z) (x,y,z):(func y:z:xs)))
21:31:36 <seriously> how can i define a function within a "where" block?
21:32:18 × fockerize quits (~finn@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 3.5)
21:32:40 <seriously> can
21:32:51 <Rembane> seriously: f x = g x where g y = y * 2
21:33:11 <Rembane> seriously: Indentation is important though
21:33:24 <seriously> ok thx
21:33:31 <EvanR> where can attach to any equation
21:33:43 yauhsien_ joins (~yauhsien@61-231-21-122.dynamic-ip.hinet.net)
21:35:29 × yauhsien quits (~yauhsien@61-231-36-12.dynamic-ip.hinet.net) (Ping timeout: 244 seconds)
21:36:34 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
21:37:42 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
21:41:09 matthewmosior joins (~matthewmo@173.170.253.91)
21:41:10 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:42:23 × acidjnk quits (~acidjnk@p200300d6e706ad7551e311a7b45e4414.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
21:43:27 × Topsi quits (~Topsi@37.84.153.102) (Read error: Connection reset by peer)
21:44:10 × belphegor666 quits (~satan@ip-046-223-002-238.um13.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
21:45:38 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 255 seconds)
21:47:35 × Pickchea quits (~private@user/pickchea) (Quit: Leaving)
21:52:16 × mmhat quits (~mmh@p200300f1c7090723ee086bfffe095315.dip0.t-ipconnect.de) (Quit: WeeChat 3.5)
21:52:54 kaskal- is now known as kaskal
21:54:10 × wootehfoot quits (~wootehfoo@user/wootehfoot) (Ping timeout: 240 seconds)
21:55:05 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:57:35 × machinedgod quits (~machinedg@d172-219-86-154.abhsia.telus.net) (Ping timeout: 272 seconds)
21:59:19 nate4 joins (~nate@98.45.169.16)
22:00:33 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
22:02:48 × gmg quits (~user@user/gehmehgeh) (Quit: Leaving)
22:04:03 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
22:05:23 × harry quits (~harry@c-73-93-249-239.hsd1.ca.comcast.net) (Quit: harry)
22:05:36 <ski> seriously : `localMaxima' isn't defined for lists of length one and two (matching against the pattern `x:y:z:xs' happens before it would get a chance to get to the `length lst < 3' guard)
22:07:30 <ski> `snd' isn't defined on triples (only pairs)
22:07:51 × eggplantade quits (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a) (Remote host closed the connection)
22:08:29 <ski> perhaps you meant `func (y:z:xs)' ? (`func y:z:xs' means `(func y):(z:xs)')
22:08:46 <seriously> ok ski thanks for the headsup... still working through how to ....
22:08:59 <seriously> thanks (: that was it
22:09:42 Guest56 joins (~Guest56@2a01:4b00:d001:8c00:7df5:f9db:fcc0:60b7)
22:10:05 <ski> (similarly, i'm suspecting that instead of `filter (\(...) -> ...) (...):(...)' you meant `func (\(...) -> ...) ((...):...)' .. otherwise you're only passing the `(x,y,z)' part, not the part with `func', as an argument to `filter')
22:10:44 × Guest56 quits (~Guest56@2a01:4b00:d001:8c00:7df5:f9db:fcc0:60b7) (Client Quit)
22:11:21 <monochrom> Wait a second, why is an Elm kids' summer camp advertising in haskell-cafe? :)
22:11:39 <ski> btw, instead of using `y:z:xs', you could say e.g. `rest', if you change the pattern `lst@(x:y:z:xs)' into `lst@(x:rest@(y:z:xs))'
22:12:05 <monochrom> And the title is as if the 8-14yos found Haskell too easy :)
22:12:15 <ski> there are Elm kids' summer camps ?
22:12:47 <geekosaur> https://mail.haskell.org/pipermail/haskell-cafe/2022-July/135388.html
22:13:05 <geekosaur> say what now?
22:15:31 <monochrom> Heh pipermail is not going to make it easy to view an HTML email
22:15:35 <hpc> no plaintext fallback :(
22:15:52 <hpc> but they use a cid attachment for the image instead of embedding
22:16:03 matthewmosior joins (~matthewmo@173.170.253.91)
22:16:12 <monochrom> But the title is "mastered Haskell and need a new challenge???", and the text begins with "Learn Elm! Free introduction for ages 8-14 with these coupons"
22:16:37 × ephemient quits (uid407513@id-407513.lymington.irccloud.com) (Quit: Connection closed for inactivity)
22:17:00 <sclv> lmao. if you mastered haskell and need a new challenge and you are 8 years old i suggest you tackle the langlands program
22:17:03 <Bulby[m]> wtf
22:17:17 <monochrom> sclv: Well said haha
22:18:15 <monochrom> I do appreciate that of all summer programming camps, at least someone is trying to do FP in one.
22:19:08 <monochrom> Right? Everyone is crazy with "more kids need to see more python". It is beginning to feel like BASIC-esque.
22:19:58 <geekosaur> oh, it's been there for years
22:20:09 <monochrom> Those who have learned from history are doomed to helplessly watch other people repeat it. >:)
22:20:23 × christiansen quits (~christian@83-95-137-75-dynamic.dk.customer.tdc.net) (Ping timeout: 272 seconds)
22:20:26 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
22:21:40 <seriously> ski since finding my errors was literally target practice for you: also unzip only works on a list of tuples. I needed unzip3
22:21:51 <dolio> How much of a challenge is Elm for someone who's already mastered Haskell?
22:22:03 <geekosaur> I've been surprised someone hasn't recycled dijkstra's basic quote, tbh
22:23:42 <monochrom> Elm lacks a lot of user definability regarding type classes and instances, right? That would be a challenge. >:)
22:24:13 <sclv> i mean python was literally designed as a better teaching language than basic iirc
22:24:18 <monochrom> In the same way I would find BASIC a challenge today. What do you mean I may only have numbers and strings.
22:25:10 <sclv> the worst and weirdest thing basic taught me is that "a computer program has to have a sequence of numbers in front of the lines: 10, 20, 30, 40" and they never f'ing explained why in any of the intro material
22:25:29 <meejah> in case you want to use GOTO of course!
22:25:33 <sclv> that and the all caps etc - a lot of just "syntactic discipline for its own sake"
22:26:11 meejah found QuickBASIC flopies recently..
22:26:12 <geekosaur> …leading me to write a preprocessor that did the line numbers for me
22:26:21 <geekosaur> and write in lowercase
22:27:03 <dolio> sclv: You need that to insert lines in the middle of the program later.
22:27:09 <sclv> right i mean by the time i was doing it, clearly writing such processors was straightforward and did not add much in the way of resource consumption
22:27:14 <dolio> Anticipated AOP. Way ahead of their time.
22:27:28 <monochrom> haha
22:27:50 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
22:28:06 <sclv> so like "we'll teach you this insane way to do things that involves a lot of work that could be done by a computer if only we had one OH WAIT YOU ARE USING ONE ALREADY:!?" was not a welcoming introduction to like "computer programs make your life better and simpler"
22:29:21 <monochrom> OK so one aspect is that back then we didn't have an editor, unless you could call something even more primitive than ed an editor.
22:30:00 <monochrom> Imagine a world in which only REPLs exist.
22:30:01 <sclv> by the time i was doing it we absolutely had editors more sophisticated than ed.
22:30:14 <dolio> That aspect is still lost on a lot of people today, though.
22:30:32 <sclv> like computers were already being used as full fledged typesetting word processors
22:30:33 <monochrom> haha
22:30:40 <hpc> imagine a world in which catting a file cost ink instead of bytes
22:30:47 <hpc> and that's how you get ed
22:31:34 <hpc> there's a reason your terminal device is called a tty, and it's not that unix likes to give things silly names :D
22:31:34 <EvanR> so wait, in old basic, you had to put numbers and you also had line numbers?
22:31:43 <sclv> speaking of AOP and GOTO i recall AOP at one point being described as "the ultimate COMEFROM"
22:31:53 <EvanR> 1 10 print hello world
22:31:55 <EvanR> 2 20 goto 10
22:32:10 <monochrom> Nah you just need the 10 and 20.
22:32:16 <hpc> EvanR: yep, convention was 10x line number so you could insert 9 more lines before redoing your goto
22:32:42 <EvanR> i mean the editors didn't show the actual line numbers because you synthesized your own?
22:32:48 <monochrom> Yes.
22:32:54 <EvanR> mind blown
22:33:01 <seriously> i did it guys. I dont want to start naming all my supporters in fear that i may forget someone; so thank you everyone
22:33:49 <EvanR> hpc, obviously you need to graduate to 100 200 etc
22:33:55 <monochrom> You can use the fibonacci sequence if you want.
22:34:07 <hpc> 1 print "hello"
22:34:08 <hpc> 1 goto 1
22:34:23 <hpc> 2 hang on a minute...
22:34:24 <EvanR> one day they will invent rationals
22:34:25 <monochrom> OK except for the duplicate "1, 1" beginning :)
22:34:37 <sclv> i forget what would happen if the sequence wasn't monotone increasing
22:34:55 <seriously> snd' :: (a,a,a) -> a
22:34:56 <seriously> snd' (x,y,z) = y
22:34:56 <seriously> hasMaxima :: Ord a => (a,a,a) -> Bool
22:34:57 <seriously> hasMaxima (x,y,z) = y > x && y > z
22:34:57 <seriously> localMaxima :: [Integer] -> [Integer]
22:34:57 <hpc> this is why you should use busy beaver numbers
22:34:58 <seriously> localMaxima [] = []
22:34:58 <seriously> localMaxima [x] = []
22:34:59 <seriously> localMaxima [x,y] = []
22:34:59 <seriously> localMaxima (x:y:z:xs) =
22:35:00 <seriously>       snd' (unzip3 (filter (\trip -> hasMaxima trip) ((x,y,z):(func (y:z:xs)))))
22:35:00 <seriously>       where func [] = []
22:35:01 <seriously>             func [x] = []
22:35:01 <seriously>             func [x,y] = []
22:35:02 <seriously>             func (x:y:z:xs) = (x,y,z):func (y:z:xs)
22:35:03 <monochrom> Then you are inserting a line between somewhere, as dolio said.
22:35:07 <hpc> you're guaranteed to never run out of line numbers
22:35:13 <seriously> sorry to bloat chat; but incase any1 was curious
22:35:22 <hpc> @where paste
22:35:22 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
22:35:24 <hpc> :P
22:35:25 <sclv> seriously: please don't paste large listings directly in chat. use the pastebin listed in the channel description
22:35:42 <seriously> ok !
22:35:45 <monochrom> If 10 and 20 already exist, and you enter "15 whatever", it now sits between 10 and 20.
22:35:52 <sclv> lmao.
22:36:13 <sclv> somehow i thought it compiled in order and the line numbers were just jump labels
22:36:18 <monochrom> Last but not least, there is a "renumber" command to normalize your line numbers to [10, 20 ..]
22:36:19 <EvanR> i recall starting new sections at like 10000 because I figured what I was doing before could get pretty big
22:37:09 <EvanR> 10000, 20000, etc 10000 lines should be enough for anyone
22:39:27 × jjhoo quits (~jahakala@user/jjhoo) (Remote host closed the connection)
22:40:01 × jgeerds quits (~jgeerds@55d437cf.access.ecotel.net) (Ping timeout: 272 seconds)
22:40:51 <ski> seriously : the first few defining equations of `localMaxima' is duplicating functionality of `func'. if you want to, you could avoid having multiple termination cases, by using a catch-all case (last). no need to bracket the `func (y:z:xs)' call
22:43:00 <ski> (spelling out the first point more : by the defining equation `func (x:y:z:xs) = (x,y,z):func (y:z:xs)', `(x,y,z):func (y:z:xs)' is equal to `func (x:y:z:xs)'. so you should be able to replace the former with the latter, in the last defining equation of `localMaxima' .. and then you could do further simplifications)
22:43:49 jjhoo joins (~jahakala@user/jjhoo)
22:44:18 × vglfr quits (~vglfr@88.155.25.62) (Ping timeout: 260 seconds)
22:44:27 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds)
22:45:14 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
22:48:53 eggplantade joins (~Eggplanta@2600:1700:bef1:5e10:9851:a856:681c:da1a)
22:54:48 <seriously> ski can you elaborate on this? "the first few defining equations of `localMaxima' is duplicating functionality of `func'. if you want to, you could avoid having multiple termination cases, by using a catch-all case (last)"
22:55:20 <seriously> is "last" some sort of keyword ?
22:57:01 <seriously> I understand your bit about duplication; Im just not sure how I could remove that duplication**
22:57:39 matthewmosior joins (~matthewmo@173.170.253.91)
22:58:27 <geekosaur> no, you put the catch-all case as the last one
22:58:28 <ski> no, not keyword
22:59:03 <EvanR> f 0 = 'a'; f 1 = 'b'; f _ = 'c'
22:59:19 <ski> @src zip
22:59:19 <lambdabot> zip (a:as) (b:bs) = (a,b) : zip as bs
22:59:19 <lambdabot> zip _ _ = []
22:59:30 <ski> is another example of a catch-all
23:03:33 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
23:04:02 matthewmosior joins (~matthewmo@173.170.253.91)
23:04:05 × kjak quits (~kjak@pool-108-31-68-111.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
23:05:12 <ski> seriously : "Im just not sure how I could remove that duplication" -- well, one approach is "struck by lightning insight" (perhaps after "thinking hard" for a while), then change the code accordingly. another is incremental small changes. e.g. beginning with the replacement i suggested
23:06:03 <seriously> :ski got it ; just misunderstood the suggestion
23:07:05 <ski> (got it now ?)
23:07:11 <seriously> instead of defining the singleton list case and the [x,y] case for both func and localMaxima; I could use func _ = []
23:09:56 <ski> you'll still need to do something more for `localMaxima', in order to have it handle all cases (while avoiding functionality duplication), i think
23:11:41 × monaaraj quits (~MonAaraj@user/mon-aaraj/x-4416475) (Ping timeout: 272 seconds)
23:13:01 monaaraj joins (~MonAaraj@user/mon-aaraj/x-4416475)
23:13:34 <seriously> ski heres what i got so far if tour iinterested https://paste.tomsmeding.com/4XNbmDe7
23:13:38 k60` joins (~user@45.155.170.162)
23:15:24 merijn joins (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl)
23:16:07 <ski> seriously : is there a reason you're checking (by pattern-matching) whether the list has three elements, in `localMaxima' ?
23:16:25 <seriously> nope
23:16:32 <seriously> thank you!!
23:18:33 × Tuplanolla quits (~Tuplanoll@91-159-69-97.elisa-laajakaista.fi) (Quit: Leaving.)
23:18:50 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 244 seconds)
23:21:32 <ski> seriously : part of the point of my comments is to realize that after getting the code working, often there can be simplifications one can perform. with practice, you'll be able to anticipate stuff like this earlier
23:24:11 <seriously> point well received *thubs up*
23:27:54 × hueso quits (~root@user/hueso) (Ping timeout: 276 seconds)
23:28:09 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds)
23:28:32 hueso joins (~root@user/hueso)
23:30:16 × seriously quits (~seriously@ool-18bd55d4.dyn.optonline.net) (Ping timeout: 252 seconds)
23:32:08 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
23:33:59 enthropy joins (~enthropy@24-246-69-9.cable.teksavvy.com)
23:35:49 <enthropy> Is this the best use of the monoid-statistics package: (each %%~ MS.calcMean . MS.asMean) . foldMap (each %~ MS.singletonMonoid) :: [(Double, Double,Double)] -> Maybe (Double, Double,Double)
23:36:39 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Ping timeout: 276 seconds)
23:37:09 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
23:37:58 k60`` joins (~user@94.25.174.91)
23:38:59 × k60` quits (~user@45.155.170.162) (Ping timeout: 244 seconds)
23:39:53 vglfr joins (~vglfr@88.155.25.62)
23:39:58 matthewmosior joins (~matthewmo@173.170.253.91)
23:42:01 × yauhsien_ quits (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection)
23:44:22 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
23:44:23 × matthewmosior quits (~matthewmo@173.170.253.91) (Ping timeout: 260 seconds)
23:44:58 × merijn quits (~merijn@c-001-001-003.client.esciencecenter.eduvpn.nl) (Ping timeout: 260 seconds)
23:45:09 × Colere quits (~colere@about/linux/staff/sauvin) (Ping timeout: 256 seconds)
23:45:52 kimjetwav joins (~user@2607:fea8:2340:fe00:730c:be2f:be5e:3847)
23:46:13 machinedgod joins (~machinedg@d172-219-86-154.abhsia.telus.net)
23:46:54 yauhsien joins (~yauhsien@61-231-21-122.dynamic-ip.hinet.net)
23:48:24 Colere joins (~colere@about/linux/staff/sauvin)
23:51:37 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
23:51:59 mvk joins (~mvk@2607:fea8:5ce3:8500::909a)
23:52:42 × yauhsien quits (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Remote host closed the connection)
23:52:54 × dunj3 quits (~dunj3@kingdread.de) (Ping timeout: 276 seconds)
23:53:39 yauhsien joins (~yauhsien@61-231-21-122.dynamic-ip.hinet.net)
23:54:04 jakalx joins (~jakalx@base.jakalx.net)
23:54:45 × waleee quits (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 272 seconds)
23:57:50 × yauhsien quits (~yauhsien@61-231-21-122.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
23:58:41 waleee joins (~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)

All times are in UTC on 2022-07-11.