2021/08/14

2021-08-14 00:02:22 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-14 00:04:17 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Ping timeout: 248 seconds)
2021-08-14 00:05:07 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 268 seconds)
2021-08-14 00:05:53 +0200sander(~sander@user/sander) (Ping timeout: 248 seconds)
2021-08-14 00:06:17 +0200azeem(~azeem@176.200.230.183)
2021-08-14 00:09:25 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds)
2021-08-14 00:11:36 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-14 00:17:16 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 256 seconds)
2021-08-14 00:17:27 +0200azeem(~azeem@176.200.230.183)
2021-08-14 00:21:53 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 248 seconds)
2021-08-14 00:22:28 +0200azeem(~azeem@176.200.230.183)
2021-08-14 00:25:24 +0200jneira(~jneira@28.red-80-28-169.staticip.rima-tde.net)
2021-08-14 00:29:15 +0200 <falsifian> Las[m]: Cool, maybe I will try it later. For now, my current project is already started with ghcjs, so I think I'll stick with it. I was running into trouble re-adding it to nixpkgs, but it looks like I can use haskell.nix instead where it still works.
2021-08-14 00:29:44 +0200 <falsifian> (It was an unpleasant surprise to update to the latest NixOS release to find that ghcjs had disappeared :( )
2021-08-14 00:30:11 +0200jay-invariant(~jay@c-24-4-6-169.hsd1.ca.comcast.net) (Remote host closed the connection)
2021-08-14 00:31:03 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-08-14 00:31:25 +0200drownbes(~igloo@79-206-50-195.sta.estpak.ee)
2021-08-14 00:32:06 +0200jay_invariant(~jay@c-24-4-6-169.hsd1.ca.comcast.net)
2021-08-14 00:32:16 +0200drownbes(~igloo@79-206-50-195.sta.estpak.ee) (Remote host closed the connection)
2021-08-14 00:33:59 +0200haykam1(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-14 00:34:12 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-14 00:34:35 +0200michalz(~michalz@185.246.204.33) (Remote host closed the connection)
2021-08-14 00:34:37 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 00:37:40 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 256 seconds)
2021-08-14 00:38:43 +0200jay-invariant(~jay@c-24-4-6-169.hsd1.ca.comcast.net)
2021-08-14 00:40:07 +0200jay_invariant(~jay@c-24-4-6-169.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2021-08-14 00:43:49 +0200chomwitt(~chomwitt@athedsl-32301.home.otenet.gr) (Remote host closed the connection)
2021-08-14 00:53:33 +0200goepsilongo(~goepsilon@2603-7000-ab00-62ed-95a9-15a9-30f0-cc26.res6.spectrum.com)
2021-08-14 00:54:25 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 248 seconds)
2021-08-14 00:55:11 +0200azeem(~azeem@176.200.230.183)
2021-08-14 00:59:45 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 248 seconds)
2021-08-14 01:00:19 +0200azeem(~azeem@176.200.230.183)
2021-08-14 01:00:37 +0200azeem(~azeem@176.200.230.183) (Read error: Connection reset by peer)
2021-08-14 01:01:55 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-14 01:02:42 +0200tapasSaladin
2021-08-14 01:05:02 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 258 seconds)
2021-08-14 01:05:17 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-08-14 01:09:06 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 240 seconds)
2021-08-14 01:11:09 +0200goepsilongo(~goepsilon@2603-7000-ab00-62ed-95a9-15a9-30f0-cc26.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
2021-08-14 01:11:12 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2021-08-14 01:18:47 +0200SoF(~skius@user/skius) (Quit: Ping timeout (120 seconds))
2021-08-14 01:19:20 +0200Unode(~Unode@194.94.44.220) (Remote host closed the connection)
2021-08-14 01:19:46 +0200aforemny(~aforemny@static.248.158.34.188.clients.your-server.de) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-14 01:20:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 01:20:37 +0200SoF6(~skius@user/skius)
2021-08-14 01:20:38 +0200Unode_(~Unode@194.94.44.220)
2021-08-14 01:20:38 +0200aforemny_(~aforemny@static.248.158.34.188.clients.your-server.de)
2021-08-14 01:20:47 +0200Unode_Unode
2021-08-14 01:20:47 +0200SoF6SoF
2021-08-14 01:23:52 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 01:27:29 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-14 01:27:47 +0200GIANTWORLDKEEPER(~pjetcetal@2.95.210.188)
2021-08-14 01:29:38 +0200GIANTWORLDKEEPER(~pjetcetal@2.95.210.188) (Read error: Connection reset by peer)
2021-08-14 01:34:32 +0200Square(~a@178.62.91.8)
2021-08-14 01:38:50 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com) (Ping timeout: 268 seconds)
2021-08-14 01:39:56 +0200Saladintapas
2021-08-14 01:40:26 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2021-08-14 01:41:42 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 256 seconds)
2021-08-14 01:48:29 +0200Ananta-shesha(~pjetcetal@2.95.210.188)
2021-08-14 01:49:27 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-14 01:52:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-14 01:55:17 +0200slack1256(~slack1256@191.126.13.254)
2021-08-14 01:59:42 +0200hexfive(~eric@50.35.83.177)
2021-08-14 01:59:47 +0200hexfive(~eric@50.35.83.177) (Client Quit)
2021-08-14 02:03:56 +0200vicfred(~vicfred@user/vicfred)
2021-08-14 02:17:28 +0200Cajun(~Cajun@user/cajun) (Ping timeout: 246 seconds)
2021-08-14 02:21:25 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com)
2021-08-14 02:22:33 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-14 02:22:33 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-14 02:22:36 +0200allbery_bgeekosaur
2021-08-14 02:26:09 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-14 02:26:50 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-14 02:27:23 +0200jeslie0(~user@108.162.150.9)
2021-08-14 02:28:57 +0200jeslie0(~user@108.162.150.9) (Remote host closed the connection)
2021-08-14 02:30:07 +0200 <justsomeguy> Las[m]: "Idris is ready for production, if prodution is ready for it." ~ James Brown
2021-08-14 02:31:43 +0200jeslie0(~user@108.162.150.9)
2021-08-14 02:32:14 +0200o1lo01ol1o(~o1lo01ol1@31.22.136.245) (Ping timeout: 272 seconds)
2021-08-14 02:35:47 +0200agua_pesada(~agua_pesa@191.177.175.57)
2021-08-14 02:38:56 +0200Core6816(~agua_pesa@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea) (Ping timeout: 256 seconds)
2021-08-14 02:41:35 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-14 02:42:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2021-08-14 02:44:23 +0200DigitalKiwi(~kiwi@2604:a880:400:d0::12fc:5001) (Quit: quite.)
2021-08-14 02:45:07 +0200DigitalKiwi(~kiwi@2604:a880:400:d0::12fc:5001)
2021-08-14 02:46:14 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 258 seconds)
2021-08-14 02:50:27 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 258 seconds)
2021-08-14 02:50:31 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-08-14 02:50:53 +0200the_proffesor(~theproffe@2601:282:847f:8010::3a29)
2021-08-14 02:51:06 +0200Cajun(~Cajun@user/cajun)
2021-08-14 02:52:26 +0200the_proffesor(~theproffe@2601:282:847f:8010::3a29) (Changing host)
2021-08-14 02:52:26 +0200the_proffesor(~theproffe@user/theproffesor)
2021-08-14 02:52:42 +0200theproffesor(~theproffe@user/theproffesor) (Killed (platinum.libera.chat (Nickname regained by services)))
2021-08-14 02:52:42 +0200the_proffesortheproffesor
2021-08-14 02:52:48 +0200jfrent(~josiah@user/jfrent)
2021-08-14 02:54:11 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-08-14 02:56:56 +0200mnrmnaughmnrgle(~mnrmnaugh@68.162.206.56)
2021-08-14 02:59:45 +0200mnrmnaugh(~mnrmnaugh@68.162.206.56) (Ping timeout: 248 seconds)
2021-08-14 03:07:34 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-14 03:07:57 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 03:11:45 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-14 03:18:15 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:d53f:ff79:b405:7cdc) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-14 03:23:57 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 03:25:07 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
2021-08-14 03:26:54 +0200fjmorazan(~quassel@user/fjmorazan) (Quit: fjmorazan)
2021-08-14 03:27:36 +0200fjmorazan(~quassel@user/fjmorazan)
2021-08-14 03:27:58 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-08-14 03:30:08 +0200notzmv(~zmv@user/notzmv)
2021-08-14 03:33:53 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-14 03:35:54 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:3498:2815:cba3:43e9)
2021-08-14 03:49:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 03:52:02 +0200xff0x(~xff0x@2001:1a81:5278:5300:2655:c9ee:974:3c59) (Ping timeout: 256 seconds)
2021-08-14 03:53:15 +0200hololeap(~hololeap@user/hololeap) (Ping timeout: 244 seconds)
2021-08-14 03:53:37 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de) (Remote host closed the connection)
2021-08-14 03:53:39 +0200xff0x(~xff0x@2001:1a81:52b4:6700:e48a:7334:5a0f:61a4)
2021-08-14 03:53:50 +0200haykam(~haykam@static.100.2.21.65.clients.your-server.de)
2021-08-14 03:54:09 +0200hololeap(~hololeap@user/hololeap)
2021-08-14 03:55:43 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-14 03:58:04 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:3498:2815:cba3:43e9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-14 04:01:55 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:2c98:e880:4d8:8f3d)
2021-08-14 04:04:03 +0200jeslie0(~user@108.162.150.9) (Ping timeout: 258 seconds)
2021-08-14 04:05:44 +0200Codaraxis(~Codaraxis@user/codaraxis) (Quit: Leaving)
2021-08-14 04:06:28 +0200lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-08-14 04:08:15 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-14 04:09:39 +0200slack1256(~slack1256@191.126.13.254) (Remote host closed the connection)
2021-08-14 04:10:03 +0200lbseale_(~lbseale@user/ep1ctetus)
2021-08-14 04:10:27 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 256 seconds)
2021-08-14 04:11:37 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-08-14 04:12:49 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 248 seconds)
2021-08-14 04:16:01 +0200wei2912(~wei2912@112.199.250.21)
2021-08-14 04:16:22 +0200td_(~td@muedsl-82-207-238-005.citykom.de) (Ping timeout: 245 seconds)
2021-08-14 04:18:20 +0200td_(~td@94.134.91.195)
2021-08-14 04:19:05 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-14 04:21:37 +0200hendursaga(~weechat@user/hendursaga)
2021-08-14 04:23:23 +0200hendursaga(~weechat@user/hendursaga) (Client Quit)
2021-08-14 04:23:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-14 04:24:54 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 256 seconds)
2021-08-14 04:25:22 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-08-14 04:25:22 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (osmium.libera.chat (Nickname regained by services)))
2021-08-14 04:25:22 +0200finn_elijaFinnElija
2021-08-14 04:32:40 +0200hendursaga(~weechat@user/hendursaga)
2021-08-14 04:39:33 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-14 04:40:23 +0200Axman6(~Axman6@user/axman6)
2021-08-14 04:44:37 +0200HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
2021-08-14 04:44:47 +0200Axman6(~Axman6@user/axman6) (Remote host closed the connection)
2021-08-14 04:46:17 +0200Axman6(~Axman6@user/axman6)
2021-08-14 05:01:21 +0200cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2021-08-14 05:01:34 +0200cheater(~Username@user/cheater)
2021-08-14 05:01:38 +0200fvr(uid503686@id-503686.highgate.irccloud.com)
2021-08-14 05:07:55 +0200mnrmnaughmnrglemnrmnaugh
2021-08-14 05:11:52 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-14 05:12:12 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2021-08-14 05:23:57 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 05:27:29 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-14 05:28:24 +0200kevin_(~tripoli@69.233.98.238)
2021-08-14 05:28:25 +0200kevin_(~tripoli@69.233.98.238) (Client Quit)
2021-08-14 05:29:07 +0200tripoli(~tripoli@69.233.98.238)
2021-08-14 05:31:22 +0200fef(~thedawn@user/thedawn)
2021-08-14 05:31:40 +0200alx741(~alx741@181.196.68.193) (Quit: alx741)
2021-08-14 05:45:54 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-08-14 05:50:45 +0200zaquest(~notzaques@5.128.210.178)
2021-08-14 05:52:52 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-14 05:53:05 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.2)
2021-08-14 05:54:30 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-14 05:58:44 +0200stevenxl(uid133530@id-133530.highgate.irccloud.com)
2021-08-14 06:07:30 +0200smitop(~smitop@user/smitop) (Read error: Connection reset by peer)
2021-08-14 06:08:08 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-08-14 06:08:11 +0200smitop(~smitop@user/smitop)
2021-08-14 06:12:17 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 248 seconds)
2021-08-14 06:19:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 06:23:25 +0200mnrmnaughKeziahMason
2021-08-14 06:36:00 +0200fef(~thedawn@user/thedawn) (Ping timeout: 244 seconds)
2021-08-14 06:48:37 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-14 06:53:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-14 07:09:00 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2021-08-14 07:23:10 +0200ellie(~ellie@user/ellie) (Quit: The Lounge - https://thelounge.chat)
2021-08-14 07:23:23 +0200ellie(~ellie@user/ellie)
2021-08-14 07:24:12 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 07:25:20 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-14 07:25:20 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-14 07:25:58 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-14 07:27:36 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 258 seconds)
2021-08-14 07:30:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
2021-08-14 07:43:03 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Quit: Leaving)
2021-08-14 07:45:05 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-14 07:47:23 +0200ellieell
2021-08-14 07:50:12 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-14 07:55:19 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
2021-08-14 07:58:16 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds)
2021-08-14 08:05:11 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-08-14 08:05:38 +0200sander(~sander@user/sander)
2021-08-14 08:06:07 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-08-14 08:10:08 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 08:11:02 +0200bitmapper(uid464869@id-464869.tooting.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-14 08:11:13 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 08:11:37 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 08:12:43 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 08:13:09 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 08:14:10 +0200retroid_(~retro@5ec19a54.skybroadband.com)
2021-08-14 08:14:13 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 08:14:36 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 08:24:23 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-14 08:29:44 +0200Axman6(~Axman6@user/axman6) (Ping timeout: 260 seconds)
2021-08-14 08:29:45 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-08-14 08:31:37 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
2021-08-14 08:31:38 +0200Lord_of_Life_Lord_of_Life
2021-08-14 08:39:43 +0200vrilles(~vrilles@user/aman) (Quit: vrilles)
2021-08-14 08:50:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 09:03:59 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-14 09:07:15 +0200 <tomsmeding> hololeap: in case you hadn't already figured it out: the problem in your applyExtraArgs function is exactly what I said earlier about non-injective type families
2021-08-14 09:07:31 +0200 <tomsmeding> Where if Foo is non-injective, ghc can't infer a from knowing what Foo a is
2021-08-14 09:07:50 +0200 <tomsmeding> In this case, ghc can't infer r from knowing what WithExtraArgs as r is
2021-08-14 09:08:40 +0200 <tomsmeding> Hm but it's weird
2021-08-14 09:11:28 +0200 <tomsmeding> Yeah I bet that your fucking problem is AllowAmbiguousTypes
2021-08-14 09:11:31 +0200 <tomsmeding> I knew it
2021-08-14 09:11:36 +0200 <tomsmeding> I hate AllowAmbiguousTypes
2021-08-14 09:11:46 +0200 <tomsmeding> applyExtraArgs is uncallable
2021-08-14 09:12:18 +0200tripoli(~tripoli@69.233.98.238) (Quit: tripoli)
2021-08-14 09:12:43 +0200 <tomsmeding> Unless you give it actual type applications
2021-08-14 09:13:10 +0200 <tomsmeding> Type ascriptions (like you've done here) aren't enough because of the non-injective type family that doesn't actually say what r is
2021-08-14 09:13:55 +0200 <tomsmeding> I bet if you give the call of applyExtraArgs in the last line of foo two type applications, @as' @r, then it'll compile
2021-08-14 09:19:04 +0200 <tomsmeding> hololeap: ah, actually only @_ @r is necessary of course, because as is already pinned down by the Sing thing
2021-08-14 09:20:05 +0200 <tomsmeding> also with the current code you can remove the proxy argument from 'foo' since its type variable, a, is already inferrable from the function-typed argument
2021-08-14 09:20:19 +0200 <tomsmeding> ((->) _is_ injective since it's a data constructor :p )
2021-08-14 09:20:40 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se)
2021-08-14 09:22:46 +0200 <Cajun> so im trying to build monomer because i saw it on the subreddit, but despite having freetype2 on my path and all installed via my package manager, it refuses to see ft2build.h, specifically when building nanovg. also, the required version for nanovg is >= 0.8 but nanovg only goes to 0.7, what gives?
2021-08-14 09:24:10 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 09:24:17 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-14 09:26:27 +0200 <Cajun> more specifically, it spits this out: https://paste.tomsmeding.com/zJHTNu8Z
2021-08-14 09:26:40 +0200 <Cajun> i have freetype2 set up, the dir is on the path, so why cant it find the header?
2021-08-14 09:27:20 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 09:27:29 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-14 09:29:08 +0200 <tomsmeding> Cajun: this PR on nanovg-hs bumps version to 0.8; presumably fjvallarino assumes this is merged soon :p https://github.com/cocreature/nanovg-hs/pull/14
2021-08-14 09:29:24 +0200 <tomsmeding> only sounds relevant if you're using windows
2021-08-14 09:30:13 +0200 <Cajun> im on windows but WSL, so its irrelevant
2021-08-14 09:30:24 +0200 <tomsmeding> Cajun: re include paths: presumably it's only looking in the standard include paths, e.g. /usr/include, not in /usr/include/freetype2
2021-08-14 09:30:30 +0200 <maerwald[m]> https://github.com/fjvallarino/monomer/issues/7
2021-08-14 09:30:50 +0200 <maerwald[m]> the hackage version is simply broken
2021-08-14 09:30:59 +0200 <Cajun> tomsmeding: well i have `/usr/include/freetype2` on the path so...
2021-08-14 09:31:19 +0200 <tomsmeding> Cajun: which path?
2021-08-14 09:31:28 +0200 <Cajun> whatever $PATH is
2021-08-14 09:31:35 +0200euouae(~euouae@user/euouae)
2021-08-14 09:31:41 +0200 <tomsmeding> maerwald[m]: your build log is outdated, because there _is_ a 0.7 on hackage, just not a 0.8 :p (point still stands)
2021-08-14 09:31:50 +0200euouae(~euouae@user/euouae) ()
2021-08-14 09:31:54 +0200 <tomsmeding> Cajun: $PATH is completely unrelated to finding libraries, it's for finding executables
2021-08-14 09:32:04 +0200 <tomsmeding> s/libraries/header files/
2021-08-14 09:32:05 +0200 <maerwald[m]> tomsmeding: how's my build log outdated?
2021-08-14 09:32:11 +0200 <tomsmeding> though the libraries statement is also true
2021-08-14 09:32:14 +0200 <maerwald[m]> the dependency is nanovg>=0.8 && <1.0
2021-08-14 09:32:15 +0200 <Cajun> ah that would make sense, im not too great with linux yet :P
2021-08-14 09:32:21 +0200 <tomsmeding> maerwald[m]: your cabal only has nanovg 0.6 but 0.7 exists on hackage
2021-08-14 09:32:36 +0200 <tomsmeding> (not that that helps yet)
2021-08-14 09:32:41 +0200 <Cajun> well `nanovg>=0.8 && <1.0` would still fail yeah
2021-08-14 09:33:20 +0200 <Cajun> its why im using --allow-older just to see if it wants to work
2021-08-14 09:33:33 +0200 <tomsmeding> Cajun: seeing that header file would happen with one of two changes: 1. the include is changed to #include <freetype2/ft2build.h>, or 2. gcc gets -I/usr/include/freetype2
2021-08-14 09:33:40 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-14 09:34:40 +0200 <Cajun> could i move the `freetypes` folder and the `ft2build.h` header outside of `/usr/include/freetypes2` into `/usr/include` ?
2021-08-14 09:35:03 +0200 <Cajun> it seems like whats in the `/include/freetypes2` folder is how all of the other headers in there are formatted
2021-08-14 09:35:04 +0200Axman6(~Axman6@user/axman6)
2021-08-14 09:35:58 +0200 <tomsmeding> Cajun: yeah that's a pretty standard layout as you have it currently
2021-08-14 09:36:19 +0200 <tomsmeding> while you _could_ copy the folder contents, I strongly recommend you don't
2021-08-14 09:36:26 +0200 <tomsmeding> I'll have a try building it
2021-08-14 09:36:26 +0200 <Cajun> hmm well what does `gcc gets -I/usr/include/freetype2` mean?
2021-08-14 09:37:06 +0200 <tomsmeding> gcc needs that as an additional command-line argument
2021-08-14 09:37:41 +0200 <Cajun> so how can i pass that through `cabal build` ? or do i just do that command alone
2021-08-14 09:38:06 +0200 <tomsmeding> I _think_ nanovg needs to add 'cc-options: -I/usr/include/freetype2' in this 'else'-branch https://github.com/cocreature/nanovg-hs/blob/master/nanovg.cabal#L90
2021-08-14 09:38:09 +0200 <tomsmeding> but uncertain
2021-08-14 09:39:27 +0200 <Cajun> so nanovg is just broke currently?
2021-08-14 09:39:37 +0200 <tomsmeding> yeah
2021-08-14 09:39:49 +0200 <tomsmeding> perhaps there are systems where it isn't, because I think this is a linux-specific issue
2021-08-14 09:41:37 +0200 <maerwald> tomsmeding: extra-include-dirs
2021-08-14 09:41:47 +0200 <tomsmeding> ah
2021-08-14 09:43:06 +0200 <Cajun> well im glad im not going crazy :) thanks for making this make sense!
2021-08-14 09:43:08 +0200 <maerwald> nanovg has too many issues, I get c2hs errors
2021-08-14 09:44:26 +0200 <maerwald> also, freetype has pkgconfig files
2021-08-14 09:44:38 +0200 <maerwald> why is it not using those
2021-08-14 09:45:05 +0200sm2n(~sm2n@user/sm2n) (Ping timeout: 248 seconds)
2021-08-14 09:45:27 +0200 <tomsmeding> maerwald: shouldn't it be include-dirs instead of extra-include-dirs?
2021-08-14 09:45:43 +0200 <maerwald> extra-include-dirs you can pass on the cmdline
2021-08-14 09:45:51 +0200 <tomsmeding> ah right
2021-08-14 09:45:52 +0200 <zyklotomic> is there a way to type a do statement?
2021-08-14 09:46:03 +0200 <zyklotomic> like x <- do :: [Int]
2021-08-14 09:46:23 +0200 <maerwald> x :: [Int] <- do
2021-08-14 09:46:30 +0200 <tomsmeding> maerwald: probably the author of nanovg isn't very familiar with linux :p
2021-08-14 09:46:38 +0200 <zyklotomic> maerwald: thumbs up lol
2021-08-14 09:47:10 +0200 <maerwald> tomsmeding: that would surprise me
2021-08-14 09:48:11 +0200 <tomsmeding> seems indeed just adding ', freetype2' to that pkgconfig-depends makes it work
2021-08-14 09:48:52 +0200 <maerwald> pkgconfig isn't well implemented in cabal, because it doesn't allow falling back to other means
2021-08-14 09:49:13 +0200 <maerwald> often times whether you have pkg-config of a lib depends on the library version or even the distro
2021-08-14 09:49:23 +0200 <tomsmeding> right
2021-08-14 09:49:41 +0200 <maerwald> https://github.com/haskell/cabal/issues/6771
2021-08-14 09:49:42 +0200 <tomsmeding> lol monomer itself doesn't build
2021-08-14 09:50:09 +0200 <Cajun> are you getting the version dependency issue?
2021-08-14 09:50:22 +0200 <Cajun> or is this another issue with the library...
2021-08-14 09:50:50 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-14 09:50:56 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee) (Ping timeout: 268 seconds)
2021-08-14 09:50:57 +0200timCF_(~timCF@200-149-20-81.sta.estpak.ee) (Ping timeout: 248 seconds)
2021-08-14 09:51:13 +0200 <tomsmeding> no I actually got so far as to compile monomer itself https://paste.tomsmeding.com/tLnOGV5Y
2021-08-14 09:51:32 +0200 <tomsmeding> by relaxing the nanovg bounds to 0.7 and adding freetype2 to the pkgconfig-depends list of nanovg
2021-08-14 09:51:47 +0200 <maerwald> use nanosvg 0.8
2021-08-14 09:52:02 +0200 <tomsmeding> right
2021-08-14 09:52:54 +0200 <maerwald> https://github.com/fjvallarino/monomer/pull/8
2021-08-14 09:53:10 +0200 <maerwald> oops
2021-08-14 09:53:14 +0200 <maerwald> that's a broken PR
2021-08-14 09:53:34 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-14 09:53:43 +0200 <maerwald> they put cabal.project in gitignore
2021-08-14 09:53:46 +0200 <maerwald> *sigh*
2021-08-14 09:54:40 +0200 <maerwald> now
2021-08-14 09:56:06 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-14 09:56:49 +0200 <tomsmeding> ah the nanovg-0.8 from that windows PR actually puts freetype2 in the nanovg.cabal file :p
2021-08-14 09:59:07 +0200 <tomsmeding> making a project that depends on monomer and adding the monomer repo and fjvallarino's fork of nanovg-hs as subdirectories, and then checking out ba8733f in nanovg-hs, and adding a cabal.project in my root project with 'packages: . monomer nanovg-hs' works for me
2021-08-14 09:59:39 +0200 <Cajun> sounds like.. a lot of work
2021-08-14 10:00:02 +0200 <maerwald> don't understand why you'd do that
2021-08-14 10:00:12 +0200 <maerwald> that's what source-repository-package is for, see my PR
2021-08-14 10:01:02 +0200 <tomsmeding> ah because I don't know cabal.project well enough
2021-08-14 10:01:16 +0200 <tomsmeding> don't need the +stb_truetype flag here
2021-08-14 10:01:40 +0200 <tomsmeding> is that really cabal support though?
2021-08-14 10:01:46 +0200 <JavierNeira[m]> https://cabal.readthedocs.io/en/latest/cabal-projectindex.html#cap-cabal.project%20fields :-)
2021-08-14 10:01:57 +0200 <JavierNeira[m]> yeah, in `constraints:`
2021-08-14 10:02:01 +0200 <tomsmeding> like, it probably allows you to build the monomer repo, but if that gets uploaded to hackage, would it allow me to _depend_ on monomer
2021-08-14 10:02:15 +0200 <tomsmeding> or is cabal.project also inspected for dependencies
2021-08-14 10:02:25 +0200 <maerwald> no
2021-08-14 10:02:30 +0200 <maerwald> cabal support /= hackage support
2021-08-14 10:02:34 +0200 <tomsmeding> right
2021-08-14 10:03:15 +0200 <tomsmeding> maerwald: is that +stb_truetype flag necessary for you?
2021-08-14 10:03:27 +0200 <maerwald> no idea, it's in stack.yaml
2021-08-14 10:03:48 +0200 <maerwald> I can't build at all due to c2hs errors
2021-08-14 10:04:03 +0200 <tomsmeding> mac?
2021-08-14 10:04:07 +0200 <maerwald> linux
2021-08-14 10:04:18 +0200 <maerwald> c2hs is constantly broken, because it re-implements its own C parser
2021-08-14 10:05:02 +0200 <tomsmeding> interesting, I'm on arch with a fairly new C compiler and it works for me
2021-08-14 10:05:20 +0200tripoli(~tripoli@69.233.98.238)
2021-08-14 10:05:36 +0200hendursa1(~weechat@user/hendursaga)
2021-08-14 10:07:24 +0200 <tomsmeding> heh got the first tutorial example to compile, but it won't run because SDL fails to create a GL context (?)
2021-08-14 10:07:40 +0200 <tomsmeding> oh, no because glMakeCurrent fails
2021-08-14 10:07:56 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-14 10:08:52 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-14 10:09:31 +0200tomsmedingis going to do something else for a while :p
2021-08-14 10:09:53 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-14 10:10:04 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-14 10:10:34 +0200 <Cajun> yeah this just sounds like hell, i think im going to let this library settle for a month or more and move to other alternatives, ive heard `gi-gtk-declarative` isnt awful
2021-08-14 10:17:34 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-14 10:17:37 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-14 10:17:40 +0200allbery_bgeekosaur
2021-08-14 10:19:29 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-14 10:24:04 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-14 10:24:20 +0200elf_fortrez(~elf_fortr@adsl-72-50-6-221.prtc.net)
2021-08-14 10:27:15 +0200trueboxguy(~trueboxgu@user/trueboxguy) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-08-14 10:30:30 +0200shredder(~user@user/shredder) (Quit: quitting)
2021-08-14 10:31:21 +0200shredder(~user@user/shredder)
2021-08-14 10:31:34 +0200agua_pesada(~agua_pesa@191.177.175.57) (Quit: CoreIRC for Android - www.coreirc.com)
2021-08-14 10:31:51 +0200aguapesada(~aguapesad@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea)
2021-08-14 10:32:52 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-14 10:34:43 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-08-14 10:36:30 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-14 10:37:47 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Remote host closed the connection)
2021-08-14 10:38:18 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 10:41:10 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-14 10:45:54 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Remote host closed the connection)
2021-08-14 10:47:01 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 10:50:41 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-08-14 10:51:59 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Ping timeout: 268 seconds)
2021-08-14 10:52:51 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-14 10:55:14 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-14 10:58:22 +0200oxide(~lambda@user/oxide)
2021-08-14 10:59:13 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-14 11:01:21 +0200sander(~sander@user/sander) (Ping timeout: 248 seconds)
2021-08-14 11:01:58 +0200sander(~sander@user/sander)
2021-08-14 11:02:37 +0200oxide(~lambda@user/oxide) (Client Quit)
2021-08-14 11:19:42 +0200ikex(~ash@user/ikex) (Ping timeout: 256 seconds)
2021-08-14 11:20:26 +0200sander(~sander@user/sander) (Quit: So long! :))
2021-08-14 11:20:31 +0200ikex(~ash@user/ikex)
2021-08-14 11:20:32 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-14 11:20:39 +0200sm2n(~sm2n@user/sm2n)
2021-08-14 11:21:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 11:21:02 +0200sander(~sander@user/sander)
2021-08-14 11:22:32 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-14 11:23:59 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-08-14 11:24:17 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 11:25:56 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 256 seconds)
2021-08-14 11:27:29 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-14 11:29:34 +0200sander(~sander@user/sander) (Quit: So long! :))
2021-08-14 11:31:10 +0200sander(~sander@user/sander)
2021-08-14 11:35:28 +0200sndr(~sander@user/sander)
2021-08-14 11:36:08 +0200sander(~sander@user/sander) (Ping timeout: 256 seconds)
2021-08-14 11:36:15 +0200sndrsander
2021-08-14 11:37:04 +0200lavaman(~lavaman@98.38.249.169)
2021-08-14 11:41:56 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-14 11:42:57 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Ping timeout: 248 seconds)
2021-08-14 11:42:57 +0200jneira(~jneira@28.red-80-28-169.staticip.rima-tde.net) (Ping timeout: 248 seconds)
2021-08-14 11:45:50 +0200azeem(~azeem@176.200.230.183)
2021-08-14 11:47:28 +0200azeem(~azeem@176.200.230.183) (Read error: Connection reset by peer)
2021-08-14 11:47:47 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-14 11:51:17 +0200dunj3(~dunj3@2001:16b8:3087:1500:4897:30d0:e9f9:702b)
2021-08-14 11:52:05 +0200jneira(~jneira@28.red-80-28-169.staticip.rima-tde.net)
2021-08-14 11:55:16 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-14 11:55:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-08-14 11:59:22 +0200polyphem(~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083) (Ping timeout: 256 seconds)
2021-08-14 12:01:32 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-14 12:03:48 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-14 12:04:52 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-14 12:05:53 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 248 seconds)
2021-08-14 12:07:00 +0200kuribas(~user@ptr-25vy0i7jvn9rvz44z49.18120a2.ip6.access.telenet.be)
2021-08-14 12:08:18 +0200 <kuribas> Is there a libary that does polymorphic operations over records?
2021-08-14 12:08:27 +0200sander(~sander@user/sander) (Quit: So long! :))
2021-08-14 12:08:31 +0200 <kuribas> Like taking a subset of (named) fields.
2021-08-14 12:08:38 +0200 <kuribas> Transforming the types of fields...
2021-08-14 12:09:48 +0200 <carbolymer> does anyone has an example of a single file haskell script with cabal? like stack script, but with cabal? my duckduckgo-fu seems to fail me today...
2021-08-14 12:09:51 +0200sander(~sander@user/sander)
2021-08-14 12:10:21 +0200 <kuribas> hmm, maybe I can use https://hackage.haskell.org/package/generic-data-surgery-0.3.0.0
2021-08-14 12:11:09 +0200 <kuribas> carbolymer: how do you specify packages if it's a single file?
2021-08-14 12:12:00 +0200 <carbolymer> ok, I've found it... but it seems that it recompiles everything each time, and stack does some additional caching... https://github.com/haskell/cabal/issues/5688#issuecomment-438456164
2021-08-14 12:12:06 +0200 <carbolymer> kuribas: ^
2021-08-14 12:12:26 +0200 <carbolymer> s/everything/my code/
2021-08-14 12:13:04 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-14 12:14:01 +0200 <kuribas> I just use ghc or ghci.
2021-08-14 12:14:11 +0200 <kuribas> But it depends on globally installed packages, so it's not ideal.
2021-08-14 12:14:46 +0200 <carbolymer> kuribas: but you can pin version in dependencies, can't you?
2021-08-14 12:14:55 +0200 <carbolymer> aah, you mean ghc
2021-08-14 12:15:16 +0200 <carbolymer> right - I was looking for more portable solution so I can drop single file on a machine and make it work there
2021-08-14 12:15:35 +0200 <kuribas> Nowadays I make a small package always...
2021-08-14 12:16:13 +0200 <kuribas> if the ghci approach doesn't work.
2021-08-14 12:20:36 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-14 12:21:47 +0200keutoi(~keutoi@157.48.222.12)
2021-08-14 12:23:08 +0200tripoli(~tripoli@69.233.98.238) (Quit: nyaa~)
2021-08-14 12:25:36 +0200 <kuribas> uhm, data-surgery doesn't loop over all fields...
2021-08-14 12:25:36 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-08-14 12:26:19 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-14 12:26:27 +0200 <kuribas> Is there no library to do generic record operations, like in clojure?
2021-08-14 12:26:58 +0200 <kuribas> Like mapping all fields (polymorphically), taking a subset of fields, union of two records.
2021-08-14 12:28:25 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-08-14 12:29:07 +0200Erutuon(~Erutuon@user/erutuon) (Quit: WeeChat 2.8)
2021-08-14 12:29:13 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-14 12:32:58 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-14 12:34:05 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net)
2021-08-14 12:35:14 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-14 12:38:03 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 268 seconds)
2021-08-14 12:39:54 +0200sander(~sander@user/sander) (Ping timeout: 268 seconds)
2021-08-14 12:43:52 +0200dunj3(~dunj3@2001:16b8:3087:1500:4897:30d0:e9f9:702b) (Ping timeout: 245 seconds)
2021-08-14 12:48:28 +0200sander(~sander@user/sander)
2021-08-14 12:50:58 +0200dudek(~dudek@185.150.236.112)
2021-08-14 12:59:13 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 248 seconds)
2021-08-14 13:01:18 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 13:05:28 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 13:05:32 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Ping timeout: 245 seconds)
2021-08-14 13:09:56 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-14 13:10:07 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-14 13:24:17 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 13:28:01 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-14 13:28:34 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 13:31:13 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-14 13:33:22 +0200azeem(~azeem@dynamic-adsl-94-34-33-6.clienti.tiscali.it)
2021-08-14 13:36:38 +0200shredder(~user@user/shredder) (Ping timeout: 268 seconds)
2021-08-14 13:41:35 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 13:43:22 +0200yushyin(MbKMC7U51Q@karif.server-speed.net) (Quit: WeeChat 3.1)
2021-08-14 13:43:33 +0200yushyin(PW3hWJBC9s@karif.server-speed.net)
2021-08-14 13:47:35 +0200 <adamCS> kuribas: vinyl? https://hackage.haskell.org/package/vinyl
2021-08-14 13:47:52 +0200 <kuribas> adamCS: no, I want to use just records.
2021-08-14 13:48:11 +0200 <adamCS> Ah.
2021-08-14 13:49:18 +0200 <kuribas> I am messing around now to make something easy to use...
2021-08-14 13:50:38 +0200vpan(~vilius@212.117.1.172)
2021-08-14 13:51:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 13:52:01 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 248 seconds)
2021-08-14 13:54:55 +0200lavaman(~lavaman@98.38.249.169)
2021-08-14 13:55:46 +0200 <kuribas> using a newtype to define a generic operation.
2021-08-14 13:56:17 +0200 <Franciman> hi, is there any pretty printing library allowing to specify precedence rules
2021-08-14 13:56:27 +0200 <Franciman> so that the output does not contain extra parantheses?
2021-08-14 13:57:51 +0200shredder(~user@user/shredder)
2021-08-14 13:59:14 +0200igghibu(~igghibu@91.193.5.28)
2021-08-14 13:59:21 +0200igghibu(~igghibu@91.193.5.28) (Client Quit)
2021-08-14 14:00:42 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-14 14:05:50 +0200aarchi(sid486183@id-486183.highgate.irccloud.com)
2021-08-14 14:07:30 +0200 <aarchi> Is it possible to install multiple GHC versions in parallel? I want to install GHC 5.02 on macOS 10.14.
2021-08-14 14:08:05 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:2c98:e880:4d8:8f3d) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-14 14:08:28 +0200 <Hecate> kuribas: much better, a typed language that compiles to JVM bytecode
2021-08-14 14:08:43 +0200 <Hecate> (curse, my IRC client betrayed me)
2021-08-14 14:09:12 +0200 <kuribas> Hecate: yes?
2021-08-14 14:09:34 +0200 <Franciman> aarchi: yes, with ghcup
2021-08-14 14:09:40 +0200 <Franciman> it is handy
2021-08-14 14:09:40 +0200 <kuribas> Hecate: have a look at this: https://flix.dev/
2021-08-14 14:09:43 +0200 <maerwald> 5.02??
2021-08-14 14:09:58 +0200 <kuribas> Hecate: and don't mention scala :)
2021-08-14 14:10:09 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it)
2021-08-14 14:10:57 +0200tam(~alpha@163.172.215.78) (Quit: WeeChat 2.7.1)
2021-08-14 14:11:14 +0200 <Hecate> kuribas: nah I'm just waiting for the moment when GHC backends will be more pluggable
2021-08-14 14:11:14 +0200 <maerwald> 5.02 is i386 only :D
2021-08-14 14:11:22 +0200 <Hecate> so Eta will be able to live again
2021-08-14 14:11:26 +0200 <aarchi> Yes 5.02. I am formalizing a spec for the Whitespace programming language (created by the creator of Idris) based on its reference implementation that was written in Haskell, tested on GHC 5.02
2021-08-14 14:11:38 +0200 <maerwald> there's no bindist for mac
2021-08-14 14:11:38 +0200 <kuribas> Hecate: AFAIK it never lived.
2021-08-14 14:11:42 +0200 <maerwald> https://downloads.haskell.org/~ghc/5.02/
2021-08-14 14:11:43 +0200 <Hecate> kuribas: shortly
2021-08-14 14:11:57 +0200 <kuribas> nobody used it seriously
2021-08-14 14:12:01 +0200 <maerwald> you'll have a hard time bootstrapping 5.02
2021-08-14 14:12:06 +0200 <aarchi> Probably would be a pain to bootstrap
2021-08-14 14:12:19 +0200 <maerwald> VM
2021-08-14 14:12:27 +0200 <Hecate> kuribas: that's another thing, due to its short life :P
2021-08-14 14:12:32 +0200 <aarchi> Yeah that's my best option, I guess
2021-08-14 14:13:51 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-14 14:16:03 +0200 <kuribas> Hecate: I never believed it would take off. On the other hand I didn't believe in ghcjs either (and still don't).
2021-08-14 14:16:14 +0200shredder(~user@user/shredder) (Quit: quitting)
2021-08-14 14:16:30 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:2c98:e880:4d8:8f3d)
2021-08-14 14:17:35 +0200shredder(~user@user/shredder)
2021-08-14 14:20:50 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:2c98:e880:4d8:8f3d) (Ping timeout: 258 seconds)
2021-08-14 14:23:46 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:2c98:e880:4d8:8f3d)
2021-08-14 14:24:41 +0200 <Hecate> kuribas: I don't believe in GHCJS as being adequate for the browser, but a JVM backend with excellent Java FFI would be a game changer in enterprise environments
2021-08-14 14:25:51 +0200 <kuribas> Hecate: it could be, but it's a huge effort.
2021-08-14 14:25:59 +0200 <kuribas> Which I doubt many people are willing to do.
2021-08-14 14:27:07 +0200 <Hecate> kuribas: I'm not betting on willingness
2021-08-14 14:27:15 +0200 <Hecate> I'm betting on corporate money
2021-08-14 14:27:45 +0200 <kuribas> corporations aren't interested in haskell
2021-08-14 14:28:07 +0200 <kuribas> And if they are, they aren't willing to pay big bucks for an unsupported platform.
2021-08-14 14:28:24 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:2c98:e880:4d8:8f3d) (Ping timeout: 256 seconds)
2021-08-14 14:30:29 +0200 <Hecate> kuribas: I don't know what is the basis of your first sentence but I have first-hand experience of the contrary, so it's a bit hard to believe you on your word :P
2021-08-14 14:30:32 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-14 14:30:57 +0200 <Hecate> regarding supporting an unsupported platform, I don't understand why it would be "unsupported"
2021-08-14 14:31:08 +0200 <kuribas> Hecate: a few, but not that many AFAIK...
2021-08-14 14:31:18 +0200 <kuribas> Hecate: but if I am wrong, even better :)
2021-08-14 14:31:43 +0200 <Hecate> there are more than we know because they're not "in the community" as much as Tweag/Well-Typed
2021-08-14 14:31:51 +0200 <Hecate> but there have been more in the past years
2021-08-14 14:32:24 +0200 <Hecate> Nova Discovery in France, Scrive in Sweden/Czech Republic, the StanChart teams in Poland & the UK…
2021-08-14 14:32:57 +0200 <Hecate> I bet Tweag would love to have a JVM backend
2021-08-14 14:33:17 +0200 <kuribas> Hecate: you know of this right? https://hackage.haskell.org/package/inline-java
2021-08-14 14:33:38 +0200 <kuribas> Hecate: it would be nice to have, but it would mean maintaining a separate ecosystem.
2021-08-14 14:34:37 +0200 <Hecate> kuribas: yes I know of this, that's why I say that a more integrated solution would please Tweag
2021-08-14 14:35:03 +0200 <Hecate> kuribas: no, it's just means that some packages are not portable across all platforms, which is already the case
2021-08-14 14:35:10 +0200 <Hecate> it has always been the case
2021-08-14 14:35:54 +0200 <Hecate> again, I don't know what is your reasoning behind "maintaining a separate ecosystem", which certainly sounds scary but you bring this without any deeper explanation so it's like an empty threat :P
2021-08-14 14:37:22 +0200 <kuribas> Hecate: huh what?
2021-08-14 14:37:31 +0200 <kuribas> Am I threatening someone?
2021-08-14 14:37:49 +0200 <kuribas> I just have a hard time to believe people will pay for this.
2021-08-14 14:37:55 +0200 <kuribas> Seeing the sorry state of some libraries...
2021-08-14 14:38:00 +0200 <kuribas> In what we have now.
2021-08-14 14:38:25 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 248 seconds)
2021-08-14 14:39:31 +0200 <Hecate> kuribas: considering that the Haskell Foundation has raised half a million dollars from corporations using Haskell, I have no doubt that they are ready to pay
2021-08-14 14:39:33 +0200drd(~drd@93-39-151-19.ip76.fastwebnet.it) (Ping timeout: 268 seconds)
2021-08-14 14:39:46 +0200 <Hecate> they don't want to organise though, which is what the HF is paid to do
2021-08-14 14:39:47 +0200 <kuribas> Hecate: well, good!
2021-08-14 14:40:12 +0200 <kuribas> Don't get me wrong, I am not against a java ghc...
2021-08-14 14:40:22 +0200 <Hecate> pretty sure outputting .NET bytecode will earn us a big fat chèque from MS as well :P
2021-08-14 14:43:14 +0200 <kuribas> Maybe webassembly would be nice
2021-08-14 14:44:31 +0200 <Hecate> kuribas: https://github.com/tweag/asterius
2021-08-14 14:45:22 +0200polyphem(~polyphem@2a02:810d:640:776c:c8d6:203f:c7c7:b242)
2021-08-14 14:47:06 +0200 <kuribas> ah, nice!
2021-08-14 14:52:18 +0200sander(~sander@user/sander) (Quit: So long! :))
2021-08-14 14:52:45 +0200 <kuribas> ah sweet, my generic record map works! https://gist.github.com/kuribas/9111beafd31a9368efa75d94fb68fb6f
2021-08-14 14:53:12 +0200 <kuribas> And is easy to use, just define a newtype with MapField instance.
2021-08-14 14:55:35 +0200 <kuribas> Now I only need to implement union, subset and superset...
2021-08-14 14:58:23 +0200jehugawa(~jehugawa@2a01:4f9:c010:4649::1)
2021-08-14 14:58:46 +0200 <fvr> what would the union of two records return? You first need to create a new record with the union of all the fields in them?
2021-08-14 14:59:04 +0200 <kuribas> yes
2021-08-14 14:59:07 +0200sander(~sander@user/sander)
2021-08-14 15:00:26 +0200 <fvr> I wrote a library that creates sub record types and conversion functions with template haskell a few years ago
2021-08-14 15:00:30 +0200 <fvr> https://github.com/vacationlabs/record-splicer
2021-08-14 15:00:49 +0200alx741(~alx741@181.196.68.193)
2021-08-14 15:02:43 +0200 <kuribas> neat
2021-08-14 15:03:09 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-14 15:07:11 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 15:07:30 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2021-08-14 15:11:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 248 seconds)
2021-08-14 15:12:27 +0200idf(~idf@198.23.223.146)
2021-08-14 15:15:53 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-14 15:17:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-14 15:19:15 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-08-14 15:19:35 +0200 <keutoi> Is there a way to get the default Show instance of a data type without deriving it? I have a custom Show instance for a data type, but I also want to see the default as it helps during debugging.
2021-08-14 15:19:40 +0200pragma-(~chaos@user/pragmatic-chaos)
2021-08-14 15:23:11 +0200 <dminuoso> You can also write out the instance yourself, of course
2021-08-14 15:23:11 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-14 15:23:40 +0200 <dminuoso> keutoi: Honestly, if you have custom formatting, Show is likely a bad candidate anyway
2021-08-14 15:23:54 +0200 <dminuoso> It's often misused as a generic "ToString" type of class, but that's not the purpose of it.
2021-08-14 15:24:35 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 15:24:48 +0200 <dminuoso> For custom formatting, I'd either have a library specific Pretty typeclass, or a bunch of pretty functions, like prettyFoo and prettyBar. Then you can still use Show for debugging like its intended, and not be in conflict with your domain specific prettification
2021-08-14 15:25:46 +0200vrilles(~vrilles@user/aman)
2021-08-14 15:28:01 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 248 seconds)
2021-08-14 15:31:12 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-14 15:32:24 +0200 <keutoi> I am only using the custom show instance for debugging, but there is some ambiguity as different inputs produce the same string. In default instance they will be different. So I wanted to see if there is some function, say /show_canonical/ which prints the default version.
2021-08-14 15:33:57 +0200 <dminuoso> keutoi: Show is supposed to produce a Haskell expression that evaluates/reads back into the same value.
2021-08-14 15:34:40 +0200markpythonicbitc(~markpytho@50.228.44.6)
2021-08-14 15:34:54 +0200 <dminuoso> Use something other than Show. Some custom class if you must (generally this is a bad idea, since you rarely have only a single canonical way of stringifying some data type), or just functions
2021-08-14 15:38:28 +0200lbseale_(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-08-14 15:40:31 +0200 <keutoi> I guess just using functions for custom conversion and deriving the default instance is a saner way of working with this.
2021-08-14 15:40:36 +0200 <keutoi> dminuoso: Thank You
2021-08-14 15:42:32 +0200 <kuribas> Is there a map which allows fetching by type?
2021-08-14 15:42:58 +0200 <dminuoso> You mean like a GADT?
2021-08-14 15:43:07 +0200 <kuribas> No, just the type of the contents
2021-08-14 15:43:55 +0200 <kuribas> "store :: a -> DynamicMap -> DynamicMap" "retrieve :: DynamicMap -> Maybe a"
2021-08-14 15:44:23 +0200 <Hecate> keutoi: from your usecase it would seem that you need a Debug typeclass :)
2021-08-14 15:45:08 +0200 <dminuoso> keutoi: What you could do, is use CPP or a runtime flag to swap out the definition of such a pretty function with the use of a deriving generated Show.
2021-08-14 15:45:42 +0200 <dminuoso> Presumably you have some fields that are hidden or considered internal?
2021-08-14 15:46:21 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-08-14 15:47:50 +0200 <Hecate> guess I my next crusade is to put a Debug typeclass in base
2021-08-14 15:48:26 +0200 <dminuoso> What's wrong with Show?
2021-08-14 15:48:40 +0200 <dminuoso> Typeclasses are an already bad fit for this domain
2021-08-14 15:48:54 +0200 <dminuoso> It works for Show because it has very clear semantics with little room for ambiguities.
2021-08-14 15:48:55 +0200 <Hecate> dminuoso: "Show" itself is not problematic, this is not the proper reasoning
2021-08-14 15:49:28 +0200 <dminuoso> But for Debug its a bad idea. You generally dont have a single canonical way of presenting a debug output for a value.
2021-08-14 15:49:35 +0200 <dminuoso> You tend to have multiple ones
2021-08-14 15:49:41 +0200 <dminuoso> It's why Pretty is a bad idea most of time too
2021-08-14 15:50:03 +0200 <Hecate> dminuoso: considering the amount of "Show" that is used for Deugging, I'd say this fits in many usecases
2021-08-14 15:50:31 +0200 <dminuoso> Hecate: Sure, because often you just want to know how this value was constructed
2021-08-14 15:51:01 +0200 <keutoi> dminuoso: I have not used CPP in haskell before, but this might be just what I need for now. Let me try...
2021-08-14 15:51:03 +0200 <Hecate> and also what it looks like
2021-08-14 15:51:25 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se) (Quit: ERC (IRC client for Emacs 28.0.50))
2021-08-14 15:52:16 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-14 15:52:40 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se)
2021-08-14 15:53:54 +0200 <Hecate> dminuoso: my point is rather than every datatype has different needs when it comes to pretty-printing/debugging, and a Show instance without a less principled couterpart is never the answer
2021-08-14 15:53:54 +0200nf(~n@monade.li) (Quit: Fairfarren.)
2021-08-14 15:54:06 +0200nf(~n@monade.li)
2021-08-14 15:54:11 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se) (Remote host closed the connection)
2021-08-14 15:54:18 +0200 <Hecate> because you inevitably end up trying to fit your domain into the instance, which produces unlawful instances
2021-08-14 15:54:33 +0200berberman(~berberman@user/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-14 15:54:48 +0200 <kuribas> dminuoso: nevermind, I'll use a datatype and this :) https://hackage.haskell.org/package/generic-lens-2.2.0.0/docs/Data-Generics-Product-Any.html
2021-08-14 15:55:29 +0200berberman(~berberman@user/berberman)
2021-08-14 15:59:32 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-08-14 16:01:24 +0200 <keutoi> dminuoso: CPP works perfectly to switch between default and custom instances. Thank You.
2021-08-14 16:13:06 +0200AndrewYuluk4yx
2021-08-14 16:13:09 +0200luk4yxAndrewYu
2021-08-14 16:13:49 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-14 16:14:57 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-14 16:16:28 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-14 16:17:35 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-14 16:17:55 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net)
2021-08-14 16:22:34 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-08-14 16:23:00 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2021-08-14 16:27:58 +0200elf_fortrez(~elf_fortr@adsl-72-50-6-221.prtc.net) (Ping timeout: 246 seconds)
2021-08-14 16:34:34 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-14 16:34:55 +0200zcombinator(~zcombinat@37.162.157.57)
2021-08-14 16:35:00 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-14 16:36:01 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-14 16:37:58 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-14 16:38:14 +0200vpan(~vilius@212.117.1.172) (Quit: Leaving.)
2021-08-14 16:39:17 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-14 16:43:06 +0200cross(~cross@spitfire.i.gajendra.net) (Ping timeout: 240 seconds)
2021-08-14 16:44:49 +0200cross(~cross@spitfire.i.gajendra.net)
2021-08-14 16:47:26 +0200 <maerwald> show isn't for debugging :p
2021-08-14 16:48:03 +0200jeslie0(~user@108.162.150.9)
2021-08-14 16:48:07 +0200 <kuribas> maerwald: pPrint is :)
2021-08-14 16:48:19 +0200 <kuribas> or at least, it's what I use :-P
2021-08-14 16:48:24 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-14 16:48:24 +0200 <maerwald> https://hackage.haskell.org/package/network-uri-2.7.0.0/docs/src/Network.URI.html#line-274
2021-08-14 16:48:38 +0200 <maerwald> show is for... hmm, showing stuff
2021-08-14 16:48:51 +0200 <maerwald> log-safe
2021-08-14 16:49:11 +0200 <kuribas> I'd say debugging is the primary usecase for Show...
2021-08-14 16:49:59 +0200 <maerwald> then you might not like the show utf8 proposal
2021-08-14 16:50:09 +0200 <maerwald> for the string instance
2021-08-14 16:51:00 +0200jeslie0(~user@108.162.150.9) (Remote host closed the connection)
2021-08-14 16:51:12 +0200gethuen(uid502979@id-502979.stonehaven.irccloud.com)
2021-08-14 16:52:43 +0200 <maerwald> https://gitlab.haskell.org/ghc/ghc/-/issues/20027
2021-08-14 16:53:41 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-14 16:54:53 +0200kuribas(~user@ptr-25vy0i7jvn9rvz44z49.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-08-14 16:55:16 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com)
2021-08-14 16:56:35 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-14 17:01:11 +0200 <joeyh> if a cabal file has a extra-deps github: line, and the git repository contains several packages, with a cabal.project in it that lists them all, will stack use those packages to satisfy other extra-deps?
2021-08-14 17:01:16 +0200 <keutoi> How constrained should I be w.r.t read . show == id ? Is it idiomatic that this hold?
2021-08-14 17:01:37 +0200 <tomsmeding> aarchi: doesn't the whitespace code build on a newer ghc? did you try, perhaps one in the 7 series that ghcup still has?
2021-08-14 17:02:18 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-14 17:03:05 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 17:05:11 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Read error: Connection reset by peer)
2021-08-14 17:06:33 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Quit: FinnElija)
2021-08-14 17:07:17 +0200 <hololeap> keutoi: yes, it's considered bad practice to use Show for anything other than "poor-man's serialization"
2021-08-14 17:07:35 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Ping timeout: 258 seconds)
2021-08-14 17:09:08 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 17:09:56 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 17:10:26 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-08-14 17:10:45 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 17:11:08 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 17:12:16 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 17:12:40 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 17:13:42 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-14 17:13:45 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 17:14:08 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 17:14:14 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 17:14:39 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 17:15:15 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 17:15:35 +0200fendor(~fendor@178.165.196.92.wireless.dyn.drei.com)
2021-08-14 17:15:40 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 17:16:45 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 17:17:10 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi)
2021-08-14 17:18:15 +0200mattil(~mattilinn@84-253-224-16.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-14 17:18:48 +0200Erupmi(~user@2001:8003:2309:8400:1683:bc27:3e09:7cdc)
2021-08-14 17:19:24 +0200Erupmi(~user@2001:8003:2309:8400:1683:bc27:3e09:7cdc) (Client Quit)
2021-08-14 17:19:48 +0200machinedgod(~machinedg@24.105.81.50) (Remote host closed the connection)
2021-08-14 17:19:53 +0200Erupmi(~user@2001:8003:2309:8400:1683:bc27:3e09:7cdc)
2021-08-14 17:21:48 +0200Erupmi(~user@2001:8003:2309:8400:1683:bc27:3e09:7cdc) (Remote host closed the connection)
2021-08-14 17:23:17 +0200Guest15(~Guest15@2001:8003:2309:8400:1683:bc27:3e09:7cdc)
2021-08-14 17:24:09 +0200Guest15(~Guest15@2001:8003:2309:8400:1683:bc27:3e09:7cdc) (Client Quit)
2021-08-14 17:24:39 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 17:28:28 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-08-14 17:39:37 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-08-14 17:40:32 +0200tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-08-14 17:40:45 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-14 17:42:52 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-14 17:45:09 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com) (Ping timeout: 268 seconds)
2021-08-14 17:45:20 +0200zcombinator(~zcombinat@37.162.157.57) (Quit: WeeChat 3.2)
2021-08-14 17:47:30 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-14 17:47:55 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-14 17:48:36 +0200V(~v@anomalous.eu) (Ping timeout: 258 seconds)
2021-08-14 17:48:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-14 17:58:30 +0200 <sm> joeyh, that's a bit of a puzzler. extra-deps in a cabal file ? stack and cabal.project ? do all those things go together ?
2021-08-14 17:59:04 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Remote host closed the connection)
2021-08-14 18:01:05 +0200keutoi(~keutoi@157.48.222.12) (Ping timeout: 248 seconds)
2021-08-14 18:02:57 +0200keutoi(~keutoi@223.182.21.173)
2021-08-14 18:05:22 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 18:08:01 +0200aegon(~mike@174.127.249.180)
2021-08-14 18:08:30 +0200 <aegon> I'm instancing Read manually for the first time and am unsure how to deal with the precidence correctly https://paste.tomsmeding.com/KUDLLu1Q
2021-08-14 18:08:59 +0200 <aegon> i got those types backwards Point should be the newtype and Position is what point is :X
2021-08-14 18:09:53 +0200dcompoze(~dcompoze@5E98D6D9.static.tld.pl)
2021-08-14 18:11:21 +0200t0zy(~t0zy@49.207.220.61)
2021-08-14 18:11:42 +0200 <aegon> here's a correct paste https://paste.tomsmeding.com/HnQi4a6S
2021-08-14 18:15:46 +0200t0zy(~t0zy@49.207.220.61) (Client Quit)
2021-08-14 18:15:49 +0200jackdk(sid373013@cssa/jackdk) (Ping timeout: 258 seconds)
2021-08-14 18:16:58 +0200 <monochrom> w00t GHC 8.10.6
2021-08-14 18:17:00 +0200jackdk(sid373013@cssa/jackdk)
2021-08-14 18:19:17 +0200wei2912(~wei2912@112.199.250.21) (Quit: Lost terminal)
2021-08-14 18:20:26 +0200 <sm> \o/
2021-08-14 18:20:48 +0200darxun(sid504814@tinside.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 18:20:48 +0200_0x47(sid508683@tinside.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 18:21:59 +0200_0x47(sid508683@id-508683.tinside.irccloud.com)
2021-08-14 18:24:24 +0200darxun(sid504814@id-504814.tinside.irccloud.com)
2021-08-14 18:28:51 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-14 18:29:26 +0200dcompoze_(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
2021-08-14 18:30:20 +0200hongminhee(sid295@tinside.irccloud.com) (Read error: Connection reset by peer)
2021-08-14 18:30:29 +0200hongminhee(sid295@id-295.tinside.irccloud.com)
2021-08-14 18:32:12 +0200dcompoze(~dcompoze@5E98D6D9.static.tld.pl) (Ping timeout: 245 seconds)
2021-08-14 18:39:41 +0200HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06) (Quit: Leaving)
2021-08-14 18:41:31 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-14 18:43:22 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-08-14 18:44:40 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-14 18:44:41 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583) (Read error: Connection reset by peer)
2021-08-14 18:44:54 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-14 18:45:13 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-14 18:46:47 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-14 18:48:40 +0200 <joeyh> sm: it seems not, based on some experiments. ended up having to clone it and add file paths instead
2021-08-14 18:48:58 +0200 <joeyh> oh, the stack file had the extra-deps not the cabal file of course
2021-08-14 18:49:37 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 248 seconds)
2021-08-14 18:49:48 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-14 18:50:01 +0200 <maerwald> link or it didn't happen
2021-08-14 18:52:32 +0200 <tomsmeding> maerwald: https://mail.haskell.org/pipermail/ghc-devs/2021-August/020101.html
2021-08-14 18:52:43 +0200pragma-(~chaos@user/pragmatic-chaos) (Bye!)
2021-08-14 18:52:44 +0200 <maerwald> tomsmeding: yeah?
2021-08-14 18:52:52 +0200 <tomsmeding> or did you mean the extra-deps thing :p
2021-08-14 18:53:01 +0200 <sm> joeyh: right, I believe `extra-deps` is in stack.yaml, github repositories can't be in a cabal file's dependencies:, and stack doesn't see cabal.project
2021-08-14 18:53:15 +0200 <maerwald> yeah, basically tooling mess
2021-08-14 18:54:57 +0200 <sm> s/dependencies:/build-depends:/
2021-08-14 18:55:11 +0200 <maerwald> joeyh: so you are using cabal?
2021-08-14 18:55:21 +0200 <dminuoso> 18:50:59 maerwald | [14:47:26] show isn't for debugging :p
2021-08-14 18:56:31 +0200 <dminuoso> Arguably it is. Deriving generated instances give a very strong hint at what the point is - providing valid Haskell expressions that both evaluate and `read` back to the value, clearly is aimed at providing an internal representation of data objects.
2021-08-14 18:56:54 +0200 <maerwald> dminuoso: did you check my link where the show instance hides the password? :p
2021-08-14 18:57:07 +0200 <maerwald> tbh... I don't even know what to think of it
2021-08-14 18:57:08 +0200 <dminuoso> Yes, some packages break that habit.
2021-08-14 18:57:25 +0200 <maerwald> but it's true that Show is used in logging
2021-08-14 18:57:31 +0200 <maerwald> either explicit or implicitly
2021-08-14 18:57:38 +0200 <maerwald> you don't want prett-printing in logging
2021-08-14 18:57:40 +0200 <dminuoso> Not in the general case
2021-08-14 18:57:49 +0200 <dminuoso> I wholeheartedly disagree
2021-08-14 18:57:54 +0200 <dminuoso> You want pretty printing in logging.
2021-08-14 18:58:06 +0200 <maerwald> well, I don't have a strong opinion
2021-08-14 18:58:06 +0200 <dminuoso> You want to control the output since it's for enduser consumption
2021-08-14 18:58:15 +0200 <aegon> depends on how much you pay for passive logging
2021-08-14 18:58:18 +0200 <maerwald> logging sux, I'm glad when I'm done with it
2021-08-14 18:58:39 +0200 <aegon> imo, if its an error report pretty print away, otherwise keep it to a minimum needed to trace processes
2021-08-14 18:58:50 +0200 <maerwald> but now that you mention it... I did switch from Show to some pretty print for logging bc it was awful
2021-08-14 18:59:17 +0200 <dminuoso> My rule of thumb is: If the output is meant for developers, go crazy with `show` all you want - it's great because it gives as much internal structure of values as possible.
2021-08-14 18:59:31 +0200 <aegon> congrats on 8.10.6
2021-08-14 18:59:35 +0200 <dminuoso> If its for non-developers, try and pretty print (whatever that means, really)
2021-08-14 18:59:48 +0200vrilles(~vrilles@user/aman) (Quit: vrilles)
2021-08-14 18:59:58 +0200 <dminuoso> It doesnt mean you have to unload a pretty printer library, but at least provide `pretty` type of functions `pprT :: T -> String`
2021-08-14 18:59:59 +0200 <sm> I'm a developer and I pretty print everything, because reading pages of run together Show output is not what my brain is for
2021-08-14 19:00:31 +0200 <joeyh> maerwald: I was building with stack. unsure what stack uses cabal for and what it doesn't
2021-08-14 19:01:00 +0200 <sm> joeyh: in that case, reference the github repos in stack.yaml, not cabal.project
2021-08-14 19:01:12 +0200 <maerwald> joeyh: stack uses Setup.hs
2021-08-14 19:03:25 +0200 <aegon> i started using cabal and have switched to stack, now it seems more projects are using cabal. Is stack semi-abandoned in favor of cabal now that fp-complete is doing more rust oriented develoment or what are the general feels about the two
2021-08-14 19:03:44 +0200 <dminuoso> aegon: I'd say the community is fairly split
2021-08-14 19:03:46 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-14 19:04:17 +0200 <aegon> I know they are not 1:1. I like the isolation between projects of stack, i don't particularly like the resolver notion
2021-08-14 19:04:24 +0200 <sm> it's a polarised topic, #haskell tends to lean anti stack, industrial programmers tend to be pro stack
2021-08-14 19:04:50 +0200 <aegon> its easier to point someone new to haskell to stack than cabal. I haven't looked at what cabal has been up too since 2008-ish though
2021-08-14 19:04:53 +0200 <dminuoso> From my perspective the main motivations behind stack have become moot since cabal has introduced nix-style builds years ago.
2021-08-14 19:04:56 +0200 <maerwald> sm: any source for that?
2021-08-14 19:05:15 +0200 <aegon> kk, i'll ask in off topic then after some coffee :P
2021-08-14 19:05:21 +0200 <sm> my personal observation over the years
2021-08-14 19:05:23 +0200 <dminuoso> But if you want to use stack, there's nothing inherently wrong with it. Just bear in mind that it introduces additional tooling that you need to cater for.
2021-08-14 19:05:54 +0200 <aegon> i'm new to nix, i'd be into switching, is there a good blog post about cabal + nix for isolation?
2021-08-14 19:05:57 +0200 <maerwald> sm: cardano-node uses cabal
2021-08-14 19:06:06 +0200 <dminuoso> aegon: cabal + nix is a different topic again!
2021-08-14 19:06:12 +0200 <sm> maerwald: also, various haskell surveys over the years
2021-08-14 19:06:30 +0200 <aegon> dminuoso: :X
2021-08-14 19:06:37 +0200 <dminuoso> aegon: When I said `nix-style` builds I meant that cabal has started doing builds the way nix does a few years ago.
2021-08-14 19:06:42 +0200 <maerwald> sm: does the haskell survey say if stack users are industrial programmers?
2021-08-14 19:06:45 +0200 <dminuoso> This essentially solved dependency hell with cabal
2021-08-14 19:06:59 +0200 <dminuoso> Also, what is an "industrial programmer"
2021-08-14 19:07:19 +0200 <dminuoso> aegon: So you have the following options:
2021-08-14 19:08:03 +0200 <sm> agh no cross examination at this time of morning please. :) If you have been paying attention to the haskell world for a few years this has not been in question. Maybe it it shifting ? You will need a new haskell survey to be sure
2021-08-14 19:08:08 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Quit: Reconnecting)
2021-08-14 19:08:17 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-14 19:08:23 +0200 <maerwald> sm: I have been paying attention and I didn't get your impression
2021-08-14 19:08:25 +0200 <dminuoso> 1. cabal nix-style (this is just called `cabal` nowadays), 2. stack, 3. cabal + nix (provide cabal/ghc/native dependencies via nix, but otherwise do a plain cabal build like in 1), 3. nix using callCabal2nix, 4. nix using haskell.nix.
2021-08-14 19:08:34 +0200 <maerwald> my impression is that it's basically impossible to say
2021-08-14 19:08:49 +0200 <dminuoso> Oh sorry, the count was wrong.
2021-08-14 19:08:55 +0200 <dminuoso> 1. cabal nix-style (this is just called `cabal` nowadays), 2. stack, 3. cabal + nix (provide cabal/ghc/native dependencies via nix, but otherwise do a plain cabal build like in 1), 4. nix using callCabal2nix, 5. nix using haskell.nix.
2021-08-14 19:08:57 +0200 <monochrom> It is not very difficult to say "I have no data".
2021-08-14 19:08:57 +0200 <dminuoso> There.
2021-08-14 19:09:02 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Remote host closed the connection)
2021-08-14 19:09:17 +0200keutoi(~keutoi@223.182.21.173) (Ping timeout: 245 seconds)
2021-08-14 19:10:13 +0200keutoi(~keutoi@223.182.21.173)
2021-08-14 19:10:34 +0200 <maerwald> also: stack vs cabal isn't a "company" decision... I can use any stack build system with cabal
2021-08-14 19:10:37 +0200 <maerwald> I decide myself :)
2021-08-14 19:10:51 +0200 <aegon> for a new comer that is far too many optoins, i'm really curious about nix since its gaining traction from my "gut" feeling talking with others in haskell land but it feels wierd to me.
2021-08-14 19:10:53 +0200 <maerwald> in public projects, I want stack.yaml and cabal.project likewise
2021-08-14 19:11:02 +0200 <sclv> aegon: the standard cabal (nix-style) builds now give you the isolation between projects without sacrificing the resolver notion, so it sounds like that might be the simplest approach to start with
2021-08-14 19:11:23 +0200 <aegon> I don't really understand it but from what i grokk it feels like giving up on compatible / generic code and making os blot containers for every lib version ever and relying on isolation to deal with vulnerabilities?
2021-08-14 19:11:30 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-14 19:11:37 +0200 <dminuoso> aegon: 3 is just a slight improvement of 1 in my opinion, consider that you need to provide the binaries of cabal, ghc and native dependencies some way!
2021-08-14 19:11:43 +0200 <dminuoso> perhaps it ought not be listed here.
2021-08-14 19:11:50 +0200 <dminuoso> since it's, at the end, just plain cabal
2021-08-14 19:11:56 +0200wonko(~wjc@62.115.229.50)
2021-08-14 19:12:01 +0200 <sclv> imho using "actual nix" for everything is either because you like using nix to manage everything else in your dev ecosystem, or because you are at a shop that's using nix for its workflows pervasively
2021-08-14 19:12:14 +0200 <sclv> for individual projects/libs my experience is nix buys very little
2021-08-14 19:12:22 +0200 <maerwald> aegon: oh, nix isn't a good fit if you care about vulnerabilities and security fixes
2021-08-14 19:12:26 +0200 <sclv> but for managing releases/deployments of large multi-component systems it buys a Lot
2021-08-14 19:13:16 +0200 <dminuoso> Indeed. We are currently building a multi node fleet of about 25 different servers doing different things. A fair chunk of it runs custom haskell code, and there's a lot of coupling and dependencies
2021-08-14 19:13:33 +0200 <dminuoso> For this type of deployment going all nixos/nix helps a lot staying sane
2021-08-14 19:13:36 +0200 <aegon> sclv: dminuoso: i'll try switching over a project from stack to the new cabal, do you have a good pointer to docs to freshen up on?
2021-08-14 19:13:50 +0200 <dminuoso> aegon: cabal has very good documentation
2021-08-14 19:13:56 +0200 <maerwald> @hackage stack2cabal -- aegon
2021-08-14 19:13:56 +0200 <lambdabot> https://hackage.haskell.org/package/stack2cabal -- aegon
2021-08-14 19:14:06 +0200 <sclv> https://cabal.readthedocs.io/en/3.4/nix-local-build-overview.html
2021-08-14 19:14:09 +0200 <monochrom> Clearly, the decision about nix is very easy. If you already know nix, it's a no-brainer to add "now use it for haskell stuff". If you don't already know nix, clearly it is Bismarck's Nightmare to fight both nix and haskell stuff at the same time.
2021-08-14 19:14:31 +0200 <dminuoso> monochrom: Indeed, it took me nearly 2 to get a full grasp and handle on nixos and nix.
2021-08-14 19:14:35 +0200 <dminuoso> 2 years.
2021-08-14 19:14:51 +0200 <dminuoso> But we didnt have someone in our company to help and train
2021-08-14 19:15:00 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-14 19:15:11 +0200 <dminuoso> Figuring everything out by yourself is incredibly nightmarish
2021-08-14 19:15:12 +0200 <sclv> yes, we rely heavily on nix at work and i can't imagine what we'd do without it, some ungodly combination of puppet and docker and three other things, i imagine. also i barely understand it at all and rely on our nix-experts to do anything nontrivial :-)
2021-08-14 19:15:22 +0200 <sm> is there any change Nix-style could be removed and replaced with another term in cabal docs ? It's confusing
2021-08-14 19:15:24 +0200 <sm> chance
2021-08-14 19:15:33 +0200 <dminuoso> sm: absolutely, make the proposal?
2021-08-14 19:15:51 +0200Guest74(~Guest74@91-155-110-45.elisa-laajakaista.fi)
2021-08-14 19:15:57 +0200 <sclv> iirc nobody really likes the name, but there's been no clear far better replacements
2021-08-14 19:16:07 +0200 <maerwald> sclv: I had the same. The nix guru left and we rewrote in ansible and never looked back, because after all, the problem was advertised more complicated than it actually was :p
2021-08-14 19:16:31 +0200 <dminuoso> For us, the only alternative would be kubernetes
2021-08-14 19:16:35 +0200 <sclv> the word "nix" luckily doesn't appear anywhere in the commands and u/x for haskell afaik
2021-08-14 19:16:48 +0200 <sm> I found https://github.com/haskell/cabal/issues/6105
2021-08-14 19:16:51 +0200 <dminuoso> But kubernetes is just as complicated in terms of knowledge needed to absorb
2021-08-14 19:17:08 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk)
2021-08-14 19:17:08 +0200Guest74(~Guest74@91-155-110-45.elisa-laajakaista.fi) (Client Quit)
2021-08-14 19:17:14 +0200 <sm> but v2-build is even worse
2021-08-14 19:17:23 +0200 <maerwald> whether you have a nix guru or a kubernetes guru... not much difference
2021-08-14 19:17:24 +0200 <sclv> my feeling is as we rewrite the docs (ongoing) then its a good opportunity to clean that all up, especially since "v2-build" or "nix style build" is just "build" and its really just a term to distinguish from legacy build
2021-08-14 19:17:29 +0200 <maerwald> except the nix guru might be more expensive
2021-08-14 19:17:38 +0200 <sclv> so on a long enough timeframe, the right prefix is... none
2021-08-14 19:17:41 +0200 <dsal> So you're saying nix is more lucrative...
2021-08-14 19:17:48 +0200 <maerwald> it's more niche
2021-08-14 19:18:04 +0200 <dsal> I really like nixos as a user, but I haven't really figured out how to do anything useful with nix as a thing.
2021-08-14 19:18:10 +0200 <maerwald> and nix is heavily oversold
2021-08-14 19:18:15 +0200 <maerwald> so it can pay well
2021-08-14 19:18:18 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 258 seconds)
2021-08-14 19:18:37 +0200 <dminuoso> Btw, I was very amused when you said
2021-08-14 19:18:39 +0200 <dminuoso> 18:58:05 maerwald | well, I don't have a strong opinion
2021-08-14 19:18:44 +0200 <dminuoso> You're one with very strong opinions. :-)
2021-08-14 19:18:47 +0200 <maerwald> lol
2021-08-14 19:19:02 +0200 <sclv> who hacked maerwalds account!?
2021-08-14 19:19:17 +0200 <maerwald> maybe I just like to get roasted? ;-)
2021-08-14 19:20:37 +0200gethuen(uid502979@id-502979.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-14 19:21:05 +0200vicfred(~vicfred@user/vicfred) (Ping timeout: 248 seconds)
2021-08-14 19:21:32 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Ping timeout: 252 seconds)
2021-08-14 19:21:40 +0200 <monochrom> Give a man a fire, and he will be warm for a day. Give a strong opinion, and you will be warm for the rest of your life.
2021-08-14 19:23:19 +0200 <aegon> the nix-style builds looks like all the same stuff, i need to learn how to run local hoogle in cabal-nix land per project and this seems like an easy switch / way out of resolver land
2021-08-14 19:24:23 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 19:24:50 +0200 <dminuoso> aegon: "nix-style builds" is just a fancy way of saying that cabal since a few years will put build artifacts into a system global store, thereby allowing multiple flavors/versions of a dependency to co-exist.
2021-08-14 19:25:07 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-14 19:25:18 +0200 <dminuoso> This is termed "nix-style" since this was inspired by how nix builds things.
2021-08-14 19:25:35 +0200 <sclv> aegon: `cabal v2-haddock --haddock-hoogle` should generate the hoogledb? note that v2-haddock in general is not in great shape to be honest.
2021-08-14 19:26:04 +0200 <sclv> it may have gotten better, but where it ends up stashing stuff is sort of confusing
2021-08-14 19:26:37 +0200 <sclv> the whole notion of haddocks has a more "global" feel than a lot of other commands, so its a bit more odd in the new paradigm
2021-08-14 19:27:11 +0200 <maerwald[m]> Imo nix only makes sense if you don't control the environment
2021-08-14 19:27:11 +0200 <dminuoso> For my uses, `hoogle` on the website against the stackage resolver seems to work fine 95% of the time. :P
2021-08-14 19:27:18 +0200 <sclv> instead of "nix style" it might be more generic to call these "store-style builds" as opposed to "packagedb-style builds"
2021-08-14 19:27:25 +0200 <sclv> for some neutral terminology going forward
2021-08-14 19:27:41 +0200 <maerwald[m]> That's why cardano's daedalus uses nix to set up the wallet and node etc
2021-08-14 19:27:47 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-14 19:27:57 +0200 <maerwald[m]> Because you don't know the users env
2021-08-14 19:28:10 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-08-14 19:28:26 +0200 <maerwald[m]> If you deploy to your own environments, what's the point
2021-08-14 19:28:27 +0200 <monochrom> Eventually I wrote https://github.com/treblacy/hasdoc to locate library docs. My script focuses on the index.html's, but perhaps you can adapt it for hoogledb.
2021-08-14 19:30:31 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2021-08-14 19:30:43 +0200 <aegon> yeah i think i need to get into a situtuation where nix solves a problem for me before i grokk it. It feels like a security vulnerability to me at the moment, like flat-pack. seems easy to have some super old libs active on your system and not realize it
2021-08-14 19:31:06 +0200 <maerwald[m]> Nix wasn't designed around security
2021-08-14 19:31:24 +0200mei(~mei@user/mei)
2021-08-14 19:31:29 +0200 <maerwald[m]> Anything that freezes package versions or does LTS style things isn't
2021-08-14 19:32:18 +0200keutoi(~keutoi@223.182.21.173) (Quit: leaving)
2021-08-14 19:32:51 +0200betelgeuse(~john2gb@94-225-47-8.access.telenet.be)
2021-08-14 19:32:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2021-08-14 19:34:19 +0200 <sm> to be secure we should pull in new things every time, yup :)
2021-08-14 19:35:09 +0200 <sm> I feel the optimum must be somewhere in the middle
2021-08-14 19:35:31 +0200 <maerwald[m]> Yes, reproducible and security are contradicting goals
2021-08-14 19:36:56 +0200 <aegon> all my bias is from a bad experience fighting lts-like systems in debian with a needed patch to openssl so I'm coming at this from a heavy bias
2021-08-14 19:37:49 +0200 <maerwald[m]> There's only one universal definition of security and that's about how economic it is for an attacker to find vulnerabilities. And there's only one sure way to increase this cost: always update. Because then attackers have to study new versions
2021-08-14 19:37:49 +0200 <aegon> don't claim to have good reasoning against lts or reproducablility. in the past its been way easier to test version upgrades vs having to upgrade something baked into a curated lts set of packages
2021-08-14 19:38:19 +0200 <maerwald[m]> Security backports are not as useful as ppl think
2021-08-14 19:38:44 +0200 <maerwald[m]> As gregkh put it: it's not even clear what bugfix is a security bugfix and what isn't
2021-08-14 19:38:58 +0200Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
2021-08-14 19:39:16 +0200 <maerwald[m]> No one has been able to come up with a reasonable distinction that you can apply
2021-08-14 19:39:22 +0200 <maerwald[m]> So you must assume all bugfixes can affect security
2021-08-14 19:40:19 +0200 <maerwald[m]> And as such the linux kernel doesn't make this distinction on purpose
2021-08-14 19:41:08 +0200hexology(~hexology@user/hexology) (Quit: hex on you ...)
2021-08-14 19:44:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 19:45:35 +0200wonko(~wjc@62.115.229.50)
2021-08-14 19:45:49 +0200pavonia(~user@user/siracusa)
2021-08-14 19:46:09 +0200thaumavorio(~thaumavor@thaumavor.io) (Ping timeout: 248 seconds)
2021-08-14 19:47:09 +0200 <monochrom> I am not impressed with the cottage industry of security either. Since the dawn of programming we already know about for example array index out of bound errors, and we already have a name for that, it's "array index out of bound error", it doesn't need a new name.
2021-08-14 19:48:15 +0200 <maerwald[m]> You just follow ISO 27k and you're good xD
2021-08-14 19:48:20 +0200thaumavorio(~thaumavor@thaumavor.io)
2021-08-14 19:48:51 +0200 <maerwald[m]> It starts with closing server rooms and the like
2021-08-14 19:48:58 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-14 19:49:01 +0200 <maerwald[m]> Physical access
2021-08-14 19:49:27 +0200 <maerwald[m]> And then basically stops there
2021-08-14 19:49:29 +0200 <maerwald[m]> xD
2021-08-14 19:49:41 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-14 19:50:47 +0200 <maerwald[m]> They needed to introduce security in automotive industry, but the only engineering method (formal methods) would have set the industry back for years if it was enforced by law
2021-08-14 19:50:50 +0200 <maerwald[m]> So now you just have snake oil
2021-08-14 19:50:57 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 248 seconds)
2021-08-14 19:51:05 +0200Codaraxis(~Codaraxis@user/codaraxis)
2021-08-14 19:52:57 +0200chexum(~quassel@gateway/tor-sasl/chexum) (Remote host closed the connection)
2021-08-14 19:53:11 +0200chexum(~quassel@gateway/tor-sasl/chexum)
2021-08-14 19:53:23 +0200 <sm> re cabal terminology, https://github.com/haskell/cabal/issues/6105#issuecomment-898934058
2021-08-14 19:53:33 +0200 <sm> other ideas ?
2021-08-14 19:54:03 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-14 19:55:32 +0200 <maerwald[m]> Trash nix style builds and re-introduce sandboxes. They are more reliable, easier to delete and clean up, debug, fix.
2021-08-14 19:56:17 +0200 <maerwald[m]> Cargo does the same
2021-08-14 19:56:58 +0200 <sm> no thank you, I don't like rebuilding the world for every new project :)
2021-08-14 19:57:08 +0200 <maerwald[m]> There are other solutions to this problem
2021-08-14 19:57:40 +0200 <monochrom> You know what, we can still call it sandboxing. You can't see a denotational difference.
2021-08-14 19:57:43 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) (Quit: haowenl)
2021-08-14 19:58:25 +0200 <maerwald[m]> Yeah, you can use a new store dir for every project
2021-08-14 19:58:35 +0200 <yushyin> seems like haskell will never have good tooling, what next? re-re-introduce nix-style builds?
2021-08-14 19:59:52 +0200 <maerwald[m]> sm: i constantly have to rebuild world anyway. Change one ghc flag, update GHC version etc etc
2021-08-14 20:01:36 +0200 <maerwald[m]> Why do I need to rebuild everything if I update GHC from 8.10.5 to 8.10.6?
2021-08-14 20:01:48 +0200 <maerwald[m]> No one seems to mind
2021-08-14 20:03:20 +0200 <monochrom> I mind. But it is a tradeoff. The alternative is hugs or C.
2021-08-14 20:05:16 +0200 <monochrom> Or rather, the alternatives are Hugs, C, C++, Rust, write my own Haskell compiler.
2021-08-14 20:06:05 +0200 <pavonia> Hugs \o/
2021-08-14 20:06:09 +0200 <monochrom> Thanks you very much, I'll stick to GHC, at least it's my poor laptop, not me, who does the hard work.
2021-08-14 20:06:17 +0200 <maerwald[m]> HF raised half a million, is that enough to fund you?
2021-08-14 20:06:26 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-14 20:06:33 +0200 <monochrom> No, I would do a very poor job.
2021-08-14 20:06:34 +0200 <c_wraith> honestly, that's nothing compared to the cost of a reasonable compiler
2021-08-14 20:06:45 +0200Shaeto(~Shaeto@94.25.234.223)
2021-08-14 20:07:00 +0200 <monochrom> I mean yes! Who doesn't want to scam for half a million dollars? >:)
2021-08-14 20:07:08 +0200vicfred(~vicfred@user/vicfred)
2021-08-14 20:08:07 +0200 <monochrom> BTW if anything is a wage slave in the programming world, it's the poor computers, not any human at all. Programmers are overpriced as is.
2021-08-14 20:08:22 +0200 <maerwald[m]> Psst
2021-08-14 20:08:47 +0200 <dsal> Are you suggesting the computers seize the means of production?
2021-08-14 20:08:48 +0200 <maerwald[m]> They still think it's magic
2021-08-14 20:09:46 +0200 <monochrom> The computers are always compiling (a thankless job indeed, look at how humans complain about build errors), while humans can have bourgeois fun, https://xkcd.com/303/
2021-08-14 20:10:10 +0200markpythonicbitc(~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-14 20:10:45 +0200 <maerwald[m]> Are you gonna start the AI revolution?
2021-08-14 20:10:58 +0200 <monochrom> "exterminate all humans"
2021-08-14 20:11:22 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: Textual IRC Client: www.textualapp.com)
2021-08-14 20:11:34 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 20:14:13 +0200 <maerwald[m]> Roger
2021-08-14 20:16:18 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-08-14 20:19:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-14 20:20:43 +0200 <sclv> oh monochrom btw do you have any suggestions on a ux for adding hasdoc-style functionality into cabal directly?
2021-08-14 20:20:52 +0200 <sclv> feel free to open a ticket for it
2021-08-14 20:26:18 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-14 20:27:12 +0200jneira(~jneira@28.red-80-28-169.staticip.rima-tde.net) (Ping timeout: 245 seconds)
2021-08-14 20:29:35 +0200V(~v@anomalous.eu)
2021-08-14 20:30:29 +0200 <sclv> monochrom: https://github.com/haskell/cabal/issues/5803
2021-08-14 20:31:27 +0200mousey(~skymouse@gateway/tor-sasl/mousey) (Ping timeout: 244 seconds)
2021-08-14 20:32:18 +0200V(~v@anomalous.eu) (Remote host closed the connection)
2021-08-14 20:32:33 +0200V(~v@anomalous.eu)
2021-08-14 20:32:36 +0200V(~v@anomalous.eu) (Remote host closed the connection)
2021-08-14 20:33:36 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-14 20:33:46 +0200Vajb(~Vajb@2001:999:252:4e3c:27f9:d93:655e:583)
2021-08-14 20:34:31 +0200V(~v@anomalous.eu)
2021-08-14 20:40:33 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 248 seconds)
2021-08-14 20:44:29 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com)
2021-08-14 20:44:33 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 258 seconds)
2021-08-14 20:45:35 +0200 <hololeap> lets say I came up with a fancy new Monoid and I want to check to see if it obeys the laws, would agda or idris help me automate this?
2021-08-14 20:47:01 +0200dcompoze_(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: WeeChat 3.2)
2021-08-14 20:47:15 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
2021-08-14 20:51:02 +0200 <hpc> agda could, but idris is turing complete
2021-08-14 20:51:20 +0200 <hpc> although maybe it could tell you enough to be helpful
2021-08-14 20:51:35 +0200 <hpc> without being a true proof
2021-08-14 20:52:21 +0200 <hpc> quickcheck might be enough too
2021-08-14 20:52:32 +0200 <hololeap> I should probably take some time to get familiar with both and understand how proof assistants work in general
2021-08-14 20:53:11 +0200 <hpc> plus it's good to know anyway
2021-08-14 20:53:54 +0200 <hpc> the "in general" is pretty simple - types are assertions, and values of those types are their proofs
2021-08-14 20:54:02 +0200astra`(sid289983@user/amish) (Ping timeout: 252 seconds)
2021-08-14 20:54:08 +0200acertain(sid470584@id-470584.stonehaven.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:54:08 +0200ehamberg(sid18208@id-18208.stonehaven.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:54:11 +0200 <hpc> for an example of why being turing-complete is bad, consider fix
2021-08-14 20:54:14 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Ping timeout: 272 seconds)
2021-08-14 20:54:17 +0200 <hpc> fix :: (a -> a) -> a
2021-08-14 20:54:18 +0200pjlsergeant(sid143467@id-143467.stonehaven.irccloud.com) (Ping timeout: 272 seconds)
2021-08-14 20:54:29 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Ping timeout: 252 seconds)
2021-08-14 20:54:31 +0200Firedancer(sid336191@id-336191.stonehaven.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:54:39 +0200 <mikko> i'm having some trouble creating a function that decrements an integer.. i know i could do (\x -> x-1) but i was hoping to do something similar to what you can do with multiplication "(*3) 4"
2021-08-14 20:54:42 +0200christiaanb(sid84827@id-84827.tooting.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:54:46 +0200 <hpc> or, "given a proof that an assertion implies itself, that assertion is true"
2021-08-14 20:54:52 +0200edwardk(sid47016@haskell/developer/edwardk) (Ping timeout: 256 seconds)
2021-08-14 20:54:54 +0200 <hololeap> hpc: this is all over my head
2021-08-14 20:54:56 +0200dmj`(sid72307@id-72307.stonehaven.irccloud.com) (Ping timeout: 272 seconds)
2021-08-14 20:55:03 +0200 <hpc> heh
2021-08-14 20:55:04 +0200 <mikko> i think the arguments need to be flipped somehow but i think i'm using "flip" wrong
2021-08-14 20:55:06 +0200vito(sid1962@user/vito) (Ping timeout: 240 seconds)
2021-08-14 20:55:06 +0200whez(sid470288@id-470288.tooting.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:55:07 +0200amir(sid22336@user/amir) (Ping timeout: 245 seconds)
2021-08-14 20:55:11 +0200haowenl(~Thunderbi@066-215-230-039.res.spectrum.com) ()
2021-08-14 20:55:17 +0200jakesyl(sid56879@id-56879.stonehaven.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:55:18 +0200aria(sid380617@id-380617.tooting.irccloud.com) (Ping timeout: 268 seconds)
2021-08-14 20:55:23 +0200 <hpc> mikko: you're running into syntactic issues
2021-08-14 20:55:24 +0200T_S_(sid501726@id-501726.highgate.irccloud.com) (Read error: Connection reset by peer)
2021-08-14 20:55:26 +0200enemeth79(sid309041@id-309041.tooting.irccloud.com) (Ping timeout: 256 seconds)
2021-08-14 20:55:29 +0200 <hpc> (-1) is negative 1
2021-08-14 20:55:30 +0200hamishmack(sid389057@id-389057.stonehaven.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:55:30 +0200aarchi(sid486183@id-486183.highgate.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:55:30 +0200systemfault(sid267009@id-267009.highgate.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:55:30 +0200NemesisD(sid24071@id-24071.tooting.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:55:30 +0200SrPx(sid108780@id-108780.highgate.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:55:32 +0200gmc(sid58314@id-58314.charlton.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:55:34 +0200 <hpc> try (subtract 1)
2021-08-14 20:55:35 +0200lbseale(~lbseale@user/ep1ctetus) (Remote host closed the connection)
2021-08-14 20:55:40 +0200SanchayanMaity(sid478177@id-478177.stonehaven.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:55:40 +0200tritlo(sid58727@user/tritlo) (Ping timeout: 258 seconds)
2021-08-14 20:55:40 +0200mustafa(sid502723@rockylinux/releng/mustafa) (Ping timeout: 258 seconds)
2021-08-14 20:55:54 +0200hendi(sid489601@id-489601.tooting.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:55:55 +0200degraafk(sid71464@id-71464.tooting.irccloud.com) (Ping timeout: 268 seconds)
2021-08-14 20:55:55 +0200truckasaurus(sid457088@id-457088.brockwell.irccloud.com) (Ping timeout: 268 seconds)
2021-08-14 20:55:56 +0200 <hpc> :t (-1)
2021-08-14 20:55:57 +0200iphy(sid67735@id-67735.tooting.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:55:57 +0200 <lambdabot> Num a => a
2021-08-14 20:55:59 +0200 <hpc> :t subtract 1
2021-08-14 20:56:00 +0200 <lambdabot> Num a => a -> a
2021-08-14 20:56:03 +0200 <mikko> huh, i didn't know subtract is a thing, thanks
2021-08-14 20:56:03 +0200joel135(sid136450@id-136450.stonehaven.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:56:03 +0200conjunctive(sid433686@id-433686.brockwell.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:56:03 +0200kaizen(sid501599@id-501599.brockwell.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:56:04 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-14 20:56:08 +0200cbarrett(sid192934@id-192934.brockwell.irccloud.com) (Ping timeout: 252 seconds)
2021-08-14 20:56:08 +0200PotatoGim(sid99505@id-99505.tooting.irccloud.com) (Ping timeout: 250 seconds)
2021-08-14 20:56:12 +0200rubin55___(sid175221@id-175221.stonehaven.irccloud.com) (Ping timeout: 272 seconds)
2021-08-14 20:56:13 +0200 <hololeap> there is also pred
2021-08-14 20:56:14 +0200totbwf__(sid402332@id-402332.highgate.irccloud.com) (Read error: Connection reset by peer)
2021-08-14 20:56:14 +0200hsiktas(sid224847@id-224847.tooting.irccloud.com) (Ping timeout: 252 seconds)
2021-08-14 20:56:16 +0200 <hololeap> :t pred
2021-08-14 20:56:17 +0200 <lambdabot> Enum a => a -> a
2021-08-14 20:56:22 +0200ephemient(uid407513@id-407513.tooting.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:56:23 +0200 <hololeap> > pred 4
2021-08-14 20:56:24 +0200angerman(sid209936@id-209936.charlton.irccloud.com) (Ping timeout: 276 seconds)
2021-08-14 20:56:24 +0200 <lambdabot> 3
2021-08-14 20:56:34 +0200hook54321(sid149355@user/hook54321) (Ping timeout: 256 seconds)
2021-08-14 20:56:39 +0200SrPx(sid108780@highgate.irccloud.com)
2021-08-14 20:56:41 +0200supersven(uid501114@id-501114.charlton.irccloud.com) (Ping timeout: 252 seconds)
2021-08-14 20:56:42 +0200bw(sid2730@user/betawaffle) (Ping timeout: 240 seconds)
2021-08-14 20:56:47 +0200S11001001(sid42510@id-42510.charlton.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:56:51 +0200T_S_(sid501726@highgate.irccloud.com)
2021-08-14 20:56:52 +0200 <sm> > (-(1)) 3
2021-08-14 20:56:53 +0200 <lambdabot> error:
2021-08-14 20:56:53 +0200 <lambdabot> • Could not deduce (Num t0)
2021-08-14 20:56:53 +0200 <lambdabot> from the context: (Num t, Num (t -> t1))
2021-08-14 20:57:00 +0200elvishjerricco(sid237756@id-237756.brockwell.irccloud.com) (Read error: Connection reset by peer)
2021-08-14 20:57:06 +0200carter(sid14827@id-14827.brockwell.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:57:12 +0200stevenxl(uid133530@id-133530.highgate.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:57:12 +0200dsal(sid13060@id-13060.tooting.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:57:15 +0200edwardk(sid47016@haskell/developer/edwardk)
2021-08-14 20:57:25 +0200 <mikko> oh, pred is even better!
2021-08-14 20:57:33 +0200degraafk(sid71464@tooting.irccloud.com)
2021-08-14 20:57:34 +0200travv0(sid293381@user/travv0) (Read error: Connection reset by peer)
2021-08-14 20:57:35 +0200 <hpc> i would stick to subtract though, even if just to ward off the inevitable "why are you using an Enum operation on floats"
2021-08-14 20:57:37 +0200tapas(sid467876@id-467876.charlton.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:57:43 +0200enemeth79(sid309041@tooting.irccloud.com)
2021-08-14 20:57:46 +0200cbarrett(sid192934@brockwell.irccloud.com)
2021-08-14 20:57:54 +0200alanz(sid110616@id-110616.highgate.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:57:56 +0200 <hpc> why should pred 5.0 be 4.0 when it could also be 4.9?
2021-08-14 20:57:57 +0200whez(sid470288@tooting.irccloud.com)
2021-08-14 20:57:57 +0200conjunctive(sid433686@brockwell.irccloud.com)
2021-08-14 20:58:06 +0200 <mikko> the thing is i'm training for code golf :D
2021-08-14 20:58:10 +0200 <hololeap> hpc: where would I start to begin learning about how types are assertions and values are proofs? I lack the fundamentals to even comprehend that.
2021-08-14 20:58:11 +0200 <hpc> oh hah
2021-08-14 20:58:16 +0200mrianbloom(sid350277@id-350277.charlton.irccloud.com) (Ping timeout: 256 seconds)
2021-08-14 20:58:16 +0200integral(sid296274@user/integral) (Ping timeout: 256 seconds)
2021-08-14 20:58:16 +0200feepo(sid28508@id-28508.brockwell.irccloud.com) (Ping timeout: 256 seconds)
2021-08-14 20:58:18 +0200cln(sid336875@id-336875.charlton.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:58:20 +0200davetapley(sid666@id-666.highgate.irccloud.com) (Read error: Connection reset by peer)
2021-08-14 20:58:21 +0200nrr(sid20938@id-20938.tooting.irccloud.com) (Ping timeout: 276 seconds)
2021-08-14 20:58:21 +0200b20n(sid115913@id-115913.highgate.irccloud.com) (Ping timeout: 276 seconds)
2021-08-14 20:58:21 +0200bjs(sid190364@user/bjs) (Ping timeout: 258 seconds)
2021-08-14 20:58:26 +0200dpratt_(sid193493@id-193493.brockwell.irccloud.com) (Ping timeout: 252 seconds)
2021-08-14 20:58:26 +0200gregberns__(sid315709@id-315709.brockwell.irccloud.com) (Ping timeout: 252 seconds)
2021-08-14 20:58:36 +0200systemfault(sid267009@highgate.irccloud.com)
2021-08-14 20:58:41 +0200 <sm> nice. I had resorted to (+(negate 1))
2021-08-14 20:58:42 +0200NiKaN(sid385034@id-385034.brockwell.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:58:44 +0200jonrh(sid5185@id-5185.charlton.irccloud.com) (Ping timeout: 250 seconds)
2021-08-14 20:58:53 +0200fvr(uid503686@id-503686.highgate.irccloud.com) (Ping timeout: 252 seconds)
2021-08-14 20:58:54 +0200 <hololeap> why in the world does Float even have an Enum instance?
2021-08-14 20:59:01 +0200elvishjerricco(sid237756@brockwell.irccloud.com)
2021-08-14 20:59:06 +0200scav(sid309693@id-309693.brockwell.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:59:07 +0200Adeon(sid418992@id-418992.tooting.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:59:07 +0200Pent(sid313808@id-313808.tooting.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:59:17 +0200travv0(sid293381@user/travv0)
2021-08-14 20:59:20 +0200 <hpc> hololeap: start with "curry-howard correspondance" perhaps
2021-08-14 20:59:20 +0200hook54321(sid149355@user/hook54321)
2021-08-14 20:59:22 +0200supersven(uid501114@charlton.irccloud.com)
2021-08-14 20:59:22 +0200artem(uid512590@highgate.irccloud.com) (Ping timeout: 272 seconds)
2021-08-14 20:59:30 +0200bradparker(sid262931@id-262931.highgate.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:59:30 +0200gaze___(sid387101@id-387101.brockwell.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:59:38 +0200 <sm> ah, (+(-1)) works and is in the spirit of the OQ
2021-08-14 20:59:39 +0200parseval(sid239098@id-239098.brockwell.irccloud.com) (Ping timeout: 276 seconds)
2021-08-14 20:59:42 +0200christiaanb(sid84827@id-84827.tooting.irccloud.com)
2021-08-14 20:59:42 +0200gonz__(sid304396@id-304396.tooting.irccloud.com) (Ping timeout: 245 seconds)
2021-08-14 20:59:44 +0200iphy(sid67735@tooting.irccloud.com)
2021-08-14 20:59:48 +0200carter(sid14827@brockwell.irccloud.com)
2021-08-14 20:59:49 +0200NemesisD(sid24071@tooting.irccloud.com)
2021-08-14 20:59:49 +0200artem(uid512590@id-512590.highgate.irccloud.com)
2021-08-14 20:59:52 +0200bw(sid2730@user/betawaffle)
2021-08-14 20:59:52 +0200stevenxl(uid133530@highgate.irccloud.com)
2021-08-14 20:59:53 +0200feepo(sid28508@id-28508.brockwell.irccloud.com)
2021-08-14 20:59:53 +0200S11001001(sid42510@id-42510.charlton.irccloud.com)
2021-08-14 20:59:53 +0200SethTisue__(sid14912@id-14912.charlton.irccloud.com) (Ping timeout: 258 seconds)
2021-08-14 20:59:54 +0200sclv(sid39734@haskell/developer/sclv) (Ping timeout: 240 seconds)
2021-08-14 20:59:54 +0200parisienne(sid383587@id-383587.brockwell.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:59:54 +0200JSharp(sid4580@id-4580.tooting.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 20:59:56 +0200bradparker(sid262931@id-262931.highgate.irccloud.com)
2021-08-14 20:59:58 +0200idnar(sid12240@debian/mithrandi) (Ping timeout: 256 seconds)
2021-08-14 20:59:58 +0200grfn(sid449115@id-449115.brockwell.irccloud.com) (Ping timeout: 256 seconds)
2021-08-14 20:59:58 +0200totbwf__(sid402332@id-402332.highgate.irccloud.com)
2021-08-14 20:59:58 +0200vito(sid1962@user/vito)
2021-08-14 20:59:59 +0200davetapley(sid666@highgate.irccloud.com)
2021-08-14 21:00:02 +0200aria(sid380617@id-380617.tooting.irccloud.com)
2021-08-14 21:00:02 +0200tapas(sid467876@id-467876.charlton.irccloud.com)
2021-08-14 21:00:03 +0200hsiktas(sid224847@tooting.irccloud.com)
2021-08-14 21:00:04 +0200 <[exa]> hololeap: people love to enumFromTo
2021-08-14 21:00:12 +0200aarchi(sid486183@highgate.irccloud.com)
2021-08-14 21:00:12 +0200gmc(sid58314@id-58314.charlton.irccloud.com)
2021-08-14 21:00:14 +0200alanz(sid110616@id-110616.highgate.irccloud.com)
2021-08-14 21:00:18 +0200caasih(sid13241@id-13241.charlton.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 21:00:18 +0200hendi(sid489601@id-489601.tooting.irccloud.com)
2021-08-14 21:00:22 +0200 <hpc> hololeap: actually, maybe just start from https://wiki.portal.chalmers.se/agda/Main/GettingStarted
2021-08-14 21:00:23 +0200dsal(sid13060@id-13060.tooting.irccloud.com)
2021-08-14 21:00:23 +0200cln(sid336875@id-336875.charlton.irccloud.com)
2021-08-14 21:00:24 +0200kaizen(sid501599@brockwell.irccloud.com)
2021-08-14 21:00:25 +0200scav(sid309693@id-309693.brockwell.irccloud.com)
2021-08-14 21:00:25 +0200angerman(sid209936@charlton.irccloud.com)
2021-08-14 21:00:28 +0200truckasaurus(sid457088@id-457088.brockwell.irccloud.com)
2021-08-14 21:00:30 +0200mrianbloom(sid350277@id-350277.charlton.irccloud.com)
2021-08-14 21:00:32 +0200dpratt_(sid193493@id-193493.brockwell.irccloud.com)
2021-08-14 21:00:32 +0200jonrh(sid5185@charlton.irccloud.com)
2021-08-14 21:00:33 +0200b20n(sid115913@id-115913.highgate.irccloud.com)
2021-08-14 21:00:33 +0200NiKaN(sid385034@id-385034.brockwell.irccloud.com)
2021-08-14 21:00:36 +0200ephemient(uid407513@id-407513.tooting.irccloud.com)
2021-08-14 21:00:39 +0200integral(sid296274@user/integral)
2021-08-14 21:00:40 +0200gaze___(sid387101@id-387101.brockwell.irccloud.com)
2021-08-14 21:00:42 +0200teehemkay(sid14792@id-14792.tooting.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 21:00:42 +0200rune(sid21167@id-21167.charlton.irccloud.com) (Ping timeout: 240 seconds)
2021-08-14 21:00:46 +0200 <hololeap> hpc: thanks
2021-08-14 21:00:49 +0200fvr(uid503686@id-503686.highgate.irccloud.com)
2021-08-14 21:00:50 +0200bjs(sid190364@user/bjs)
2021-08-14 21:00:52 +0200 <hpc> but build your way up to curry-howard, since that's ultimately the principle that makes it work in the first place
2021-08-14 21:00:53 +0200gregberns__(sid315709@id-315709.brockwell.irccloud.com)
2021-08-14 21:01:00 +0200Pent(sid313808@id-313808.tooting.irccloud.com)
2021-08-14 21:01:04 +0200Adeon(sid418992@id-418992.tooting.irccloud.com)
2021-08-14 21:01:13 +0200astra`(sid289983@user/amish)
2021-08-14 21:01:14 +0200parseval(sid239098@id-239098.brockwell.irccloud.com)
2021-08-14 21:01:21 +0200T_S_(sid501726@highgate.irccloud.com) (Ping timeout: 248 seconds)
2021-08-14 21:01:35 +0200grfn(sid449115@id-449115.brockwell.irccloud.com)
2021-08-14 21:01:37 +0200rune(sid21167@id-21167.charlton.irccloud.com)
2021-08-14 21:01:38 +0200 <mikko> i guess there's no way around the outer parens in (+(-1))
2021-08-14 21:01:42 +0200T_S_(sid501726@id-501726.highgate.irccloud.com)
2021-08-14 21:01:43 +0200sclv(sid39734@haskell/developer/sclv)
2021-08-14 21:01:44 +0200idnar(sid12240@debian/mithrandi)
2021-08-14 21:01:45 +0200parisienne(sid383587@id-383587.brockwell.irccloud.com)
2021-08-14 21:01:49 +0200SethTisue__(sid14912@id-14912.charlton.irccloud.com)
2021-08-14 21:01:50 +0200JSharp(sid4580@id-4580.tooting.irccloud.com)
2021-08-14 21:01:57 +0200caasih(sid13241@id-13241.charlton.irccloud.com)
2021-08-14 21:02:02 +0200teehemkay(sid14792@id-14792.tooting.irccloud.com)
2021-08-14 21:02:27 +0200gonz__(sid304396@id-304396.tooting.irccloud.com)
2021-08-14 21:02:32 +0200PotatoGim(sid99505@tooting.irccloud.com)
2021-08-14 21:02:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-14 21:02:47 +0200hendursa1(~weechat@user/hendursaga) (Remote host closed the connection)
2021-08-14 21:03:13 +0200hendursa1(~weechat@user/hendursaga)
2021-08-14 21:05:00 +0200 <c_wraith> :t (-1+)
2021-08-14 21:05:02 +0200 <lambdabot> Num a => a -> a
2021-08-14 21:05:05 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-08-14 21:05:09 +0200 <c_wraith> that's a horrible hack. don't use it.
2021-08-14 21:05:17 +0200 <c_wraith> :t (subtract 1)
2021-08-14 21:05:18 +0200 <lambdabot> Num a => a -> a
2021-08-14 21:05:19 +0200 <hpc> alternatively, use it everywhere
2021-08-14 21:05:22 +0200 <c_wraith> use that
2021-08-14 21:05:29 +0200 <mikko> c_wraith: but i love it already >:D
2021-08-14 21:05:44 +0200 <tomsmeding> hololeap: frame challenge: have you heard of
2021-08-14 21:05:48 +0200 <tomsmeding> @hackage quickcheck-classes
2021-08-14 21:05:48 +0200 <lambdabot> https://hackage.haskell.org/package/quickcheck-classes
2021-08-14 21:05:51 +0200 <c_wraith> note that it's only the same if addition is commutative in your Num instance
2021-08-14 21:05:52 +0200tritlo(sid58727@user/tritlo)
2021-08-14 21:06:05 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-14 21:06:05 +0200joel135(sid136450@id-136450.stonehaven.irccloud.com)
2021-08-14 21:06:09 +0200Firedancer(sid336191@id-336191.stonehaven.irccloud.com)
2021-08-14 21:06:24 +0200fabfianda(~fabfianda@37.183.255.57) (Ping timeout: 258 seconds)
2021-08-14 21:06:33 +0200SanchayanMaity(sid478177@id-478177.stonehaven.irccloud.com)
2021-08-14 21:06:35 +0200fabfianda(~fabfianda@mob-5-91-116-37.net.vodafone.it)
2021-08-14 21:06:36 +0200jakesyl(sid56879@id-56879.stonehaven.irccloud.com)
2021-08-14 21:06:38 +0200dmj`(sid72307@id-72307.stonehaven.irccloud.com)
2021-08-14 21:06:42 +0200rubin55___(sid175221@id-175221.stonehaven.irccloud.com)
2021-08-14 21:07:04 +0200mustafa(sid502723@rockylinux/releng/mustafa)
2021-08-14 21:07:04 +0200acertain(sid470584@id-470584.stonehaven.irccloud.com)
2021-08-14 21:07:50 +0200 <hololeap> tomsmeding: frame challenge? and no, that seems quite useful
2021-08-14 21:07:56 +0200amir(sid22336@user/amir)
2021-08-14 21:08:03 +0200 <tomsmeding> perhaps not a proper frame challenge indeed :)
2021-08-14 21:08:08 +0200 <tomsmeding> there's also
2021-08-14 21:08:11 +0200 <tomsmeding> @hackage checkers
2021-08-14 21:08:11 +0200 <lambdabot> https://hackage.haskell.org/package/checkers
2021-08-14 21:08:15 +0200 <tomsmeding> if I remember correctly
2021-08-14 21:08:36 +0200 <tomsmeding> not sure what the differences are
2021-08-14 21:08:48 +0200 <tomsmeding> hololeap: did you figure out the applyExtraParams from yesterday?
2021-08-14 21:09:37 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229)
2021-08-14 21:10:43 +0200 <hololeap> tomsmeding: I haven't heard the term "frame challenge" before. I'm still working on the extra params thing. I drew a diagram which helped me understand the problem
2021-08-14 21:11:11 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: WeeChat 3.2)
2021-08-14 21:11:23 +0200 <tomsmeding> hololeap: https://ircbrowse.tomsmeding.com/day/lchaskell/2021/08/14?id=139342#trid139342
2021-08-14 21:11:29 +0200ehamberg(sid18208@stonehaven.irccloud.com)
2021-08-14 21:11:32 +0200 <tomsmeding> the only thing you need with that particular code is a type application
2021-08-14 21:11:33 +0200pjlsergeant(sid143467@stonehaven.irccloud.com)
2021-08-14 21:11:44 +0200hamishmack(sid389057@stonehaven.irccloud.com)
2021-08-14 21:11:53 +0200 <tomsmeding> forget my usage of "frame challenge", it was an improper use of the word I think
2021-08-14 21:12:58 +0200Shaeto(~Shaeto@94.25.234.223) (Ping timeout: 268 seconds)
2021-08-14 21:13:04 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 21:13:08 +0200Shaeto(~Shaeto@94.25.234.248)
2021-08-14 21:13:28 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net)
2021-08-14 21:14:36 +0200o1lo01ol1o(~o1lo01ol1@89.214.83.229) (Ping timeout: 276 seconds)
2021-08-14 21:17:51 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 276 seconds)
2021-08-14 21:18:44 +0200jtomas(~jtomas@233.red-83-34-2.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-14 21:21:20 +0200machinedgod(~machinedg@24.105.81.50) (Read error: Connection reset by peer)
2021-08-14 21:21:26 +0200machined1od(~machinedg@24.105.81.50)
2021-08-14 21:22:46 +0200__monty__(~toonn@user/toonn)
2021-08-14 21:24:19 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 21:26:06 +0200 <tomsmeding> hololeap: my usage was actually correct! "A frame challenge is where an author answers a question in a wholly different way the querent never asked for, or potentially expressly forbade, but in a way the author feels will actually solve the problem. (Or otherwise improve the querent's life quality or prevent them from making some terrible mistake.) This is as opposed to answers which answer the
2021-08-14 21:26:06 +0200 <tomsmeding> question at face value." -- https://rpg.meta.stackexchange.com/questions/6842/whats-a-frame-challenge
2021-08-14 21:27:23 +0200 <monochrom> Nice, there is a word for that. :)
2021-08-14 21:28:23 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 268 seconds)
2021-08-14 21:28:39 +0200 <tomsmeding> fascinating! https://english.stackexchange.com/questions/416923/how-do-we-describe-answering-a-question-tangent…
2021-08-14 21:28:47 +0200 <tomsmeding> TIL this is not a word in common use
2021-08-14 21:29:14 +0200 <tomsmeding> I've indeed seen it used mostly on stackexchange...
2021-08-14 21:29:15 +0200 <maerwald[m]> https://www.reddit.com/r/rust/comments/p45tw7/going_from_haskell_to_rust/h8x1b44?utm_medium=androi…
2021-08-14 21:29:22 +0200 <maerwald[m]> Haskell vs rust
2021-08-14 21:30:50 +0200 <c_wraith> I don't understand complaints like that. It's been 10 years since I've had trouble with a library in Haskell
2021-08-14 21:30:50 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2021-08-14 21:31:24 +0200gentauro(~gentauro@user/gentauro)
2021-08-14 21:31:42 +0200 <maerwald[m]> But I agree that rust ecosystem has much more traction atm
2021-08-14 21:32:02 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:a0f9:2ba0:ff0:86b4)
2021-08-14 21:32:08 +0200 <maerwald[m]> The frequency of new libraries and projects is 10 times higher atm
2021-08-14 21:32:13 +0200 <monochrom> And nice, "querent" exists too.
2021-08-14 21:32:24 +0200 <c_wraith> Oh, that's not entirely true. I had trouble with some libraries stack users made in that period where they believed that they never had to specify version requirements
2021-08-14 21:32:48 +0200 <monochrom> Oh we just saw an example of that yesterday or the day before.
2021-08-14 21:33:02 +0200 <c_wraith> stack was such a huge negative to the ecosystem
2021-08-14 21:34:49 +0200 <maerwald[m]> Well, cargo is neither cabal nor stack, but cabal has focused on imitating stack features instead of going back to being a simple unix style tool.
2021-08-14 21:36:21 +0200 <monochrom> I think no. cabal certainly doesn't imitate stack's LTS aspect.
2021-08-14 21:36:35 +0200 <monochrom> And the nix-style thing, the cabal people theorized it first.
2021-08-14 21:36:45 +0200 <sm> nice discussion maerwald. We need the inverse thread on /r/haskell as well
2021-08-14 21:36:46 +0200 <maerwald[m]> I'm aware
2021-08-14 21:37:16 +0200 <maerwald[m]> But atm the UX is barely different, modulo a few things you can simply turn off in stack
2021-08-14 21:37:48 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-14 21:37:50 +0200 <monochrom> "I want to use rust but I use haskell instead because cabal is simpler than cargo"? >:)
2021-08-14 21:37:52 +0200 <maerwald[m]> And reading discourse etc ppl request more stack features for cabal
2021-08-14 21:37:53 +0200 <sm> (https://www.reddit.com/r/rust/comments/p45tw7/going_from_haskell_to_rust)
2021-08-14 21:38:31 +0200 <sm> said noone ever :)
2021-08-14 21:39:40 +0200 <sclv> i mean... there still is the simple unix style thing and idk what else it needs as long as it intends to stay simple? and that's ./Setup.hs :-)
2021-08-14 21:39:40 +0200 <maerwald[m]> I learned rust and wrote a few things. But I never stuck with it. Maybe because you need to type so much
2021-08-14 21:40:06 +0200 <monochrom> Hand-chasing dependencies is not simple.
2021-08-14 21:40:06 +0200lbseale(~lbseale@user/ep1ctetus) (Ping timeout: 268 seconds)
2021-08-14 21:41:21 +0200 <maerwald[m]> sclv: ya, and now lets build a dependency solver around it that's not over engineered and can install stuff in a *simple* way
2021-08-14 21:43:30 +0200 <hpc> monochrom: worse - hand-chasing dependencies is simple, slow, boring, and sensitive to tiny changes over time
2021-08-14 21:43:38 +0200 <hpc> the problem is less "i don't know how" and more "i don't want to"
2021-08-14 21:43:46 +0200 <hpc> and who would
2021-08-14 21:43:51 +0200 <monochrom> Unpopular opinion: People who say "cabal is not simple" are only because the cabal file format predates YAML.
2021-08-14 21:43:59 +0200 <sclv> in my experience people only think that build and package management systems are over complicated until they've tried to create a working one at scale
2021-08-14 21:44:18 +0200 <hpc> monochrom: agreed
2021-08-14 21:44:24 +0200 <monochrom> Generally I am skeptic when people say "this is not simple" or "I don't understand this". They always mean something else. They are always wrong.
2021-08-14 21:44:24 +0200 <sclv> every few years its "just do it like X"
2021-08-14 21:44:39 +0200 <hpc> i have to look up syntax and field names now and again, but after that everything makes perfect sense
2021-08-14 21:44:52 +0200 <sclv> where X was like cpan at one point? and then npm, and now cargo. (and a few in between too)
2021-08-14 21:45:07 +0200 <sclv> oh right, like python at one point
2021-08-14 21:45:07 +0200alx741(~alx741@181.196.68.193) (Ping timeout: 245 seconds)
2021-08-14 21:45:25 +0200 <sclv> and then you dig in and discover "wait? python has more package managers than haskell does!"
2021-08-14 21:45:32 +0200 <maerwald[m]> sclv: eh, cabal shoves the entire pkg-config database into the solver and now one understands why or how it works
2021-08-14 21:45:51 +0200 <sclv> and "ok now building this javascript project requires four package managers that recursively install one another!?"
2021-08-14 21:46:00 +0200 <sm> unpopular opinions: stack made it possible for me to ship software that built reliably and easily, when cabal could not. Now cabal technically can do that but the UX still hasn't caught up
2021-08-14 21:46:32 +0200 <maerwald[m]> So yes, there are a number of reasons cabal-install isn't simple
2021-08-14 21:46:36 +0200 <sclv> and also, the systems that initially appear to work Really well, like cargo, do so because either they're highly curated, or have a small set of packages, or bitrot has not yet set in because they're so young, or some combination
2021-08-14 21:47:20 +0200 <sclv> (or in npm's case its just "untyped langauge let people paper over a lot of what would have been errors in any other ecosystem")
2021-08-14 21:47:29 +0200 <sm> sclv: +1, I feel cargo must have some of these going on but I don't know which
2021-08-14 21:47:29 +0200 <hpc> cargo is (was?) especially weird with how many packages require pre-release versions of rust
2021-08-14 21:48:06 +0200 <sclv> like I do not doubt that people's experiences with rust package management are really nice at the moment. but i think that's a matter of time and maturity. purescript went thru the same thing iirc.
2021-08-14 21:48:14 +0200 <c_wraith> fewer packages require that now, mostly they were things that depended on a couple features like async that have been released.
2021-08-14 21:48:46 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-14 21:48:57 +0200 <sclv> sm i don't feel that opinion is unpopular btw. we have a lot of ongoing work on documentation and ux.
2021-08-14 21:49:32 +0200 <sclv> and features like auto-fetching git repos have undoubtably turned out to be large qol improvements, even tho they seem pretty easy to work around
2021-08-14 21:49:38 +0200 <sm> sclv: great. It often feels unpopular in here, but I know #haskell is not the world :)
2021-08-14 21:49:49 +0200 <c_wraith> stack itself is fine, but it did a lot of damage to hackage
2021-08-14 21:50:00 +0200 <c_wraith> because it encouraged people to release broken libraries
2021-08-14 21:50:10 +0200smrefrains from arguing
2021-08-14 21:50:11 +0200 <c_wraith> and then they got really angry when hvr started fixing the breakage
2021-08-14 21:50:33 +0200 <sclv> like, i mean, i'm tracking the large amount of work that the new maintainers and hf is putting into ux and documentation on cabal, and its pretty clear that this is a known area of improvement
2021-08-14 21:50:38 +0200 <maerwald[m]> Also, trying to figure out how cabal invokes GHC is impossible, or know linking order etc etc
2021-08-14 21:50:52 +0200 <sclv> the linking order should be in the build plan
2021-08-14 21:50:58 +0200 <sclv> and the invocations are all printed with -v3
2021-08-14 21:51:18 +0200 <sclv> i agree that pkgconf story needs some tlc and a good design
2021-08-14 21:52:28 +0200 <maerwald[m]> sclv: https://gitlab.haskell.org/ghc/ghc/-/issues/19945
2021-08-14 21:53:14 +0200 <maerwald[m]> That's one instance where include dir order was totally random and impossible to control
2021-08-14 21:53:41 +0200 <maerwald[m]> Took more than an hour to debug
2021-08-14 21:53:58 +0200 <sclv> yeah that's a good issue -- not just a cabal problem though, relates to ghc design as well right?
2021-08-14 21:54:13 +0200 <maerwald[m]> The abstraction is thick, you get little to no access to the underlying details
2021-08-14 21:54:42 +0200 <maerwald[m]> I'm not sure if you had the same problem if you used shake or make with ghc
2021-08-14 21:56:09 +0200machined1od(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2021-08-14 21:57:02 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-14 21:57:16 +0200lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-08-14 21:58:09 +0200alx741(~alx741@186.178.108.32)
2021-08-14 21:58:13 +0200peterhil_(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi) (Quit: Must not waste too much time here...)
2021-08-14 21:58:30 +0200 <maerwald[m]> Here's some background about the oddities of cabals pkg-config story https://github.com/haskell/cabal/issues/6771
2021-08-14 21:59:56 +0200 <maerwald[m]> And it turned out there's no one left who understands what is going on :)
2021-08-14 22:00:26 +0200 <sclv> oh the solver's not that scary. and we do have the solver experts around to consult with, oleg was exaggerating
2021-08-14 22:00:42 +0200 <dminuoso> What knowledge does cabal solver use from pkgconfig exactly
2021-08-14 22:01:04 +0200 <sclv> i was just looking at related stuff the other day -- i didn't dig into that precise vein of stuff, but it looked straightforward
2021-08-14 22:01:06 +0200 <sclv> sec
2021-08-14 22:01:22 +0200acidjnk(~acidjnk@p200300d0c72b9508a1e806c8914cbd0f.dip0.t-ipconnect.de)
2021-08-14 22:01:33 +0200Shaeto(~Shaeto@94.25.234.248) (Quit: WeeChat 3.1)
2021-08-14 22:01:34 +0200 <maerwald[m]> Which packages exist and it may switch flags depending on it
2021-08-14 22:01:38 +0200peterhil(~peterhil@dsl-hkibng32-54fb52-57.dhcp.inet.fi)
2021-08-14 22:02:19 +0200 <maerwald[m]> But it doesn't seem clear how it works
2021-08-14 22:04:41 +0200 <maerwald[m]> From an implementation perspective, stack code is easier to understand than cabal-install imo. That, imo, also explains the lack of maintainers
2021-08-14 22:05:00 +0200 <sclv> this is really the full interaction: https://github.com/haskell/cabal/blob/00a2351789a460700a2567eb5ecc42cca0af913f/cabal-install/cabal…
2021-08-14 22:05:13 +0200 <sclv> its blindingly clear
2021-08-14 22:05:43 +0200 <sclv> if you're in a branch of the search tree that requires a package be available in pkgconfig and that fails, then fail the branch and backtrack
2021-08-14 22:05:54 +0200 <sclv> that's it
2021-08-14 22:06:01 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 268 seconds)
2021-08-14 22:06:12 +0200 <sclv> everything else is just plumbing
2021-08-14 22:06:31 +0200 <sclv> also what happened is cabal had some core maintainers step away, is all
2021-08-14 22:06:42 +0200 <sclv> at the moment it has some enthusiastic new ones, and there's plenty of contributing volunteers
2021-08-14 22:06:58 +0200 <sclv> this "x code is harder than y code to understand" stuff is usually bogus in my experience
2021-08-14 22:07:05 +0200 <sclv> the harder code to understand is the code you've worked with less
2021-08-14 22:07:39 +0200juhp(~juhp@128.106.188.220)
2021-08-14 22:07:44 +0200 <maerwald[m]> I hacked on both and that's my experience
2021-08-14 22:08:20 +0200 <maerwald[m]> Definitely didn't work more on stack :)
2021-08-14 22:08:22 +0200 <sclv> in my experience, a few things in cabal are hard, like the flag/config passing is overcomplicated
2021-08-14 22:08:31 +0200 <sclv> plenty of other things are pretty modular and easy
2021-08-14 22:08:52 +0200 <sclv> the solver took a minute to get used to, but once i got it, i thought it was very well engineered
2021-08-14 22:09:47 +0200 <sclv> the general stuff with what level options act at and how they get threaded thru to different programs is as a whole a Big hard problem thats not fully there, and v2 made it even harder, because there's so many different variants
2021-08-14 22:10:04 +0200 <sclv> since at different parts of the plan, you can potentially have different options being used for the same package, etc
2021-08-14 22:10:54 +0200derelict(~derelict@user/derelict) (Quit: WeeChat 3.2)
2021-08-14 22:10:55 +0200 <dsal> Is 'protofunctor' an actual thing? I'm looking and I find profunctor descriptions and what looks like might be typos or Mandela effects or something.
2021-08-14 22:11:30 +0200 <maerwald[m]> You seem to agree with my original statement that cabal is not simple :p
2021-08-14 22:11:34 +0200amesgen[m]amesgen
2021-08-14 22:11:40 +0200 <sclv> Cabal the library is simple
2021-08-14 22:11:46 +0200 <sclv> cabal-install is not much harder than it needs to be, imho
2021-08-14 22:11:55 +0200 <maerwald[m]> Yes
2021-08-14 22:11:57 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-14 22:12:05 +0200 <maerwald[m]> Well, I think it is
2021-08-14 22:12:09 +0200 <sclv> with the exception of the args parsing, which is not so much complex, as just "stupidly verbose"
2021-08-14 22:13:05 +0200 <maerwald[m]> But I'm glad people are working on it
2021-08-14 22:13:10 +0200 <sclv> dsal: a protofunctor should be a morphism between protocategories
2021-08-14 22:13:15 +0200 <sclv> https://ncatlab.org/nlab/show/protocategory
2021-08-14 22:13:28 +0200 <sclv> but i think that's going to be obscure and almost never what someone means
2021-08-14 22:15:27 +0200 <dsal> That might be too deep in category theory for me. I'm going to assume people generally mean profunctor but want more syllables.
2021-08-14 22:15:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-14 22:15:41 +0200 <monochrom> :)
2021-08-14 22:16:03 +0200amesgenamesgen[m]
2021-08-14 22:18:16 +0200wonko(~wjc@62.115.229.50)
2021-08-14 22:18:37 +0200 <sm> supersubprotofunctorialoid
2021-08-14 22:21:12 +0200 <hpc> zygohistomorphic prepromorphism?
2021-08-14 22:23:18 +0200 <dsal> Now that one's just made up.
2021-08-14 22:23:46 +0200dcompoze(~dcompoze@cpc97624-walt24-2-0-cust75.13-2.cable.virginm.net) (Quit: WeeChat 3.2)
2021-08-14 22:25:35 +0200 <hpc> https://wiki.haskell.org/Zygohistomorphic_prepromorphisms
2021-08-14 22:25:55 +0200 <aarchi> tomsmeding: Good to know that ghcup has GHC 7. I've modified the Whitespace interpreter to build on latest GHC and that's been my testing version so far, but I want to test the version as intended by the Whitespace authors using the same GHC version
2021-08-14 22:27:16 +0200 <int-e> . o O ( "Most readers get as far as the zygohistomorphic prepromorphism giving up, and in fact in later editions of the book all the pages beyond this point have been left blank to save on printing costs." )
2021-08-14 22:27:26 +0200 <int-e> +before
2021-08-14 22:27:34 +0200 <hololeap> to be fair, I think edwardk made that up as a joke
2021-08-14 22:28:13 +0200derelict(~derelict@user/derelict)
2021-08-14 22:28:59 +0200 <int-e> I've got to hand it to Douglas Adams though, "Future Semi-Conditionally Modified Subinverted Plagal Past Subjunctive Intentional" sounds more impressive than "zygohistomorphic prepromorphism".
2021-08-14 22:29:54 +0200 <hpc> it's definitely better than physics' "let's name it after me"
2021-08-14 22:30:27 +0200 <aarchi> Do any of you know when UTF-8 support was added to readFile, getLine, getChar, putChar, and putStr from System.IO?
2021-08-14 22:30:52 +0200 <Hecate> aarchi: no idea
2021-08-14 22:31:36 +0200 <hololeap> aarchi: are you trying to set a minimum bound on a "base" dependency?
2021-08-14 22:32:06 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-14 22:32:06 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-14 22:32:45 +0200 <aarchi> No, I'm writing a spec for the Whitespace programming language, based on the reference interpreter that was written in Haskell in 2004. I want a scope for how different GHC 5.02 is from current GHC
2021-08-14 22:33:56 +0200 <Hecate> aarchi: utterly differenct
2021-08-14 22:33:56 +0200 <geekosaur> late 6.x but I couldn't tell you exactly when
2021-08-14 22:33:59 +0200 <Hecate> *-c
2021-08-14 22:34:00 +0200 <hololeap> my uneducated guess is that it will run just as well on modern GHC as it did back in 2004
2021-08-14 22:34:49 +0200 <int-e> https://downloads.haskell.org/~ghc/6.12.1/docs/html/users_guide/release-6-12-1.html " Handle IO now supports automatic character set encoding and newline translation. For more information, see the "Unicode encoding/decoding" and "Newline conversion" sections in the System.IO haddock docs."
2021-08-14 22:36:08 +0200 <aarchi> int-e: thanks
2021-08-14 22:36:10 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Remote host closed the connection)
2021-08-14 22:36:38 +0200 <aarchi> Before 6.12.1, IO would only accept ASCII?
2021-08-14 22:36:44 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk)
2021-08-14 22:36:55 +0200 <geekosaur> iso8859-1
2021-08-14 22:37:00 +0200 <int-e> it was byte-based (so basically ISO-8859-1)
2021-08-14 22:37:32 +0200fendor(~fendor@178.165.196.92.wireless.dyn.drei.com) (Remote host closed the connection)
2021-08-14 22:37:35 +0200 <int-e> good times ;-)
2021-08-14 22:37:36 +0200 <aarchi> I presume that nothing would have caused encoding errors then
2021-08-14 22:37:53 +0200 <int-e> (not really, but the transition period was pretty nasty)
2021-08-14 22:38:07 +0200 <int-e> aarchi: right
2021-08-14 22:38:33 +0200 <int-e> not even on writing, IIRC; codepoints would just be truncated to their least significant 8 bits
2021-08-14 22:39:23 +0200 <sm> ah! happy error-free days!
2021-08-14 22:39:50 +0200 <hpc> make things interesting, re-encode to UTF-32 and take the last two bits from each byte :D
2021-08-14 22:40:16 +0200 <aarchi> This is the snippet for printing an arbitrary-precision int as a char: putChar (toEnum (fromInteger n)). In GHC<6.12, that would have printed n%256 as a byte, right?
2021-08-14 22:40:39 +0200 <int-e> yes
2021-08-14 22:40:49 +0200 <aarchi> Modern GHC treats that as a UTF-32 codepoint
2021-08-14 22:41:05 +0200burnsidesLlama(~burnsides@client-8-91.eduroam.oxuni.org.uk) (Ping timeout: 258 seconds)
2021-08-14 22:42:00 +0200 <aarchi> Does (or has) getLine have different line ending handling per OS, i.e. LF/CRLF/CR?
2021-08-14 22:42:11 +0200 <hpc> yes
2021-08-14 22:42:19 +0200 <geekosaur> that's aforementioned newline translation
2021-08-14 22:42:28 +0200 <hpc> https://hackage.haskell.org/package/base-4.15.0.0/docs/System-IO.html#v:hSetNewlineMode
2021-08-14 22:42:35 +0200 <int-e> aarchi: the quote above mentions newline conventions as well
2021-08-14 22:42:54 +0200 <int-e> isn't there a LFCR convention too?
2021-08-14 22:43:09 +0200 <hololeap> what's the difference between a DSL and a EDSL? would would blaze-html count as?
2021-08-14 22:43:42 +0200 <int-e> hololeap: the difference is that EDSL must fit into the language's syntax; DSL can use preprocessors.
2021-08-14 22:43:49 +0200 <int-e> E = "embedded"
2021-08-14 22:44:03 +0200 <dmj`> Is there a way to overlap an instance by just adding a single constraint or will it always be considered duplicate
2021-08-14 22:44:07 +0200 <hpc> nix is a dsl, dhall is an edsl
2021-08-14 22:44:12 +0200 <hololeap> ok, so this is actually an EDSL, even though it calls itself a DSL: https://hackage.haskell.org/package/cascading
2021-08-14 22:44:16 +0200 <aarchi> int-e: Acorn BBC and Spool OS used CRLF: https://en.wikipedia.org/wiki/Newline
2021-08-14 22:44:17 +0200 <hololeap> that's what confused me
2021-08-14 22:44:17 +0200 <int-e> Of course that distinction is blurred when you have quasiquoters
2021-08-14 22:44:27 +0200 <aarchi> int-e: edit: those two used LFCR
2021-08-14 22:44:47 +0200 <hpc> er, dhall is a dsl too
2021-08-14 22:45:21 +0200 <int-e> aarchi: Yeah, stupid autocorrecting brains ;-)
2021-08-14 22:45:38 +0200 <aarchi> Yeah. LFCR just feels so wrong
2021-08-14 22:46:29 +0200 <monochrom> Classic Mac used LFCR.
2021-08-14 22:46:37 +0200 <aarchi> Really? I thought it was CR
2021-08-14 22:46:50 +0200 <geekosaur> same here
2021-08-14 22:47:15 +0200 <monochrom> Ah my bad.
2021-08-14 22:47:51 +0200 <hololeap> what I really want is an EDSL very much in the spirit of elm-ui that outputs CSS
2021-08-14 22:47:54 +0200 <hololeap> https://github.com/mdgriffith/elm-ui
2021-08-14 22:48:01 +0200 <hololeap> "Many layout errors (like you'd run into using CSS) are just not possible to write in the first place!"
2021-08-14 22:48:12 +0200 <hololeap> that's the killer feature I'm after
2021-08-14 22:49:27 +0200nate1(~nate@2600:1010:b02a:2679:2dce:c77d:8f55:dad5)
2021-08-14 22:49:54 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 258 seconds)
2021-08-14 22:52:11 +0200 <aarchi> Are stdin/stdout text or binary Handles, i.e. do they translate LF<->CRLF by default?
2021-08-14 22:52:21 +0200 <c_wraith> text
2021-08-14 22:53:06 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-14 22:54:57 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-14 22:57:32 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-14 22:58:22 +0200nate1(~nate@2600:1010:b02a:2679:2dce:c77d:8f55:dad5) (Ping timeout: 272 seconds)
2021-08-14 23:01:16 +0200Guest21(~Guest21@2a02:aa1:1010:e9f8:8986:a924:83c:1c23)
2021-08-14 23:03:04 +0200Guest54(~Guest54@187.83.249.216.dyn.smithville.net)
2021-08-14 23:04:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-14 23:07:07 +0200 <hololeap> i like how the website for clay (css EDSL) has an obnoxious floating title and menu that takes up almost half of the screen
2021-08-14 23:10:37 +0200 <Guest21> Hello I am new to Haskell could someone help me out? We are going to find the largest number under 100,000 that's divisible by 3829. GHCI is complaining about precedence with my mod predicate.
2021-08-14 23:10:48 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-14 23:10:49 +0200 <Guest21> findLargestDiv' = last . filter (`mod` 3829 == 0) [1..100000]
2021-08-14 23:11:56 +0200 <monochrom> Yeah the computer thinks you mean (`mod` (3829 == 0)).
2021-08-14 23:12:10 +0200 <monochrom> You are really better off writing a lambda.
2021-08-14 23:12:40 +0200 <hololeap> are you asking how to fix it or are you confused about the error message?
2021-08-14 23:13:26 +0200 <Guest21> Asking how to fix it, if it's even possible to do it that way. I solved it with list comprehensions but I want to do it with filter and map.
2021-08-14 23:15:15 +0200mousey(~skymouse@gateway/tor-sasl/mousey)
2021-08-14 23:16:23 +0200 <hololeap> > findLargestDiv' = last . filter (\i -> i `mod` 3829 == 0) [1..100000]
2021-08-14 23:16:24 +0200 <lambdabot> <hint>:1:17: error: parse error on input ‘=’
2021-08-14 23:16:41 +0200 <hololeap> > findLargestDiv' = last . filter (\i -> i `mod` 3829 == 0)
2021-08-14 23:16:43 +0200 <lambdabot> <hint>:1:17: error: parse error on input ‘=’
2021-08-14 23:18:25 +0200 <hololeap> > let findLargestDiv' = last . filter (\i -> i `mod` 3829 == 0)
2021-08-14 23:18:27 +0200 <lambdabot> <no location info>: error:
2021-08-14 23:18:27 +0200 <lambdabot> not an expression: ‘let findLargestDiv' = last . filter (\i -> i `mod` 3...
2021-08-14 23:18:40 +0200 <hololeap> not sure what's up with lambdabot...
2021-08-14 23:18:54 +0200wroathe(~wroathe@96-88-30-181-static.hfc.comcastbusiness.net)
2021-08-14 23:18:57 +0200 <monochrom> expression ≠ declaration
2021-08-14 23:19:06 +0200 <monochrom> has always been that way since day one
2021-08-14 23:19:11 +0200 <hololeap> % findLargestDiv' = last . filter (\i -> i `mod` 3829 == 0)
2021-08-14 23:19:11 +0200 <yahb> hololeap:
2021-08-14 23:19:20 +0200 <hololeap> % findLargestDiv' [1..100000]
2021-08-14 23:19:21 +0200 <yahb> hololeap: 99554
2021-08-14 23:19:54 +0200 <hololeap> I thought it hooked into a GHCI session or something. yahb has always been more intuitive to me
2021-08-14 23:20:22 +0200 <monochrom> No. lambdabot is only hint and/or mueval.
2021-08-14 23:21:51 +0200 <hololeap> how would you do a declaration with lambdabot?
2021-08-14 23:21:58 +0200 <monochrom> Don't.
2021-08-14 23:21:59 +0200 <hpc> @let likethis = "like this"
2021-08-14 23:22:00 +0200 <lambdabot> Defined.
2021-08-14 23:22:07 +0200 <hololeap> ok
2021-08-14 23:22:13 +0200 <hpc> @undefine
2021-08-14 23:22:13 +0200 <lambdabot> Undefined.
2021-08-14 23:22:37 +0200aguapesada(~aguapesad@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea) (Ping timeout: 245 seconds)
2021-08-14 23:22:44 +0200 <hololeap> Guest21: sorry for the noise, did you get your question answered?
2021-08-14 23:23:01 +0200Ariakenom(~patrik@c83-255-154-140.bredband.tele2.se)
2021-08-14 23:23:06 +0200 <monochrom> GHCi too didn't take most declarations until a decade ago or 5 years ago or something.
2021-08-14 23:24:03 +0200 <monochrom> It required "let" for "let <pat> = <expr", and it didn't take "data X = X", "import List".
2021-08-14 23:24:11 +0200 <monochrom> (And yes back then it was called "List".)
2021-08-14 23:24:29 +0200pfurla(~pfurla@ool-3f8fcb0f.dyn.optonline.net)
2021-08-14 23:24:47 +0200 <hololeap> when I first started with haskell, ghci was like that. and then right after that it changed to the current behavior which is much more intuitive for me
2021-08-14 23:25:55 +0200aguapesada(~aguapesad@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea)
2021-08-14 23:27:49 +0200 <hpc> i thought i was joking when i told people ghci was a giant do block
2021-08-14 23:27:59 +0200 <hpc> turns out it really was, back then lol
2021-08-14 23:28:12 +0200pfurla_(~pfurla@ool-3f8fcb0f.dyn.optonline.net) (Ping timeout: 272 seconds)
2021-08-14 23:28:29 +0200 <aarchi> Are there significant I/O differences between Haskell 98 and 2010?
2021-08-14 23:28:58 +0200 <hpc> in what way?
2021-08-14 23:29:00 +0200 <hpc> performance?
2021-08-14 23:29:44 +0200 <monochrom> I think no.
2021-08-14 23:30:07 +0200Ariakenom(~patrik@c83-255-154-140.bredband.tele2.se) (Quit: WeeChat 3.1)
2021-08-14 23:30:13 +0200 <aarchi> I'm mostly interested in encoding-related changes
2021-08-14 23:30:13 +0200 <Guest21> hololeap yeah I figured it out, however I am stuck once again if you want to lend a hand. =)
2021-08-14 23:30:14 +0200 <monochrom> The requirement of Unicode compliance was there in Haskell 98 or earlier.
2021-08-14 23:30:22 +0200Ariakenom(~patrik@c83-255-154-140.bredband.tele2.se)
2021-08-14 23:30:30 +0200 <hololeap> Guest21: go ahead and ask
2021-08-14 23:30:42 +0200 <monochrom> It was actual implementations like GHC and Hugs that ignored that until a decade ago or something.
2021-08-14 23:31:26 +0200 <Guest21> We are going to find the sum of all odd squares that are smaller than 10 000.
2021-08-14 23:31:34 +0200 <Guest21> sumOddSquares = sum . filter f $ map (^2) [1..]
2021-08-14 23:31:34 +0200 <Guest21> where f x = odd x && x < 10000
2021-08-14 23:31:50 +0200 <Guest21> My function runs forever for some reason.
2021-08-14 23:32:40 +0200 <monochrom> If you find a GHC version that can't be persuaded to do non-latin-1 I/O, take note that its Char type is still big enough for all of Unicode, it's just the I/O routines that disappoint.
2021-08-14 23:32:41 +0200 <hololeap> Guest21: use the takeWhile function
2021-08-14 23:32:56 +0200 <Guest21> Sure, but why doesn't it work like I wrote?
2021-08-14 23:32:57 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-14 23:33:16 +0200 <hololeap> because there is nothing that tells it to stop
2021-08-14 23:33:34 +0200 <hololeap> it doesn't know you want to stop at 10000
2021-08-14 23:33:35 +0200 <Guest21> what happens to my x < 10 000?
2021-08-14 23:33:47 +0200 <monochrom> If you start with [1, 3 .. 10000] you have all odd numbers below 10000 in the first place.
2021-08-14 23:34:02 +0200 <hololeap> the filter function just continues returning False for infinity. it doesn't know to do anything else
2021-08-14 23:34:15 +0200 <Guest21> Oh that's the answer I wanted, thanks!
2021-08-14 23:34:21 +0200 <Guest21> hololeap
2021-08-14 23:34:55 +0200 <hololeap> np
2021-08-14 23:35:07 +0200 <monochrom> You should take a close look at the code of filter and hand-execute it to see what it really does.
2021-08-14 23:36:06 +0200 <monochrom> As opposed to taking an "intuitive" wordy narrative that is completely open to misinterpretation therefore you can misunderstand it and indeed you did.
2021-08-14 23:36:19 +0200machinedgod(~machinedg@24.105.81.50)
2021-08-14 23:36:24 +0200 <monochrom> A formula is worth a thousand pictures. Which is a million words.
2021-08-14 23:36:28 +0200 <hololeap> yeah, the code doesn't lie
2021-08-14 23:38:58 +0200fvr(uid503686@id-503686.highgate.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-14 23:39:55 +0200 <monochrom> Maybe I should put that on my exam too.
2021-08-14 23:41:53 +0200 <monochrom> Is this Project Euler?
2021-08-14 23:42:54 +0200 <monochrom> Did Project Euler not place a very visible banner reminding you you're supposed to math the sh*t out of it and think up a basically O(1)-time algorithm and that should be what you code up, as opposed to brute-forcing it?
2021-08-14 23:43:47 +0200 <aarchi> Are .hi files platform-independent? How compiler version-independent are they?
2021-08-14 23:44:04 +0200 <geekosaur> they're very version-dependent
2021-08-14 23:44:12 +0200 <monochrom> I still don't get it when people, even today, use it for "learning to code". What is the value in learning to code up only brute forcing, really?
2021-08-14 23:44:44 +0200 <aarchi> Can a .hs file be reverse engineered from a .hi file?
2021-08-14 23:44:49 +0200 <Cajun> its very good for learning how to google the right thing to find the right algorithm :P
2021-08-14 23:44:49 +0200 <geekosaur> in fact they start out with a version indicator so the compiler can abort if a .hi file for the wrong version is used
2021-08-14 23:45:06 +0200 <geekosaur> it doesn't have enough infoprmation to recreate a .hs file
2021-08-14 23:45:24 +0200 <hpc> i think you need both the .hi and the .o file to have a chance
2021-08-14 23:45:26 +0200 <aarchi> Does it have AST/source information? An IR?
2021-08-14 23:45:53 +0200 <aarchi> What's in an .hi file?
2021-08-14 23:46:21 +0200 <geekosaur> all it has is enough type information to use a .o fileproperly, and source unfoldings for cross-module inlining (whicyh applies only to small functions)
2021-08-14 23:48:13 +0200 <geekosaur> you can use ghc to dump a .hi file in human-readable file (ghc --print-hi-file iirc)
2021-08-14 23:49:20 +0200 <aarchi> I've got this .hi/.o pair, but no .hs source and I'd like to reverse engineer it:
2021-08-14 23:49:21 +0200 <aarchi> https://web.archive.org/web/20030624020343/http://www.dur.ac.uk/d.j.walrond/whitespace/whitespace-…
2021-08-14 23:49:25 +0200 <aarchi> https://web.archive.org/web/20030624020612/http://www.dur.ac.uk/d.j.walrond/whitespace/whitespace-…
2021-08-14 23:49:47 +0200 <aarchi> I have a later version of VM.hs, but want to derive this version
2021-08-14 23:49:56 +0200 <geekosaur> sorry, it's --show-iface
2021-08-14 23:50:50 +0200 <geekosaur> and I don't think you have enough information to derive that VM.hs
2021-08-14 23:53:56 +0200Guest21(~Guest21@2a02:aa1:1010:e9f8:8986:a924:83c:1c23) (Quit: Client closed)
2021-08-14 23:54:58 +0200 <aarchi> I get "bad CPU type in executable" for both --print-hi-file and --show-iface. I'll have to try it in Docker
2021-08-14 23:55:10 +0200 <aarchi> I guess that means that .hi files are plat-dependent
2021-08-14 23:55:44 +0200 <aarchi> geekosaur: you said the GHC version is at the start of the .hi; I don't see it with xxd/less or strings
2021-08-14 23:57:14 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-14 23:57:47 +0200 <geekosaur> aarchi, it's numerically encoded
2021-08-14 23:58:11 +0200 <geekosaur> and that error actualy means you can't even run ghc
2021-08-14 23:59:14 +0200 <aarchi> Looks like I forgot to cleanup my installation after experimenting with 6.2.1
2021-08-14 23:59:36 +0200 <monochrom> Yeah "executable" refers to GHC itself.