2023/09/03

2023-09-03 00:00:20 +0200CiaoSen(~Jura@2a05:5800:2ae:e700:664b:f0ff:fe37:9ef) (Ping timeout: 246 seconds)
2023-09-03 00:09:06 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-09-03 00:09:44 +0200artem(~artem@2601:249:4380:8950:f474:e3f8:9806:671) (Read error: Connection reset by peer)
2023-09-03 00:10:33 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
2023-09-03 00:18:36 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-09-03 00:19:24 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 248 seconds)
2023-09-03 00:26:01 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e816:d59f:5dd6:1363) (Remote host closed the connection)
2023-09-03 00:27:23 +0200mikoto-chan(~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be) (Ping timeout: 250 seconds)
2023-09-03 00:29:10 +0200zer0bitz_(~zer0bitz@user/zer0bitz)
2023-09-03 00:30:31 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-09-03 00:32:05 +0200zer0bitz(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-09-03 00:33:27 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 250 seconds)
2023-09-03 00:36:50 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 246 seconds)
2023-09-03 00:38:01 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-03 00:41:04 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-03 00:41:04 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-03 00:41:04 +0200wroathe(~wroathe@user/wroathe)
2023-09-03 00:41:40 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-09-03 00:42:52 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 248 seconds)
2023-09-03 00:43:20 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-09-03 00:47:41 +0200mima(~mmh@net-93-67-197-209.cust.vodafonedsl.it) (Ping timeout: 244 seconds)
2023-09-03 00:48:17 +0200Fischmiep(~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in)
2023-09-03 00:51:57 +0200cln_(cln@wtf.cx) (Server closed connection)
2023-09-03 00:52:15 +0200cln_(cln@wtf.cx)
2023-09-03 00:57:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e816:d59f:5dd6:1363)
2023-09-03 00:59:02 +0200Hecate(~mariposa@user/hecate) (Server closed connection)
2023-09-03 00:59:10 +0200Hecate(~mariposa@user/hecate)
2023-09-03 01:01:29 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e816:d59f:5dd6:1363) (Ping timeout: 246 seconds)
2023-09-03 01:01:41 +0200jakesyl____(sid56879@id-56879.hampstead.irccloud.com) (Server closed connection)
2023-09-03 01:02:11 +0200jakesyl____(sid56879@id-56879.hampstead.irccloud.com)
2023-09-03 01:03:06 +0200hook54321(sid149355@user/hook54321) (Server closed connection)
2023-09-03 01:04:21 +0200hook54321(sid149355@user/hook54321)
2023-09-03 01:14:26 +0200CAT_S(apic@brezn3.muc.ccc.de) (Server closed connection)
2023-09-03 01:14:41 +0200CAT_S(apic@brezn3.muc.ccc.de)
2023-09-03 01:15:51 +0200glider(~glider@user/glider) (Server closed connection)
2023-09-03 01:16:08 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e816:d59f:5dd6:1363)
2023-09-03 01:18:55 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-09-03 01:19:11 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-09-03 01:19:12 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 244 seconds)
2023-09-03 01:21:31 +0200skippy(sid26890@user/slice) (Server closed connection)
2023-09-03 01:21:39 +0200skippy(sid26890@user/slice)
2023-09-03 01:23:17 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 250 seconds)
2023-09-03 01:24:21 +0200Ekho(~Ekho@user/ekho) (Server closed connection)
2023-09-03 01:29:06 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-09-03 01:30:19 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-09-03 01:32:19 +0200Ekho(~Ekho@user/ekho)
2023-09-03 01:33:53 +0200jero98772(~jero98772@2800:484:1d84:300::2) (Ping timeout: 246 seconds)
2023-09-03 01:34:16 +0200energizer(~energizer@user/energizer) (Server closed connection)
2023-09-03 01:35:41 +0200bw_(sid2730@id-2730.ilkley.irccloud.com) (Server closed connection)
2023-09-03 01:36:08 +0200bw_(sid2730@id-2730.ilkley.irccloud.com)
2023-09-03 01:38:30 +0200energizer(~energizer@user/energizer)
2023-09-03 01:38:52 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Remote host closed the connection)
2023-09-03 01:39:18 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-09-03 01:39:30 +0200stiell_(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2023-09-03 01:41:12 +0200stiell_(~stiell@gateway/tor-sasl/stiell)
2023-09-03 01:41:18 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-09-03 01:43:36 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Remote host closed the connection)
2023-09-03 01:46:20 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-09-03 01:47:21 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-09-03 01:47:26 +0200jero98772(~jero98772@2800:484:1d84:300::2)
2023-09-03 01:48:44 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-03 01:48:44 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-03 01:48:44 +0200wroathe(~wroathe@user/wroathe)
2023-09-03 01:49:17 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 246 seconds)
2023-09-03 01:51:08 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-09-03 01:56:39 +0200artem(~artem@73.145.240.184)
2023-09-03 01:59:47 +0200ulysses4ever(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Ping timeout: 246 seconds)
2023-09-03 02:00:02 +0200nek0(~nek0@2a01:4f8:222:2b41::12) (*.net *.split)
2023-09-03 02:00:02 +0200V(~v@ircpuzzles/2022/april/winner/V) (*.net *.split)
2023-09-03 02:00:02 +0200ncf(~n@monade.li) (*.net *.split)
2023-09-03 02:00:02 +0200dsrt^(~cd@c-66-56-7-24.hsd1.ga.comcast.net) (*.net *.split)
2023-09-03 02:00:02 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu) (*.net *.split)
2023-09-03 02:00:02 +0200Franciman(~Franciman@mx1.fracta.dev) (*.net *.split)
2023-09-03 02:00:02 +0200biberu(~biberu@user/biberu) (*.net *.split)
2023-09-03 02:00:02 +0200EsoAlgo81(~EsoAlgo@129.146.136.145) (*.net *.split)
2023-09-03 02:00:18 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2023-09-03 02:00:27 +0200dsrt^(~cd@c-66-56-7-24.hsd1.ga.comcast.net)
2023-09-03 02:00:48 +0200polux(~polux@51-15-169-172.rev.poneytelecom.eu)
2023-09-03 02:00:48 +0200V(~v@ircpuzzles/2022/april/winner/V)
2023-09-03 02:00:49 +0200Franciman(~Franciman@mx1.fracta.dev)
2023-09-03 02:00:56 +0200EsoAlgo81(~EsoAlgo@129.146.136.145)
2023-09-03 02:00:57 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-09-03 02:01:12 +0200biberu(~biberu@user/biberu)
2023-09-03 02:01:41 +0200ncf(~n@monade.li)
2023-09-03 02:02:27 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-09-03 02:03:10 +0200susul(~susul@user/susul) (Quit: WeeChat 3.0)
2023-09-03 02:03:52 +0200califax(~califax@user/califx)
2023-09-03 02:10:21 +0200hpc(~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 248 seconds)
2023-09-03 02:11:57 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2023-09-03 02:13:20 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 246 seconds)
2023-09-03 02:13:45 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se)
2023-09-03 02:20:13 +0200artem(~artem@73.145.240.184) (Read error: Connection reset by peer)
2023-09-03 02:20:15 +0200ulysses4ever(~artem@73.145.240.184)
2023-09-03 02:41:34 +0200fr33domlover(~fr33domlo@towards.vision) (Remote host closed the connection)
2023-09-03 02:42:07 +0200hpc(~juzz@ip98-169-35-163.dc.dc.cox.net)
2023-09-03 02:42:40 +0200fr33domlover(~fr33domlo@towards.vision)
2023-09-03 02:43:50 +0200jero98772(~jero98772@2800:484:1d84:300::2) (Ping timeout: 245 seconds)
2023-09-03 02:44:03 +0200artem(~artem@c-73-103-90-145.hsd1.in.comcast.net)
2023-09-03 02:45:01 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
2023-09-03 02:46:54 +0200ulysses4ever(~artem@73.145.240.184) (Read error: Connection reset by peer)
2023-09-03 02:48:02 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-09-03 02:48:28 +0200 <justsomeguy> How can I list all processes using Haskell? (I'm on a Linux box.)
2023-09-03 02:49:58 +0200justsomeguy(~justsomeg@user/justsomeguy) (Client Quit)
2023-09-03 02:51:59 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 02:53:32 +0200 <geekosaur> @tell justsomeguy they're native executables, not interpreted programs like with js or python. you can't even check for specific shared objects because haskell libraries including HSrts are usually linked statically
2023-09-03 02:53:32 +0200 <lambdabot> Consider it noted.
2023-09-03 02:54:16 +0200Square(~Square@user/square)
2023-09-03 02:55:41 +0200jero98772(~jero98772@2800:484:1d84:300::2)
2023-09-03 02:56:21 +0200 <geekosaur> @tell justsomeguy you might be able to inspect memory mappings in /proc to discover processes that have 1TB page tables, but I don't know what that looks like ottomh
2023-09-03 02:56:21 +0200 <lambdabot> Consider it noted.
2023-09-03 02:57:49 +0200 <probie> Given that GHC's calling convention is rather unique, it's probably possible to write something to inspect a binary and determine if it was built by GHC
2023-09-03 03:00:54 +0200migas(~migas@astra4961.startdedicated.net) (Quit: The Lounge - https://thelounge.github.io)
2023-09-03 03:01:37 +0200migas(~migas@astra4961.startdedicated.net)
2023-09-03 03:02:29 +0200migas(~migas@astra4961.startdedicated.net) (Client Quit)
2023-09-03 03:03:44 +0200 <geekosaur[c]> `strings` will suffice there
2023-09-03 03:04:43 +0200 <geekosaur[c]> But it's still inspecting every binary instead of using something in e.g. `ps`
2023-09-03 03:07:14 +0200migas(~migas@astra4961.startdedicated.net)
2023-09-03 03:11:07 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2023-09-03 03:12:39 +0200glider(~glider@user/glider)
2023-09-03 03:17:14 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2023-09-03 03:22:11 +0200waleee(~waleee@h-176-10-137-138.NA.cust.bahnhof.se) (Ping timeout: 246 seconds)
2023-09-03 03:26:21 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds)
2023-09-03 03:30:34 +0200 <monochrom> In /proc/<pid>/maps, look for dynamic linking to libgmp. :)
2023-09-03 03:32:24 +0200 <monochrom> also in /proc/<pid>/fd you will find an unusual amount of pipes and timers.
2023-09-03 03:32:24 +0200gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2023-09-03 03:32:39 +0200gentauro(~gentauro@user/gentauro)
2023-09-03 03:34:29 +0200 <wroathe> https://gist.github.com/JustinChristensen/0c1d994d6f350228e6b9ae8a64f252e4
2023-09-03 03:34:42 +0200 <wroathe> ^ Is there a way to avoid duplicating this instance?
2023-09-03 03:35:00 +0200 <wroathe> And instead doing something at a type level like c == PrimaryKey
2023-09-03 03:35:46 +0200bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8)
2023-09-03 03:40:19 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 03:48:28 +0200YuutaW(~YuutaW@mail.yuuta.moe) (Ping timeout: 246 seconds)
2023-09-03 03:48:38 +0200bratwurst(~blaadsfa@2604:3d09:207f:f650:216:3eff:fe5a:a1f8) (Ping timeout: 246 seconds)
2023-09-03 03:51:08 +0200otto_s(~user@p4ff27f1b.dip0.t-ipconnect.de) (Ping timeout: 248 seconds)
2023-09-03 03:52:44 +0200otto_s(~user@p4ff279d3.dip0.t-ipconnect.de)
2023-09-03 03:54:14 +0200ft(~ft@p508db658.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-09-03 03:56:06 +0200ft(~ft@p4fc2a8a4.dip0.t-ipconnect.de)
2023-09-03 03:58:25 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds)
2023-09-03 03:59:58 +0200Luj(~Luj@2a01:e0a:5f9:9681:92c9:bd26:afaf:3abb) (Quit: Ping timeout (120 seconds))
2023-09-03 04:00:17 +0200Luj(~Luj@2a01:e0a:5f9:9681:fdb9:f3db:714b:2596)
2023-09-03 04:03:59 +0200Square(~Square@user/square) (Remote host closed the connection)
2023-09-03 04:07:03 +0200shapr(~user@2600:1700:c640:3100:4da3:c612:34c4:c6d4) (Remote host closed the connection)
2023-09-03 04:07:10 +0200myme(~myme@2a01:799:d60:e400:931b:da7a:83d:85fa) (Ping timeout: 245 seconds)
2023-09-03 04:07:16 +0200shapr(~user@2600:1700:c640:3100:8df1:aed4:1a6e:c7e2)
2023-09-03 04:07:24 +0200hyvoid(~hyenavoid@222-0-178-69.static.gci.net) (Quit: WeeChat 4.0.4)
2023-09-03 04:08:19 +0200myme(~myme@2a01:799:d60:e400:fbb2:2d0:8727:55f2)
2023-09-03 04:08:19 +0200tv(~tv@user/tv) (Read error: Connection reset by peer)
2023-09-03 04:09:24 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-09-03 04:10:07 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 250 seconds)
2023-09-03 04:14:53 +0200shapr(~user@2600:1700:c640:3100:8df1:aed4:1a6e:c7e2) (Ping timeout: 246 seconds)
2023-09-03 04:15:25 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-03 04:18:46 +0200td_(~td@i53870920.versanet.de) (Ping timeout: 245 seconds)
2023-09-03 04:19:05 +0200todi(~todi@85.239.52.173) (Ping timeout: 246 seconds)
2023-09-03 04:20:34 +0200td_(~td@i53870926.versanet.de)
2023-09-03 04:22:57 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-09-03 04:23:32 +0200 <justsomeguy> How can I list all running processes using Haskell? I don't see anything in base that fits the bill. Looking for a relevant package on hoogle now.
2023-09-03 04:24:27 +0200user2(~user@162.255.84.96) (Server closed connection)
2023-09-03 04:24:49 +0200user2(~user@162.255.84.96)
2023-09-03 04:25:11 +0200 <probie> justsomeguy: English is too ambiguous. Do you mean "How can I list (all running processes) using Haskell" or "How can I list all (running processes using Haskell)"?
2023-09-03 04:26:10 +0200 <justsomeguy> I don't understand. Basically I want to write a cli utility that, when run, lists the pid and argument list of all currently running processes on a Linux machine.
2023-09-03 04:26:32 +0200 <EvanR> you can call out to the ps command using System.Process
2023-09-03 04:27:12 +0200 <justsomeguy> I guess that's the most straight-forward way. Is there a library I can use to do this, instead?
2023-09-03 04:28:11 +0200 <EvanR> it's like a one liner to get the text output of ps
2023-09-03 04:28:15 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 04:28:37 +0200 <EvanR> since you just want to show that list... seems like you'd be done
2023-09-03 04:28:40 +0200 <dolio> It's pointless to write a Haskell utility that just calls ps, though.
2023-09-03 04:28:43 +0200 <wroathe> justsomeguy: Another way would be to parse through /proc
2023-09-03 04:28:54 +0200 <probie> Why run `ps` at all? Just look at folders with numeric names in `/proc`
2023-09-03 04:29:05 +0200 <wroathe> probie: jynx
2023-09-03 04:30:09 +0200 <monochrom> All existing Linux utilities for that just read from /proc.
2023-09-03 04:31:06 +0200 <wroathe> https://gist.github.com/JustinChristensen/0c1d994d6f350228e6b9ae8a64f252e4 <-- is there a way to avoid duplicating this instance? Like a way to do type equivalence that results in a Bool term?
2023-09-03 04:31:15 +0200 <monochrom> cmdline arguments are in /proc/N/cmdline
2023-09-03 04:31:52 +0200 <EvanR> I did the leg work of look at hackage for justsomeguy !
2023-09-03 04:31:58 +0200 <EvanR> I'm an enabler https://hackage.haskell.org/package/system-linux-proc
2023-09-03 04:32:12 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-09-03 04:32:12 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-09-03 04:32:12 +0200finn_elijaFinnElija
2023-09-03 04:32:45 +0200 <monochrom> Perhaps there is an innate disbelief that it's /proc. I know because I was one of them.
2023-09-03 04:33:00 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 04:33:07 +0200 <wroathe> The more you dig into linux the more you realize that everything is driven by the fs
2023-09-03 04:33:12 +0200 <wroathe> Just accept it
2023-09-03 04:33:48 +0200 <justsomeguy> Thank you EvanR. I think that I'll have to learn more about Hoogle. I couldn't find anything when I searched. Maybe the key was adding "proc" to the keywords.
2023-09-03 04:34:03 +0200 <EvanR> hoogle is search by type signature right
2023-09-03 04:34:15 +0200 <EvanR> if you don't guess the type names used in the library you want, you're screwed
2023-09-03 04:34:26 +0200 <EvanR> hackage is the package repo
2023-09-03 04:34:35 +0200 <justsomeguy> monochrom: That's interesting. I think I'll spend some time learning how to explore /proc. (Which will mean learning basic file IO, too.)
2023-09-03 04:35:22 +0200 <justsomeguy> So, how did you guess the type signature, EvanR ?
2023-09-03 04:35:35 +0200 <EvanR> everything is nicely available in the filesystem, which has limited support for transactions. So by the time you finish sifting through /proc the landscape has changed on you in an unknown way!
2023-09-03 04:35:39 +0200razetime(~quassel@49.207.205.39)
2023-09-03 04:36:59 +0200 <EvanR> justsomeguy, didn't, I heard on hackage for `linux'
2023-09-03 04:37:06 +0200 <EvanR> I searched*
2023-09-03 04:37:32 +0200 <probie> listDirectory "/proc" >>= filterM (doesDirectoryExist . ("/proc/" <>)) . filter (all isDigit) >>= mapM_ (\proc -> putStr proc >> putChar '\t' >> (readFile ("/proc/" <> proc <> "/cmdline") >>= putStrLn))
2023-09-03 04:37:59 +0200 <EvanR> ah perfectly idiomatic haskell
2023-09-03 04:38:36 +0200 <probie> It seems to work, apart from that there tend to be a bunch of processes an empty `cmdline`
2023-09-03 04:39:15 +0200 <EvanR> child processes spawned without typing a command?
2023-09-03 04:39:42 +0200 <monochrom> They just inherit the same cmdline.
2023-09-03 04:39:55 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-09-03 04:40:11 +0200 <probie> They seem to all be kworkers
2023-09-03 04:46:30 +0200 <probie> I was about to complain about the directory package using strings, but since I've lasted looked at it, they added `System.Directory.OsPath`
2023-09-03 04:47:24 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 04:48:40 +0200 <monochrom> :)
2023-09-03 04:52:30 +0200YuutaW(~YuutaW@2404:f4c0:f9c3:502::100:17b7)
2023-09-03 04:53:28 +0200 <probie> although, it seems like you have to import `System.Directory.Internal` to actually use it, since I can't find a way outside of that to turn a literal into an `OsPath`
2023-09-03 04:55:31 +0200 <justsomeguy> I just started putting together braindead-simple example programs and it's been really fun so far. Things like "how do I parse args", "how do I read a CSV and output the first two feilds", "how do I download a webpage using http". It's a good diversion from the book I'm working on.
2023-09-03 04:58:08 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-03 04:58:33 +0200 <justsomeguy> It doesn't sound exciting, but I'm finding it more interesting that implementing ceasar cipher programs or reimplementing functions from Data.Maybe.
2023-09-03 04:59:26 +0200 <ddellacosta> I think anything that motivates you to keep programming and learning is great
2023-09-03 04:59:47 +0200sm(~sm@plaintextaccounting/sm)
2023-09-03 05:00:03 +0200sm(~sm@plaintextaccounting/sm) (Client Quit)
2023-09-03 05:10:09 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 05:10:36 +0200gabiruh(~gabiruh@191.252.222.55) (Ping timeout: 248 seconds)
2023-09-03 05:11:42 +0200gabiruh(~gabiruh@vps19177.publiccloud.com.br)
2023-09-03 05:13:23 +0200 <[Leary]> probie: Weird, looks like you have to depend directly on filepath. They should just reexport `encodeUtf` and `osstr`.
2023-09-03 05:18:42 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-09-03 05:18:45 +0200 <EvanR> justsomeguy, if you figure out graphics you can also make visualizations for your CSV files
2023-09-03 05:20:08 +0200 <justsomeguy> That sounds fun <3
2023-09-03 05:20:48 +0200jero98772(~jero98772@2800:484:1d84:300::2) (Remote host closed the connection)
2023-09-03 05:20:51 +0200Guest25(~Guest25@124.253.109.13)
2023-09-03 05:22:03 +0200aforemny_(~aforemny@i59F516FF.versanet.de) (Ping timeout: 246 seconds)
2023-09-03 05:22:07 +0200aforemny(~aforemny@i59F516DB.versanet.de)
2023-09-03 05:27:45 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com)
2023-09-03 05:33:51 +0200Guest25(~Guest25@124.253.109.13) (Quit: Client closed)
2023-09-03 05:35:16 +0200Me-me(~Me-me@user/me-me) (Quit: Something has gone terribly, terribly wrong, that being that I'm not here any more.)
2023-09-03 05:39:58 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 05:40:57 +0200kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host) (Server closed connection)
2023-09-03 05:41:04 +0200kaol(~kaol@94-237-42-30.nl-ams1.upcloud.host)
2023-09-03 05:42:06 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 255 seconds)
2023-09-03 05:47:47 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 246 seconds)
2023-09-03 05:56:05 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-09-03 05:57:32 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 248 seconds)
2023-09-03 05:58:12 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 244 seconds)
2023-09-03 05:59:25 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-03 06:02:27 +0200billchenchina(~billchenc@103.152.35.21)
2023-09-03 06:06:53 +0200xff0x(~xff0x@2405:6580:b080:900:f9db:5513:e0b6:cbdd) (Ping timeout: 246 seconds)
2023-09-03 06:07:16 +0200xff0x(~xff0x@178.255.149.135)
2023-09-03 06:11:39 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-09-03 06:15:59 +0200mud(~mud@user/kadoban)
2023-09-03 06:19:41 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-09-03 06:20:54 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 06:24:44 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-09-03 06:25:58 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 06:26:39 +0200xff0x(~xff0x@178.255.149.135) (Ping timeout: 255 seconds)
2023-09-03 06:28:31 +0200xff0x(~xff0x@2405:6580:b080:900:5a86:3c66:d876:96c3)
2023-09-03 06:31:22 +0200mud(~mud@user/kadoban) (Ping timeout: 255 seconds)
2023-09-03 06:33:28 +0200mud(~mud@user/kadoban)
2023-09-03 06:34:39 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 06:43:28 +0200kadobanana(~mud@user/kadoban)
2023-09-03 06:44:04 +0200mud(~mud@user/kadoban) (Read error: Connection reset by peer)
2023-09-03 06:47:20 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-09-03 06:52:44 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-03 06:54:24 +0200Jackneill_(~Jackneill@20014C4E1E04F900B232957EB116ACCE.dsl.pool.telekom.hu)
2023-09-03 06:56:58 +0200mud(~mud@user/kadoban)
2023-09-03 06:57:25 +0200kadobanana(~mud@user/kadoban) (Read error: Connection reset by peer)
2023-09-03 06:59:30 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 255 seconds)
2023-09-03 07:00:40 +0200mhatta(~mhatta@www21123ui.sakura.ne.jp)
2023-09-03 07:01:18 +0200kadobanana(~mud@user/kadoban)
2023-09-03 07:01:35 +0200mud(~mud@user/kadoban) (Read error: Connection reset by peer)
2023-09-03 07:02:23 +0200acidjnk(~acidjnk@p200300d6e7072f47394156b098f09540.dip0.t-ipconnect.de)
2023-09-03 07:02:32 +0200connrs(~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-03 07:02:48 +0200connrs(~connrs@user/connrs)
2023-09-03 07:10:16 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 07:11:38 +0200razetime(~quassel@49.207.205.39) (Ping timeout: 246 seconds)
2023-09-03 07:14:58 +0200kadobanana(~mud@user/kadoban) (Read error: Connection reset by peer)
2023-09-03 07:15:17 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-03 07:15:19 +0200kadobanana(~mud@user/kadoban)
2023-09-03 07:16:14 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-03 07:19:43 +0200mysl(~mysl@user/mysl) (Ping timeout: 258 seconds)
2023-09-03 07:20:32 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-03 07:20:44 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-09-03 07:21:09 +0200mud(~mud@user/kadoban)
2023-09-03 07:22:13 +0200kadobanana(~mud@user/kadoban) (Ping timeout: 255 seconds)
2023-09-03 07:26:10 +0200mud(~mud@user/kadoban) (Read error: Connection reset by peer)
2023-09-03 07:26:30 +0200mud(~mud@user/kadoban)
2023-09-03 07:26:59 +0200mud(~mud@user/kadoban) (Client Quit)
2023-09-03 07:34:32 +0200razetime(~quassel@49.207.205.39)
2023-09-03 07:35:13 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-03 07:40:31 +0200zer0bitz_(~zer0bitz@user/zer0bitz) (Ping timeout: 246 seconds)
2023-09-03 07:42:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 07:49:45 +0200zer0bitz(~zer0bitz@user/zer0bitz)
2023-09-03 07:54:27 +0200Jackneill_(~Jackneill@20014C4E1E04F900B232957EB116ACCE.dsl.pool.telekom.hu) (Ping timeout: 244 seconds)
2023-09-03 07:55:32 +0200NinjaTrappeur(~ninja@user/ninjatrappeur) (Server closed connection)
2023-09-03 07:55:58 +0200NinjaTrappeur(~ninja@user/ninjatrappeur)
2023-09-03 07:59:56 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-03 08:00:59 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-03 08:06:17 +0200razetime(~quassel@49.207.205.39) (Ping timeout: 250 seconds)
2023-09-03 08:06:45 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-03 08:07:42 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2023-09-03 08:07:51 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
2023-09-03 08:08:43 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-09-03 08:14:04 +0200razetime(~quassel@49.207.205.39)
2023-09-03 08:16:52 +0200mima(~mmh@net-93-67-197-209.cust.vodafonedsl.it)
2023-09-03 08:18:34 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 08:23:37 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds)
2023-09-03 08:27:27 +0200whatsupdoc(uid509081@id-509081.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-03 08:27:35 +0200razetime(~quassel@49.207.205.39) (Ping timeout: 246 seconds)
2023-09-03 08:36:47 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 08:39:27 +0200 <phma> I run my program on an 8-byte file, using "stack run", and it produces 0 bytes of output.
2023-09-03 08:40:45 +0200 <phma> I run «encryptFile "keyκλειςמפתחключ" "temp858575.8.orig" "temp858575.8.he"» inside "stack ghci" (temp858575.8.orig being the 8-byte file) and I get 8 bytes of output.
2023-09-03 08:41:16 +0200 <phma> I run it with "stack run" on an 8 MiB file, and I get 8 MiB of output. How come?
2023-09-03 08:41:50 +0200mjt128(~user@2604:3d09:3e79:f200:d96:cc3f:e5f6:21af) (Remote host closed the connection)
2023-09-03 08:42:19 +0200 <phma> Here's the source: https://github.com/phma/wring-twistree/blob/master/app/Main.hs
2023-09-03 08:42:41 +0200 <phma> Lazy I/O, I guess.
2023-09-03 08:43:21 +0200 <mauke> if (length actions == 1) then Just (head actions) else Nothing should be replaced by pattern matching
2023-09-03 08:50:43 +0200 <phma> That's not the problem. It produced a file, so it called encryptFile. But it produced an empty file.
2023-09-03 08:51:21 +0200 <mauke> yeah, I just skimmed it because it was too much code
2023-09-03 08:51:24 +0200 <mauke> but that stuck out to me
2023-09-03 08:52:55 +0200 <phma> I had a previous version that wrote the file differently; I gave it a 17025-byte file and it output a 16084-byte file, or something like that.
2023-09-03 08:53:08 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-03 08:53:28 +0200 <phma> I fixed that by outputting a strict ByteString. Takes more memory at the end, but it writes the whole file.
2023-09-03 08:54:05 +0200mysl(~mysl@user/mysl)
2023-09-03 08:54:46 +0200 <phma> I'm wondering if, when run from "stack run", it closes the input file before reading anything.
2023-09-03 08:55:20 +0200 <mauke> have you done any debugging?
2023-09-03 08:56:32 +0200 <phma> how do I debug it when using stack? I've tried the ghci debugger on another program, long time ago.
2023-09-03 08:56:53 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-03 08:57:08 +0200 <mauke> remove all parts of the code that don't contribute to the problem
2023-09-03 08:57:11 +0200 <mauke> hardcode inputs, etc
2023-09-03 08:58:00 +0200 <int-e> IIUC you should close the handle so that buffers are flushed.
2023-09-03 08:58:44 +0200 <phma> how do I make sure that the whole data structure is output before I close the handle?
2023-09-03 08:59:32 +0200 <int-e> hClose will take care of that.
2023-09-03 09:00:02 +0200 <phma> do I put that in writeFileArray?
2023-09-03 09:00:20 +0200 <int-e> Yes, after the hPut.
2023-09-03 09:00:57 +0200 <phma> do I have to put it in the readFile functions too?
2023-09-03 09:01:36 +0200ursa-major(~ursa-majo@37.19.210.23) (Ping timeout: 260 seconds)
2023-09-03 09:01:48 +0200 <int-e> You don't have to. With lazy IO it would even be harmful.
2023-09-03 09:01:55 +0200 <phma> it is possible (though not in the current shell script) that the output file is the same as the input file
2023-09-03 09:02:15 +0200 <int-e> If you want to allow that you better close the handle after reading.
2023-09-03 09:02:15 +0200 <phma> ok I'll try that
2023-09-03 09:02:53 +0200 <int-e> (You're not currently using lazy IO so closing is fine.)
2023-09-03 09:03:00 +0200 <mauke> hGetContents closes the handle
2023-09-03 09:03:05 +0200 <phma> the file is read eagerly when encrypting, it will be read lazily when hashing
2023-09-03 09:03:13 +0200 <int-e> Oh right.
2023-09-03 09:04:02 +0200 <mauke> consider writing to a tmp file and renaming it to the target on success
2023-09-03 09:05:14 +0200 <phma> all files are 8 bytes now
2023-09-03 09:05:26 +0200 <int-e> I'm not sure I fully understand this... I *believe* the footgun here is that buffers of open handles are flushed in a finalizer. So in a lot of cases, your file will be written fully even if you don't close it; all you have to do is trigger a garbage collection. However, terminating the program does not do a final GC.
2023-09-03 09:06:01 +0200 <phma> now I have to fix a bug in the Rust program where it crashes reading an empty file
2023-09-03 09:06:47 +0200apteryx(~maxim@dsl-154-228.b2b2c.ca) (Ping timeout: 244 seconds)
2023-09-03 09:07:27 +0200 <int-e> In particular, ghci will quickly GC once you reach the prompt (at which point the process will be idle) and that will write the file fully at that point... so that'll be why it seems to work in ghci.
2023-09-03 09:08:09 +0200 <phma> Ah!
2023-09-03 09:09:48 +0200sm(~sm@plaintextaccounting/sm)
2023-09-03 09:18:06 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds)
2023-09-03 09:18:49 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-09-03 09:18:52 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 09:20:40 +0200apteryx(~maxim@dsl-10-135-141.b2b2c.ca)
2023-09-03 09:21:47 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 09:21:48 +0200mysl(~mysl@user/mysl) (Read error: Connection reset by peer)
2023-09-03 09:24:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:e816:d59f:5dd6:1363) (Remote host closed the connection)
2023-09-03 09:26:18 +0200mysl(~mysl@user/mysl)
2023-09-03 09:26:52 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 09:27:28 +0200ursa-major(~ursa-majo@static-198-44-128-182.cust.tzulo.com)
2023-09-03 09:28:12 +0200ursa-major(~ursa-majo@static-198-44-128-182.cust.tzulo.com) (Client Quit)
2023-09-03 09:29:04 +0200billchenchina(~billchenc@103.152.35.21) (Remote host closed the connection)
2023-09-03 09:29:15 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 245 seconds)
2023-09-03 09:29:26 +0200todi(~todi@p4fd1a580.dip0.t-ipconnect.de)
2023-09-03 09:33:07 +0200fendor(~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f)
2023-09-03 09:39:20 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 09:43:35 +0200billchenchina(~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a)
2023-09-03 09:45:55 +0200razetime(~quassel@49.207.205.39)
2023-09-03 09:54:00 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 246 seconds)
2023-09-03 09:54:36 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2023-09-03 09:54:41 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 260 seconds)
2023-09-03 09:54:44 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Ping timeout: 246 seconds)
2023-09-03 09:54:50 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-09-03 09:56:17 +0200allbery_bgeekosaur
2023-09-03 09:57:13 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-09-03 09:58:36 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 10:02:02 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2dac:1dc7:bdec:1908)
2023-09-03 10:04:55 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 10:06:07 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-03 10:08:42 +0200lottaquestions_(~nick@2607:fa49:503d:b200:d5e6:66af:52b4:3a41) (Server closed connection)
2023-09-03 10:09:10 +0200lottaquestions_(~nick@2607:fa49:503d:b200:4f8:d092:c79f:e0d6)
2023-09-03 10:10:07 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-114.dsl.bell.ca) (Server closed connection)
2023-09-03 10:10:27 +0200pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-46-67-70-100-114.dsl.bell.ca)
2023-09-03 10:13:21 +0200oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl)
2023-09-03 10:21:52 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-09-03 10:26:05 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 10:29:10 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-03 10:31:18 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-03 10:35:41 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-09-03 10:43:20 +0200tv(~tv@user/tv)
2023-09-03 10:43:53 +0200billchenchina(~billchenc@2a0c:b641:7a2:320:ee3e:47ca:6070:d71a) (Remote host closed the connection)
2023-09-03 10:45:22 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 10:46:46 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Remote host closed the connection)
2023-09-03 10:47:09 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 10:47:42 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Remote host closed the connection)
2023-09-03 10:48:09 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 10:49:39 +0200Fischmiep(~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in)
2023-09-03 11:00:50 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-09-03 11:02:01 +0200arahael(~arahael@119.18.1.27)
2023-09-03 11:07:00 +0200arahael(~arahael@119.18.1.27) (Ping timeout: 255 seconds)
2023-09-03 11:11:18 +0200mima(~mmh@net-93-67-197-209.cust.vodafonedsl.it) (Ping timeout: 244 seconds)
2023-09-03 11:12:51 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Ping timeout: 255 seconds)
2023-09-03 11:14:31 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-09-03 11:17:10 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-03 11:19:02 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-09-03 11:20:16 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
2023-09-03 11:22:35 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 250 seconds)
2023-09-03 11:30:11 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 246 seconds)
2023-09-03 11:31:55 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 11:37:02 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-09-03 11:37:54 +0200notzmv(~zmv@user/notzmv)
2023-09-03 11:41:52 +0200Vajb(~Vajb@85-76-5-175-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
2023-09-03 11:50:01 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 11:52:19 +0200lex_(~alex@188.26.233.194)
2023-09-03 11:54:56 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Ping timeout: 246 seconds)
2023-09-03 11:55:17 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Ping timeout: 246 seconds)
2023-09-03 12:00:26 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2023-09-03 12:00:46 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-09-03 12:04:50 +0200azimut_(~azimut@gateway/tor-sasl/azimut)
2023-09-03 12:07:09 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-09-03 12:09:39 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 12:14:40 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 12:16:54 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-09-03 12:20:03 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-09-03 12:26:22 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 12:27:20 +0200hdggxin_(~hdggxin@122.175.41.19) (Ping timeout: 246 seconds)
2023-09-03 12:30:19 +0200fserucas__(~fserucas@89.214.152.246) (Ping timeout: 246 seconds)
2023-09-03 12:31:11 +0200razetime(~quassel@49.207.205.39) (Ping timeout: 245 seconds)
2023-09-03 12:33:59 +0200lex_(~alex@188.26.233.194) (Ping timeout: 246 seconds)
2023-09-03 12:40:27 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-09-03 12:41:04 +0200chiselfuse(~chiselfus@user/chiselfuse)
2023-09-03 12:45:20 +0200mmhat(~mmh@p200300f1c7414423ee086bfffe095315.dip0.t-ipconnect.de)
2023-09-03 12:45:21 +0200mmhat(~mmh@p200300f1c7414423ee086bfffe095315.dip0.t-ipconnect.de) (Client Quit)
2023-09-03 12:45:49 +0200razetime(~quassel@49.207.205.39)
2023-09-03 12:47:09 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 248 seconds)
2023-09-03 12:54:30 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 13:01:04 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 13:01:13 +0200mrmr1(~mrmr@user/mrmr) (Quit: Bye, See ya later!)
2023-09-03 13:02:19 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 13:02:58 +0200libertyprime(~libertypr@203.96.203.44)
2023-09-03 13:06:11 +0200mrmr1(~mrmr@user/mrmr)
2023-09-03 13:07:27 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds)
2023-09-03 13:13:49 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 13:16:22 +0200rachelambda(~rachelamb@78-67-128-99-no247.tbcn.telia.com) (Ping timeout: 255 seconds)
2023-09-03 13:18:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 13:19:49 +0200rachelambda(~rachelamb@78-67-128-99-no247.tbcn.telia.com)
2023-09-03 13:20:20 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 246 seconds)
2023-09-03 13:21:22 +0200shailangsa_(~shailangs@host86-186-196-224.range86-186.btcentralplus.com) (Server closed connection)
2023-09-03 13:22:19 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-09-03 13:22:49 +0200rachelambda(~rachelamb@78-67-128-99-no247.tbcn.telia.com) (Client Quit)
2023-09-03 13:23:06 +0200razetime(~quassel@49.207.205.39) (Remote host closed the connection)
2023-09-03 13:23:10 +0200rachelambda(~rachelamb@78-67-128-99-no247.tbcn.telia.com)
2023-09-03 13:25:33 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 13:29:15 +0200__monty__(~toonn@user/toonn)
2023-09-03 13:36:04 +0200qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2023-09-03 13:40:19 +0200darkling(~darkling@2001-ba8-1f1-f0e6-0-0-0-2.autov6rev.bitfolk.space) (Remote host closed the connection)
2023-09-03 13:40:23 +0200df(~ben@justworks.xyz) (Ping timeout: 250 seconds)
2023-09-03 13:40:37 +0200df(~ben@justworks.xyz)
2023-09-03 13:40:38 +0200darkling(~darkling@savella.carfax.org.uk)
2023-09-03 13:42:01 +0200libertyprime(~libertypr@203.96.203.44) (Ping timeout: 255 seconds)
2023-09-03 13:42:35 +0200mechap(~mechap@user/mechap) (Ping timeout: 246 seconds)
2023-09-03 13:43:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 13:43:49 +0200mechap(~mechap@user/mechap)
2023-09-03 13:53:21 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 14:01:32 +0200Vajb(~Vajb@85-76-2-15-nat.elisa-mobile.fi)
2023-09-03 14:03:16 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 14:04:18 +0200shailangsa(~shailangs@host86-186-196-224.range86-186.btcentralplus.com)
2023-09-03 14:08:00 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 14:11:58 +0200mima(~mmh@net-93-67-197-209.cust.vodafonedsl.it)
2023-09-03 14:14:46 +0200mechap(~mechap@user/mechap) (Quit: WeeChat 4.0.4)
2023-09-03 14:15:10 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-09-03 14:17:07 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Ping timeout: 255 seconds)
2023-09-03 14:17:14 +0200infinity0(~infinity0@pwned.gg) (Ping timeout: 246 seconds)
2023-09-03 14:17:52 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf) (Ping timeout: 245 seconds)
2023-09-03 14:19:52 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2023-09-03 14:24:04 +0200yushyin(lalptp8DQk@mail.karif.server-speed.net) (Quit: WeeChat 3.8)
2023-09-03 14:24:04 +0200noctux1(88FTKVRINY@user/noctux) (Quit: WeeChat 3.7.1)
2023-09-03 14:24:05 +0200s4msung(cDjJALwvGU@user/s4msung) (Quit: s4msung)
2023-09-03 14:24:33 +0200noctuks(8da8AZSHaf@user/noctux)
2023-09-03 14:24:35 +0200s4msung(0RQA7T2IW8@user/s4msung)
2023-09-03 14:24:35 +0200yushyin(QIgO0IDFsU@mail.karif.server-speed.net)
2023-09-03 14:24:40 +0200qqq(~qqq@92.43.167.61)
2023-09-03 14:24:50 +0200ezzieyguywuf(~Unknown@user/ezzieyguywuf)
2023-09-03 14:28:05 +0200paulpaul1076(~textual@157.97.121.11)
2023-09-03 14:28:53 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-03 14:29:21 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-09-03 14:33:19 +0200artem(~artem@c-73-103-90-145.hsd1.in.comcast.net) (Read error: Connection reset by peer)
2023-09-03 14:33:28 +0200ulysses4ever(~artem@2601:249:4380:8950:f474:e3f8:9806:671)
2023-09-03 14:35:41 +0200Lycurgus(~juan@user/Lycurgus)
2023-09-03 14:36:43 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 14:39:17 +0200gawen_(~gawen@user/gawen) (Server closed connection)
2023-09-03 14:40:20 +0200gawen(~gawen@user/gawen)
2023-09-03 14:46:52 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-03 14:52:27 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-09-03 14:55:30 +0200mima(~mmh@net-93-67-197-209.cust.vodafonedsl.it) (Ping timeout: 258 seconds)
2023-09-03 14:55:40 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 248 seconds)
2023-09-03 14:55:44 +0200paulpaul1076(~textual@157.97.121.11) (Ping timeout: 246 seconds)
2023-09-03 14:59:13 +0200mikoto-chan(~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be)
2023-09-03 15:00:10 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-09-03 15:09:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 15:25:14 +0200bitdex_(~bitdex@gateway/tor-sasl/bitdex)
2023-09-03 15:25:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 15:27:42 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 246 seconds)
2023-09-03 15:43:34 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 15:50:20 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Tschüss)
2023-09-03 15:57:20 +0200mysl(~mysl@user/mysl) (Ping timeout: 246 seconds)
2023-09-03 15:57:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-03 15:57:44 +0200 <erisco> side effect on free, yikes
2023-09-03 15:58:01 +0200mysl(~mysl@user/mysl)
2023-09-03 16:03:17 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 246 seconds)
2023-09-03 16:06:35 +0200Fischmiep(~Fischmiep@user/Fischmiep) (Quit: ZNC - https://znc.in)
2023-09-03 16:08:37 +0200Fischmiep(~Fischmiep@user/Fischmiep)
2023-09-03 16:16:01 +0200wroathe(~wroathe@user/wroathe)
2023-09-03 16:19:13 +0200acidjnk(~acidjnk@p200300d6e7072f47394156b098f09540.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-09-03 16:23:24 +0200p3n(~p3n@2a00:19a0:3:7c:0:d9c6:7cf6:1) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-03 16:25:21 +0200p3n(~p3n@217.198.124.246)
2023-09-03 16:26:17 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 16:27:54 +0200sm(~sm@plaintextaccounting/sm)
2023-09-03 16:28:18 +0200sm(~sm@plaintextaccounting/sm) (Remote host closed the connection)
2023-09-03 16:28:22 +0200masterbu1lder(~masterbui@user/masterbuilder) (Server closed connection)
2023-09-03 16:28:38 +0200masterbuilder(~masterbui@user/masterbuilder)
2023-09-03 16:28:56 +0200sm(~sm@plaintextaccounting/sm)
2023-09-03 16:38:28 +0200hgolden__(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com) (Quit: Leaving)
2023-09-03 16:39:09 +0200hgolden(~hgolden@2603-8000-9d00-3ed1-fc05-5499-f77c-fbe5.res6.spectrum.com)
2023-09-03 16:45:51 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 16:46:30 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-03 16:49:41 +0200Jackneill_(~Jackneill@20014C4E1E04F9003F4C923B253B51CB.dsl.pool.telekom.hu)
2023-09-03 16:58:23 +0200zer0bitz(~zer0bitz@user/zer0bitz) ()
2023-09-03 16:59:50 +0200jinsun_(~jinsun@user/jinsun)
2023-09-03 16:59:50 +0200jinsun(~jinsun@user/jinsun) (Killed (mercury.libera.chat (Nickname regained by services)))
2023-09-03 16:59:50 +0200jinsun_jinsun
2023-09-03 17:04:24 +0200acidjnk(~acidjnk@p200300d6e7072f47410f32a7f56ccb8a.dip0.t-ipconnect.de)
2023-09-03 17:11:03 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-09-03 17:14:06 +0200azimut_(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-09-03 17:15:54 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 17:19:28 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 17:20:57 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 17:21:51 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-09-03 17:25:04 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-09-03 17:26:54 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-09-03 17:27:35 +0200wroathe(~wroathe@user/wroathe)
2023-09-03 17:30:35 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-09-03 17:31:45 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Ping timeout: 255 seconds)
2023-09-03 17:33:33 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 17:40:44 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 17:43:34 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.6)
2023-09-03 17:43:54 +0200dxtr(~dxtr@user/dxtr) (Quit: leaving)
2023-09-03 17:45:27 +0200 <wroathe> Are instances the only option for modeling a kind of "type-level" case statement or equality in Haskell?
2023-09-03 17:45:55 +0200 <[exa]> "instances" ?
2023-09-03 17:46:28 +0200 <davean> I think they mean class instances
2023-09-03 17:46:45 +0200 <wroathe> Right, yeah
2023-09-03 17:46:59 +0200 <wroathe> s/ / /
2023-09-03 17:47:11 +0200 <[exa]> anyway if I get it right, you need some kind of evaluation and case matching in types, for which you need something that actually computes on types, and these things are currently either typeclass instances or type families, so basically yeah
2023-09-03 17:47:33 +0200 <davean> Yah type families ... I think they're better
2023-09-03 17:47:35 +0200 <wroathe> [exa]: Got it. Yup, you understood right.
2023-09-03 17:47:42 +0200 <[exa]> at least I'm not aware of anything else in mainstream
2023-09-03 17:47:45 +0200 <davean> (for that use)
2023-09-03 17:48:10 +0200 <davean> Hum, can you do it enoug via GADT combinators?
2023-09-03 17:48:29 +0200 <wroathe> Here's a simple example, but say I wanted to do equality here on "c" instead of requiring a whole separate instance to match PrimaryKey: https://gist.github.com/JustinChristensen/0c1d994d6f350228e6b9ae8a64f252e4
2023-09-03 17:48:29 +0200 <davean> depends on what wroathe wants I tihnk
2023-09-03 17:48:50 +0200 <EvanR> type level equality could be construed to be a ~ b constraint
2023-09-03 17:48:55 +0200 <erisco> wroathe, classes map types to terms. If you wanted just type-level, a type family is more accurate
2023-09-03 17:48:56 +0200 <[exa]> davean: might work but not sure
2023-09-03 17:49:31 +0200juri_(~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 260 seconds)
2023-09-03 17:49:36 +0200 <wroathe> Essentially what I want here is a way to express primaryKey = toBoolTerm (c == PrimaryKey) where == is defined at the type level
2023-09-03 17:49:36 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 17:50:12 +0200 <EvanR> c ~ PrimaryKey ?
2023-09-03 17:50:30 +0200 <EvanR> oh, equality bool test...
2023-09-03 17:51:00 +0200 <EvanR> that seems like a suspicious way to go
2023-09-03 17:51:09 +0200 <wroathe> Yeah, I suppose c == PrimaryKey would have to evaluate to a kind of 'Bool, and then I'd have to go from 'Bool to Bool
2023-09-03 17:51:13 +0200tabemann_(~tabemann@2600:1700:7990:24e0:6810:41fc:2076:6808)
2023-09-03 17:51:38 +0200 <EvanR> bool tests usually means you're saying something roundabout and imprecise, and should just program the logic you want directly
2023-09-03 17:51:41 +0200 <[exa]> wroathe: with typeclasses you would probably like an "open" instance here for class ToBoolTerm -- like, one for `ToBoolTerm PrimaryKey` and one for `ToBoolTerm everythingElse`
2023-09-03 17:52:19 +0200 <[exa]> wroathe: if that's the case, tyfams are kinda more able to make this work without regrets
2023-09-03 17:52:35 +0200tabemann(~tabemann@2600:1700:7990:24e0:99bc:c1db:f913:fbcd) (Ping timeout: 245 seconds)
2023-09-03 17:52:51 +0200 <wroathe> [exa]: Yeah that first thing you said is essentially what I landed on when I asked about matching using instances. I can model this all day long with typeclasses and instances
2023-09-03 17:53:09 +0200 <wroathe> I need to read up more on type families. I'm guessing you're suggesting data families and not type synonym families?
2023-09-03 17:53:20 +0200 <[exa]> there's a super useful page on that topic somewhere which I can't find right now
2023-09-03 17:53:40 +0200 <[exa]> re all kinds of "families" -- not a big deal, it's mostly ergonomics
2023-09-03 17:53:57 +0200 <[Leary]> wroathe: You might want to read https://lexi-lambda.github.io/blog/2021/03/25/an-introduction-to-typeclass-metaprogramming/
2023-09-03 17:54:14 +0200 <[Leary]> (which also goes into type families and GADTs)
2023-09-03 17:54:17 +0200 <wroathe> [Leary]: Thanks
2023-09-03 17:54:36 +0200 <davean> wroathe: why do you want this?
2023-09-03 17:55:12 +0200 <wroathe> davean: Because I'm building a Haskell type to SQL code generator for fun, and also using it as a learning opportunity
2023-09-03 17:55:58 +0200 <davean> Hum, your code looks like singletons and reflection too
2023-09-03 17:56:01 +0200 <wroathe> All for the most part being driven by phantom type parameters and typeclasses that traverse the type with GHC.Generics
2023-09-03 17:56:03 +0200 <[exa]> wroathe: btw https://aphyr.com/posts/342-typing-the-technical-interview -- this is a classic
2023-09-03 17:57:04 +0200 <[exa]> wroathe: the other article was on "open" vs "closed" tyfams and classes and I can't find it right now... but a bit of google should help too
2023-09-03 17:57:12 +0200 <wroathe> [exa]: I'll take a look, thanks
2023-09-03 17:57:40 +0200 <[exa]> with "haskell type to SQL" you might actually like Generic
2023-09-03 17:57:50 +0200 <wroathe> Yup, that's what I'm using
2023-09-03 17:57:55 +0200 <[exa]> ok good. :]
2023-09-03 17:58:05 +0200 <[exa]> well, good luck then. :D
2023-09-03 17:58:11 +0200 <wroathe> ty ty
2023-09-03 18:00:19 +0200sm(~sm@plaintextaccounting/sm)
2023-09-03 18:01:39 +0200qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2023-09-03 18:01:46 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-09-03 18:03:19 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-09-03 18:03:45 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 18:06:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2dac:1dc7:bdec:1908) (Remote host closed the connection)
2023-09-03 18:06:33 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
2023-09-03 18:07:21 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-09-03 18:11:29 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-09-03 18:11:48 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 18:12:34 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-03 18:13:17 +0200Lycurgus(~juan@user/Lycurgus)
2023-09-03 18:16:27 +0200califax(~califax@user/califx)
2023-09-03 18:16:29 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-09-03 18:20:39 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 244 seconds)
2023-09-03 18:20:51 +0200sm(~sm@plaintextaccounting/sm) (Quit: sm)
2023-09-03 18:21:16 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Ping timeout: 245 seconds)
2023-09-03 18:22:12 +0200califax(~califax@user/califx)
2023-09-03 18:24:24 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-09-03 18:27:23 +0200califax(~califax@user/califx)
2023-09-03 18:29:38 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-09-03 18:29:47 +0200 <erisco> Is blaze still the premier way to generate HTML with Haskell? I am thinking of doing some static site generation
2023-09-03 18:31:42 +0200 <mzg> What about hakyll?
2023-09-03 18:32:32 +0200 <erisco> I have used it and it was complicated
2023-09-03 18:33:48 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 248 seconds)
2023-09-03 18:35:30 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 18:36:00 +0200danza(~francesco@151.47.125.64)
2023-09-03 18:36:45 +0200eggplantade(~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2023-09-03 18:38:15 +0200 <wroathe> [Leary]: I made it through the first section and part of the second, and it answered most of the questions I've been asking about this. Excellent read. My big takeaway is that the mechanism that haskell offers to from types to terms is typeclasses, but I can express functions on types with type synonym families, and that let's me define type-level predicates that map types to 'True and 'False, and then
2023-09-03 18:38:22 +0200 <wroathe> I'm just a typeclass away from getting True and False
2023-09-03 18:38:29 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2dac:1dc7:bdec:1908)
2023-09-03 18:40:36 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 18:45:19 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com) (Remote host closed the connection)
2023-09-03 18:45:20 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
2023-09-03 18:45:37 +0200Lycurgus(~juan@user/Lycurgus) (Quit: Tschüss)
2023-09-03 18:46:50 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-09-03 18:48:27 +0200 <wroathe> Hmm, I count 11 language extensions in this code generator module I've got...
2023-09-03 18:48:38 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-03 18:48:43 +0200 <wroathe> Kinda seems like we're due for a Haskell 2020
2023-09-03 18:48:54 +0200 <int-e> But, there are so many more! You're missing out!
2023-09-03 18:49:10 +0200 <wroathe> int-e: {-# LANGUAGE * #-}
2023-09-03 18:49:22 +0200 <erisco> As far as I can tell, a static page may as well be a Haskell program that outputs the page. You can use any build system to build the site (Shake is a fine choice)
2023-09-03 18:49:34 +0200int-estumbled across "CUSKs" yesterday only to find out that they're already deprecated.
2023-09-03 18:49:39 +0200 <int-e> That was fun.
2023-09-03 18:50:40 +0200 <int-e> (I didn't need them, I just saw them while tab-expanding :set -XNo... and I had no clue what CUSKs are. https://ghc.gitlab.haskell.org/ghc/doc/users_guide/exts/poly_kinds.html?highlight=cusk#extension-C… for the morbidly curious)
2023-09-03 18:51:32 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2023-09-03 18:51:35 +0200 <wroathe> Hmm, kind of seems like KnownBool should be a thing in TypeLits
2023-09-03 18:52:25 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 18:53:50 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2023-09-03 18:55:05 +0200haskellbridge(~haskellbr@069-135-003-034.biz.spectrum.com)
2023-09-03 18:55:51 +0200juri_(~juri@84-19-175-187.pool.ovpn.com)
2023-09-03 18:56:37 +0200 <dolio> Maybe you should try GHC2021 instead of Haskell2010 or whatever.
2023-09-03 18:58:43 +0200 <wroathe> Oh snap, I didn't realize GHC2021 was a thing
2023-09-03 18:58:44 +0200 <wroathe> Nice
2023-09-03 19:00:28 +0200 <EvanR> for haskell + sql try HaskellDB!
2023-09-03 19:02:19 +0200 <EvanR> Currently supported database backends are: ... wxHaskell (??)
2023-09-03 19:02:43 +0200 <EvanR> my other backend is a frontend
2023-09-03 19:06:26 +0200 <monochrom> Centipede theory: One's backend is another's frontend.
2023-09-03 19:07:23 +0200 <monochrom> wxHaskell was a GUI libary not a DB library. :)
2023-09-03 19:08:22 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 19:08:26 +0200mikoto-chan(~mikoto-ch@ip-83-134-209-157.dsl.scarlet.be) (Ping timeout: 246 seconds)
2023-09-03 19:10:28 +0200 <EvanR> I can see how INSERT statements could cause stuff to appear on your screen
2023-09-03 19:10:36 +0200 <EvanR> but not sure how you can do a SELECT properly
2023-09-03 19:11:07 +0200 <monochrom> Perhaps SELECT means mouse and keybord input. :)
2023-09-03 19:11:26 +0200 <APic>
2023-09-03 19:11:39 +0200 <wroathe> Hmm
2023-09-03 19:11:40 +0200 <wroathe> https://gist.github.com/JustinChristensen/e275d3cc6d7f3a24c48351d29ef41a71
2023-09-03 19:11:46 +0200 <wroathe> why would ghc do this to me
2023-09-03 19:11:53 +0200 <monochrom> This is known as a "select loop" >:)
2023-09-03 19:12:07 +0200 <wroathe> When I try to add that constraint to the instance it tells me I'd need UndecidableInstances to do that
2023-09-03 19:12:17 +0200 <wroathe> And I vaguely recall that UndecidableInstances are bad
2023-09-03 19:13:02 +0200 <wroathe> It's almost like I need to tell GHC that the type predicate IsPrimaryKey always "returns" an instance of ToBool
2023-09-03 19:13:30 +0200 <wroathe> It's not a partial type function. It should be defined for all types (as far as I can tell)
2023-09-03 19:13:37 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds)
2023-09-03 19:16:42 +0200 <EvanR> soon you will be writing a GHC plugin
2023-09-03 19:16:58 +0200 <wroathe> EvanR: Let's hope it doesn't come to that
2023-09-03 19:17:29 +0200 <wroathe> I've had TAPL collecting dust on my bookshelf for like a decade now
2023-09-03 19:17:42 +0200 <wroathe> Too dense, and I'm too dumb
2023-09-03 19:17:57 +0200 <EvanR> there's some good stuff in there
2023-09-03 19:18:02 +0200 <EvanR> a lot of which is not in haskell
2023-09-03 19:18:41 +0200 <dolio> UndecidableInstances just means that GHC can't tell what you wrote will actually terminate.
2023-09-03 19:18:45 +0200 <wroathe> I just don't see why GHC can't see there that my closed type family always ranges over ToBool instances
2023-09-03 19:19:08 +0200 <dolio> There used to be mtl instances that required it, I think. Maybe still do.
2023-09-03 19:19:15 +0200 <monochrom> If you truly intend type-level computation then UndecidableInstances is necessary. The whole point.
2023-09-03 19:19:40 +0200 <wroathe> monochrom: So is that the missing piece here? Or is there a way to get GHC to recognize this relationship without it?
2023-09-03 19:19:44 +0200 <monochrom> My unpopular opinion though is that type-level computation is bad. UndecidableInstances is just a proxy.
2023-09-03 19:19:48 +0200 <EvanR> wroathe, maybe you're thinking of injective type families?
2023-09-03 19:20:03 +0200 <EvanR> maybe not
2023-09-03 19:20:29 +0200 <wroathe> EvanR: Would that get me there? I started reading about injective type families but it didn't seem like what I wanted at first glance so I put it down
2023-09-03 19:20:40 +0200 <wroathe> monochrom: Why is that your opinion?
2023-09-03 19:20:57 +0200 <monochrom> We already have value-level computation.
2023-09-03 19:21:06 +0200 <EvanR> probably a red herring, but it does let GHC deduce more stuff, I think
2023-09-03 19:22:20 +0200 <dolio> Lots of type level computation that people try doesn't pull its weight, because it gets increasingly clunky to use.
2023-09-03 19:22:50 +0200 <wroathe> monochrom: Metaprogramming is a technique with a long pedigree. It seems to me like you're suggesting that we should restrict ourselves to copying Haskell source files into the build output and then writing a value-level function that parses Haskell syntax and generates code from it
2023-09-03 19:23:01 +0200 <EvanR> wroathe, when you said general SQL for types I don't know why I didn't think you were just using TH
2023-09-03 19:23:05 +0200 <EvanR> generate*
2023-09-03 19:23:15 +0200 <wroathe> dolio: I could agree with that analysis. I'm just having fun at the moment, but I'm seeing how gnarly these instances are getting
2023-09-03 19:23:20 +0200 <monochrom> metaprogramming ≠ type-level computation
2023-09-03 19:23:51 +0200 <dolio> Yeah, fooling around is fine. It's how you learn when it's actually worth it.
2023-09-03 19:24:06 +0200 <dolio> Instead of just blindly following some "simple haskell" ethos. :)
2023-09-03 19:24:11 +0200 <int-e> monochrom: who met a programmer?
2023-09-03 19:24:12 +0200 <monochrom> I would associate metaprogramming with Scheme macros or Template Haskell.
2023-09-03 19:24:13 +0200 <wroathe> dolio: The inspiration here is Beam, which is obtuse to use and the documentation is incomplete
2023-09-03 19:24:28 +0200 <wroathe> I just wanted something I wrote that I maintain that lets me derive my database schema from my types
2023-09-03 19:24:53 +0200 <wroathe> int-e: Bad pun is bad
2023-09-03 19:24:59 +0200 <wroathe> For shame
2023-09-03 19:25:38 +0200 <wroathe> I suppose I could've done this with template haskell
2023-09-03 19:25:47 +0200 <wroathe> Might build an alternate version that does just that
2023-09-03 19:27:33 +0200 <wroathe> So is UndedicableInstances the way to go here? Or can I do better in terms of telling GHC that this closed type family is related to ToBool?
2023-09-03 19:29:25 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Ping timeout: 255 seconds)
2023-09-03 19:31:25 +0200 <monochrom> UndecidableInstances has a precise definition of what instances it allows that normally isn't. See the GHC user's guide.
2023-09-03 19:31:54 +0200fendor(~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f) (Ping timeout: 255 seconds)
2023-09-03 19:32:15 +0200 <monochrom> So you just look at your instances and ask yourself "does it satisfy that condition?".
2023-09-03 19:35:26 +0200 <monochrom> On second thought, just let GHC tell you. :)
2023-09-03 19:35:57 +0200 <wroathe> It can sometimes be a challenge to map the rules written out in terse academic-like to speak to a practical use case. I'll give it a shot, though.
2023-09-03 19:36:10 +0200 <wroathe> In the language extension explanations, I mean
2023-09-03 19:38:09 +0200 <EvanR> need the 1940s field manual to UndecidableInstances written so beetle bailey can understand it
2023-09-03 19:38:51 +0200 <wroathe> Oh you know what... I was just in the middle of writing out an explanation complaining about this situation, but then I think I realized what GHC is struggling with here
2023-09-03 19:39:29 +0200 <wroathe> On paper it seems annoying that GHC should be able to recognize that IsPrimaryKey is closed, and that its range is the set of instances I've defined for ToBool
2023-09-03 19:39:43 +0200 <wroathe> But now that I think about that, ToBool is open
2023-09-03 19:40:08 +0200 <wroathe> So perhaps it's thinking that it can't known the full set of types ToBool will be defined for
2023-09-03 19:40:45 +0200 <monochrom> Only value definitions and closed families are closed.
2023-09-03 19:41:05 +0200 <monochrom> Due to separate compilation, almost everything has to be open-world.
2023-09-03 19:41:10 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 19:41:26 +0200 <wroathe> Yeah, and if this typeclass could be defined as closed I might think my complaints here were justified
2023-09-03 19:42:32 +0200 <monochrom> Some people add a method that expresses an induction principle to get very close to closedness.
2023-09-03 19:43:07 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2dac:1dc7:bdec:1908) (Remote host closed the connection)
2023-09-03 19:43:27 +0200 <wroathe> That said, being that I've specified that b has kind Bool I would maybe hope that GHC would conclude that 'True and 'False are the only possible types for this typeclass
2023-09-03 19:43:47 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net)
2023-09-03 19:44:50 +0200 <monochrom> Also IMO s/practical/intuitive/ .
2023-09-03 19:45:51 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2dac:1dc7:bdec:1908)
2023-09-03 19:46:04 +0200 <monochrom> Look at other practical professions. Medicine and surgery. Accounting. Law. ... They all have their share of terse dense speak, in practice.
2023-09-03 19:46:18 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 255 seconds)
2023-09-03 19:46:29 +0200 <monochrom> terse dense counterintuitive-but-true-and-works
2023-09-03 19:46:55 +0200 <monochrom> Only programming and religions are so obsessed with "keep it intuitive".
2023-09-03 19:47:18 +0200 <monochrom> For this reason IMO programming is not mature enough to be called even a professions. So nevermind engineering.
2023-09-03 19:47:34 +0200 <int-e> it's important, how else are LLMs going to take away our jobs otherwise
2023-09-03 19:47:55 +0200 <hpc> you see jargon show up again when you get into the more difficult specialized types of programming, but a lot of programmers refuse to specialize
2023-09-03 19:48:01 +0200 <int-e> (this isn't offtopic? oops)
2023-09-03 19:48:14 +0200 <monochrom> Heh OK sorry I'll stop.
2023-09-03 19:48:31 +0200 <geekosaur> neh, we have our jargon, we just have weird rules for it
2023-09-03 19:49:12 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 19:50:07 +0200 <geekosaur> then again, so does everyone else's jargon
2023-09-03 19:50:19 +0200 <wroathe> monochrom: Well in general I just don't have the level of education required to unpack some of the shorthand I see in the haskell world. I'd say you're generalizing a bit too much by saying "we're" obsessed with keeping it intuitive. It's just the lower half of us that need a bit more context and explanation to grok a concept
2023-09-03 19:50:34 +0200 <wroathe> The people writing this stuff already deal in that shorthand
2023-09-03 19:50:54 +0200 <geekosaur> haskellers don't use programming jargon, they use math jargon
2023-09-03 19:51:14 +0200 <wroathe> And no amount of armchair research on the medical profession will turn me into a doctor. I still need the license and the time in the classroom
2023-09-03 19:51:31 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Remote host closed the connection)
2023-09-03 19:52:14 +0200 <wroathe> Imagine requiring a license to program professionally
2023-09-03 19:52:19 +0200 <wroathe> Employers would riot
2023-09-03 19:52:22 +0200 <monochrom> YES
2023-09-03 19:52:30 +0200 <wroathe> monochrom: I vote no
2023-09-03 19:52:34 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk)
2023-09-03 19:52:35 +0200 <wroathe> Good luck with the yes vote
2023-09-03 19:58:00 +0200nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com) (Ping timeout: 245 seconds)
2023-09-03 20:00:31 +0200 <EvanR> you have to have a license to work on residential power stuff because it's dangerous
2023-09-03 20:00:49 +0200 <EvanR> but not to become a web developer
2023-09-03 20:00:52 +0200tabemann_tabemann
2023-09-03 20:00:55 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-09-03 20:01:18 +0200 <[exa]> welcome to web-driven residental power cloud
2023-09-03 20:01:54 +0200 <Rembane> Power cloud noises intensified*
2023-09-03 20:02:23 +0200 <EvanR> you need a license to make and sell alcohol, but not to send out social media mind blitz campaigns
2023-09-03 20:02:30 +0200 <EvanR> nvm
2023-09-03 20:07:11 +0200 <danza> well licenses do not always make quality in a craft, and having no licenses does not mean that craft is easy or accessible to anyone
2023-09-03 20:07:14 +0200Simikando(~Simikando@adsl-dyn91.91-127-22.t-com.sk) (Quit: Leaving)
2023-09-03 20:15:16 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-03 20:15:16 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-03 20:15:16 +0200wroathe(~wroathe@user/wroathe)
2023-09-03 20:15:34 +0200aaronv(~aaronv@user/aaronv)
2023-09-03 20:15:49 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 20:16:09 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-09-03 20:18:53 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-09-03 20:20:03 +0200grnman_(~michaelsc@c-66-176-3-51.hsd1.fl.comcast.net) (Ping timeout: 255 seconds)
2023-09-03 20:20:41 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-03 20:29:43 +0200Vajb(~Vajb@85-76-2-15-nat.elisa-mobile.fi) (Ping timeout: 255 seconds)
2023-09-03 20:33:15 +0200michalz(~michalz@185.246.207.197)
2023-09-03 20:35:32 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2023-09-03 20:37:15 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Client Quit)
2023-09-03 20:38:23 +0200dfg(~dfg@user/dfg) (Quit: I hate quit messages.)
2023-09-03 20:38:36 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2023-09-03 20:39:01 +0200aaronv(~aaronv@user/aaronv)
2023-09-03 20:40:23 +0200dfg(~dfg@dfg.rocks)
2023-09-03 20:40:23 +0200dfg(~dfg@dfg.rocks) (Changing host)
2023-09-03 20:40:23 +0200dfg(~dfg@user/dfg)
2023-09-03 20:51:31 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 20:52:02 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-09-03 20:52:03 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-03 20:52:26 +0200danza(~francesco@151.47.125.64) (Ping timeout: 245 seconds)
2023-09-03 20:55:27 +0200Jackneill_(~Jackneill@20014C4E1E04F9003F4C923B253B51CB.dsl.pool.telekom.hu) (Ping timeout: 258 seconds)
2023-09-03 20:56:17 +0200danza(~francesco@151.47.125.64)
2023-09-03 20:56:19 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 250 seconds)
2023-09-03 21:03:53 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 258 seconds)
2023-09-03 21:12:11 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 244 seconds)
2023-09-03 21:15:08 +0200jespada(~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Ping timeout: 246 seconds)
2023-09-03 21:16:45 +0200juri_(~juri@84-19-175-187.pool.ovpn.com) (Ping timeout: 255 seconds)
2023-09-03 21:22:57 +0200michalz(~michalz@185.246.207.197) (Remote host closed the connection)
2023-09-03 21:23:25 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-03 21:24:24 +0200danza(~francesco@151.47.125.64) (Ping timeout: 255 seconds)
2023-09-03 21:27:19 +0200aaronv(~aaronv@user/aaronv)
2023-09-03 21:27:31 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 21:30:25 +0200fendor(~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f)
2023-09-03 21:31:05 +0200superbil(~superbil@1-34-176-171.hinet-ip.hinet.net)
2023-09-03 21:31:30 +0200Vajb(~Vajb@2001:999:709:354:95b0:25d4:572e:8cd8)
2023-09-03 21:32:27 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 245 seconds)
2023-09-03 21:36:12 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-09-03 21:36:30 +0200juri_(~juri@84-19-175-187.pool.ovpn.com)
2023-09-03 21:45:11 +0200danza(~francesco@151.47.125.64)
2023-09-03 21:45:15 +0200 <erisco> I am looking for a web server that I can point at a local directory and serve its contents on localhost. A dev server.
2023-09-03 21:45:47 +0200jargon(~jargon@184.101.191.140)
2023-09-03 21:47:37 +0200 <mauke> I bet there's at least 3 written in python
2023-09-03 21:48:30 +0200 <erisco> I didn't come to #haskell to get a web server made with Python!
2023-09-03 21:48:50 +0200 <erisco> looks like Yesod comes with a development server, if I can figure out how to install it
2023-09-03 21:48:51 +0200 <mauke> sorry, I'll look for something written in perl
2023-09-03 21:49:39 +0200 <erisco> it is just a matter of consolidating dev tools... there are dozens I could pull in from npm
2023-09-03 21:51:33 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com)
2023-09-03 21:54:40 +0200Vajb(~Vajb@2001:999:709:354:95b0:25d4:572e:8cd8) (Ping timeout: 245 seconds)
2023-09-03 21:55:12 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-03 21:55:35 +0200Vajb(~Vajb@2001:999:500:7771:18aa:c4e5:e7a9:f44b)
2023-09-03 21:58:48 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-03 22:00:43 +0200danza_(~francesco@151.43.103.246)
2023-09-03 22:00:50 +0200nyc(~nyc@2603-7000-a106-2fb5-0000-0000-0000-1f21.res6.spectrum.com)
2023-09-03 22:00:52 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-03 22:00:56 +0200danza(~francesco@151.47.125.64) (Read error: Connection reset by peer)
2023-09-03 22:02:29 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net)
2023-09-03 22:06:55 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-03 22:07:17 +0200arahael(~arahael@119-18-1-27.771201.syd.nbn.aussiebb.net) (Ping timeout: 246 seconds)
2023-09-03 22:07:36 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 255 seconds)
2023-09-03 22:09:53 +0200 <geekosaur> afaik you just install the yesod binary (cabal/stack install yesod) and use `yesod dev`?
2023-09-03 22:10:49 +0200infinity0(~infinity0@pwned.gg)
2023-09-03 22:12:40 +0200aaronv(~aaronv@user/aaronv)
2023-09-03 22:12:57 +0200mechap(~mechap@user/mechap)
2023-09-03 22:18:15 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-09-03 22:24:25 +0200 <erisco> it looks like it is tied into building and watching a project
2023-09-03 22:24:34 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-09-03 22:24:55 +0200 <erisco> I'll take a squizz through github tomorrow and see if something stands out
2023-09-03 22:25:55 +0200hpc(~juzz@ip98-169-35-163.dc.dc.cox.net) (Ping timeout: 245 seconds)
2023-09-03 22:26:08 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-03 22:27:21 +0200 <EvanR> what is a squizz
2023-09-03 22:27:34 +0200 <EvanR> is that like a scrum
2023-09-03 22:29:58 +0200jero98772(~jero98772@2800:484:1d84:300::2)
2023-09-03 22:39:53 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Quit: WeeChat 4.0.4)
2023-09-03 22:43:36 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 255 seconds)
2023-09-03 22:50:22 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-03 22:51:00 +0200aaronv(~aaronv@user/aaronv)
2023-09-03 22:51:55 +0200falafel(~falafel@62.175.113.194.dyn.user.ono.com) (Ping timeout: 255 seconds)
2023-09-03 22:54:17 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-09-03 22:54:41 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Client Quit)
2023-09-03 22:55:18 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-09-03 22:56:34 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2dac:1dc7:bdec:1908) (Remote host closed the connection)
2023-09-03 22:58:36 +0200Sgeo(~Sgeo@user/sgeo)
2023-09-03 23:01:22 +0200 <monochrom> Serving a directory content to http --- apache. There should be Haskell implementations but I don't know which.
2023-09-03 23:02:14 +0200 <monochrom> I may know one but it's an old paper about "this shows a simple web server in Haskell in 100 lines".
2023-09-03 23:03:24 +0200 <monochrom> On the plus side it's exactly just serving exisiting files, none of those "routing" RESTful business. On the minus side it's old, probably doesn't build today.
2023-09-03 23:09:56 +0200acidjnk(~acidjnk@p200300d6e7072f47410f32a7f56ccb8a.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2023-09-03 23:13:53 +0200 <mauke> serving existing files is RESTful
2023-09-03 23:14:11 +0200 <mauke> especially if you implement directory listings
2023-09-03 23:15:47 +0200 <monochrom> OK, s/RESTful/web API/
2023-09-03 23:16:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:2dac:1dc7:bdec:1908)
2023-09-03 23:30:02 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 246 seconds)
2023-09-03 23:30:47 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-03 23:31:17 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-09-03 23:33:19 +0200fendor(~fendor@2a02:8388:1640:be00:c785:45ab:c70:9d3f) (Remote host closed the connection)
2023-09-03 23:36:10 +0200libertyprime(~libertypr@203.96.203.44)
2023-09-03 23:39:06 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-09-03 23:44:01 +0200wroathe(~wroathe@user/wroathe)
2023-09-03 23:44:39 +0200aaronv(~aaronv@user/aaronv)
2023-09-03 23:46:24 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-03 23:48:17 +0200phma(~phma@host-67-44-208-43.hnremote.net) (Read error: Connection reset by peer)
2023-09-03 23:48:44 +0200phma(phma@2001:5b0:212a:fde8:c9be:1be2:ad07:be0c)
2023-09-03 23:52:22 +0200sm(~sm@plaintextaccounting/sm)
2023-09-03 23:55:01 +0200FeuermagierGuest4765
2023-09-03 23:55:01 +0200Feuermagier_(~Feuermagi@user/feuermagier)
2023-09-03 23:55:01 +0200Guest4765(~Feuermagi@user/feuermagier) (Killed (zirconium.libera.chat (Nickname regained by services)))
2023-09-03 23:55:01 +0200Feuermagier_Feuermagier
2023-09-03 23:55:12 +0200mechap(~mechap@user/mechap) (Quit: WeeChat 4.0.4)
2023-09-03 23:59:48 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)