2023/09/14

2023-09-14 00:06:01 +0200michalz(~michalz@185.246.207.217) (Remote host closed the connection)
2023-09-14 00:11:14 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-09-14 00:17:30 +0200chomwitt(~chomwitt@ppp-94-67-217-135.home.otenet.gr) (Ping timeout: 252 seconds)
2023-09-14 00:21:03 +0200Square2(~Square4@user/square)
2023-09-14 00:27:16 +0200Square2(~Square4@user/square) (Quit: Leaving)
2023-09-14 00:27:46 +0200Square2(~Square4@user/square)
2023-09-14 00:29:03 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2023-09-14 00:34:18 +0200libertyprime(~libertypr@203.96.203.44)
2023-09-14 00:36:04 +0200wroathe(~wroathe@user/wroathe)
2023-09-14 00:37:17 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Ping timeout: 255 seconds)
2023-09-14 00:39:08 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 00:39:45 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2023-09-14 00:43:48 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
2023-09-14 00:49:07 +0200jinsun(~jinsun@user/jinsun) (Read error: Connection reset by peer)
2023-09-14 00:54:06 +0200forell(~forell@user/forell) (Ping timeout: 255 seconds)
2023-09-14 00:54:14 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 245 seconds)
2023-09-14 00:54:21 +0200gmg(~user@user/gehmehgeh) (Quit: Leaving)
2023-09-14 01:00:59 +0200forell(~forell@user/forell)
2023-09-14 01:05:21 +0200ubert(~Thunderbi@178.165.200.97.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2023-09-14 01:06:48 +0200jinsun(~jinsun@user/jinsun)
2023-09-14 01:09:14 +0200forell(~forell@user/forell) (Ping timeout: 245 seconds)
2023-09-14 01:09:47 +0200random-jellyfish(~random-je@user/random-jellyfish) (Quit: Client closed)
2023-09-14 01:15:42 +0200forell(~forell@user/forell)
2023-09-14 01:22:01 +0200oo_miguel(~Thunderbi@78-11-179-96.static.ip.netia.com.pl) (Remote host closed the connection)
2023-09-14 01:25:19 +0200son0p(~ff@186.114.32.184)
2023-09-14 01:27:02 +0200wroathe(~wroathe@user/wroathe) (Quit: leaving)
2023-09-14 01:28:27 +0200forell(~forell@user/forell) (Ping timeout: 252 seconds)
2023-09-14 01:29:42 +0200forell(~forell@user/forell)
2023-09-14 01:31:59 +0200sa1(sid7690@id-7690.ilkley.irccloud.com) (Server closed connection)
2023-09-14 01:32:08 +0200sa1(sid7690@id-7690.ilkley.irccloud.com)
2023-09-14 01:34:47 +0200aaronv(~aaronv@user/aaronv)
2023-09-14 01:36:42 +0200dcoutts(~duncan@82-69-94-207.dsl.in-addr.zen.co.uk) (Read error: Connection reset by peer)
2023-09-14 01:36:47 +0200dcoutts_(~duncan@82-69-94-207.dsl.in-addr.zen.co.uk)
2023-09-14 01:39:55 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net)
2023-09-14 01:41:41 +0200juri_(~juri@84-19-175-187.pool.ovpn.com) (Server closed connection)
2023-09-14 01:41:57 +0200juri_(~juri@84-19-175-187.pool.ovpn.com)
2023-09-14 01:45:02 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-14 01:47:47 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-14 01:48:00 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542) (Remote host closed the connection)
2023-09-14 01:52:57 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 01:57:23 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 255 seconds)
2023-09-14 01:58:40 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2023-09-14 01:59:00 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 240 seconds)
2023-09-14 01:59:44 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 246 seconds)
2023-09-14 02:04:24 +0200phma(~phma@host-67-44-208-141.hnremote.net) (Read error: Connection reset by peer)
2023-09-14 02:04:48 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 246 seconds)
2023-09-14 02:04:53 +0200phma(~phma@2001:5b0:211f:7af8:a52f:4bf4:d1dd:8ad4)
2023-09-14 02:07:22 +0200bradparker(sid262931@id-262931.uxbridge.irccloud.com) (Server closed connection)
2023-09-14 02:07:31 +0200bradparker(sid262931@id-262931.uxbridge.irccloud.com)
2023-09-14 02:09:09 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 252 seconds)
2023-09-14 02:14:33 +0200azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 246 seconds)
2023-09-14 02:16:44 +0200ryanbooker(uid4340@id-4340.hampstead.irccloud.com)
2023-09-14 02:26:21 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-14 02:35:17 +0200Inst(~Inst@120.244.192.250)
2023-09-14 02:39:05 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-14 02:42:50 +0200 <Inst> is it imperative that I handle all possible exceptions generated by a readFile action?
2023-09-14 02:43:48 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2023-09-14 02:45:23 +0200danza_(~francesco@151.37.244.202) (Read error: Connection reset by peer)
2023-09-14 02:45:48 +0200danza_(~francesco@151.37.236.99)
2023-09-14 02:48:21 +0200Sciencentistguy9(~sciencent@hacksoc/ordinary-member)
2023-09-14 02:48:29 +0200 <Inst> probably it's just better to propagate IO errors via the IO exception type
2023-09-14 02:50:02 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds)
2023-09-14 02:50:02 +0200Sciencentistguy9Sciencentistguy
2023-09-14 02:53:42 +0200Square2(~Square4@user/square) (Ping timeout: 252 seconds)
2023-09-14 02:55:12 +0200todi(~todi@p5dca5c94.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-09-14 02:55:29 +0200todi(~todi@p5dca5c94.dip0.t-ipconnect.de)
2023-09-14 02:55:44 +0200absence(torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 246 seconds)
2023-09-14 02:55:51 +0200absence(torgeihe@hildring.pvv.ntnu.no)
2023-09-14 02:56:10 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-14 02:56:10 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-14 02:56:10 +0200wroathe(~wroathe@user/wroathe)
2023-09-14 03:02:06 +0200samhh(7569f027cf@2604:bf00:561:2000::e4) (Server closed connection)
2023-09-14 03:02:06 +0200samhh_samhh
2023-09-14 03:02:18 +0200samhh_(7569f027cf@2604:bf00:561:2000::e4)
2023-09-14 03:25:04 +0200drewjose(~drewjose@129.154.40.88) (Server closed connection)
2023-09-14 03:25:22 +0200drewjose(~drewjose@129.154.40.88)
2023-09-14 03:31:03 +0200ysh____(sid6017@id-6017.ilkley.irccloud.com) (Server closed connection)
2023-09-14 03:31:10 +0200ysh____(sid6017@id-6017.ilkley.irccloud.com)
2023-09-14 03:31:19 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-09-14 03:31:19 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-09-14 03:31:19 +0200finn_elijaFinnElija
2023-09-14 03:35:29 +0200 <monochrom> It is imperative programming to handle exceptions. >:)
2023-09-14 03:43:16 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 03:43:19 +0200 <MelanieMalik> dragons
2023-09-14 03:44:54 +0200otto_s(~user@p4ff27130.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-09-14 03:45:10 +0200 <monochrom> https://www.vex.net/~trebla/photo/unorganized/dragon.jpg :)
2023-09-14 03:45:52 +0200 <int-e> :t interact
2023-09-14 03:45:53 +0200 <lambdabot> (String -> String) -> IO ()
2023-09-14 03:46:56 +0200otto_s(~user@p4ff27db5.dip0.t-ipconnect.de)
2023-09-14 03:49:03 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-14 03:50:48 +0200wagle(~wagle@quassel.wagle.io) (Server closed connection)
2023-09-14 03:51:05 +0200wagle(~wagle@quassel.wagle.io)
2023-09-14 03:54:01 +0200 <Axman6> Anyone have a good reference for how to implement showsPrec for a fairly standard numerical expression ADT?
2023-09-14 03:55:40 +0200 <Axman6> data type is: data E = Num Int | Var VarName | Index | Add E E | Mul E E | Sub E E | Neg E, so very simple, with Index just mapping to the string "index"
2023-09-14 03:58:49 +0200 <Axman6> I guess I could steal a lot of that from simple-reflect
2023-09-14 04:02:06 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-09-14 04:02:44 +0200haritzondo(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk)
2023-09-14 04:03:26 +0200haritz(~hrtz@user/haritz) (Read error: Connection reset by peer)
2023-09-14 04:05:29 +0200 <int-e> Axman6: FWIW, the intended meaning of the precedence can be found in the Haskell report. https://www.haskell.org/onlinereport/derived.html#sect10.4
2023-09-14 04:07:08 +0200 <Axman6> great, thanks
2023-09-14 04:10:08 +0200notzmv(~zmv@user/notzmv)
2023-09-14 04:12:00 +0200 <[Leary]> `deriving Show` + -ddump-deriv?
2023-09-14 04:13:34 +0200 <Axman6> That might help if I used infix constructors I guess
2023-09-14 04:17:06 +0200 <Axman6> not sure how to handle negation - showsIndexExprCPP p (Neg e) = showString "-" . showsIndexExprCPP (p+1) e, which seems to work, but I have no idea if it's actually correct
2023-09-14 04:17:24 +0200 <Axman6> also p never decreases
2023-09-14 04:17:24 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
2023-09-14 04:17:51 +0200codaraxis___(~codaraxis@user/codaraxis) (Ping timeout: 252 seconds)
2023-09-14 04:19:18 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7) (Ping timeout: 255 seconds)
2023-09-14 04:19:31 +0200 <Axman6> definitely going to need to make a parser for this type at some point too -_-
2023-09-14 04:23:28 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2023-09-14 04:25:28 +0200Axman6could just make negate x = 0 - x ...
2023-09-14 04:31:24 +0200ChaiTRex(~ChaiTRex@user/chaitrex) (Ping timeout: 246 seconds)
2023-09-14 04:33:23 +0200ChaiTRex(~ChaiTRex@user/chaitrex)
2023-09-14 04:34:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:f9cc:9bb3:d19d:9050) (Remote host closed the connection)
2023-09-14 04:34:41 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 04:34:47 +0200xff0x(~xff0x@2405:6580:b080:900:9311:4ac5:5e3e:3a1c) (Ping timeout: 246 seconds)
2023-09-14 04:42:46 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-09-14 04:42:46 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-09-14 04:43:40 +0200 <Inst> Axman6: no harsh feelings with anything you might have said, if I say stupid things or behave stupidly, I should expect to get a negative response
2023-09-14 04:45:31 +0200td_(~td@i5387093F.versanet.de) (Ping timeout: 252 seconds)
2023-09-14 04:46:04 +0200 <Inst> monochrom: well, the original plan was to cast every exception constructor that could be anticipated to my own type
2023-09-14 04:47:13 +0200td_(~td@i5387091B.versanet.de)
2023-09-14 04:48:12 +0200alinab(sid468903@id-468903.helmsley.irccloud.com) (Server closed connection)
2023-09-14 04:48:20 +0200alinab(sid468903@id-468903.helmsley.irccloud.com)
2023-09-14 04:50:50 +0200qqq(~qqq@92.43.167.61) (Remote host closed the connection)
2023-09-14 05:00:07 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-14 05:08:27 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 252 seconds)
2023-09-14 05:09:14 +0200aforemny(~aforemny@i59F516E5.versanet.de) (Ping timeout: 245 seconds)
2023-09-14 05:09:23 +0200aforemny_(~aforemny@i59F516F8.versanet.de)
2023-09-14 05:10:20 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-14 05:10:56 +0200codaraxis(~codaraxis@user/codaraxis)
2023-09-14 05:14:50 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
2023-09-14 05:25:18 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-09-14 05:25:30 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 05:26:05 +0200ryanbooker(uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-14 05:26:14 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 05:29:29 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 05:29:47 +0200 <jackdk> Axman6: Best I know of is https://www.haskellforall.com/2020/11/pretty-print-syntax-trees-with-this-one.html ; if you find other good answers, do let me know
2023-09-14 05:30:06 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 05:31:45 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 05:31:55 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 05:32:12 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 05:33:14 +0200c_wraith(~c_wraith@adjoint.us) (Server closed connection)
2023-09-14 05:34:24 +0200c_wraith(~c_wraith@adjoint.us)
2023-09-14 05:36:30 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2023-09-14 05:41:50 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-14 05:45:14 +0200privacy(~privacy@47.219.84.6)
2023-09-14 05:45:27 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2023-09-14 05:45:27 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2023-09-14 05:45:27 +0200finn_elijaFinnElija
2023-09-14 05:51:25 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-14 05:56:22 +0200 <haskellbridge> <t​ewuzij> Can I use brackets and commas than spaces?
2023-09-14 05:58:40 +0200 <monochrom> No.
2023-09-14 06:03:44 +0200 <EvanR> :t "(), "
2023-09-14 06:03:45 +0200 <lambdabot> [Char]
2023-09-14 06:04:06 +0200Sciencentistguy3(~sciencent@hacksoc/ordinary-member)
2023-09-14 06:04:08 +0200 <EvanR> Yes
2023-09-14 06:05:15 +0200privacy(~privacy@47.219.84.6) (Quit: Leaving)
2023-09-14 06:05:29 +0200jargon(~jargon@184.101.67.95)
2023-09-14 06:05:39 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 252 seconds)
2023-09-14 06:05:39 +0200Sciencentistguy3Sciencentistguy
2023-09-14 06:05:59 +0200privacy(~privacy@47.219.84.6)
2023-09-14 06:06:14 +0200 <institor> :t ((,) ,)
2023-09-14 06:06:15 +0200 <lambdabot> t -> (a -> b -> (a, b), t)
2023-09-14 06:06:33 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-09-14 06:07:28 +0200aaronv(~aaronv@user/aaronv)
2023-09-14 06:08:13 +0200michalz(~michalz@185.246.207.217)
2023-09-14 06:08:57 +0200 <EvanR> touché
2023-09-14 06:13:23 +0200 <Axman6> > map(show)([1..10]) -- you can however use spaces and brackets
2023-09-14 06:13:24 +0200 <lambdabot> ["1","2","3","4","5","6","7","8","9","10"]
2023-09-14 06:17:33 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2023-09-14 06:17:58 +0200aaronv(~aaronv@user/aaronv)
2023-09-14 06:21:18 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 246 seconds)
2023-09-14 06:23:22 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2023-09-14 06:31:30 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2023-09-14 06:38:04 +0200tomku(~tomku@user/tomku) (Server closed connection)
2023-09-14 06:38:17 +0200tomku(~tomku@user/tomku)
2023-09-14 06:40:53 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-14 06:44:00 +0200Hobbyboy(Hobbyboy@hobbyboy.co.uk) (Server closed connection)
2023-09-14 06:44:15 +0200Hobbyboy(Hobbyboy@hobbyboy.co.uk)
2023-09-14 06:44:59 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2023-09-14 06:45:30 +0200danza_(~francesco@151.37.236.99) (Read error: Connection reset by peer)
2023-09-14 06:45:48 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-09-14 06:46:17 +0200danza_(~francesco@151.19.246.34)
2023-09-14 06:52:47 +0200 <Inst> okay, you know how bad Haskell via Pacman is?
2023-09-14 06:52:54 +0200 <Inst> it turns out that if you install agda, it corrupts GHCup
2023-09-14 06:53:07 +0200 <Inst> or rather, it corrupts Cabal, which for whatever reason all of a sudden wants to use the 9.0.2 that comes with agda
2023-09-14 06:57:10 +0200aaronv(~aaronv@user/aaronv) (Remote host closed the connection)
2023-09-14 06:57:14 +0200cafkafk(~cafkafk@fsf/member/cafkafk) (Quit: WeeChat 3.6)
2023-09-14 06:57:30 +0200aaronv(~aaronv@user/aaronv)
2023-09-14 07:01:22 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 07:03:05 +0200CiaoSen(~Jura@2a05:5800:2b2:5a00:664b:f0ff:fe37:9ef)
2023-09-14 07:07:56 +0200 <haskellbridge> <m​aerwald> That sounds like a PATH issue
2023-09-14 07:07:57 +0200 <Axman6> Yeah don't use system package managers for Haskell, it's not worth it. I would guess the same's true for Idris
2023-09-14 07:08:18 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1)
2023-09-14 07:10:22 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-14 07:16:36 +0200glider(~glider@user/glider)
2023-09-14 07:17:57 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Ping timeout: 255 seconds)
2023-09-14 07:20:50 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1)
2023-09-14 07:24:01 +0200Inst(~Inst@120.244.192.250) (Remote host closed the connection)
2023-09-14 07:24:31 +0200Inst(~Inst@120.244.192.250)
2023-09-14 07:28:56 +0200 <Inst> Axman6 no, I mean, I know that pacman goes TERRIBLY with Haskell
2023-09-14 07:29:18 +0200 <Inst> but Agda is a separate language, it just happens to use Haskell as a compiler
2023-09-14 07:34:45 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2023-09-14 07:34:46 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-14 07:39:11 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-09-14 07:43:15 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Read error: Connection reset by peer)
2023-09-14 07:43:50 +0200emmanuelux(~emmanuelu@user/emmanuelux) (Quit: au revoir)
2023-09-14 07:44:29 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 07:47:59 +0200raym(~ray@user/raym) (Quit: server reboot - Upgrade to 13.2-RELEASE-p3)
2023-09-14 07:52:18 +0200ubert(~Thunderbi@178.165.200.97.wireless.dyn.drei.com)
2023-09-14 07:54:49 +0200jackdk(sid373013@cssa/jackdk) (Server closed connection)
2023-09-14 07:54:59 +0200jackdk(sid373013@cssa/jackdk)
2023-09-14 07:55:49 +0200mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net) (Ping timeout: 252 seconds)
2023-09-14 07:58:02 +0200agander_m(sid407952@id-407952.tinside.irccloud.com) (Server closed connection)
2023-09-14 07:58:13 +0200agander_m(sid407952@id-407952.tinside.irccloud.com)
2023-09-14 07:59:36 +0200mjs2600(~mjs2600@c-174-169-225-239.hsd1.vt.comcast.net)
2023-09-14 08:01:15 +0200dy(sid3438@user/dy) (Server closed connection)
2023-09-14 08:01:26 +0200dy(sid3438@user/dy)
2023-09-14 08:05:49 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 08:07:59 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Remote host closed the connection)
2023-09-14 08:08:20 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1)
2023-09-14 08:10:04 +0200sgarcia(sgarcia@swarm.znchost.com) (Ping timeout: 245 seconds)
2023-09-14 08:11:03 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2023-09-14 08:14:05 +0200sgarcia(sgarcia@swarm.znchost.com)
2023-09-14 08:26:22 +0200yosef`(~yosef`@user/yosef/x-2947716)
2023-09-14 08:34:00 +0200sshine(~simon@zhen.mechanicus.xyz)
2023-09-14 08:34:49 +0200kraftwerk28_kraftwerk28
2023-09-14 08:43:24 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds)
2023-09-14 08:44:45 +0200raym(~ray@user/raym)
2023-09-14 08:49:27 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2023-09-14 08:55:21 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 255 seconds)
2023-09-14 08:58:13 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-14 09:03:38 +0200fendor(~fendor@2a02:8388:1640:be00:aab:1226:f274:5021)
2023-09-14 09:03:54 +0200Inst(~Inst@120.244.192.250)
2023-09-14 09:07:24 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b)
2023-09-14 09:09:13 +0200aforemny_aforemny
2023-09-14 09:09:18 +0200chiselfuse(~chiselfus@user/chiselfuse) (Ping timeout: 246 seconds)
2023-09-14 09:11:35 +0200chiselfuse(~chiselfus@user/chiselfuse)
2023-09-14 09:13:31 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2023-09-14 09:15:26 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-09-14 09:17:40 +0200ursa-major(~ursa-majo@37.19.210.38)
2023-09-14 09:18:26 +0200qhong(~qhong@rescomp-21-400677.stanford.edu) (Read error: Connection reset by peer)
2023-09-14 09:18:36 +0200qhong(~qhong@rescomp-21-400677.stanford.edu)
2023-09-14 09:19:13 +0200renegade(~renegade@bcdcac82.skybroadband.com) (Read error: Connection reset by peer)
2023-09-14 09:19:56 +0200renegade(~renegade@bcdcac82.skybroadband.com)
2023-09-14 09:22:10 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca) (Ping timeout: 252 seconds)
2023-09-14 09:22:14 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-14 09:22:36 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 09:22:40 +0200xmachina(~xmachina@modemcable048.127-56-74.mc.videotron.ca)
2023-09-14 09:27:27 +0200robobub(uid248673@id-248673.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-14 09:28:07 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 09:34:54 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-14 09:37:01 +0200aaronv(~aaronv@user/aaronv) (Ping timeout: 252 seconds)
2023-09-14 09:38:24 +0200libertyprime(~libertypr@203.96.203.44) (Quit: leaving)
2023-09-14 09:41:40 +0200schweers(~user@p200300e57723860073a75a2a83d5f435.dip0.t-ipconnect.de)
2023-09-14 09:43:18 +0200 <Inst> btw tomssmeding, any suggestions for what to do next?
2023-09-14 09:43:21 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-09-14 09:43:30 +0200 <Inst> My lib is hot garbage, every time I look at it, I get disgusted because I feel like the architecture is terrible
2023-09-14 09:43:35 +0200 <tomsmeding> using ghc from pacman is quite possible, you "just" have to pass -dynamic to ghc always iirc
2023-09-14 09:43:46 +0200 <Inst> I just cabal installed and called it a day
2023-09-14 09:43:49 +0200 <tomsmeding> but you have to choose between arch's ghc and pacman's ghc, otherwise you'll get confused
2023-09-14 09:44:06 +0200 <tomsmeding> afaiu the system can handle two simultaneously installed ghc's just fine, given the correct PATH setup
2023-09-14 09:44:14 +0200 <Inst> should I try to publish my hot garbage lib to hackage? The name literally says "alpha" though
2023-09-14 09:44:41 +0200 <tomsmeding> put it on github, add an entry to the haskell weekly news, and wait for feedback
2023-09-14 09:45:16 +0200 <Inst> hmmm, okay, and I can use cabal to link to the github package for my other project that I need
2023-09-14 09:45:42 +0200 <tomsmeding> yeah
2023-09-14 09:45:49 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-09-14 09:45:50 +0200 <tomsmeding> cabal.project
2023-09-14 09:46:00 +0200 <schweers> Hi, I have a (hopefully) quick question: I have a new stack project and I want to use HDBC and HDBC-postgresql. Adding HDBC to `package.yaml` works fine and I can `import HDBC` in my sources. Yet I have no idea how to add HDBC-postgresql. According to the user guide I need `extra-deps`, but this doesn’t work. Stack complains that the field `S.extra-deps` is unknown. For what it’s worth, I installed everything
2023-09-14 09:46:00 +0200 <schweers> using `ghcup`.
2023-09-14 09:47:37 +0200 <tomsmeding> schweers: post your full package.yaml and stack.yaml?
2023-09-14 09:47:39 +0200 <tomsmeding> @where paste
2023-09-14 09:47:39 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com
2023-09-14 09:48:22 +0200 <schweers> sure: package.yaml: https://paste.tomsmeding.com/vduFAqeu
2023-09-14 09:48:49 +0200 <schweers> stack.yaml: https://paste.tomsmeding.com/EUygkp5U
2023-09-14 09:49:33 +0200 <tomsmeding> schweers: try putting the 'extra-deps: - ...' block in stack.yaml instead
2023-09-14 09:49:36 +0200 <tomsmeding> I believe it goes there
2023-09-14 09:49:37 +0200 <schweers> Unless I made a mistake, stack.yaml should still be the the original.
2023-09-14 09:49:51 +0200 <schweers> tomsmeding: I’ll try, give me a sec
2023-09-14 09:50:02 +0200 <tomsmeding> schweers: I think you made a mistake _because_ it's still the original ;)
2023-09-14 09:50:46 +0200 <schweers> I feel really stupid right now. I’m sure that I tried that as well, but only got complaints from stack. Now it works. Thank you so much!
2023-09-14 09:50:59 +0200 <tomsmeding> glad it worked :)
2023-09-14 09:51:49 +0200 <schweers> So am I!
2023-09-14 09:52:10 +0200 <Inst> i'm wondering though, is a self-hosting installer for Haskell a good or bad idea?
2023-09-14 09:52:20 +0200econo_(uid147250@id-147250.tinside.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-14 09:52:22 +0200 <schweers> On a related note: is HDBC-postgres the/a recommended library to use to connect to a Postgres Database?
2023-09-14 09:52:29 +0200 <Inst> erm, installer framework, rather
2023-09-14 09:54:38 +0200renegade_(~renegade@bcdcac82.skybroadband.com)
2023-09-14 09:55:43 +0200chele(~chele@user/chele)
2023-09-14 09:55:51 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-14 09:56:49 +0200renegade(~renegade@bcdcac82.skybroadband.com) (Ping timeout: 252 seconds)
2023-09-14 09:59:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 09:59:33 +0200jackneill__(~Jackneill@20014C4E1E101A0048EACD7D3B494F2B.dsl.pool.telekom.hu)
2023-09-14 10:00:02 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev)
2023-09-14 10:00:25 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net)
2023-09-14 10:02:12 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2023-09-14 10:03:43 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Ping timeout: 240 seconds)
2023-09-14 10:06:50 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-09-14 10:14:36 +0200anpad(~pandeyan@user/anpad) (Ping timeout: 248 seconds)
2023-09-14 10:15:27 +0200cfricke(~cfricke@user/cfricke)
2023-09-14 10:17:09 +0200anpad(~pandeyan@user/anpad)
2023-09-14 10:18:18 +0200atwm(~atwm@45.10.152.184)
2023-09-14 10:18:49 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2023-09-14 10:23:15 +0200renegade_(~renegade@bcdcac82.skybroadband.com) (Read error: Connection reset by peer)
2023-09-14 10:24:39 +0200danza_(~francesco@151.19.246.34) (Ping timeout: 245 seconds)
2023-09-14 10:26:07 +0200ByronJohnson(~bairyn@50-250-232-19-static.hfc.comcastbusiness.net) (Ping timeout: 258 seconds)
2023-09-14 10:28:24 +0200renegade(~renegade@bcdcac82.skybroadband.com)
2023-09-14 10:32:43 +0200ByronJohnson(~bairyn@50-250-232-19-static.hfc.comcastbusiness.net)
2023-09-14 10:38:34 +0200libertyprime(~libertypr@203.96.203.44)
2023-09-14 10:40:44 +0200atwm(~atwm@45.10.152.184) (Ping timeout: 255 seconds)
2023-09-14 10:41:55 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 252 seconds)
2023-09-14 10:42:25 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-14 10:42:40 +0200atwm(~atwm@45.10.152.186)
2023-09-14 10:46:15 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-09-14 10:46:53 +0200chiselfuse(~chiselfus@user/chiselfuse)
2023-09-14 10:47:15 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 252 seconds)
2023-09-14 10:48:10 +0200danse-nr3(~francesco@151.35.230.79)
2023-09-14 10:49:25 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 10:49:57 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-14 10:49:57 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-14 10:49:57 +0200wroathe(~wroathe@user/wroathe)
2023-09-14 10:53:24 +0200privacy(~privacy@47.219.84.6) (Quit: Leaving)
2023-09-14 10:54:42 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Quit: coot)
2023-09-14 10:57:30 +0200gehmehgeh(~user@user/gehmehgeh)
2023-09-14 11:01:53 +0200renegade(~renegade@bcdcac82.skybroadband.com) (Ping timeout: 255 seconds)
2023-09-14 11:02:16 +0200atwm(~atwm@45.10.152.186) (Remote host closed the connection)
2023-09-14 11:02:34 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2023-09-14 11:07:36 +0200wagle(~wagle@quassel.wagle.io) (Ping timeout: 252 seconds)
2023-09-14 11:07:46 +0200apache(apache2@anubis.0x90.dk) (Server closed connection)
2023-09-14 11:07:54 +0200apache2(apache2@anubis.0x90.dk)
2023-09-14 11:08:38 +0200renegade(~renegade@bcdcac82.skybroadband.com)
2023-09-14 11:08:50 +0200wagle(~wagle@quassel.wagle.io)
2023-09-14 11:09:49 +0200solution(~solution@94-21-157-146.pool.digikabel.hu)
2023-09-14 11:11:30 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev)
2023-09-14 11:13:39 +0200troydm(~troydm@user/troydm) (Ping timeout: 252 seconds)
2023-09-14 11:13:44 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net)
2023-09-14 11:14:15 +0200lambdabot(~lambdabot@haskell/bot/lambdabot) (Server closed connection)
2023-09-14 11:14:23 +0200lambdabot(~lambdabot@silicon.int-e.eu)
2023-09-14 11:14:23 +0200lambdabot(~lambdabot@silicon.int-e.eu) (Changing host)
2023-09-14 11:14:23 +0200lambdabot(~lambdabot@haskell/bot/lambdabot)
2023-09-14 11:14:59 +0200anpad(~pandeyan@user/anpad) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-14 11:15:07 +0200mc47(~mc47@xmonad/TheMC47)
2023-09-14 11:15:50 +0200anpad(~pandeyan@user/anpad)
2023-09-14 11:17:21 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit)
2023-09-14 11:17:55 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net)
2023-09-14 11:26:37 +0200troydm(~troydm@user/troydm)
2023-09-14 11:27:27 +0200foul_owl_(~kerry@185.219.141.161) (Ping timeout: 255 seconds)
2023-09-14 11:29:21 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2023-09-14 11:29:51 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-09-14 11:33:37 +0200mysl(~mysl@user/mysl) (Ping timeout: 252 seconds)
2023-09-14 11:34:22 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 11:35:12 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 11:36:29 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 11:37:47 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 11:38:38 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 11:39:04 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 11:39:43 +0200yosef`(~yosef`@user/yosef/x-2947716) (Ping timeout: 245 seconds)
2023-09-14 11:40:08 +0200foul_owl_(~kerry@185.219.141.160)
2023-09-14 11:43:00 +0200Inst(~Inst@120.244.192.250) (Remote host closed the connection)
2023-09-14 11:43:26 +0200Inst(~Inst@120.244.192.250)
2023-09-14 11:46:34 +0200ft(~ft@p508dbaa9.dip0.t-ipconnect.de) (Quit: leaving)
2023-09-14 11:50:39 +0200azimut(~azimut@gateway/tor-sasl/azimut)
2023-09-14 11:52:04 +0200libertyprime(~libertypr@203.96.203.44) (Quit: leaving)
2023-09-14 11:54:03 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 11:54:28 +0200vglfr(~vglfr@188.239.201.89)
2023-09-14 11:55:35 +0200oblivious(~oblivious@38.111.191.92.dynamic.jazztel.es)
2023-09-14 11:56:12 +0200oblivious(~oblivious@38.111.191.92.dynamic.jazztel.es) (Client Quit)
2023-09-14 11:57:04 +0200vglfr(~vglfr@188.239.201.89) (Remote host closed the connection)
2023-09-14 11:57:58 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 11:58:01 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua) (Remote host closed the connection)
2023-09-14 11:59:29 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1)
2023-09-14 12:00:47 +0200cyphase_eviltwin(~cyphase@user/cyphase)
2023-09-14 12:01:04 +0200cyphase(~cyphase@user/cyphase) (Ping timeout: 258 seconds)
2023-09-14 12:02:18 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 12:05:21 +0200xff0x(~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 252 seconds)
2023-09-14 12:07:45 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net) (Quit: smoothdev)
2023-09-14 12:22:44 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-14 12:31:54 +0200Putonlalla(~Putonlall@it-cyan.it.jyu.fi) (Server closed connection)
2023-09-14 12:32:54 +0200Putonlalla(~Putonlall@it-cyan.it.jyu.fi)
2023-09-14 12:33:05 +0200vglfr(~vglfr@cli-188-239-201-89.bbn.slav.dn.ua)
2023-09-14 12:36:23 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-14 12:44:34 +0200michalz(~michalz@185.246.207.217) (Read error: No route to host)
2023-09-14 12:45:42 +0200michalz(~michalz@185.246.207.201)
2023-09-14 12:47:06 +0200Square2(~Square4@user/square)
2023-09-14 13:00:21 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 252 seconds)
2023-09-14 13:02:31 +0200Inst(~Inst@120.244.192.250)
2023-09-14 13:03:20 +0200Unicorn_Princess(~Unicorn_P@user/Unicorn-Princess/x-3540542)
2023-09-14 13:03:21 +0200nyr(~nyr@user/nyr)
2023-09-14 13:07:05 +0200xff0x(~xff0x@2405:6580:b080:900:820a:8b71:e207:7b95)
2023-09-14 13:12:23 +0200CiaoSen(~Jura@2a05:5800:2b2:5a00:664b:f0ff:fe37:9ef) (Ping timeout: 255 seconds)
2023-09-14 13:22:29 +0200pyooque(~puke@user/puke)
2023-09-14 13:22:29 +0200puke(~puke@user/puke) (Killed (osmium.libera.chat (Nickname regained by services)))
2023-09-14 13:22:29 +0200pyooquepuke
2023-09-14 13:30:29 +0200Teacup(~teacup@user/teacup) (Ping timeout: 245 seconds)
2023-09-14 13:31:00 +0200Teacup(~teacup@user/teacup)
2023-09-14 13:33:00 +0200pounce(~pounce@user/cute/pounce)
2023-09-14 13:33:23 +0200 <dminuoso> Hi. Im a bit at a loss. Im fiddling around with nano-cryptr, which does foreign import ccall safe "crypt_r" crypt_r :: CString-> CString -> Ptr CDOpaque -> IO CString
2023-09-14 13:33:54 +0200ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2023-09-14 13:33:55 +0200 <dminuoso> However, Im on macOS and I cant quite figure out what macho objects this is resolved from ultimately
2023-09-14 13:34:13 +0200 <dminuoso> i.e. how can I figure out which library this is resolved from?
2023-09-14 13:36:10 +0200 <jackdk> schweers: I like hasql. If you need a big, heavy, type-safe hammer, opaleye is awesome but has more of a learning curve. Unsure of others (rel8, selda, etc). Never got my head around beam. If you want something really simple, postgresql-simple is that.
2023-09-14 13:38:02 +0200 <dminuoso> postgresql-simple has a rather questional "self-made" query parameter interpolation logic, sadly, however.
2023-09-14 13:38:17 +0200 <dminuoso> Which is a real bummer considering libpq has first class support for this.
2023-09-14 13:38:50 +0200 <haskellbridge> <m​auke> safeErce :: (a ~ b) => b -> a
2023-09-14 13:38:53 +0200 <dminuoso> hasql gets this one right, and it uses binary de/serialization too (postgresql-simple only uses text encoding). for various workloads that makes a tremendous performance difference
2023-09-14 13:39:10 +0200__monty__(~toonn@user/toonn)
2023-09-14 13:44:16 +0200gmg_(~user@user/gehmehgeh)
2023-09-14 13:45:32 +0200 <schweers> jackdk: Thanks, I’ll have a look at those, especially opaleye.
2023-09-14 13:46:09 +0200gehmehgeh(~user@user/gehmehgeh) (Ping timeout: 246 seconds)
2023-09-14 13:49:30 +0200 <jackdk> yeah I like hasql's use of the binary protocol, as well as its ability to annotate query strings with types denoting their parameters. That's why I'd say opaleye pays off if you really need the safety and the ability to stitch queries together
2023-09-14 13:50:29 +0200 <danse-nr3> cannot hasql do that? Seems quite a common use case
2023-09-14 13:51:18 +0200 <danse-nr3> but from what you say it seems that hasql is less type-safe, that is more interesting
2023-09-14 13:51:29 +0200 <dminuoso> danse-nr3: No, hasql is not about query building.
2023-09-14 13:51:55 +0200 <dminuoso> It just gives you some tools to stich sort of parameter decoder/encoder together with queries.
2023-09-14 13:52:07 +0200 <danse-nr3> i see, thanks dminuoso
2023-09-14 13:52:28 +0200 <dminuoso> well and a lot of small combinators, like TH syntax validation of your queries if you want it.
2023-09-14 13:52:36 +0200 <jackdk> https://hackage.haskell.org/package/hasql-1.6.3.2/docs/Hasql-Statement.html#t:Statement this constructor just wraps a ByteString with additional information and codecs, but you can't bolt statements together. I do like its use of contravariant functors
2023-09-14 13:53:16 +0200 <dminuoso> my biggest convern with postgresql-simple is really the "home-made" query interpolation, really.
2023-09-14 13:54:15 +0200 <dminuoso> I have more trust in libpq getting this right, than some convoluted haskell code that likely was written once, and never looked at by anyone else.
2023-09-14 13:54:23 +0200 <dminuoso> but thats just grumpy me.
2023-09-14 13:55:19 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 13:55:49 +0200 <danse-nr3> i recall studying relational algebra, but i am not aware of any haskell lib that is based on it
2023-09-14 13:56:32 +0200 <danse-nr3> it would probably be more effort on top of building the compatibility layer
2023-09-14 13:57:36 +0200 <danse-nr3> but could aid a neat design
2023-09-14 13:58:44 +0200privacy(~privacy@47.219.84.6)
2023-09-14 14:10:19 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com)
2023-09-14 14:11:06 +0200 <dminuoso> There is a bunch of relational algebra libraries
2023-09-14 14:11:09 +0200 <dminuoso> https://github.com/agentm/project-m36 is one of them
2023-09-14 14:11:47 +0200 <dminuoso> Nowadays, I think I really just want a django-esque relational mapper but for Haskell. Without any type tricks.
2023-09-14 14:11:50 +0200 <dminuoso> Just pure, dumb, dynamic things.
2023-09-14 14:14:26 +0200 <danse-nr3> nice, i will check project-m36 out, thanks. Dynamic things? Having a type for a table is already a lot of type safety, to help with marshalling and querying
2023-09-14 14:15:04 +0200 <danse-nr3> i guess that does not need the less known type-level features
2023-09-14 14:16:13 +0200 <danse-nr3> anyways, for practicality, if i would write an app nowadays i would base it upon postgrest. Saves even more boilerplate
2023-09-14 14:16:56 +0200haritzondoharitz
2023-09-14 14:16:56 +0200haritz(~hrtz@82-69-11-11.dsl.in-addr.zen.co.uk) (Changing host)
2023-09-14 14:16:56 +0200haritz(~hrtz@user/haritz)
2023-09-14 14:19:15 +0200 <danse-nr3> oh m36 is not a shim, it is a database
2023-09-14 14:20:24 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan) (Quit: _)
2023-09-14 14:20:41 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2023-09-14 14:26:11 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-09-14 14:29:04 +0200danse-nr3(~francesco@151.35.230.79) (Ping timeout: 252 seconds)
2023-09-14 14:35:03 +0200phma(~phma@2001:5b0:211f:7af8:a52f:4bf4:d1dd:8ad4) (Read error: Connection reset by peer)
2023-09-14 14:36:00 +0200phma(phma@2001:5b0:210b:c008:bd31:491b:c236:df4b)
2023-09-14 14:39:39 +0200nyr(~nyr@user/nyr) (Ping timeout: 245 seconds)
2023-09-14 14:41:51 +0200acidjnk(~acidjnk@p200300d6e7072f94d95e0f42a9292ff4.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2023-09-14 14:44:10 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-14 14:49:04 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 255 seconds)
2023-09-14 14:52:56 +0200disconnect3d(~disconnec@user/disconnect3d) (Server closed connection)
2023-09-14 14:53:06 +0200disconnect3d(~disconnec@user/disconnect3d)
2023-09-14 14:53:19 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 14:55:02 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2023-09-14 14:56:56 +0200danse-nr3(~francesco@151.35.231.127)
2023-09-14 14:58:02 +0200acidjnk(~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de)
2023-09-14 14:59:52 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 15:00:52 +0200bontaq(~user@ool-45707d2c.dyn.optonline.net)
2023-09-14 15:02:14 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 15:05:51 +0200MelanieMalik(ellenor@callbox.trd.is) (Server closed connection)
2023-09-14 15:09:47 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net)
2023-09-14 15:10:53 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Quit: WeeChat 4.0.3)
2023-09-14 15:11:09 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net) (Client Quit)
2023-09-14 15:13:27 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 15:13:52 +0200 <dminuoso> danse-nr3: There are things where bolting on type system just adds so much inconvenience with a complicated and verbose, and slow, API, all at the cost of perceived stability.
2023-09-14 15:14:47 +0200Ellenor(ellenor@callbox.trd.is)
2023-09-14 15:15:18 +0200 <dminuoso> The reality is, when you build SQL queries, you *very* likely will try them out rapidly anyway, to see whether your SQL is expressed correctly.
2023-09-14 15:17:11 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 15:17:19 +0200 <danse-nr3> maybe having a type for a table and using it for querying is more complex than i imagine
2023-09-14 15:17:28 +0200acidjnk(~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-09-14 15:20:25 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b) (Quit: WeeChat 2.8)
2023-09-14 15:20:37 +0200 <dminuoso> Honestly, 'query :: Typeable a => Connection -> String -> IO [a]' is all I really want.
2023-09-14 15:21:17 +0200 <dminuoso> There could be some additional glue, where the database code is made aware of some kind of table <> type mapping, such that diagnotics work nicely
2023-09-14 15:22:07 +0200 <dminuoso> The sort of django model.py equivalent.
2023-09-14 15:25:55 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b)
2023-09-14 15:27:12 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 15:29:47 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-14 15:30:17 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 15:31:21 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com)
2023-09-14 15:31:21 +0200wroathe(~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
2023-09-14 15:31:21 +0200wroathe(~wroathe@user/wroathe)
2023-09-14 15:40:18 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds)
2023-09-14 15:42:18 +0200 <fendor> dminuoso, I suppose you do want an API that enforces the usage of prepared statements
2023-09-14 15:42:48 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 15:44:09 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 15:47:43 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 252 seconds)
2023-09-14 15:49:08 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-09-14 15:49:49 +0200acidjnk(~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de)
2023-09-14 15:51:48 +0200privacy(~privacy@47.219.84.6) (Quit: Leaving)
2023-09-14 15:52:38 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds)
2023-09-14 15:54:03 +0200bsima(~bsima@143.198.118.179) (Server closed connection)
2023-09-14 15:54:22 +0200bsima(~bsima@2604:a880:400:d0::19f1:7001)
2023-09-14 15:54:50 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 255 seconds)
2023-09-14 15:55:17 +0200califax(~califax@user/califx) (Remote host closed the connection)
2023-09-14 15:55:43 +0200califax(~califax@user/califx)
2023-09-14 15:55:49 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 15:58:27 +0200ystael(~ystael@user/ystael)
2023-09-14 15:58:42 +0200chiselfuse(~chiselfus@user/chiselfuse) (Remote host closed the connection)
2023-09-14 15:59:13 +0200chiselfuse(~chiselfus@user/chiselfuse)
2023-09-14 16:00:29 +0200ggVGc(~ggVGc@a.lowtech.earth) (Server closed connection)
2023-09-14 16:00:52 +0200ggVGc(~ggVGc@a.lowtech.earth)
2023-09-14 16:01:22 +0200ripspin(~chatzilla@1.145.159.142)
2023-09-14 16:03:01 +0200nyr(~nyr@user/nyr)
2023-09-14 16:04:03 +0200ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2023-09-14 16:13:34 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 16:15:32 +0200ystael(~ystael@user/ystael)
2023-09-14 16:19:56 +0200lisbeths(uid135845@id-135845.lymington.irccloud.com) (Quit: Connection closed for inactivity)
2023-09-14 16:21:04 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 16:22:08 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:1dda:7f6d:8801:7a7b) (Quit: WeeChat 2.8)
2023-09-14 16:25:27 +0200califax_(~califax@user/califx)
2023-09-14 16:27:54 +0200jmdaemon(~jmdaemon@user/jmdaemon) (Ping timeout: 246 seconds)
2023-09-14 16:28:15 +0200ystael(~ystael@user/ystael) (Ping timeout: 252 seconds)
2023-09-14 16:29:15 +0200califax(~califax@user/califx) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-14 16:29:15 +0200califax_califax
2023-09-14 16:33:00 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 240 seconds)
2023-09-14 16:35:29 +0200megaTherion(~therion@2001:470:1f09:68::1) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-14 16:35:39 +0200megaTherion(~therion@unix.io)
2023-09-14 16:39:48 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 16:45:10 +0200ystael(~ystael@user/ystael)
2023-09-14 16:46:10 +0200samlamamma(~user@h-46-59-69-159.A785.priv.bahnhof.se)
2023-09-14 16:47:28 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 16:48:44 +0200lisq(~quassel@lis.moe) (Server closed connection)
2023-09-14 16:48:53 +0200lisq(~quassel@lis.moe)
2023-09-14 16:52:09 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds)
2023-09-14 16:52:36 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-14 16:52:59 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
2023-09-14 16:54:04 +0200 <samlamamma> Hi :-). Dumb question: Is the 'diamond problem' from multiple inheritance possible in Haskell's type classes? I'd think no, since we can't provide or override implementations in the type classes themselves.
2023-09-14 16:54:59 +0200 <danse-nr3> i agree
2023-09-14 16:55:00 +0200Square(~Square@user/square)
2023-09-14 16:55:40 +0200 <EvanR> there's no inheritance so you can't have multiple inheritance
2023-09-14 16:56:19 +0200 <samlamamma> What about class (Foo f, Bar f) => Baz f where ... ?
2023-09-14 16:56:36 +0200aspen(sid449115@helmsley.irccloud.com) (Ping timeout: 240 seconds)
2023-09-14 16:56:44 +0200jackdk(sid373013@cssa/jackdk) (Ping timeout: 245 seconds)
2023-09-14 16:56:44 +0200dsal(sid13060@id-13060.lymington.irccloud.com) (Ping timeout: 245 seconds)
2023-09-14 16:56:46 +0200 <samlamamma> EvanR: What would you call that :-)?
2023-09-14 16:56:47 +0200bjs(sid190364@user/bjs) (Ping timeout: 246 seconds)
2023-09-14 16:56:56 +0200joel135(sid136450@id-136450.hampstead.irccloud.com) (Ping timeout: 255 seconds)
2023-09-14 16:56:56 +0200pjlsergeant__(sid143467@id-143467.hampstead.irccloud.com) (Ping timeout: 255 seconds)
2023-09-14 16:56:57 +0200snek(sid280155@id-280155.lymington.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:56:57 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:57:00 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2023-09-14 16:57:00 +0200g00gler(uid125351@id-125351.uxbridge.irccloud.com) (Ping timeout: 258 seconds)
2023-09-14 16:57:00 +0200rubin55(sid175221@id-175221.hampstead.irccloud.com) (Ping timeout: 258 seconds)
2023-09-14 16:57:01 +0200aristid(sid1599@id-1599.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2023-09-14 16:57:01 +0200Pent(sid313808@id-313808.lymington.irccloud.com) (Ping timeout: 252 seconds)
2023-09-14 16:57:01 +0200acertain_(sid470584@id-470584.hampstead.irccloud.com) (Ping timeout: 252 seconds)
2023-09-14 16:57:02 +0200diagprov(sid348783@user/diagprov) (Ping timeout: 246 seconds)
2023-09-14 16:57:03 +0200 <EvanR> additional constraint on a class
2023-09-14 16:57:06 +0200gmc(sid58314@id-58314.ilkley.irccloud.com) (Ping timeout: 255 seconds)
2023-09-14 16:57:06 +0200hook54321(sid149355@user/hook54321) (Ping timeout: 255 seconds)
2023-09-14 16:57:07 +0200iphy(sid67735@id-67735.lymington.irccloud.com) (Ping timeout: 258 seconds)
2023-09-14 16:57:08 +0200skippy(sid26890@user/slice) (Ping timeout: 246 seconds)
2023-09-14 16:57:09 +0200SrPx(sid108780@id-108780.uxbridge.irccloud.com) (Ping timeout: 245 seconds)
2023-09-14 16:57:14 +0200 <danse-nr3> as you said samlamamma, implementations are not provided in the classes, so there is no inheritance
2023-09-14 16:57:16 +0200hongminhee(sid295@id-295.tinside.irccloud.com) (Ping timeout: 248 seconds)
2023-09-14 16:57:17 +0200integral(sid296274@user/integral) (Ping timeout: 248 seconds)
2023-09-14 16:57:17 +0200parseval(sid239098@id-239098.helmsley.irccloud.com) (Ping timeout: 248 seconds)
2023-09-14 16:57:17 +0200bw_(sid2730@id-2730.ilkley.irccloud.com) (Ping timeout: 248 seconds)
2023-09-14 16:57:17 +0200tritlo_(sid58727@id-58727.hampstead.irccloud.com) (Ping timeout: 248 seconds)
2023-09-14 16:57:18 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:57:23 +0200agander_m(sid407952@id-407952.tinside.irccloud.com) (Ping timeout: 255 seconds)
2023-09-14 16:57:23 +0200jakesyl____(sid56879@id-56879.hampstead.irccloud.com) (Ping timeout: 255 seconds)
2023-09-14 16:57:23 +0200sclv(sid39734@haskell/developer/sclv) (Ping timeout: 258 seconds)
2023-09-14 16:57:23 +0200chessai(sid225296@id-225296.lymington.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:57:24 +0200delyan_(sid523379@id-523379.hampstead.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:57:24 +0200dy(sid3438@user/dy) (Ping timeout: 240 seconds)
2023-09-14 16:57:24 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com) (Ping timeout: 240 seconds)
2023-09-14 16:57:30 +0200meinside(uid24933@id-24933.helmsley.irccloud.com) (Ping timeout: 258 seconds)
2023-09-14 16:57:32 +0200b20n(sid115913@id-115913.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200pepeiborra(sid443799@id-443799.ilkley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200jonrh(sid5185@id-5185.ilkley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200rune_(sid21167@id-21167.ilkley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200edwardk(sid47016@haskell/developer/edwardk) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200S11001001(sid42510@id-42510.ilkley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200mustafa(sid502723@rockylinux/releng/mustafa) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200lexi-lambda(sid92601@id-92601.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200evertedsphere(sid434122@id-434122.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200amir(sid22336@user/amir) (Read error: Connection reset by peer)
2023-09-14 16:57:32 +0200hamishmack(sid389057@id-389057.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:33 +0200glowcoil(sid3405@id-3405.tinside.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:33 +0200NemesisD(sid24071@id-24071.lymington.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:33 +0200hovsater(sid499516@id-499516.lymington.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:33 +0200jmct(sid160793@id-160793.tinside.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:33 +0200idnar(sid12240@debian/mithrandi) (Read error: Connection reset by peer)
2023-09-14 16:57:33 +0200degraafk(sid71464@id-71464.lymington.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:33 +0200geekosaur[c](sid609282@xmonad/geekosaur) (Read error: Connection reset by peer)
2023-09-14 16:57:34 +0200AndreasK(sid320732@id-320732.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:34 +0200lally(sid388228@id-388228.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:34 +0200systemfault(sid267009@about/typescript/member/systemfault) (Read error: Connection reset by peer)
2023-09-14 16:57:34 +0200T_S____(sid501726@id-501726.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:34 +0200bradparker(sid262931@id-262931.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2023-09-14 16:57:34 +0200tnks(sid412124@id-412124.helmsley.irccloud.com) (Ping timeout: 252 seconds)
2023-09-14 16:57:34 +0200sa1(sid7690@id-7690.ilkley.irccloud.com) (Ping timeout: 245 seconds)
2023-09-14 16:57:35 +0200JSharp(sid4580@id-4580.lymington.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:36 +0200taktoa[c](sid282096@id-282096.tinside.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:36 +0200astra(sid289983@id-289983.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:36 +0200cbarrett(sid192934@id-192934.helmsley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:36 +0200Fangs(sid141280@id-141280.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:37 +0200PotatoGim(sid99505@id-99505.lymington.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:37 +0200yvan-sraka(sid419690@id-419690.lymington.irccloud.com) (Write error: Connection reset by peer)
2023-09-14 16:57:37 +0200buhman(sid411355@user/buhman) (Read error: Connection reset by peer)
2023-09-14 16:57:38 +0200davetapley(sid666@2a03:5180:f:5::29a) (Read error: Connection reset by peer)
2023-09-14 16:57:38 +0200totbwf(sid402332@id-402332.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:38 +0200wallymathieu(sid533252@id-533252.uxbridge.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:38 +0200ysh____(sid6017@id-6017.ilkley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:38 +0200SethTisue(sid14912@id-14912.ilkley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:38 +0200ProofTechnique_(sid79547@id-79547.ilkley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:38 +0200haasn(sid579015@id-579015.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:39 +0200dmj`(sid72307@id-72307.hampstead.irccloud.com) (Write error: Connection reset by peer)
2023-09-14 16:57:39 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:39 +0200carter(sid14827@id-14827.helmsley.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:39 +0200yandere(sid467876@id-467876.ilkley.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:57:39 +0200Boarders___(sid425905@id-425905.lymington.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:39 +0200nrr______(sid20938@id-20938.lymington.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:40 +0200edm(sid147314@id-147314.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:40 +0200SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com) (Read error: Connection reset by peer)
2023-09-14 16:57:45 +0200 <danse-nr3> so many people quitting ... some network disruption going on ...
2023-09-14 16:57:46 +0200edmundnoble_(sid229620@id-229620.helmsley.irccloud.com) (Ping timeout: 258 seconds)
2023-09-14 16:57:52 +0200 <EvanR> I detect a great split in the net
2023-09-14 16:57:54 +0200 <samlamamma> So it's not just me!
2023-09-14 16:57:54 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 16:58:00 +0200mankyKitty(sid31287@id-31287.helmsley.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:58:08 +0200aspen(sid449115@helmsley.irccloud.com)
2023-09-14 16:58:08 +0200 <Square> You can have implementation in classes iirc
2023-09-14 16:58:12 +0200 <EvanR> Like a 1000 connections were just suddenly reset by peer
2023-09-14 16:58:21 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:58:21 +0200 <samlamamma> Alright, I accept what you're saying. That makes sense, inheritance is the borrowing of concrete implementation.
2023-09-14 16:58:24 +0200alinab(sid468903@id-468903.helmsley.irccloud.com) (Ping timeout: 245 seconds)
2023-09-14 16:58:24 +0200christiaanb(sid84827@id-84827.lymington.irccloud.com) (Ping timeout: 245 seconds)
2023-09-14 16:58:32 +0200Adeon(sid418992@id-418992.lymington.irccloud.com) (Ping timeout: 258 seconds)
2023-09-14 16:58:35 +0200schweers(~user@p200300e57723860073a75a2a83d5f435.dip0.t-ipconnect.de) (Remote host closed the connection)
2023-09-14 16:58:40 +0200ggranberry(sid267884@id-267884.uxbridge.irccloud.com) (Ping timeout: 252 seconds)
2023-09-14 16:58:42 +0200lightandlight(sid135476@id-135476.helmsley.irccloud.com) (Ping timeout: 246 seconds)
2023-09-14 16:58:59 +0200mankyKitty(sid31287@helmsley.irccloud.com)
2023-09-14 16:59:02 +0200jmct(sid160793@tinside.irccloud.com)
2023-09-14 16:59:03 +0200edwardk(sid47016@haskell/developer/edwardk)
2023-09-14 16:59:04 +0200evertedsphere(sid434122@hampstead.irccloud.com)
2023-09-14 16:59:04 +0200pepeiborra(sid443799@ilkley.irccloud.com)
2023-09-14 16:59:04 +0200 <danse-nr3> yeah there can be default implementations
2023-09-14 16:59:04 +0200pjlsergeant__(sid143467@hampstead.irccloud.com)
2023-09-14 16:59:06 +0200amir(sid22336@user/amir)
2023-09-14 16:59:07 +0200S11001001(sid42510@ilkley.irccloud.com)
2023-09-14 16:59:12 +0200g00gler(uid125351@uxbridge.irccloud.com)
2023-09-14 16:59:12 +0200geekosaur[c](sid609282@xmonad/geekosaur)
2023-09-14 16:59:13 +0200ggranberry(sid267884@id-267884.uxbridge.irccloud.com)
2023-09-14 16:59:13 +0200glowcoil(sid3405@id-3405.tinside.irccloud.com)
2023-09-14 16:59:14 +0200wallymathieu(sid533252@uxbridge.irccloud.com)
2023-09-14 16:59:15 +0200bradparker(sid262931@id-262931.uxbridge.irccloud.com)
2023-09-14 16:59:17 +0200buhman(sid411355@user/buhman)
2023-09-14 16:59:18 +0200jonrh(sid5185@id-5185.ilkley.irccloud.com)
2023-09-14 16:59:20 +0200parseval(sid239098@id-239098.helmsley.irccloud.com)
2023-09-14 16:59:21 +0200hovsater(sid499516@id-499516.lymington.irccloud.com)
2023-09-14 16:59:21 +0200sclv(sid39734@haskell/developer/sclv)
2023-09-14 16:59:22 +0200sa1(sid7690@id-7690.ilkley.irccloud.com)
2023-09-14 16:59:23 +0200T_S____(sid501726@id-501726.uxbridge.irccloud.com)
2023-09-14 16:59:23 +0200hamishmack(sid389057@id-389057.hampstead.irccloud.com)
2023-09-14 16:59:25 +0200Adeon(sid418992@id-418992.lymington.irccloud.com)
2023-09-14 16:59:27 +0200tritlo_(sid58727@id-58727.hampstead.irccloud.com)
2023-09-14 16:59:31 +0200idnar(sid12240@debian/mithrandi)
2023-09-14 16:59:35 +0200davetapley(sid666@id-666.uxbridge.irccloud.com)
2023-09-14 16:59:37 +0200dy(sid3438@id-3438.helmsley.irccloud.com)
2023-09-14 16:59:38 +0200iphy(sid67735@id-67735.lymington.irccloud.com)
2023-09-14 16:59:39 +0200skippy(sid26890@id-26890.lymington.irccloud.com)
2023-09-14 16:59:40 +0200systemfault(sid267009@about/typescript/member/systemfault)
2023-09-14 16:59:40 +0200NemesisD(sid24071@id-24071.lymington.irccloud.com)
2023-09-14 16:59:41 +0200nrr______(sid20938@id-20938.lymington.irccloud.com)
2023-09-14 16:59:42 +0200rune_(sid21167@ilkley.irccloud.com)
2023-09-14 16:59:42 +0200ProofTechnique_(sid79547@id-79547.ilkley.irccloud.com)
2023-09-14 16:59:42 +0200cbarrett(sid192934@id-192934.helmsley.irccloud.com)
2023-09-14 16:59:42 +0200snek(sid280155@id-280155.lymington.irccloud.com)
2023-09-14 16:59:43 +0200alinab(sid468903@helmsley.irccloud.com)
2023-09-14 16:59:44 +0200integral(sid296274@id-296274.lymington.irccloud.com)
2023-09-14 16:59:44 +0200conjunctive(sid433686@id-433686.helmsley.irccloud.com)
2023-09-14 16:59:45 +0200 <EvanR> in class (Foo f, Bar f) => Baz f where, you have to have those 3 classes for each f, it can't borrow
2023-09-14 16:59:45 +0200degraafk(sid71464@id-71464.lymington.irccloud.com)
2023-09-14 16:59:45 +0200jackdk(sid373013@id-373013.tinside.irccloud.com)
2023-09-14 16:59:48 +0200diagprov(sid348783@id-348783.hampstead.irccloud.com)
2023-09-14 16:59:49 +0200rubin55(sid175221@id-175221.hampstead.irccloud.com)
2023-09-14 16:59:51 +0200 <danse-nr3> hey people that are joining again: what happened to your internet?
2023-09-14 16:59:52 +0200Pent(sid313808@id-313808.lymington.irccloud.com)
2023-09-14 16:59:53 +0200JSharp(sid4580@id-4580.lymington.irccloud.com)
2023-09-14 16:59:53 +0200Fangs(sid141280@hampstead.irccloud.com)
2023-09-14 16:59:54 +0200aristid(sid1599@uxbridge.irccloud.com)
2023-09-14 16:59:54 +0200dy(sid3438@id-3438.helmsley.irccloud.com) (Changing host)
2023-09-14 16:59:54 +0200dy(sid3438@user/dy)
2023-09-14 16:59:56 +0200integral(sid296274@id-296274.lymington.irccloud.com) (Changing host)
2023-09-14 16:59:56 +0200integral(sid296274@user/integral)
2023-09-14 16:59:57 +0200skippy(sid26890@id-26890.lymington.irccloud.com) (Changing host)
2023-09-14 16:59:57 +0200skippy(sid26890@user/slice)
2023-09-14 16:59:58 +0200totbwf(sid402332@uxbridge.irccloud.com)
2023-09-14 16:59:59 +0200Guest3051(sid1055@id-1055.tinside.irccloud.com)
2023-09-14 16:59:59 +0200diagprov(sid348783@id-348783.hampstead.irccloud.com) (Changing host)
2023-09-14 16:59:59 +0200diagprov(sid348783@user/diagprov)
2023-09-14 17:00:04 +0200jackdk(sid373013@id-373013.tinside.irccloud.com) (Changing host)
2023-09-14 17:00:04 +0200jackdk(sid373013@cssa/jackdk)
2023-09-14 17:00:05 +0200carter(sid14827@2a03:5180:f:1::39eb)
2023-09-14 17:00:05 +0200edmundnoble_(sid229620@helmsley.irccloud.com)
2023-09-14 17:00:13 +0200Fangs(sid141280@hampstead.irccloud.com) (Client Quit)
2023-09-14 17:00:15 +0200ystael(~ystael@user/ystael) (Ping timeout: 255 seconds)
2023-09-14 17:00:17 +0200AndreasK(sid320732@id-320732.uxbridge.irccloud.com)
2023-09-14 17:00:18 +0200bw_(sid2730@2a03:5180:f:3::aaa)
2023-09-14 17:00:25 +0200SethTisue(sid14912@id-14912.ilkley.irccloud.com)
2023-09-14 17:00:26 +0200haasn(sid579015@hampstead.irccloud.com)
2023-09-14 17:00:26 +0200edm(sid147314@hampstead.irccloud.com)
2023-09-14 17:00:28 +0200meinside(uid24933@helmsley.irccloud.com)
2023-09-14 17:00:29 +0200 <EvanR> have to have instances*
2023-09-14 17:00:30 +0200b20n(sid115913@uxbridge.irccloud.com)
2023-09-14 17:00:36 +0200ysh____(sid6017@id-6017.ilkley.irccloud.com)
2023-09-14 17:00:44 +0200lexi-lambda(sid92601@id-92601.hampstead.irccloud.com)
2023-09-14 17:00:45 +0200lightandlight(sid135476@id-135476.helmsley.irccloud.com)
2023-09-14 17:00:45 +0200Fangs(sid141280@2a03:5180:f:4::2:27e0)
2023-09-14 17:00:46 +0200taktoa[c](sid282096@tinside.irccloud.com)
2023-09-14 17:00:47 +0200 <samlamamma> Yup, you guys are entirely correct!
2023-09-14 17:00:47 +0200chessai(sid225296@id-225296.lymington.irccloud.com)
2023-09-14 17:00:47 +0200agander_m(sid407952@id-407952.tinside.irccloud.com)
2023-09-14 17:00:48 +0200dsal(sid13060@id-13060.lymington.irccloud.com)
2023-09-14 17:00:49 +0200yandere(sid467876@id-467876.ilkley.irccloud.com)
2023-09-14 17:00:49 +0200mustafa(sid502723@id-502723.hampstead.irccloud.com)
2023-09-14 17:00:50 +0200christiaanb(sid84827@id-84827.lymington.irccloud.com)
2023-09-14 17:00:51 +0200bjs(sid190364@helmsley.irccloud.com)
2023-09-14 17:00:51 +0200acertain_(sid470584@id-470584.hampstead.irccloud.com)
2023-09-14 17:00:53 +0200tnks(sid412124@id-412124.helmsley.irccloud.com)
2023-09-14 17:00:53 +0200hongminhee(sid295@id-295.tinside.irccloud.com)
2023-09-14 17:00:54 +0200gmg_gmg
2023-09-14 17:00:54 +0200shawwwn(sid6132@id-6132.helmsley.irccloud.com)
2023-09-14 17:00:54 +0200delyan_(sid523379@id-523379.hampstead.irccloud.com)
2023-09-14 17:00:55 +0200gaze___(sid387101@id-387101.helmsley.irccloud.com)
2023-09-14 17:00:56 +0200smalltalkman(uid545680@id-545680.hampstead.irccloud.com)
2023-09-14 17:00:58 +0200SanchayanMaity(sid478177@id-478177.hampstead.irccloud.com)
2023-09-14 17:00:59 +0200yvan-sraka(sid419690@id-419690.lymington.irccloud.com)
2023-09-14 17:01:00 +0200PotatoGim(sid99505@id-99505.lymington.irccloud.com)
2023-09-14 17:01:01 +0200astra(sid289983@id-289983.hampstead.irccloud.com)
2023-09-14 17:01:02 +0200lally(sid388228@id-388228.uxbridge.irccloud.com)
2023-09-14 17:01:02 +0200joel135(sid136450@id-136450.hampstead.irccloud.com)
2023-09-14 17:01:04 +0200gmc(sid58314@id-58314.ilkley.irccloud.com)
2023-09-14 17:01:04 +0200jakesyl____(sid56879@id-56879.hampstead.irccloud.com)
2023-09-14 17:01:06 +0200Boarders___(sid425905@id-425905.lymington.irccloud.com)
2023-09-14 17:01:06 +0200bjs(sid190364@helmsley.irccloud.com) (Changing host)
2023-09-14 17:01:06 +0200bjs(sid190364@user/bjs)
2023-09-14 17:01:15 +0200hook54321(sid149355@user/hook54321)
2023-09-14 17:01:17 +0200mustafa(sid502723@id-502723.hampstead.irccloud.com) (Changing host)
2023-09-14 17:01:17 +0200mustafa(sid502723@rockylinux/releng/mustafa)
2023-09-14 17:01:17 +0200dmj`(sid72307@id-72307.hampstead.irccloud.com)
2023-09-14 17:01:17 +0200SrPx(sid108780@uxbridge.irccloud.com)
2023-09-14 17:01:21 +0200 <danse-nr3> in #linux they say it was irccloud, i did not know it had that many users
2023-09-14 17:01:25 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com)
2023-09-14 17:01:38 +0200pavonia(~user@user/siracusa) (Read error: Connection reset by peer)
2023-09-14 17:02:07 +0200pavonia(~user@user/siracusa)
2023-09-14 17:02:14 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com) (Client Quit)
2023-09-14 17:02:23 +0200 <EvanR> samlamamma, a deep dive into type classes which is at least good for deleting any preconceived notions of how type classes work https://www.youtube.com/watch?v=hIZxTQP1ifo
2023-09-14 17:03:04 +0200NiKaN(sid385034@id-385034.helmsley.irccloud.com)
2023-09-14 17:03:55 +0200 <samlamamma> Oooh you know what? I'm on vacation, I should print out some research papers
2023-09-14 17:04:17 +0200 <geekosaur> yeh, irccloud just reset for some reason
2023-09-14 17:08:25 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net)
2023-09-14 17:09:27 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds)
2023-09-14 17:11:50 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 17:12:29 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-14 17:18:54 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 17:19:17 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 17:19:48 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1) (Ping timeout: 240 seconds)
2023-09-14 17:20:30 +0200ystael(~ystael@user/ystael)
2023-09-14 17:20:50 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-14 17:21:05 +0200chele(~chele@user/chele) (Remote host closed the connection)
2023-09-14 17:21:49 +0200smoothdev(~smoothdev@91-169-231-236.subs.proxad.net)
2023-09-14 17:21:51 +0200Square(~Square@user/square) (Ping timeout: 255 seconds)
2023-09-14 17:23:48 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 17:25:36 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-14 17:28:45 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 4.0.4)
2023-09-14 17:30:25 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 17:30:43 +0200Simikando(~Simikando@bband-dyn237.95-103-149.t-com.sk)
2023-09-14 17:31:59 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 17:35:27 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 17:36:02 +0200 <ddellacosta> EvanR: I love that talk
2023-09-14 17:36:51 +0200 <EvanR> oops, the link description is Edward Kmett - Type Classes vs. the World (Boston Haskell)
2023-09-14 17:37:09 +0200Simikando(~Simikando@bband-dyn237.95-103-149.t-com.sk) (Ping timeout: 245 seconds)
2023-09-14 17:37:54 +0200 <ddellacosta> it really helped me understand how distinctly modules solve certain problems and what tradeoffs that gives you
2023-09-14 17:42:27 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds)
2023-09-14 17:46:30 +0200 <yin> what's the canonical way of showing a record with indentation?
2023-09-14 17:46:34 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 17:46:49 +0200 <yin> is there a showPretty somewhere?
2023-09-14 17:47:03 +0200 <EvanR> I like pretty-simple package
2023-09-14 17:47:42 +0200 <yin> EvanR: ty
2023-09-14 17:51:43 +0200danse-nr3(~francesco@151.35.231.127) (Ping timeout: 240 seconds)
2023-09-14 17:52:08 +0200 <EvanR> I changed my mind. To make the output reasonable you need to pass outputOptionsCompact = True
2023-09-14 17:52:16 +0200 <EvanR> cool but not simple at all!
2023-09-14 17:54:13 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 252 seconds)
2023-09-14 17:54:47 +0200phma(phma@2001:5b0:210b:c008:bd31:491b:c236:df4b) (Read error: Connection reset by peer)
2023-09-14 17:55:15 +0200 <EvanR> ddellacosta, and from that video I just learned ghci command :bro (:browse) xD
2023-09-14 17:55:25 +0200phma(~phma@host-67-44-208-16.hnremote.net)
2023-09-14 17:56:37 +0200notzmv(~zmv@user/notzmv)
2023-09-14 17:57:48 +0200ripspin(~chatzilla@1.145.159.142) (Remote host closed the connection)
2023-09-14 17:59:08 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 248 seconds)
2023-09-14 17:59:17 +0200danse-nr3(~francesco@151.35.231.127)
2023-09-14 18:01:08 +0200Sgeo(~Sgeo@user/sgeo)
2023-09-14 18:01:45 +0200Inst(~Inst@120.244.192.250) (Ping timeout: 252 seconds)
2023-09-14 18:02:42 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-14 18:04:46 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 18:07:39 +0200econo_(uid147250@id-147250.tinside.irccloud.com)
2023-09-14 18:08:07 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2023-09-14 18:08:12 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
2023-09-14 18:09:39 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 18:11:56 +0200ystael(~ystael@user/ystael) (Ping timeout: 248 seconds)
2023-09-14 18:13:06 +0200 <EvanR> samlamamma, great screenshot from the talk which sums up what I was remembering about it in relation to the question about diamond dependencies, https://i.imgur.com/A0Xvs9a.png
2023-09-14 18:13:10 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-14 18:13:26 +0200codaraxis(~codaraxis@user/codaraxis) (Ping timeout: 255 seconds)
2023-09-14 18:14:19 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 18:14:25 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 18:14:59 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2023-09-14 18:15:11 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-09-14 18:16:23 +0200mc47(~mc47@xmonad/TheMC47)
2023-09-14 18:17:05 +0200fendor(~fendor@2a02:8388:1640:be00:aab:1226:f274:5021) (Remote host closed the connection)
2023-09-14 18:17:29 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds)
2023-09-14 18:19:56 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-14 18:22:09 +0200 <ddellacosta> EvanR: haha a useful shortcut indeed
2023-09-14 18:23:25 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 18:24:29 +0200danse-nr3_(~francesco@151.54.19.188)
2023-09-14 18:25:48 +0200danse-nr3(~francesco@151.35.231.127) (Ping timeout: 240 seconds)
2023-09-14 18:31:43 +0200tomboy64(~tomboy64@user/tomboy64) (Server closed connection)
2023-09-14 18:32:05 +0200tomboy64(~tomboy64@user/tomboy64)
2023-09-14 18:33:22 +0200jmdaemon(~jmdaemon@user/jmdaemon)
2023-09-14 18:35:12 +0200Simikando(~Simikando@bband-dyn237.95-103-149.t-com.sk)
2023-09-14 18:35:43 +0200EllenorMelanieMalik
2023-09-14 18:35:50 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds)
2023-09-14 18:35:51 +0200nyr(~nyr@user/nyr) (Ping timeout: 252 seconds)
2023-09-14 18:36:40 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 18:36:47 +0200hugo(znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
2023-09-14 18:37:00 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
2023-09-14 18:37:27 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed)
2023-09-14 18:37:39 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-14 18:41:39 +0200hugo-(znc@verdigris.lysator.liu.se)
2023-09-14 18:41:43 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 18:43:51 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-14 18:45:00 +0200Simikando(~Simikando@bband-dyn237.95-103-149.t-com.sk) (Ping timeout: 248 seconds)
2023-09-14 18:45:40 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-14 18:48:13 +0200codaraxis(~codaraxis@user/codaraxis)
2023-09-14 18:48:15 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-09-14 18:50:53 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-09-14 18:54:17 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds)
2023-09-14 18:54:27 +0200shapr(~user@2600:1700:c640:3100:1053:3e08:b8d2:1dcd)
2023-09-14 18:55:33 +0200Simikando(~Simikando@bband-dyn237.95-103-149.t-com.sk)
2023-09-14 18:57:01 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-14 18:59:38 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 19:03:23 +0200Square2(~Square4@user/square) (Ping timeout: 246 seconds)
2023-09-14 19:08:26 +0200ystael(~ystael@user/ystael)
2023-09-14 19:11:19 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
2023-09-14 19:12:14 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds)
2023-09-14 19:14:46 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 19:17:08 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed)
2023-09-14 19:18:00 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 19:19:14 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net) (Ping timeout: 246 seconds)
2023-09-14 19:19:43 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2023-09-14 19:21:06 +0200ddellacosta(~ddellacos@ool-44c738de.dyn.optonline.net)
2023-09-14 19:24:05 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-14 19:29:19 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 19:29:35 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 19:30:33 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds)
2023-09-14 19:33:04 +0200Simikando(~Simikando@bband-dyn237.95-103-149.t-com.sk) (Quit: Leaving)
2023-09-14 19:34:07 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-09-14 19:37:37 +0200Square(~Square@user/square)
2023-09-14 19:37:55 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 19:38:39 +0200 <Square> I watched a video on mu-haskell the other day. Among other things they had disabled Existential Types, GADTs and recursion. Just curious why GADTs would be considered dubious?
2023-09-14 19:39:57 +0200 <erisco> Disabled recursion? Not sure what it is about but sounds like they're maybe trying to guarantee totality?
2023-09-14 19:42:42 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 255 seconds)
2023-09-14 19:48:05 +0200 <[exa]> Square: any video or written note on the reasons there?
2023-09-14 19:48:47 +0200qqq(~qqq@92.43.167.61)
2023-09-14 19:48:54 +0200 <Square> [exa], https://www.youtube.com/watch?v=8Xe0ujcThxg
2023-09-14 19:49:11 +0200 <EvanR> disabled recursion in datatypes or code
2023-09-14 19:49:38 +0200 <[exa]> Square: time?
2023-09-14 19:50:11 +0200 <EvanR> I know higher order algebraic datatypes in HoTT can get pretty wild fast
2023-09-14 19:50:29 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds)
2023-09-14 19:50:45 +0200 <[exa]> oh what, the slides there literally say "but we didn't want to lose C++ and Excel interoperability"
2023-09-14 19:52:14 +0200 <Square> EvanR, Code is my understanding. "You rarely need recursion" he said. *shrug* =D
2023-09-14 19:52:18 +0200danse-nr3_(~francesco@151.54.19.188) (Ping timeout: 246 seconds)
2023-09-14 19:52:20 +0200 <EvanR> lol
2023-09-14 19:52:22 +0200 <EvanR> ok
2023-09-14 19:53:22 +0200 <EvanR> in a DSL you can rely on primitive combinators which do specific things like map and reduce, which were verified using recursion correctly (if at all)
2023-09-14 19:53:34 +0200 <[exa]> looks a bit like they wanted cobol
2023-09-14 19:55:20 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 19:59:09 +0200connrs(~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
2023-09-14 19:59:58 +0200connrs(~connrs@user/connrs)
2023-09-14 20:01:24 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 20:02:20 +0200 <tomsmeding> turn haskell into cobol?
2023-09-14 20:02:22 +0200tomsmedingconfused
2023-09-14 20:02:35 +0200 <tomsmeding> it's easier to turn python into cobol
2023-09-14 20:04:08 +0200nyr(~nyr@user/nyr)
2023-09-14 20:04:36 +0200connrs(~connrs@user/connrs) (Read error: Connection reset by peer)
2023-09-14 20:05:27 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 20:05:57 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 246 seconds)
2023-09-14 20:06:10 +0200connrs(~connrs@user/connrs)
2023-09-14 20:07:42 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 20:08:10 +0200tomjaguarpaw(~tom@172.104.25.182) (Server closed connection)
2023-09-14 20:08:22 +0200tomjaguarpaw(~tom@172-104-25-182.ip.linodeusercontent.com)
2023-09-14 20:11:19 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 20:15:32 +0200 <haskellbridge> <s​m> Square: that looked good.. worth watching ?
2023-09-14 20:16:11 +0200nyr(~nyr@user/nyr) (Ping timeout: 246 seconds)
2023-09-14 20:17:16 +0200 <Square> sm: I watched a bit by accident. It's not so much about Haskell/FP but how they use it on Standard Chartered bank. More interesting than it sounds tbh. =D
2023-09-14 20:17:31 +0200 <haskellbridge> <s​m> 👍️
2023-09-14 20:17:52 +0200[_________](~oos95GWG@user/oos95GWG) (Server closed connection)
2023-09-14 20:18:11 +0200[_________](~oos95GWG@user/oos95GWG)
2023-09-14 20:19:02 +0200 <EvanR> but it's easier to turn comonad into cobalnad, the inevitable name of such a library implementing the cobol comonad
2023-09-14 20:22:27 +0200 <tomsmeding> EvanR: lowest sum of edit distances seems to be achieved for 'comon' -- 2 to comonad and 2 to cobol
2023-09-14 20:22:44 +0200 <tomsmeding> (assuming you allow mutations as edits)
2023-09-14 20:23:04 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 20:23:24 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds)
2023-09-14 20:24:33 +0200 <EvanR> c'monbal
2023-09-14 20:24:59 +0200danza(~francesco@151.43.248.148)
2023-09-14 20:25:17 +0200 <tomsmeding> adding 'bal' makes it funnier
2023-09-14 20:28:06 +0200todi1(~todi@p5dca5734.dip0.t-ipconnect.de)
2023-09-14 20:28:13 +0200todi(~todi@p5dca5c94.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2023-09-14 20:28:27 +0200 <EvanR> shoot that's a misspell
2023-09-14 20:28:56 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 20:31:13 +0200ft(~ft@p3e9bc52b.dip0.t-ipconnect.de)
2023-09-14 20:41:29 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds)
2023-09-14 20:42:32 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 20:43:36 +0200leah2(~leah@vuxu.org) (Server closed connection)
2023-09-14 20:44:47 +0200leah2(~leah@vuxu.org)
2023-09-14 20:45:12 +0200todi1todi
2023-09-14 20:45:54 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 245 seconds)
2023-09-14 20:47:13 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 20:49:43 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2023-09-14 20:49:57 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-14 20:53:18 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 20:57:32 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Remote host closed the connection)
2023-09-14 20:58:52 +0200idgaen(~idgaen@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 4.0.2)
2023-09-14 21:00:26 +0200drewjose0(~drewjose@129.154.40.88)
2023-09-14 21:00:30 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 21:01:03 +0200drewjose(~drewjose@129.154.40.88) (Ping timeout: 252 seconds)
2023-09-14 21:01:03 +0200drewjose0drewjose
2023-09-14 21:01:51 +0200 <monochrom> You can recover existential types with GADT. So if someone seriously wants to ban existential types, they need to also ban GADT.
2023-09-14 21:02:38 +0200 <monochrom> Furthermore, you can recover all of the above plus most recursive types with RankNTypes. So the someone should have also banned that.
2023-09-14 21:02:54 +0200ncf(~n@monade.li) (Server closed connection)
2023-09-14 21:03:13 +0200ncf(~n@monade.li)
2023-09-14 21:03:29 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 21:03:42 +0200 <monochrom> OK actually I haven't done recovering GADT from RankNTypes. But RankNTypes can definitely let you recover existentials and most recursive types.
2023-09-14 21:04:11 +0200aa(~Username@104.28.200.197)
2023-09-14 21:04:43 +0200aa(~Username@104.28.200.197) (Excess Flood)
2023-09-14 21:05:11 +0200 <monochrom> Oh, recursion in code? You can use recursive data types to recover recursion in code.
2023-09-14 21:08:04 +0200privacy(~privacy@47.219.84.6)
2023-09-14 21:09:41 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-14 21:11:24 +0200 <dolio> Isn't the point in Standard Chartered to write libraries used by people who are domain experts, but not Haskell experts?
2023-09-14 21:12:02 +0200 <dolio> So, you don't want to have to teach them about the rules for existential type or gadts and such.
2023-09-14 21:15:47 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 246 seconds)
2023-09-14 21:20:11 +0200privacy(~privacy@47.219.84.6) (Ping timeout: 255 seconds)
2023-09-14 21:22:35 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 21:22:45 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2023-09-14 21:24:41 +0200Sciencentistguy2(~sciencent@hacksoc/ordinary-member)
2023-09-14 21:26:45 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2023-09-14 21:27:18 +0200Sciencentistguy(~sciencent@hacksoc/ordinary-member) (Ping timeout: 255 seconds)
2023-09-14 21:27:19 +0200Sciencentistguy2Sciencentistguy
2023-09-14 21:30:18 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 21:31:51 +0200nek0(~nek0@2a01:4f8:222:2b41::12) (Server closed connection)
2023-09-14 21:32:06 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2023-09-14 21:32:57 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 21:34:30 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5) (Ping timeout: 246 seconds)
2023-09-14 21:35:24 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 240 seconds)
2023-09-14 21:35:29 +0200Square(~Square@user/square) (Ping timeout: 255 seconds)
2023-09-14 21:37:00 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 240 seconds)
2023-09-14 21:41:13 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 21:42:25 +0200 <exarkun> When the ghc rts is multithreaded, when are the threads created?
2023-09-14 21:51:01 +0200Square(~Square@user/square)
2023-09-14 21:51:30 +0200aaronv(~aaronv@user/aaronv)
2023-09-14 21:52:40 +0200chomwitt(~chomwitt@2a02:587:7a15:5600:1ac0:4dff:fedb:a3f1)
2023-09-14 21:53:49 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds)
2023-09-14 21:54:10 +0200 <monochrom> My http://www.vex.net/~trebla/haskell/ghc-conc-ffi.xhtml may not answer that question as stated, but may come close, or even answer the real question.
2023-09-14 21:54:13 +0200Batzy(~quassel@user/batzy)
2023-09-14 21:56:12 +0200 <EvanR> need the rts thread creation myth
2023-09-14 21:56:26 +0200 <monochrom> There is also https://github.com/takenobu-hs/haskell-ghc-illustrated which you should bookmark for future reference.
2023-09-14 21:57:42 +0200wootehfoot(~wootehfoo@user/wootehfoot)
2023-09-14 21:58:28 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 21:59:23 +0200 <exarkun> monochrom: nice, thanks
2023-09-14 22:06:14 +0200michalz(~michalz@185.246.207.201) (Remote host closed the connection)
2023-09-14 22:06:26 +0200_ht(~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
2023-09-14 22:09:36 +0200nyr(~nyr@user/nyr)
2023-09-14 22:10:54 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 22:12:36 +0200mokrates(~user@2a04:4540:7105:1700:badc:5789:6bf6:5936)
2023-09-14 22:13:46 +0200 <mokrates> hi, I am currently reading "real world haskell" to get an intro, but I am already curious:
2023-09-14 22:16:04 +0200wootehfoot(~wootehfoo@user/wootehfoot) (Read error: Connection reset by peer)
2023-09-14 22:16:08 +0200machinedgod(~machinedg@d198-53-218-113.abhsia.telus.net)
2023-09-14 22:16:14 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 22:16:53 +0200natto(~natto@129.154.243.159) (Server closed connection)
2023-09-14 22:16:57 +0200mokrates(~user@2a04:4540:7105:1700:badc:5789:6bf6:5936) ()
2023-09-14 22:17:01 +0200mokrates(~user@2a04:4540:7105:1700:badc:5789:6bf6:5936)
2023-09-14 22:17:15 +0200 <mokrates> this data declaration: data Foo a b = a `Foo` b
2023-09-14 22:17:17 +0200natto(~natto@129.154.243.159)
2023-09-14 22:17:40 +0200 <mokrates> sorry: data Foo a b = a `Foo` b deriving Show
2023-09-14 22:17:53 +0200 <mokrates> a = 5 `Foo` 6
2023-09-14 22:17:55 +0200 <mokrates> a
2023-09-14 22:18:00 +0200 <mokrates> 5 `Foo` 6
2023-09-14 22:18:04 +0200 <mokrates> ok, then
2023-09-14 22:18:09 +0200 <mokrates> b = Foo 5 6
2023-09-14 22:18:11 +0200 <mokrates> b
2023-09-14 22:18:19 +0200 <mokrates> -> 5 `Foo` 6
2023-09-14 22:18:24 +0200 <mauke> oh, it does that?
2023-09-14 22:18:35 +0200 <mauke> @let data Foo a b = a `Foo` b deriving Show
2023-09-14 22:18:37 +0200 <lambdabot> Defined.
2023-09-14 22:18:40 +0200 <mokrates> how does Show know the "fixity"? do Constructors even have a fixity?
2023-09-14 22:18:40 +0200 <mauke> > Foo 5 6
2023-09-14 22:18:42 +0200 <lambdabot> 5 `Foo` 6
2023-09-14 22:19:03 +0200 <mauke> there's a default fixity for operators if you don't explicitly define one
2023-09-14 22:19:17 +0200 <mokrates> I didn't define any more than that
2023-09-14 22:19:24 +0200 <mokrates> as you see with the bot
2023-09-14 22:19:42 +0200 <mokrates> :i doesn't say anything either
2023-09-14 22:20:04 +0200 <mokrates> and does a constructor Foo count as a operator?
2023-09-14 22:20:36 +0200 <shapr> good afternoon?
2023-09-14 22:20:47 +0200 <mokrates> evening ;)
2023-09-14 22:21:00 +0200 <shapr> good evening mokrates
2023-09-14 22:21:12 +0200 <mauke> "Any operator lacking a fixity declaration is assumed to be infixl 9"
2023-09-14 22:21:26 +0200 <mauke> Foo doesn't, but `Foo` does
2023-09-14 22:21:53 +0200 <mauke> https://www.haskell.org/onlinereport/haskell2010/haskellch4.html#x10-820004.4.2
2023-09-14 22:22:28 +0200 <mokrates> thank you very much
2023-09-14 22:22:41 +0200 <glguy> there are two kinds of operators, symbols that aren't surrounded by ()s and identifiers that are surrounded by ``s
2023-09-14 22:23:27 +0200 <mauke> the standard library defines custom fixities for `div`, `mod`, `elem`, and others
2023-09-14 22:23:37 +0200ubert1(~Thunderbi@91.141.49.150.wireless.dyn.drei.com)
2023-09-14 22:24:39 +0200ubert(~Thunderbi@178.165.200.97.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2023-09-14 22:24:39 +0200ubert1ubert
2023-09-14 22:25:24 +0200 <mokrates> interesting... but how would I see those? Where would a show display `div`, `mod` or `elem`?
2023-09-14 22:25:52 +0200 <[exa]> mokrates: re "how does show know fixity", there's showsPrec which should handle that
2023-09-14 22:25:53 +0200 <mokrates> ok, I am currently at a slow computer, I just check that page
2023-09-14 22:26:30 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-14 22:27:04 +0200caryhartline(~caryhartl@168.182.58.169)
2023-09-14 22:27:18 +0200 <[exa]> actually I'm not really sure about what happens if you set the fixity after the Show instance is derived
2023-09-14 22:27:25 +0200 <mauke> you wouldn't see `div` or other functions from show
2023-09-14 22:28:05 +0200 <mokrates> aaah, I get it. the fixity declaration for `div` &al is just defining the precedence
2023-09-14 22:28:07 +0200 <mauke> but ':i elem' in ghc will tell you infix 4 `elem`
2023-09-14 22:28:23 +0200 <mauke> ghci doesn't show default fixities, though
2023-09-14 22:28:39 +0200 <mokrates> whereas my `Foo`-definition tagged some "this-is-infix" information on to the constructor
2023-09-14 22:28:58 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 258 seconds)
2023-09-14 22:29:10 +0200eggplantade(~Eggplanta@2600:1700:38c5:d800:242f:a39f:e332:2dc5)
2023-09-14 22:29:11 +0200 <mauke> well, 'deriving Show' is compiler magic
2023-09-14 22:29:32 +0200 <mokrates> Yeah, I was disappointed when I read that
2023-09-14 22:29:39 +0200 <mauke> the compiler has to generate an implementation of 'show' based on the type you wrote, and the compiler knows whether you used infix syntax for your data constructors
2023-09-14 22:29:54 +0200 <mauke> so it mimics that
2023-09-14 22:30:12 +0200 <c_wraith> well. it's magic, but it's not mysterious.
2023-09-14 22:30:19 +0200 <mokrates> I really am like on page 70 and didn't know any haskell like 2 weeks ago
2023-09-14 22:30:25 +0200 <c_wraith> It follows simple rules and generates code that you could write yourself
2023-09-14 22:30:33 +0200 <mokrates> (apart from, idk, that it can pattern match and stuff)
2023-09-14 22:31:16 +0200 <mauke> https://downloads.haskell.org/ghc/latest/docs/users_guide/exts/deriving.html we do have more advanced magic, though
2023-09-14 22:31:20 +0200 <mokrates> The disappointing thing is that you can't define classes which can be derived (w/o using some compiler-dependent magic modules)
2023-09-14 22:31:36 +0200 <mokrates> (or is this old info?)
2023-09-14 22:32:10 +0200 <mauke> oh, and Template Haskell
2023-09-14 22:32:22 +0200 <mokrates> yeah, c'mon, slowly
2023-09-14 22:32:34 +0200 <mauke> which can generate instances as well (/me waves at lens)
2023-09-14 22:32:37 +0200 <mokrates> I mean: EVERY book starts with "ok, here's hello world!"
2023-09-14 22:32:39 +0200coot(~coot@89-69-206-216.dynamic.chello.pl) (Remote host closed the connection)
2023-09-14 22:32:49 +0200 <c_wraith> It's sort of half true. You can use compiler extensions to get access to tools that let you get closer and closer to GHC's built-in behavior for deriving.
2023-09-14 22:33:04 +0200coot(~coot@89-69-206-216.dynamic.chello.pl)
2023-09-14 22:33:06 +0200 <c_wraith> But in the base language, the deriveable classes aren't something you can hook into
2023-09-14 22:33:12 +0200 <mokrates> real world haskell is like: "ok, we don't have any side effects. no really! we don't! hello world, and printing on the screen? chapter SEVEN"
2023-09-14 22:33:28 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 22:33:33 +0200 <mokrates> (real world haskell -- the book)
2023-09-14 22:33:47 +0200 <mauke> main = putStr "Hello, world!\n" -- done
2023-09-14 22:33:49 +0200 <c_wraith> to be pedantic, IO isn't *side* effects. It's not something that happens incidentally on the side. It's a type specifically for describing effects.
2023-09-14 22:34:04 +0200 <c_wraith> I'm not sure how valuable that pedantry is
2023-09-14 22:34:10 +0200jackneill__(~Jackneill@20014C4E1E101A0048EACD7D3B494F2B.dsl.pool.telekom.hu) (Ping timeout: 252 seconds)
2023-09-14 22:34:11 +0200 <c_wraith> But it's sort of defensible
2023-09-14 22:34:11 +0200 <mokrates> yeah yeah... I already know. But still. You guys are serious ;)
2023-09-14 22:34:39 +0200 <mokrates> I like pedantry
2023-09-14 22:35:00 +0200 <mokrates> And I already got a liiiittle bit of a, say, feeling for it
2023-09-14 22:35:41 +0200 <mokrates> like for continuations (which I still don't really get my head around)
2023-09-14 22:36:03 +0200 <mokrates> (did some lisp stuff, b/c you know: fun)
2023-09-14 22:36:49 +0200privacy(~privacy@47.219.84.6)
2023-09-14 22:36:51 +0200 <mokrates> Did you know that common lisp doesn't have recursive types? I was as surprised as you are!
2023-09-14 22:37:43 +0200 <mauke> I didn't know CL had types in the first place
2023-09-14 22:38:09 +0200 <mokrates> It does. But it's weirdly tacked on
2023-09-14 22:38:26 +0200 <mokrates> (as everything is weirdly tacked together)
2023-09-14 22:39:00 +0200 <mokrates> ... *tacked together weirdly (is better english, I think)
2023-09-14 22:39:08 +0200 <mauke> > sum [0.2, 0.2, 0.2, 0.2, 0.2] :: Rational -- I know CL can't do this one
2023-09-14 22:39:09 +0200 <lambdabot> 1 % 1
2023-09-14 22:39:22 +0200 <glguy> afaik CL has "types" as much as Python has them
2023-09-14 22:39:55 +0200 <mokrates> per standard, yes, but sbcl actually does type inference
2023-09-14 22:41:03 +0200zmt01(~zmt00@user/zmt00)
2023-09-14 22:41:28 +0200 <mokrates> and compiles to really concise code. And you *can* declare them, and then, depending on what you declare, and what your compiler offers, can have them checked or just optimized for (if you just optimize and disobey, you get interesting segfaults)
2023-09-14 22:41:43 +0200justsomeguy(~justsomeg@user/justsomeguy)
2023-09-14 22:42:09 +0200 <mauke> all I remember is "type declarations" that are actually promises to the compiler: "I swear this variable will only contain fixed-width integers, so please generate optimized code that produces garbage if this assumption is violated"
2023-09-14 22:42:33 +0200danza(~francesco@151.43.248.148) (Read error: Connection reset by peer)
2023-09-14 22:42:56 +0200 <mokrates> but with classes and generic methods it has to use types to choose the correct method, similar to haskell has to find the right 'null' in the []-type or the e.g. Maybe-type
2023-09-14 22:43:18 +0200danza(~francesco@151.47.227.251)
2023-09-14 22:43:32 +0200 <mauke> no, that's all runtime dispatch
2023-09-14 22:43:40 +0200 <glguy> It only makes sense to call those types when you don't have types otherwise, though. That's runtime value dispatch, not type dispatch
2023-09-14 22:43:42 +0200 <mokrates> mauke: sbcl will actually throw compiler errors at you if the inferred types don't match up
2023-09-14 22:44:01 +0200 <glguy> if sbcl some some extensions, that's not Common Lisp having it
2023-09-14 22:44:21 +0200 <mauke> some
2023-09-14 22:44:22 +0200 <mokrates> CL permits it.
2023-09-14 22:44:31 +0200 <mauke> yeah, by making it undefined behavior
2023-09-14 22:44:48 +0200swamp_(~zmt00@user/zmt00) (Ping timeout: 258 seconds)
2023-09-14 22:44:52 +0200 <mokrates> yeah, a bit like pragmas in C but still in the standard
2023-09-14 22:45:02 +0200 <mokrates> which is CL weirdness
2023-09-14 22:45:54 +0200 <mokrates> mauke: is it all runtime dispatch in haskell? wouldn't that be slow if the type is known at compile time?
2023-09-14 22:46:06 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 252 seconds)
2023-09-14 22:46:10 +0200waleee(~waleee@2001:9b0:21c:4000:5bf9:6515:c030:57b7)
2023-09-14 22:46:21 +0200tromp(~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
2023-09-14 22:46:51 +0200 <mokrates> ok, "in haskell" is probably the wrong question: in GHC would be more appropriate. (In Hugs it's probably all runtime..., I would think)
2023-09-14 22:47:22 +0200 <glguy> Hugs isn't a compiler, so it can't talk about compile time
2023-09-14 22:47:27 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net)
2023-09-14 22:47:29 +0200 <mauke> ghc does resolve/inline class dictionaries at compile time when it can
2023-09-14 22:47:39 +0200 <mokrates> glguy: fair enough
2023-09-14 22:48:20 +0200 <monochrom> Using runghc to convert compile-time errors to run-time errors. >:D
2023-09-14 22:48:25 +0200 <monochrom> s/Using/Use/
2023-09-14 22:48:26 +0200 <int-e> but then it does an indirect jump for every unevaluated thunk
2023-09-14 22:48:30 +0200 <mokrates> as does sbcl with methods
2023-09-14 22:48:32 +0200 <mauke> there are places where that's not possible, like class-generic operations with separate compilation, or runtime-generated types
2023-09-14 22:48:49 +0200 <mokrates> monochrom: lol
2023-09-14 22:48:50 +0200 <monochrom> But the serious answer is this:
2023-09-14 22:49:09 +0200 <mauke> -fdefer-type-errors
2023-09-14 22:49:17 +0200 <int-e> (I'm not sure how much utility the notion of "dispatch" has in implementations of Haskell.)
2023-09-14 22:49:25 +0200 <mokrates> mauke: of course
2023-09-14 22:49:32 +0200 <monochrom> Static type means that "if True then False else 34" is rejected, even if "obviously" the 34 is irrelevant. Dynamic typing means that it is accepted.
2023-09-14 22:50:17 +0200 <monochrom> So for example, even runghc rejects that code, despite my joke.
2023-09-14 22:50:28 +0200 <c_wraith> monochrom: I'm pretty sure you can make that one valid with sufficiently complex dependent types
2023-09-14 22:50:35 +0200 <monochrom> In fact, even -fdefer-type-errors rejects that, IIRC.
2023-09-14 22:50:40 +0200 <mokrates> It means that I can have a function which takes an Ord and uses < on it. But the implementation could be whatever...
2023-09-14 22:50:43 +0200 <mauke> monochrom: only if you don't define a Num Bool instance
2023-09-14 22:51:17 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 22:51:24 +0200 <mokrates> monochrom: yeah, it probably would reject that, b/c that looks like it can't be compiled
2023-09-14 22:52:12 +0200nate2(~nate@c-98-45-169-16.hsd1.ca.comcast.net) (Ping timeout: 246 seconds)
2023-09-14 22:52:36 +0200Square2(~Square4@user/square)
2023-09-14 22:53:10 +0200 <monochrom> @quote monochrom poor.*dependent
2023-09-14 22:53:10 +0200 <lambdabot> monochrom says: dynamic type is poor man's dependent type, they are so poor they can't buy a theorem prover.
2023-09-14 22:54:10 +0200 <mokrates> damn! you slammed my limo interpreter. I was so proud of it!
2023-09-14 22:54:43 +0200 <mokrates> (my lisp dialect... who learns lisp without building one, amiright?)
2023-09-14 22:54:54 +0200 <mokrates> ok. back to mr. curry.
2023-09-14 22:54:57 +0200 <monochrom> I did.
2023-09-14 22:55:11 +0200Square(~Square@user/square) (Ping timeout: 246 seconds)
2023-09-14 22:55:12 +0200 <mauke> if nil evaluates to itself and (eq nil 'nil), then why is (if 'nil nil 34) 34?
2023-09-14 22:55:27 +0200 <mauke> oh, because I'm dumb
2023-09-14 22:55:41 +0200 <mauke> please erase all memories of what I just said
2023-09-14 22:55:43 +0200 <monochrom> (if 'nil 34 nil) is better. :)
2023-09-14 22:55:59 +0200 <erisco> known as lemma M4
2023-09-14 22:56:09 +0200 <monochrom> Actually, let's erase "if" and learn "unless" instead. >:D
2023-09-14 22:56:21 +0200 <mokrates> what?
2023-09-14 22:56:36 +0200 <monochrom> (unless 'nil nil 34) is more intuitive. >:)
2023-09-14 22:56:36 +0200 <mokrates> so you're asking why (if 'nil 34 nil) -> 34?
2023-09-14 22:56:59 +0200 <mauke> I actually wrote (IF 'NIL ...) in the repl
2023-09-14 22:57:09 +0200 <mauke> I always uppercase my symbols out of respect
2023-09-14 22:57:30 +0200 <mokrates> uppercase is the way from a more civilized time
2023-09-14 22:57:41 +0200emmanuelux(~emmanuelu@user/emmanuelux)
2023-09-14 22:57:44 +0200 <mauke> WHEN PEOPLE WERE SHOUTING AT EACH OTHER ALL THE TIME
2023-09-14 22:57:52 +0200 <mokrates> λimo > (if 'nil 34 nil)
2023-09-14 22:57:58 +0200 <monochrom> I always lowercase because of the exciting "w00t finally a computer that supports lowercase, I should actually use it!"
2023-09-14 22:57:59 +0200 <mokrates> -> 34
2023-09-14 22:57:59 +0200ubert(~Thunderbi@91.141.49.150.wireless.dyn.drei.com) (Ping timeout: 245 seconds)
2023-09-14 22:58:07 +0200 <monochrom> s/exciting/excitement/
2023-09-14 22:58:16 +0200 <mokrates> oh... what?
2023-09-14 22:58:23 +0200pavonia(~user@user/siracusa)
2023-09-14 22:58:45 +0200 <mauke> did you redefine nil, javascript style?
2023-09-14 22:58:45 +0200 <mokrates> ah, yes, of course
2023-09-14 22:58:56 +0200 <mokrates> a sec
2023-09-14 22:59:01 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl)
2023-09-14 22:59:24 +0200 <geekosaur> or ruby style, I used that productively once
2023-09-14 22:59:59 +0200 <mokrates> in limo "nil" is just a variable conaining ()
2023-09-14 23:00:00 +0200 <mokrates> and
2023-09-14 23:00:15 +0200 <mokrates> λimo > (if '() 'true 'false) -> FALSE
2023-09-14 23:00:36 +0200 <monochrom> Is it re-assignable?
2023-09-14 23:00:51 +0200 <mokrates> so 'nil evaluates (in limo) to the symbol nil which is not () but a symbol. so -> true
2023-09-14 23:00:57 +0200 <monochrom> Someone was obsessed with re-assigning a few days ago.
2023-09-14 23:01:07 +0200 <mokrates> CL should may do it differently
2023-09-14 23:01:35 +0200 <mokrates> CL-USER> (if 'nil 'true 'false) -> FALSE
2023-09-14 23:01:46 +0200 <mauke> '|a||b| ; string concatenation (under quote) in common lisp
2023-09-14 23:02:06 +0200 <mokrates> that works. nil is directly translated by the reader in this case
2023-09-14 23:02:49 +0200 <mauke> more like, () evalutes to the symbol NIL, which is falsy
2023-09-14 23:03:27 +0200 <mokrates> also, this is weird:
2023-09-14 23:03:28 +0200acidjnk(~acidjnk@p200300d6e7072f94d84002b8d460e75b.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2023-09-14 23:03:50 +0200 <mokrates> (symbolp nil) -> T
2023-09-14 23:03:51 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds)
2023-09-14 23:04:01 +0200 <mokrates> (symbolp 'nil) -> T
2023-09-14 23:04:12 +0200 <mokrates> (symbolp ()) -> T
2023-09-14 23:04:49 +0200 <mauke> yeah, that matches what I said
2023-09-14 23:05:04 +0200 <mokrates> why is it a symbol?
2023-09-14 23:05:14 +0200 <mokrates> λimo > (SYMBOLP 'nil) -> :T
2023-09-14 23:05:35 +0200 <mokrates> λimo > (SYMBOLP nil) -> ()
2023-09-14 23:05:49 +0200 <mauke> because CL is weird
2023-09-14 23:05:50 +0200 <mokrates> (which is reasonable!)
2023-09-14 23:06:03 +0200 <mokrates> yeah, cl is weird
2023-09-14 23:06:34 +0200 <mauke> since it is a self-evaluating symbol, maybe it should've been called :NIL
2023-09-14 23:06:54 +0200ystael(~ystael@user/ystael) (Ping timeout: 246 seconds)
2023-09-14 23:07:05 +0200 <mokrates> mauke: '|a||b| is not a string ;)
2023-09-14 23:07:26 +0200 <mauke> then why does it quack (concatenate) like one?
2023-09-14 23:07:52 +0200 <mokrates> I use :t for my true-value, b/c why define some special symbol for it?
2023-09-14 23:08:03 +0200 <mokrates> mauke: it's a symbol
2023-09-14 23:08:34 +0200 <mauke> :|not nil|
2023-09-14 23:08:56 +0200 <mokrates> absolutely standard ;)
2023-09-14 23:08:59 +0200 <mauke> actually, to maximize evil, you should probably call it :|nil|
2023-09-14 23:09:32 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 246 seconds)
2023-09-14 23:09:32 +0200 <mokrates> but I didn't know that was possible with the ||-concatenation
2023-09-14 23:09:41 +0200 <mokrates> CL-USER> '|foo|bar -> |fooBAR|
2023-09-14 23:10:10 +0200 <mauke> oh, it's very shell-like
2023-09-14 23:10:10 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 23:10:48 +0200 <mokrates> but you have to admit: to be able to redefine your reader mid-program is mind melting yet powerful
2023-09-14 23:12:14 +0200 <mokrates> λimo > (import "simplejson.limo")
2023-09-14 23:12:21 +0200 <mokrates> λimo > (setq fromjson #j{"foo": [1, 2, 3]} )
2023-09-14 23:12:27 +0200 <mokrates> -> #<dict: (("foo" 1 2 3))>
2023-09-14 23:13:33 +0200 <mauke> oh, like quasiquoting
2023-09-14 23:13:54 +0200 <mokrates> I got knots in my head.
2023-09-14 23:14:36 +0200 <mauke> here's a better canonical true value: (|FUNCTION| (lambda (|t| |f|) |t|))
2023-09-14 23:14:38 +0200 <mokrates> Seriously. I implemented ',', ',@' and '`' in the reader just as syntactic sugar
2023-09-14 23:14:42 +0200 <mauke> now compatible with lambda calculus!
2023-09-14 23:15:05 +0200 <mokrates> like `(,x) just translates to a list (quasiquote (comma x)). that's it
2023-09-14 23:15:12 +0200Tuplanolla(~Tuplanoll@91-159-68-236.elisa-laajakaista.fi) (Quit: Leaving.)
2023-09-14 23:15:12 +0200 <mokrates> and then i defined a macro quasiquote
2023-09-14 23:17:59 +0200 <mokrates> https://github.com/mokrates/limo/blob/master/limo-code/std.limo#L221C1-L221C1
2023-09-14 23:18:56 +0200 <mokrates> it's just a soup of cons and list and car and recursive calls
2023-09-14 23:19:36 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com) (Quit: Client closed)
2023-09-14 23:20:25 +0200 <mauke> soupcons of lists
2023-09-14 23:20:36 +0200 <mokrates> mauke: about that lambda calculus... haskell has lazy eval... why does it have 'if'?
2023-09-14 23:20:42 +0200 <mokrates> why isn't if just
2023-09-14 23:20:53 +0200 <mokrates> if True x y = x
2023-09-14 23:20:57 +0200 <mokrates> if False x y = y
2023-09-14 23:20:58 +0200 <mokrates> ?
2023-09-14 23:21:03 +0200 <sshine> :t if'
2023-09-14 23:21:04 +0200 <lambdabot> error:
2023-09-14 23:21:04 +0200 <lambdabot> • Variable not in scope: if'
2023-09-14 23:21:04 +0200 <lambdabot> • Perhaps you meant ‘f'’ (imported from Debug.SimpleReflect)
2023-09-14 23:21:04 +0200 <geekosaur> :t bool
2023-09-14 23:21:05 +0200 <lambdabot> a -> a -> Bool -> a
2023-09-14 23:21:06 +0200 <mauke> tradition?
2023-09-14 23:21:44 +0200 <geekosaur> but `if` is actually syntax sugar for `case () of () | condition -> true | otherwise -> false`
2023-09-14 23:21:54 +0200 <mauke> I mean, that is how the 'if' syntax behaves. and with RebindableSyntax you can make it explicit
2023-09-14 23:22:59 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 245 seconds)
2023-09-14 23:24:36 +0200 <mokrates> hm... I would have thought it nicer to just have it as a function. Like in Clean
2023-09-14 23:25:10 +0200 <mokrates> but ok. doesn't really change anything, I think
2023-09-14 23:26:18 +0200 <geekosaur> iirc we've had trouble tracking down the folks involved with the original Haskell Report who made these kinds of decisions
2023-09-14 23:26:41 +0200 <sshine> mokrates, you get some indentation rules that are nice with dedicated syntax
2023-09-14 23:27:00 +0200 <mokrates> hm, ok
2023-09-14 23:27:12 +0200 <sshine> mokrates, but judging from the backlog, I suppose you might say that macros can give that, too ;-)
2023-09-14 23:27:22 +0200 <dolio> The natural answer is that the if-then-else syntax is way better than a function for many common if-then-else uses.
2023-09-14 23:27:53 +0200 <mokrates> but in the end it's just cosmetics, right?
2023-09-14 23:28:02 +0200 <dolio> Cosmetics matter.
2023-09-14 23:28:05 +0200 <mokrates> or is there a semantic difference, too?
2023-09-14 23:28:15 +0200 <mokrates> dolio: they absolutely do
2023-09-14 23:29:24 +0200 <mokrates> But I learn faster if there's not tons of syntax all doing their own shit ;)
2023-09-14 23:29:28 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 23:32:42 +0200 <EvanR> there is no semantic difference
2023-09-14 23:33:09 +0200 <EvanR> so all you've got to worry about is the cosmetics!
2023-09-14 23:33:23 +0200merijn(~merijn@088-129-128-083.dynamic.caiway.nl) (Ping timeout: 255 seconds)
2023-09-14 23:33:45 +0200 <EvanR> mokrates, you could write all your code in core, which is very uniform and has no bells and whistles
2023-09-14 23:35:47 +0200nyr(~nyr@user/nyr) (Ping timeout: 246 seconds)
2023-09-14 23:38:33 +0200 <mokrates> yeah, of course not. expressiveness and cosmetics are relevant. to bother the lisp example again: I like when the core is slim and the whistles are all in macros which have certain constraints themselves and an implementation you can look at
2023-09-14 23:39:25 +0200 <mokrates> thanks everybody :)
2023-09-14 23:41:33 +0200mokrates(~user@2a04:4540:7105:1700:badc:5789:6bf6:5936) (Remote host closed the connection)
2023-09-14 23:42:06 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net) (Ping timeout: 255 seconds)
2023-09-14 23:43:29 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2023-09-14 23:43:57 +0200mokrates(~user@2a04:4540:7105:1700:badc:5789:6bf6:5936)
2023-09-14 23:46:45 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2023-09-14 23:47:00 +0200mokrates2(~user@2a04:4540:7105:1700:ccd1:ab0:40b8:b3a0)
2023-09-14 23:47:19 +0200bontaq(~user@ool-45707d2c.dyn.optonline.net) (Ping timeout: 252 seconds)
2023-09-14 23:48:14 +0200Carbon-lang(~Carbonlan@ip121.ip-149-56-160.net)
2023-09-14 23:52:36 +0200Pickchea(~private@user/pickchea)
2023-09-14 23:54:02 +0200caryhartline(~caryhartl@168.182.58.169) (Quit: caryhartline)
2023-09-14 23:54:02 +0200acidjnk(~acidjnk@p200300d6e7072f496ceee41d277bee3f.dip0.t-ipconnect.de)
2023-09-14 23:56:58 +0200powderhorn(~powderhor@207-153-12-54.static.fttp.usinternet.com)
2023-09-14 23:58:31 +0200dhil(~dhil@78.45.150.83.ewm.ftth.as8758.net) (Ping timeout: 255 seconds)