Home liberachat/#haskell: Logs Calendar

Logs on 2023-03-30 (liberachat/#haskell)

00:02:27 <peddie> ggVGc: I have, I tend to use things like hmatrix-gsl for fitting, or hmatrix-nlopt if it's serious
00:03:22 × ix quits (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.8)
00:04:21 <peddie> ggVGc: in general, doing nontrivial numerical work in Haskell is an uphill battle on the library front
00:04:45 ix joins (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe)
00:06:48 <peddie> ggVGc: there are also partial bindings to Eigen for linear algebra; you won't get any of their template magic though
00:08:09 × ix quits (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) (Client Quit)
00:09:35 ix joins (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe)
00:11:39 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
00:11:40 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
00:11:40 wroathe joins (~wroathe@user/wroathe)
00:15:53 emmanuelux joins (~emmanuelu@user/emmanuelux)
00:21:53 × ix quits (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) (Quit: WeeChat 3.8)
00:22:21 lagash joins (lagash@lagash.shelltalk.net)
00:23:15 ix joins (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe)
00:24:51 × ix quits (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe) (Client Quit)
00:26:16 ix joins (~ix@2a02:8012:281f:0:d65d:64ff:fe52:5efe)
00:29:09 × purlingstream quits (~godfibrat@178.70.110.196) (Quit: Leaving.)
00:30:57 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
00:32:19 × Midjak quits (~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
00:33:38 hippoid joins (~hippoid@user/hippoid)
00:34:25 × hippoid quits (~hippoid@user/hippoid) (Client Quit)
00:36:04 TonyStone joins (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com)
00:36:39 ryanbooker joins (uid4340@id-4340.hampstead.irccloud.com)
00:44:28 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
01:05:26 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 265 seconds)
01:10:58 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
01:11:39 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
01:12:18 emmanuelux joins (~emmanuelu@user/emmanuelux)
01:17:05 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
01:17:19 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
01:18:06 emmanuelux joins (~emmanuelu@user/emmanuelux)
01:22:05 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
01:22:55 emmanuelux joins (~emmanuelu@user/emmanuelux)
01:23:05 nate4 joins (~nate@98.45.169.16)
01:23:14 hippoid joins (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net)
01:23:28 × hippoid quits (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net) (Changing host)
01:23:28 hippoid joins (~My_user_n@user/hippoid)
01:27:43 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 250 seconds)
01:28:05 gehmehgeh joins (~user@user/gehmehgeh)
01:28:14 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
01:29:22 oneeyedalien_ joins (~oneeyedal@125-63-26-52.ip4.superloop.au)
01:30:19 × oneeyedalien quits (~oneeyedal@125-63-26-114.ip4.superloop.au) (Ping timeout: 250 seconds)
01:30:56 × gmg quits (~user@user/gehmehgeh) (Ping timeout: 255 seconds)
01:31:19 dipper joins (~dipper@117.61.126.31)
01:36:52 × hsw_ quits (~hsw@112-104-11-56.adsl.dynamic.seed.net.tw) (Quit: Leaving)
01:37:06 hsw joins (~hsw@2001-b030-2303-0104-0172-0025-0012-0132.hinet-ip6.hinet.net)
01:45:44 emmanuelux joins (~emmanuelu@user/emmanuelux)
01:47:22 hippoid parts (~My_user_n@user/hippoid) (WeeChat 3.8)
01:48:02 hippoid joins (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net)
01:48:27 × hippoid quits (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net) (Changing host)
01:48:27 hippoid joins (~My_user_n@user/hippoid)
01:52:19 notzmv joins (~zmv@user/notzmv)
01:52:56 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
01:53:44 emmanuelux joins (~emmanuelu@user/emmanuelux)
01:55:35 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Read error: Connection reset by peer)
01:56:14 emmanuelux joins (~emmanuelu@user/emmanuelux)
01:56:44 × emmanuelux quits (~emmanuelu@user/emmanuelux) (Remote host closed the connection)
02:00:19 × hippoid quits (~My_user_n@user/hippoid) (Quit: WeeChat 3.8)
02:00:37 hippoid joins (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net)
02:00:42 × hippoid quits (~My_user_n@c-98-213-162-40.hsd1.il.comcast.net) (Changing host)
02:00:42 hippoid joins (~My_user_n@user/hippoid)
02:01:48 merijn joins (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl)
02:02:20 × smallville7123 quits (~Android@cpe-172-193-178-179.qld.foxtel.net.au) (Ping timeout: 260 seconds)
02:02:30 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
02:04:16 × xff0x quits (~xff0x@2405:6580:b080:900:cbe1:7347:6fa3:48a6) (Ping timeout: 248 seconds)
02:07:37 × merijn quits (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
02:08:57 lagash joins (lagash@lagash.shelltalk.net)
02:10:37 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 250 seconds)
02:10:59 × [Leary] quits (~Leary]@user/Leary/x-0910699) (Ping timeout: 264 seconds)
02:12:16 × ph88 quits (~ph88@91.66.101.83) (Ping timeout: 248 seconds)
02:12:55 dcoutts_ joins (~duncan@host86-175-140-3.range86-175.btcentralplus.com)
02:14:36 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 255 seconds)
02:14:46 × oneeyedalien_ quits (~oneeyedal@125-63-26-52.ip4.superloop.au) (Quit: Leaving)
02:15:23 × dcoutts quits (~duncan@host86-151-44-234.range86-151.btcentralplus.com) (Ping timeout: 250 seconds)
02:15:36 oneeyedalien_ joins (~oneeyedal@125-63-26-49.ip4.superloop.au)
02:15:43 × oneeyedalien_ quits (~oneeyedal@125-63-26-49.ip4.superloop.au) (Remote host closed the connection)
02:16:25 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 252 seconds)
02:16:34 oneeyedalien joins (~oneeyedal@125-63-26-49.ip4.superloop.au)
02:17:02 nate4 joins (~nate@98.45.169.16)
02:17:50 opticblast joins (~Thunderbi@172.58.84.111)
02:19:22 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
02:19:22 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
02:19:22 wroathe joins (~wroathe@user/wroathe)
02:28:33 × td_ quits (~td@i53870923.versanet.de) (Ping timeout: 255 seconds)
02:30:26 td_ joins (~td@i53870922.versanet.de)
02:32:25 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
02:36:39 jero98772 joins (~jero98772@2800:484:1d80:d8ce:5d95:bc81:c274:c339)
02:44:07 × TonyStone quits (~TonyStone@cpe-74-76-57-186.nycap.res.rr.com) (Quit: Leaving)
02:46:25 × ryanbooker quits (uid4340@id-4340.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
02:47:07 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:5d95:bc81:c274:c339) (Ping timeout: 248 seconds)
02:50:04 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
02:52:30 finn_elija joins (~finn_elij@user/finn-elija/x-0085643)
02:52:30 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
02:52:30 finn_elija is now known as FinnElija
02:52:47 xff0x joins (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp)
02:57:34 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 265 seconds)
03:03:01 merijn joins (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl)
03:03:31 × Xe quits (~cadey@tailscale/xe) (Remote host closed the connection)
03:06:13 Xe joins (~cadey@tailscale/xe)
03:07:35 dcoutts joins (~duncan@host86-175-140-3.range86-175.btcentralplus.com)
03:09:33 × dcoutts_ quits (~duncan@host86-175-140-3.range86-175.btcentralplus.com) (Ping timeout: 250 seconds)
03:19:19 × wroathe quits (~wroathe@user/wroathe) (Ping timeout: 265 seconds)
03:19:24 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds)
03:24:48 trev joins (~trev@user/trev)
03:37:15 × merijn quits (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 248 seconds)
03:55:50 × biberu quits (~biberu@user/biberu) (Read error: Connection reset by peer)
03:55:51 × ddellacosta quits (~ddellacos@143.244.47.81) (Ping timeout: 255 seconds)
03:57:39 ddellacosta joins (~ddellacos@143.244.47.100)
04:00:44 biberu joins (~biberu@user/biberu)
04:01:59 × m5zs7k quits (aquares@web10.mydevil.net) (Ping timeout: 250 seconds)
04:03:46 m5zs7k joins (aquares@web10.mydevil.net)
04:06:37 <energizer> is there a generic zipWith that takes two functors?
04:09:08 <ski> how would that work ?
04:09:56 <energizer> like fmap, but takes two containers instead of one
04:10:19 × msavoritias quits (cb716af6b3@irc.cheogram.com) (Ping timeout: 248 seconds)
04:10:49 <c_wraith> I could swear I saw something like this recently
04:11:17 <jade[m]> This requires information about the pairing
04:11:24 <jade[m]> which does not exist for functors
04:11:46 <ski> oh, you mean two containers, of the *same* sort .. saying "two functors" suggests they could be of different sorts
04:12:11 <ski> (a container is not a functor. a container is a value-level thing, a functor is a type-level thing)
04:13:24 <c_wraith> It's still sort of ambiguously defined. What would be the result of `zipF (1, 7) (2, "fish")'? By analogy with zip, that should typecheck, but then.. what's the result? (???, (7, "fish))
04:14:26 <ski> > liftA2 (,) (Sum 1,7) (Sum 2,"fish")
04:14:27 <lambdabot> (Sum {getSum = 3},(7,"fish"))
04:14:41 <c_wraith> sure, fine. But that's not part of the Functor instance
04:15:00 <ski> <https://hackage.haskell.org/package/base-4.18.0.0/docs/Control-Monad-Zip.html> might perhaps also be relevant
04:15:01 <jade[m]> see the A ;)
04:15:09 <c_wraith> the Applicative instance is what adds that Monoid dependency
04:15:19 <ski> sure, but it can't be just a functor, with nothing more
04:15:37 <energizer> is Traversable the right class to address the issue about the pairing?
04:16:49 <c_wraith> Traversable is enough to implement *something*, but it's going to be awkward
04:17:12 codaraxis joins (~codaraxis@user/codaraxis)
04:18:01 <energizer> just found https://ro-che.info/articles/2017-04-25-generic-zipWith
04:19:09 <ski> also found <https://hackage.haskell.org/package/semialign-1.3/docs/Data-Zip.html>
04:19:56 mbuf joins (~Shakthi@49.207.178.186)
04:20:04 <jade[m]> ski: This introduces the notion of alignment as I mentioned above with 'pairing'
04:21:20 smallville7123 joins (~Android@cpe-172-193-178-179.qld.foxtel.net.au)
04:22:22 <ski> (`exists a . c a => a' in that blag ought to be `exists a . c a *> a')
04:24:21 lagash joins (lagash@lagash.shelltalk.net)
04:34:36 merijn joins (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl)
04:38:06 jakalx joins (~jakalx@base.jakalx.net)
04:41:01 × merijn quits (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
04:47:51 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
04:53:12 <jackdk> energizer: https://hackage.haskell.org/package/semialign-1.3/docs/Data-Zip.html perhaps?
04:53:40 <energizer> jackdk: that's what ski said
04:53:53 <jackdk> oh yeah
05:04:15 × krei-se quits (~krei-se@p50874388.dip0.t-ipconnect.de) (Ping timeout: 255 seconds)
05:04:16 takuan joins (~takuan@178-116-218-225.access.telenet.be)
05:05:35 krei-se joins (~krei-se@31.6.9.221)
05:08:19 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
05:10:34 lagash joins (lagash@lagash.shelltalk.net)
05:12:06 × euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection)
05:28:26 chomwitt joins (~chomwitt@2a02:587:7a0f:e00:1ac0:4dff:fedb:a3f1)
05:29:54 × opticblast quits (~Thunderbi@172.58.84.111) (Ping timeout: 255 seconds)
05:33:56 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
05:36:01 Square2 joins (~Square4@user/square)
05:36:05 merijn joins (~merijn@86-86-29-250.fixed.kpn.net)
05:37:06 dcoutts_ joins (~duncan@host86-175-140-3.range86-175.btcentralplus.com)
05:40:10 × dcoutts quits (~duncan@host86-175-140-3.range86-175.btcentralplus.com) (Ping timeout: 276 seconds)
05:41:16 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
05:43:44 msavoritias joins (cb716af6b3@irc.cheogram.com)
05:46:05 dcoutts joins (~duncan@host86-153-135-84.range86-153.btcentralplus.com)
05:48:43 × dcoutts_ quits (~duncan@host86-175-140-3.range86-175.btcentralplus.com) (Ping timeout: 252 seconds)
05:52:34 × dcoutts quits (~duncan@host86-153-135-84.range86-153.btcentralplus.com) (Ping timeout: 252 seconds)
05:52:43 × smallville7123 quits (~Android@cpe-172-193-178-179.qld.foxtel.net.au) (Ping timeout: 248 seconds)
05:58:20 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 265 seconds)
06:00:31 freeside joins (~mengwong@103.252.202.85)
06:00:41 taupiqueur joins (~taupiqueu@2a02-842a-8180-4601-61e9-795d-69be-482f.rev.sfr.net)
06:05:00 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
06:05:31 × freeside quits (~mengwong@103.252.202.85) (Ping timeout: 276 seconds)
06:10:19 × merijn quits (~merijn@86-86-29-250.fixed.kpn.net) (Ping timeout: 248 seconds)
06:11:38 michalz joins (~michalz@185.246.207.203)
06:12:07 smallville7123 joins (~Android@cpe-172-193-178-179.qld.foxtel.net.au)
06:22:19 freeside joins (~mengwong@202.161.55.11)
06:24:13 purlingstream joins (~godfibrat@178.70.110.196)
06:34:14 merijn joins (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl)
06:39:13 mncheck joins (~mncheck@193.224.205.254)
06:42:37 × merijn quits (~merijn@c-001-002-013.client.esciencecenter.eduvpn.nl) (Ping timeout: 252 seconds)
06:45:47 × krei-se quits (~krei-se@31.6.9.221) (Ping timeout: 250 seconds)
06:47:31 krei-se joins (~krei-se@p50874388.dip0.t-ipconnect.de)
06:48:34 × shriekingnoise quits (~shrieking@186.137.175.87) (Ping timeout: 268 seconds)
06:58:04 gurkenglas joins (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de)
07:00:22 lortabac joins (~lortabac@2a01:e0a:541:b8f0:a603:c2ac:ec03:9509)
07:02:10 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
07:06:07 × inversed quits (~inversed@bcdcac82.skybroadband.com) (Ping timeout: 260 seconds)
07:09:50 inversed joins (~inversed@bcdcac82.skybroadband.com)
07:11:13 × thegeekinside quits (~thegeekin@189.141.115.134) (Ping timeout: 252 seconds)
07:15:25 Square2 is now known as Square
07:20:30 chanceyan joins (~chanceyan@user/chanceyan)
07:24:05 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 246 seconds)
07:30:57 acidjnk joins (~acidjnk@p200300d6e715c4190569bb5c5405c3ef.dip0.t-ipconnect.de)
07:33:07 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
07:34:23 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
07:36:20 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
07:36:50 wagle joins (~wagle@quassel.wagle.io)
07:40:45 jade[m] uploaded an image: (36KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/8196f607543d7de6e00488261ad4cf927577e9ee/a835642a-2368-4491-905d-94750cdab079.jpeg >
07:40:47 hugo joins (znc@verdigris.lysator.liu.se)
07:40:52 <jade[m]> hm I found a ghc error
07:41:27 × AlexNoo quits (~AlexNoo@178.34.150.148) (Read error: Connection reset by peer)
07:41:59 <Hecate> jade[m]: nice
07:42:05 AlexNoo joins (~AlexNoo@178.34.150.148)
07:42:36 jade[m] uploaded an image: (137KiB) < https://libera.ems.host/_matrix/media/v3/download/the-apothecary.club/79582c7632dc4e1701999391859b731839a8819f/344b7dce-e66a-40a0-8d29-3b5de9be68d2.jpeg >
07:42:42 <jade[m]> Seems to happen for every hole
07:42:53 <jade[m]> Not sure how I caused it
07:43:08 × Sgeo quits (~Sgeo@user/sgeo) (Read error: Connection reset by peer)
07:43:54 × AlexNoo quits (~AlexNoo@178.34.150.148) (Read error: Connection reset by peer)
07:45:23 AlexNoo joins (~AlexNoo@178.34.150.148)
07:46:00 × jmorris quits (uid537181@id-537181.uxbridge.irccloud.com) (Quit: Connection closed for inactivity)
07:46:34 merijn joins (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl)
07:47:33 <Hecate> jade[m]: interesting, I don't have that with my local installation of 9.6
07:48:30 _ht joins (~Thunderbi@28-52-174-82.ftth.glasoperator.nl)
07:55:53 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
07:56:18 gensyst joins (~gensyst@user/gensyst)
07:57:18 × chanceyan quits (~chanceyan@user/chanceyan) (Quit: Client closed)
07:59:12 <gensyst> Nix/Haskell question: Where do I put system libraries? For the devShell ("nix develop") it's clear, I put it into nativeBuildInputs (line 45). But what about for "nix build"?
07:59:13 <gensyst> https://github.com/cdepillabout/example-haskell-nix-flake/blob/8c5d1de69f215e43fa224ea6ef9bf4e77de50630/flake.nix
07:59:21 <gensyst> I'm confused but you can probably spot the answer immediately.
08:04:55 × ski quits (~ski@remote12.chalmers.se) (Ping timeout: 260 seconds)
08:08:50 ski joins (~ski@remote12.chalmers.se)
08:11:06 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
08:13:47 wagle joins (~wagle@quassel.wagle.io)
08:19:05 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Remote host closed the connection)
08:22:54 [Leary] joins (~Leary]@user/Leary/x-0910699)
08:26:46 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:f50d:2c7d:3d65:e75)
08:29:08 × ft quits (~ft@p4fc2a88b.dip0.t-ipconnect.de) (Quit: leaving)
08:32:14 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
08:33:27 × gehmehgeh quits (~user@user/gehmehgeh) (Remote host closed the connection)
08:34:13 gehmehgeh joins (~user@user/gehmehgeh)
08:34:33 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
08:36:12 comerijn joins (~merijn@195.114.232.94)
08:39:21 × merijn quits (~merijn@c-001-001-010.client.esciencecenter.eduvpn.nl) (Ping timeout: 255 seconds)
08:41:29 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
08:41:47 __monty__ joins (~toonn@user/toonn)
08:42:24 ccapndave joins (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch)
08:44:27 wagle joins (~wagle@quassel.wagle.io)
08:53:00 cryptosopher666 joins (~cryptosop@2a01:5ec0:1808:1ea6:5918:a57a:6ed0:4239)
08:54:19 × ccapndave quits (~ccapndave@xcpe-62-167-164-99.cgn.res.adslplus.ch) (Quit: Textual IRC Client: www.textualapp.com)
08:54:25 × mncheck quits (~mncheck@193.224.205.254) (Read error: Connection reset by peer)
08:54:58 cryptosopher6666 joins (~cryptosop@2a01:4f8:1c1c:7c03::1)
08:55:04 <cryptosopher6666> hi im trying to solve a practice from book, here are my codes:
08:55:30 ubert joins (~Thunderbi@2a02:8109:abc0:6434:ca5b:76ff:fe29:f233)
08:55:36 <cryptosopher6666> module Curry where
08:55:36 <cryptosopher6666> curry :: String
08:55:37 <cryptosopher6666> curry = "curry is awesome!"
08:55:37 <cryptosopher6666> main :: IO ()
08:55:38 <cryptosopher6666> main = do
08:55:38 <cryptosopher6666>  putStrLn curry
08:55:39 <cryptosopher6666>     where curry = "curry is awesome!" !! 4
08:55:59 <cryptosopher6666> but im recieving this error on ghci
08:56:24 <cryptosopher6666> practice.hs:8:11: error:
08:56:25 <cryptosopher6666>     * Couldn't match type `Char' with `[Char]'
08:56:25 <cryptosopher6666>       Expected: String
08:56:26 <cryptosopher6666>         Actual: Char
08:56:26 <cryptosopher6666>     * In the first argument of `putStrLn', namely `curry'
08:56:27 <cryptosopher6666>       In a stmt of a 'do' block: putStrLn curry
08:56:27 <cryptosopher6666>       In the expression: do putStrLn curry
08:56:28 <cryptosopher6666>   |
08:56:28 <cryptosopher6666> 8 | putStrLn curry
08:56:29 <cryptosopher6666>   | ^^^^^
08:56:29 <cryptosopher6666> Failed, no modules loaded.
08:56:51 <mauke> what did you expect to happen?
08:56:51 <gensyst> cryptosopher6666, please don't flood (it's not how things are done on IRC) - use e.g. dpaste.com instead
08:57:03 <mauke> and yeah, pasting into IRC is not a great idea
08:57:19 <cryptosopher6666> sorry im new here
08:57:33 × cryptosopher666 quits (~cryptosop@2a01:5ec0:1808:1ea6:5918:a57a:6ed0:4239) (Ping timeout: 260 seconds)
08:57:59 <cryptosopher6666> just wanna print "y" from "curry is awesome!"
08:58:17 <mauke> ah
08:58:39 <mauke> as the error message says, "curry" !! 4 is a Char, not a String
08:58:47 <mauke> and putStrLn takes a String
08:59:28 <cryptosopher6666> so whats the solution?
08:59:32 <mauke> (String is defined as [Char], i.e. a list of Char, which is why you see both String and [Char] in the message)
09:00:03 × tjnhxmzhmqgytuwt quits (~tjnhxmzhm@2001:470:69fc:105::3:70e) (Quit: You have been kicked for being idle)
09:00:15 <mauke> either use putChar to output a Char, or wrap the character in a list, so you get a String again
09:01:08 <mauke> so: main = do { putChar curry; putChar '\n' } where curry = "curry is awewsome" !! 4
09:01:33 <mauke> or: main = putStrLn [curry] where curry = "curry is awesome" !! 4
09:01:47 <mauke> or: main = putStrLn curry where curry = ["cury is awesome" !! 4]
09:02:05 <cryptosopher6666> i got that
09:02:09 <cryptosopher6666> thanks
09:02:37 <mauke> dang, the last one should say "curry", not "cury" :-)
09:03:26 <cryptosopher6666> yeah it worked as i didnt copy and just edited my code
09:04:02 <cryptosopher6666> im using Atom which other free editor you guys recommend?
09:06:17 <mauke> not sure I would recommend it, but I use vim
09:06:51 <probie> Most people seem to use either emacs, vim, neovim, or vscod{e,ium}
09:10:26 `2jt joins (~user@static-64-183-27-46.ipcom.comunitel.net)
09:15:18 NiceBird joins (~NiceBird@185.133.111.196)
09:16:56 nate4 joins (~nate@98.45.169.16)
09:19:02 × gurkenglas quits (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
09:19:35 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
09:20:47 gurkenglas joins (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de)
09:21:55 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 260 seconds)
09:24:14 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Ping timeout: 265 seconds)
09:24:45 dcoutts joins (~duncan@cpc116374-oxfd27-2-0-cust191.4-3.cable.virginm.net)
09:27:12 × gurkenglas quits (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de) (Ping timeout: 252 seconds)
09:30:19 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
09:31:03 <absence> why does this contrived test case result in a type mismatch? https://play.haskell.org/saved/PjNIVJU5
09:33:38 jinsun__ joins (~jinsun@user/jinsun)
09:33:38 jinsun is now known as Guest6247
09:33:38 × Guest6247 quits (~jinsun@user/jinsun) (Killed (zinc.libera.chat (Nickname regained by services)))
09:33:38 jinsun__ is now known as jinsun
09:33:49 AndreiDuma joins (~textual@84.117.11.64)
09:34:15 × jinsun quits (~jinsun@user/jinsun) (Read error: Connection reset by peer)
09:34:30 jinsun joins (~jinsun@user/jinsun)
09:36:11 × Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 248 seconds)
09:37:23 × jespada quits (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net) (Quit: Textual IRC Client: www.textualapp.com)
09:37:56 Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com)
09:38:17 Tuplanolla joins (~Tuplanoll@91-159-68-236.elisa-laajakaista.fi)
09:39:05 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
09:39:18 gurkenglas joins (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de)
09:39:18 × tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
09:43:53 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
09:44:50 jespada joins (~jespada@cpc121308-nmal25-2-0-cust15.19-2.cable.virginm.net)
09:45:57 gehmehgeh is now known as gmg
09:52:11 × chomwitt quits (~chomwitt@2a02:587:7a0f:e00:1ac0:4dff:fedb:a3f1) (Ping timeout: 248 seconds)
09:54:11 <probie> absence: How can it know if `x` is an `A` or not?
09:54:12 × notzmv quits (~zmv@user/notzmv) (Ping timeout: 265 seconds)
09:54:58 × smallville7123 quits (~Android@cpe-172-193-178-179.qld.foxtel.net.au) (Ping timeout: 255 seconds)
09:56:34 <probie> It'd need to reason about the type class `Test2` and know there's an instance for `A -> y` and deduce that `x is not an A`, which I'm fairly sure it's not allowed to do
09:58:24 titibandit joins (~titibandi@user/titibandit)
10:02:32 <absence> probie: i thought that if x was A, it wouldn't be in that instance to begin with, but the other one instead?
10:06:12 × xff0x quits (~xff0x@125x103x176x34.ap125.ftth.ucom.ne.jp) (Ping timeout: 255 seconds)
10:08:08 <probie> What it's typechecking is `test :: C -> (x -> y) -> Test (x -> y)`. That `x` isn't `A` simply isn't in the type signature so it can't work out what to rewrite `Test (x -> y)` to
10:09:15 × `2jt quits (~user@static-64-183-27-46.ipcom.comunitel.net) (Remote host closed the connection)
10:09:35 wagle joins (~wagle@quassel.wagle.io)
10:16:54 <absence> probie: i see. is there a different way to do one thing for a specific type, and something else otherwise?
10:18:28 × cryptosopher6666 quits (~cryptosop@2a01:4f8:1c1c:7c03::1) (Quit: Client closed)
10:19:55 × gensyst quits (~gensyst@user/gensyst) (Ping timeout: 248 seconds)
10:20:10 × econo quits (uid147250@user/econo) (Quit: Connection closed for inactivity)
10:21:33 <tomsmeding> absence: that's hard to do in a predictable and sound way
10:23:17 <tomsmeding> what must happen you're trying to call "foo :: Test2 (x -> y) => Int", but you yourself only have an 'a -> b'
10:23:29 <tomsmeding> you'd need to do some sort of type-level case on that 'a' to be able to call foo
10:23:41 <tomsmeding> haskell doesn't have type-level case :p
10:24:32 × freeside quits (~mengwong@202.161.55.11) (Ping timeout: 248 seconds)
10:27:04 × gurkenglas quits (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de) (Ping timeout: 265 seconds)
10:28:20 <tomsmeding> in general haskell doesn't really support making an instance for "all types that are _not_ T"
10:31:55 × titibandit quits (~titibandi@user/titibandit) (Ping timeout: 260 seconds)
10:32:53 vpan joins (~0@212.117.1.172)
10:33:29 gurkenglas joins (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de)
10:41:57 zer0bitz joins (~zer0bitz@2001:2003:f443:d600:b94a:fdf5:9dc3:ac65)
10:47:41 cryptosopher666 joins (~cryptosop@2a01:4f8:1c1c:7c03::1)
10:48:06 × oneeyedalien quits (~oneeyedal@125-63-26-49.ip4.superloop.au) (Quit: Leaving)
10:48:27 <absence> tomsmeding: that makes sense, but it seems to be possible to work around that in certain cases, for example when filtering a hetrogenous list by type: https://stackoverflow.com/questions/9396023/haskell-filtering-a-heterogenous-list-by-type
10:49:24 <cryptosopher666> how will you complete that i i wanna it to pick 3rd charracter in as sentence? https://paste.tomsmeding.com/VQwXOH2M
10:49:27 <absence> tomsmeding: that example is only removing something though, while i want to replace something, so that might be different enough for it to be difficult
10:51:54 chomwitt joins (~chomwitt@ppp-94-69-24-223.home.otenet.gr)
10:52:41 mikoto-chan joins (~mikoto-ch@2001:999:504:226f:5637:bb9d:1573:3be6)
10:52:42 <cryptosopher666> im stucked at this exercise
10:53:20 <absence> cryptosopher666: i'm not sure if it's a rendering issue, but it looks like there's nothing there to complete? just the name of the function?
10:54:24 × gurkenglas quits (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de) (Ping timeout: 248 seconds)
10:55:09 <hippoid> I have two exposed modules in the library stanza of my .cabal file. when I do `cabal repl`, only the top level binding from the first exposed module are available. how do I get all of the bindings from the exposed modules auto loaded in a cabal repl session?
10:56:05 gurkenglas joins (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de)
10:56:27 <cryptosopher666> absence i made this like this but still doesnt do the work i want https://paste.tomsmeding.com/VEgArItK
10:57:13 × AndreiDuma quits (~textual@84.117.11.64) (Quit: My MacBook has gone to sleep. ZZZzzz…)
10:57:42 AndreiDuma joins (~textual@84.117.11.64)
10:58:08 × vpan quits (~0@212.117.1.172) (Ping timeout: 248 seconds)
10:58:36 <absence> cryptosopher666: that certainly looks like it would return the third character (or crash if the string is short)
10:59:22 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
10:59:25 × AndreiDuma quits (~textual@84.117.11.64) (Read error: Connection reset by peer)
10:59:27 <absence> what are you seeing, and what do you expect to see?
11:00:23 <cryptosopher666> absence but it doesnt work for letters and when i put numbers it print the whole number let me send you the error i get when i put charracters
11:00:43 <cryptosopher666> i wanna just pick 3rd charracter
11:02:50 <cryptosopher666> absence  https://paste.tomsmeding.com/DJ8flah0
11:03:26 × mjacob quits (~mjacob@adrastea.uberspace.de) (Read error: Connection reset by peer)
11:04:13 <absence> :t curry
11:04:13 × feliix42 quits (~felix@gibbs.uberspace.de) (Read error: Connection reset by peer)
11:04:14 × AWizzArd quits (~code@user/awizzard) (Read error: Connection reset by peer)
11:04:14 <lambdabot> ((a, b) -> c) -> a -> b -> c
11:04:28 <absence> the curry function takes several parameters
11:05:35 <cryptosopher666> ok then when i put it into "" it print the whole word
11:05:48 <absence> the error message you get is because ghci tries to "print" the resulting values of what you type in, and functions can't be printed (as the technical error message says, they don't have an instance of the "Show" typeclass)
11:05:51 <cryptosopher666> i just wanna 3rd letter
11:06:20 <absence> > "12345" !! 2
11:06:21 <lambdabot> '3'
11:06:26 <absence> you already had something like this, right?
11:06:44 <absence> in the thirdLetter function
11:06:56 <absence> so i'm not sure what the problem is
11:06:57 <tomsmeding> absence: https://play.haskell.org/saved/S94XYNUC
11:07:23 feliix42 joins (~felix@gibbs.uberspace.de)
11:07:44 xff0x joins (~xff0x@2405:6580:b080:900:4737:f344:4be5:fdc7)
11:08:12 <cryptosopher666> absence i wanna make this code to work like if i type "absence" it print s
11:09:26 mjacob joins (~mjacob@adrastea.uberspace.de)
11:10:11 AWizzArd joins (~code@gehrels.uberspace.de)
11:10:18 <absence> tomsmeding: oh wow, is putting the return type in the constraint the trick that lets the type checker see what's going on?
11:10:40 <absence> cryptosopher666: what do you want it to print?
11:10:57 <tomsmeding> absence: well you needed the superclass constraint anyway, with your current code you'd be getting 'Test y y' constraints from the recursive calls
11:11:05 <tomsmeding> so that's why the y y' was necessary
11:11:38 <tomsmeding> the actual trick was using MultiParamTypeClasses instead of type families, because you wanted overlapping instances and having the type family work with that
11:12:09 <tomsmeding> closed type families and overlapping instances both give a sort of most-specific-first behaviour, but independently -- using multiparam TCs they have that behaviour together
11:12:14 <cryptosopher666> absence i wanna it return 3rd letter in every sentence i write
11:12:22 phma_ joins (~phma@host-67-44-208-13.hnremote.net)
11:13:51 × phma quits (phma@2001:5b0:215d:c628:9b19:4f9d:931f:c02e) (Read error: Connection reset by peer)
11:14:24 CiaoSen joins (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
11:15:16 <absence> tomsmeding: ahh, i did get some strange "can't match x with x0" or similar errors while trying different solutions, and that sounds like it could be due to the independence you mention. that's a very helpful explanation regardless, thanks!
11:16:06 <tomsmeding> absence: I tried putting the type family as an associated type family instead, but that didn't work either because then it becomes an open type family, not inheriting the overlapping behaviour of the enclosing type class
11:16:27 × Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 248 seconds)
11:16:34 <tomsmeding> absence: are you sure those "x with x0" errors wouldn't be because of the missing y'?
11:16:49 <tomsmeding> oh wait you didn't _have_ a missing y'
11:16:59 <tomsmeding> my intermediate code did :P
11:17:01 <tomsmeding> ignore that
11:18:52 <absence> tomsmeding: i started with an associated one as well, and ran into the same problem :)
11:20:00 <mauke> cryptosopher666: curry is the name of a function from the standard library
11:20:27 <mauke> as for the rest, I can't tell what your actual issue or question is
11:20:34 euandreh joins (~Thunderbi@189.6.18.7)
11:21:26 <absence> cryptosopher666: i think i understand. you want a loop that continuously asks the user for input, and prints the third letter? check out functions like "getLine", and "print" or "putStrLn"
11:22:15 × gurkenglas quits (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de) (Ping timeout: 255 seconds)
11:22:56 phma_ is now known as phma
11:23:06 <[Leary]> They probably want `putChar`.
11:23:20 <cryptosopher666> absence thats exactly what i want, its a beginner practice from a book that im learning from that, i tried to write with "putStrLn" many time and failed
11:23:53 gurkenglas joins (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de)
11:24:00 <cryptosopher666> [Leary] havent learn "putChar" yet
11:24:06 × euandreh quits (~Thunderbi@189.6.18.7) (Remote host closed the connection)
11:24:17 <[Leary]> % print 'c'; putStrLn "c"; putChar 'c'
11:24:17 <yahb2> <interactive>:6:1: error: ; Parse error: module header, import declaration ; or top-level declaration expected.
11:24:31 <[Leary]> % do { print 'c'; putStrLn "c"; putChar 'c' }
11:24:31 <yahb2> 'c' ; c ; c
11:25:42 <mauke> % putStrLn ['c']
11:25:42 <yahb2> c
11:25:53 <cryptosopher666> i dont understand what you say maybe i should pass this and try later
11:25:55 euandreh joins (~Thunderbi@189.6.18.7)
11:26:13 <mauke> % do { putStrLn ["hello" !! 2] }
11:26:13 <yahb2> l
11:27:07 <mauke> :t interact (unlines . map (take 1 . drop 2) . lines)
11:27:08 <lambdabot> IO ()
11:28:14 <absence> cryptosopher666: you say you tried to use putStrLn many times and failed, but we can't help you unless you say what you tried, and how it failed
11:28:24 Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com)
11:31:21 <cryptosopher666> absence i tried this https://paste.tomsmeding.com/z0kf3YlD and got this error https://paste.tomsmeding.com/dAIF456F
11:33:07 <mauke> that's because you can't just put expressions in modules
11:33:18 <mauke> also, if you could, 'x' would be undefined
11:33:50 <mauke> % putStrLn x
11:33:50 <yahb2> <interactive>:18:10: error: Variable not in scope: x :: String
11:38:15 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
11:38:23 paddymahoney joins (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
11:38:27 smallville7123 joins (~Android@cpe-172-193-178-179.qld.foxtel.net.au)
11:39:24 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Client Quit)
11:39:30 <absence> cryptosopher666: in haskell you can't call functions at the top level, like in scripting languages. do you have a "main" function? that's probably where you should call it
11:40:56 × noctux quits (~noctux@user/noctux) (Read error: Connection reset by peer)
11:41:13 noctux joins (~noctux@user/noctux)
11:41:19 × comerijn quits (~merijn@195.114.232.94) (Ping timeout: 250 seconds)
11:45:05 <cryptosopher666> absence i tried this too https://paste.tomsmeding.com/p3LDcRfN and got this error https://paste.tomsmeding.com/N7URnQaY
11:46:17 lyle joins (~lyle@104.246.145.237)
11:47:53 × CiaoSen quits (~Jura@p200300c9571fe6002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen)
11:52:06 <absence> cryptosopher666: you are setting the value "x" to "main", so essentially your code says "putStrLn main". that doesn't work, because main is a function, and putStrLn expects a string
11:52:39 titibandit joins (~titibandi@user/titibandit)
11:52:40 <absence> cryptosopher666: just to get the ball rolling, try putStrLn "hello"
11:52:47 AndreiDuma joins (~textual@84.117.11.64)
11:54:43 <cryptosopher666> absence it worked without error but nothing that i was expected, when i write main it print hello
11:55:13 <cryptosopher666> https://paste.tomsmeding.com/q8aAEwgd
11:55:20 × mikoto-chan quits (~mikoto-ch@2001:999:504:226f:5637:bb9d:1573:3be6) (Quit: WeeChat 3.7.1)
11:59:22 × gurkenglas quits (~gurkengla@dynamic-046-114-181-214.46.114.pool.telefonica.de) (Ping timeout: 268 seconds)
12:02:07 <absence> cryptosopher666: did you look into the "getLine" function i mentioned earlier? it reads input from the user
12:03:47 <cryptosopher666> absence nope i think i should do this practice with all i learned, i should write a function to do that
12:05:15 <absence> i don't know what you have learned, but if you want to act on user input, you need some way of getting user input. if you have learned something else that does that, you can use it instead
12:07:52 <cryptosopher666> ok thanks buddy
12:09:11 `2jt joins (~user@static-64-183-27-46.ipcom.comunitel.net)
12:09:39 lagash joins (lagash@lagash.shelltalk.net)
12:09:53 × cryptosopher666 quits (~cryptosop@2a01:4f8:1c1c:7c03::1) (Quit: Client closed)
12:12:31 × titibandit quits (~titibandi@user/titibandit) (Quit: Lost terminal)
12:14:59 × albet70 quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
12:21:06 albet70 joins (~xxx@2400:8902::f03c:92ff:fe60:98d8)
12:21:10 vpan joins (~0@212.117.1.172)
12:21:34 vpan is now known as Guest3400
12:22:09 Guest3400 is now known as vpan
12:22:57 <Profpatsch> Can I have a boolean enum which is something like data NamedBool = B1 (l :: Symbol) | B2 (l :: Symbol) ?
12:23:43 <zzz> is ImportQualifiedPost standard with recent versions of ghc or did i dream this?
12:24:45 <Profpatsch> zzz: I don’t think so
12:24:53 <Axman6> 9Sadly
12:25:11 <Profpatsch> It would be a pretty useless breaking change
12:25:25 <Profpatsch> GIven that people can just enable it with low overhead in their project
12:25:26 <geekosaur> GHC2021 includes it, actually
12:25:31 <Profpatsch> geekosaur: Ah!
12:25:33 <Profpatsch> that’s cool
12:25:39 <Axman6> how is it a breaking change?
12:25:49 <geekosaur> which means it'll be default if a different language level isn't specified
12:25:56 <Axman6> it doesn't prevent the older syntax right?
12:25:57 <Profpatsch> Axman6: Is leading qualified still allowed with QualifiedPost?
12:26:03 <Axman6> yes
12:26:03 <Profpatsch> Axman6: Okay, then nvm :P
12:26:05 <Axman6> afair
12:28:07 <zzz> geekosaur: thanks that was it
12:31:56 × fr33domlover quits (~fr33domlo@towards.vision) (Quit: The Lounge - https://thelounge.chat)
12:32:00 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Read error: Connection reset by peer)
12:32:45 <Profpatsch> Okay back to my question; I have an Either-isomorphic type like data E2 (l1 :: Symbol) t2 (l2 :: Symbol t2 = E21 t1 | E22 t2
12:32:53 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
12:33:25 <Profpatsch> And I’d like to create a boolean discriminator function, which can ideally take a Symbol on the type level
12:33:59 <Profpatsch> So if I have an e2 :: E2 "foo" Int "bar" Char I’d like to be able to say something like e2Was @"foo" e2 :: Bool
12:34:09 <Profpatsch> But idk if that’s possible
12:34:23 <Profpatsch> Maybe via kind-level either?
12:34:32 fr33domlover joins (~fr33domlo@towards.vision)
12:34:36 <Profpatsch> e2Was (Left @"foo") e2 :: Bool
12:35:11 <zzz> Profpatsch: i think you have a typo in your data declaration
12:35:24 <Profpatsch> zzz: yeah the paren needs to be closed ofc
12:35:50 <Profpatsch> fwiw the full definition is in https://gist.github.com/Profpatsch/c1992885fd28294968c549e2237ced3f
12:37:00 <Profpatsch> these labelled ADTs have an amazing cost/benefit ratio
12:38:31 <zzz> how exactly are these labels useful to you?
12:40:04 <Profpatsch> zzz: Either Text Text vs E2 "failedMsg" Text "result" Text
12:41:13 <zzz> i'm not sure you should be listening to me but is this something you can't do with GADTs and pgantom types?
12:41:26 <Profpatsch> zzz: Yeah, I’m thinking something along those lines
12:41:42 <Profpatsch> Because this is really getting into dependent territorry
12:42:43 gingin joins (~eugen@66.23.87.252)
12:43:37 <Profpatsch> I think I’m gonna go for a triumvirate of functions instead
12:44:01 <Profpatsch> Which is the nice part about being specfic instead of going full type level list (which gets unergonomic real fast in Haskell)
12:45:30 <Profpatsch> getE21 :: E2 l1 t1 l2 t2 -> Maybe t1, getE22 :: …, wasE21 :: … -> Bool and wasE22 :: … -> Bool
12:46:19 rburkholder joins (~blurb@96.45.2.121)
12:48:32 × `2jt quits (~user@static-64-183-27-46.ipcom.comunitel.net) (Ping timeout: 246 seconds)
12:49:03 <[Leary]> Profpatsch: You can write something like `eq :: forall a b. (Typeable a, Typeable b) => Bool` with Data.Type.Equality and AllowAmbiguousTypes.
12:49:05 bontaq joins (~user@ool-45779fe5.dyn.optonline.net)
12:49:40 <[Leary]> Something similar would give you what you want, I think.
12:49:58 SelenaSilverstep joins (~SelenaSil@2405:4802:9012:c660:dd99:c721:1d93:2b1c)
12:51:28 <tomsmeding> Profpatsch: is the thing you're stuck on your e2Was?
12:51:33 <[Leary]> Or something simpler with `KnownSymbol`.
12:51:56 × SelenaSilverstep quits (~SelenaSil@2405:4802:9012:c660:dd99:c721:1d93:2b1c) (Client Quit)
12:52:42 <Profpatsch> tomsmeding: Basically I want to be able to convert (isomorphically) Either a b to (Bool, Maybe a, Maybe b)
12:53:13 <tomsmeding> Profpatsch: I'm not sure that helps me much, because those are not isomorphic -- what about (False, Nothing, Nothing)
12:53:35 <Profpatsch> tomsmeding: yes, but I’m going into untyped-land here (postgres)
12:54:21 × npmania quits (~Thunderbi@138.199.21.242) (Quit: npmania)
12:54:40 <Profpatsch> so I convert to something like CASE WHEN wasA THEN somethingWithA ELSE somethingWithB END
12:55:05 <Profpatsch> but getting the wasA is a little dangerous, cause there’s a chance that the boolean values get confused
12:55:36 <Profpatsch> Which would be less if I could say was @(Left "foo") e2 :: Bool
12:56:00 <Profpatsch> The labels help with confusion and make the code obviously right/wrong
12:56:24 <Profpatsch> But I guess it’s moot, I’m just gonna go with a matrix of helper functions
12:56:40 <Profpatsch> Since I have only E2 and E3, which makes for 4 and 6 helpers respectively
12:57:15 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
12:58:28 <tomsmeding> Profpatsch: https://play.haskell.org/saved/j9NHxOd6 ?
12:58:46 <tomsmeding> using labels and not @"foo" type application to avoid having to enable AllowAmbiguousTypes
12:59:00 × AndreiDuma quits (~textual@84.117.11.64) (Quit: Textual IRC Client: www.textualapp.com)
12:59:14 <tomsmeding> you could replace WasLabel s by Proxy s without any problem, and you could remove that argument to 'was' entirely if you AllowAmbiguousTypes
13:00:00 <Profpatsch> tomsmeding: ah yeah, something like that
13:00:28 <Profpatsch> I don’t like labels very much, I tend to use pure type applications (relying on convention to use them).
13:00:37 <Profpatsch> Maybe once the label syntax gets loosened
13:00:40 <tomsmeding> I detest AllowAmbiguousTypes
13:00:43 <tomsmeding> but you do you :p
13:00:52 <Profpatsch> tomsmeding: what’s the reason?
13:01:05 <Profpatsch> You only have to enable them in the module you define the thing, no?
13:01:07 <tomsmeding> it makes it very easy to shoot yourself in the foot and make an almost-uncallable function
13:01:12 <tomsmeding> yes
13:01:14 <Profpatsch> Ah yeah
13:01:16 <Profpatsch> I guess
13:01:18 <tomsmeding> but I'd want to enable it on the function level
13:01:21 <tomsmeding> then I'd be okay with it
13:01:46 <tomsmeding> _actually_, what I want is visible quantifiers
13:01:48 <Profpatsch> The good thing about working on a … work codebase is that you don’t have to guess what you need
13:01:55 <Profpatsch> cause you only implement it when you actually need to call it :P
13:02:05 <tomsmeding> was :: forall (s :: Symbol) -> forall a b l1 l2. Ei l1 a l2 b -> Bool
13:02:23 <tomsmeding> there's a ghc proposal for that iirc but it isn't yet implemented (not sure if accepted, even)
13:02:25 <Profpatsch> But I guess how library authors feel the pain of accidentally exporting something that’s not callable
13:02:31 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
13:02:58 <Profpatsch> tomsmeding: I think that’s a DependentHaskell proposal by Richard Eisenberg iirc
13:03:03 <tomsmeding> a friend of mine used AllowAmbiguousTypes in a personal codebase once (not a library context) and they could for the life of them figure out how to call their stuff
13:03:20 <tomsmeding> I removed AllowAmbiguousTypes, added some Proxy, and suddenly all was clear
13:03:22 <Profpatsch> tomsmeding: I’m guessing that was pre-TypeApplications?
13:03:24 <tomsmeding> no
13:03:28 <Profpatsch> weird
13:03:29 <tomsmeding> the types involved were just weird
13:03:59 <tomsmeding> of course there was a proper type variable declaration order and proper insertion of type applications that would've made it work too
13:04:12 <tomsmeding> but with Proxy, at least the compiler shows you precisely which type application you forgot
13:04:28 <tomsmeding> whereas without, you just get a random ambiguous type error 10 lines away from where the actual issue is
13:04:37 <Profpatsch> Proxies are so clunky, but better label support is gonna fix this
13:04:48 <tomsmeding> Proxies are super clunky, hence I want 'forall s ->' :p
13:04:55 <Profpatsch> or that
13:06:47 shriekingnoise joins (~shrieking@186.137.175.87)
13:07:28 merijn joins (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl)
13:11:01 <tomsmeding> Profpatsch: the tantalising thing is that the ghc parser already supports it :p
13:15:07 × dsrt^ quits (~dsrt@c-24-30-76-89.hsd1.ga.comcast.net) (Remote host closed the connection)
13:15:08 <lortabac> not only the parser, it already works in type families
13:17:17 <lortabac> in fact you can already write stuff like: type Replicate :: forall (a :: Type). forall (n :: Nat) -> a -> Vec n a
13:18:27 nate4 joins (~nate@98.45.169.16)
13:19:34 <tomsmeding> lortabac: how is that different from just writing (n :: Nat) -> a -> Vec n a?
13:19:45 <tomsmeding> oh wait very
13:20:00 <tomsmeding> ok that's cool
13:21:06 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
13:22:02 mncheck joins (~mncheck@193.224.205.254)
13:22:45 <lortabac> by the way, is '(n :: Nat) -> a -> Vec n a' even possible? 'n :: Nat' doesn't have inhabitants, right?
13:23:18 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 255 seconds)
13:23:51 <tomsmeding> if you replace the :: by : it's a valid Agda type ;p
13:24:05 <tomsmeding> but yeah not what I meant
13:24:10 <lortabac> maybe, but it would be a type without inhabitants
13:24:21 <tomsmeding> so the 'forall a ->' syntax works for kinds a, basically?
13:24:56 <tomsmeding> lortabac: that's not how agda syntax works, in agda that would define a dependent function that does precisely what you want: take a 'Nat' and an 'a' and return a vector of n a's, where n is that first argument
13:25:16 <tomsmeding> in agda it's equivalent to Nat -> a -> Vec n a, except you're calling that first argument 'n'
13:25:54 <lortabac> well, that's exactly what 'forall (n :: Nat)' -> does in Haskell
13:26:02 <tomsmeding> yes
13:26:05 <tomsmeding> except it doesn't yet :p
13:26:11 <tomsmeding> well, only on the type level
13:26:20 <lortabac> I was surprised when I discovered that
13:26:29 <lortabac> I tried for fun and it worked :)
13:28:40 <lortabac> isn't the Agda syntax a little misleading? I would expect (n : Nat) to mean "an n of type Nat" whereas it means "a Nat named n"
13:28:54 <tomsmeding> I guess
13:29:54 <tomsmeding> (a : A) -> B is shorthand syntax for Π A (λa -> B)
13:30:17 <tomsmeding> but indeed it's incompatible with haskell syntax in that way
13:33:38 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Ping timeout: 265 seconds)
13:41:32 <jean-paul[m]> Do ghc and ghci not share a parser? I ask because it seems I can create programs that run under ghci but ghc rejects with syntax errors.
13:41:40 <tomsmeding> jean-paul[m]: example?
13:42:32 <jean-paul[m]> Here's a change that fixed a source file for ghc, https://whetstone.private.storage/privatestorage/privatestoragemobile/-/commit/a7b9577357e944813e5706574361fb17620a325a
13:43:02 <tomsmeding> is it the location of the haddock comments?
13:43:18 <tomsmeding> I guess ghc tries to parse haddock comments and ghci does not
13:43:25 <jean-paul[m]> Your guess is probably better than mine.
13:43:30 <tomsmeding> jean-paul[m]: the correct syntax there is to use ^ instead of | for your initial version
13:43:32 <jean-paul[m]> The error was "parse error on input ‘deriving’"
13:43:47 <tomsmeding> '-- |' haddock comments refer to what comes after the comment, '-- ^' comments refer to what comes before the comment
13:44:03 <tomsmeding> so your second doc comment expected something to be a doc comment of, but it saw "deriving"
13:44:15 <jean-paul[m]> Okay - so it is the case that they parse differently (though maybe they mostly share a parser, but ghc parses more stuff)?
13:44:21 <jean-paul[m]> okay, that makes sense
13:44:30 <tomsmeding> they certainly share a parser, but apparently ghci is configured differently
13:44:40 <tomsmeding> there's probably a flag one can set to make ghc behave like that too :p
13:53:48 kuribas joins (~user@ip-188-118-57-242.reverse.destiny.be)
13:55:40 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
14:15:40 thegeekinside joins (~thegeekin@189.141.115.134)
14:18:14 lagash joins (lagash@lagash.shelltalk.net)
14:18:26 freeside joins (~mengwong@103.252.202.85)
14:20:43 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
14:22:08 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
14:24:06 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
14:28:02 × __monty__ quits (~toonn@user/toonn) (Quit: leaving)
14:28:27 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Ping timeout: 248 seconds)
14:28:30 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:f50d:2c7d:3d65:e75) (Remote host closed the connection)
14:28:49 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:f50d:2c7d:3d65:e75)
14:34:09 × dipper quits (~dipper@117.61.126.31) (Ping timeout: 268 seconds)
14:35:17 × smallville7123 quits (~Android@cpe-172-193-178-179.qld.foxtel.net.au) (Ping timeout: 246 seconds)
14:37:43 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
14:39:05 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
14:41:13 × lagash quits (lagash@lagash.shelltalk.net) (Quit: ZNC - https://znc.in)
14:42:06 todi joins (~snuckls@p5dca57c0.dip0.t-ipconnect.de)
14:48:03 Sgeo joins (~Sgeo@user/sgeo)
14:52:33 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:a603:c2ac:ec03:9509) (Quit: WeeChat 2.8)
14:54:35 lortabac joins (~lortabac@2a01:e0a:541:b8f0:49e7:aefc:bdd2:1773)
15:03:18 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
15:05:01 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
15:08:21 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
15:08:56 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Ping timeout: 252 seconds)
15:10:45 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
15:14:00 × Anon512 quits (~AdminUser@68.203.99.38) (Ping timeout: 255 seconds)
15:18:00 × lortabac quits (~lortabac@2a01:e0a:541:b8f0:49e7:aefc:bdd2:1773) (Quit: WeeChat 2.8)
15:23:52 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 276 seconds)
15:27:39 × infinity0 quits (~infinity0@pwned.gg) (Ping timeout: 248 seconds)
15:27:49 ec joins (~ec@gateway/tor-sasl/ec)
15:28:29 infinity0 joins (~infinity0@pwned.gg)
15:30:36 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Ping timeout: 265 seconds)
15:30:51 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:f50d:2c7d:3d65:e75) (Remote host closed the connection)
15:31:11 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:f50d:2c7d:3d65:e75)
15:31:54 lagash joins (lagash@lagash.shelltalk.net)
15:36:11 mikoto-chan joins (~mikoto-ch@2001:999:784:fcdc:388b:946e:4fb0:2189)
15:40:31 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Ping timeout: 250 seconds)
15:42:54 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
15:43:09 × ec quits (~ec@gateway/tor-sasl/ec) (Remote host closed the connection)
15:43:17 × kuribas quits (~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
15:43:39 × codaraxis quits (~codaraxis@user/codaraxis) (Ping timeout: 248 seconds)
15:44:10 × danso quits (~danso@user/danso) (Quit: ZNC - https://znc.in)
15:45:13 ec joins (~ec@gateway/tor-sasl/ec)
15:45:36 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
15:45:41 danso joins (~danso@user/danso)
15:46:00 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
15:50:31 × merijn quits (~merijn@c-001-001-009.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
16:03:54 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
16:06:39 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
16:08:29 codaraxis joins (~codaraxis@user/codaraxis)
16:21:02 _xor joins (~xor@74.215.46.17)
16:24:11 × ec quits (~ec@gateway/tor-sasl/ec) (Ping timeout: 255 seconds)
16:24:32 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Ping timeout: 248 seconds)
16:26:29 bgs joins (~bgs@212-85-160-171.dynamic.telemach.net)
16:26:38 × mbuf quits (~Shakthi@49.207.178.186) (Quit: Leaving)
16:27:01 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Remote host closed the connection)
16:27:04 ec joins (~ec@gateway/tor-sasl/ec)
16:30:22 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
16:33:02 Midjak joins (~Midjak@82.66.147.146)
16:34:55 econo joins (uid147250@user/econo)
16:36:21 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
16:37:40 × mikoto-chan quits (~mikoto-ch@2001:999:784:fcdc:388b:946e:4fb0:2189) (Ping timeout: 252 seconds)
16:40:14 × acidjnk quits (~acidjnk@p200300d6e715c4190569bb5c5405c3ef.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
16:41:19 eggplantade joins (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net)
16:44:27 × pavonia quits (~user@user/siracusa) (Quit: Bye!)
16:44:37 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
16:57:59 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
17:09:04 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 252 seconds)
17:19:14 gnalzo joins (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c)
17:19:59 nate4 joins (~nate@98.45.169.16)
17:21:09 acidjnk joins (~acidjnk@p200300d6e715c42455b6277e522904ed.dip0.t-ipconnect.de)
17:22:41 hugo joins (znc@verdigris.lysator.liu.se)
17:23:00 L29Ah parts (~L29Ah@wikipedia/L29Ah) ()
17:24:08 × vpan quits (~0@212.117.1.172) (Quit: Leaving.)
17:24:33 × kmein quits (~weechat@user/kmein) (Quit: ciao kakao)
17:24:56 kmein joins (~weechat@user/kmein)
17:25:25 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds)
17:28:44 vlad joins (~vlad@2a00:23c6:9822:4c01:6474:de59:1ca6:6b44)
17:33:31 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Ping timeout: 248 seconds)
17:41:25 × hugo quits (znc@verdigris.lysator.liu.se) (Ping timeout: 250 seconds)
17:50:55 hugo joins (znc@verdigris.lysator.liu.se)
18:07:45 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
18:09:37 × shailangsa quits (~shailangs@host165-120-169-78.range165-120.btcentralplus.com) (Ping timeout: 276 seconds)
18:10:41 × Teacup quits (~teacup@user/teacup) (Quit: No Ping reply in 180 seconds.)
18:11:35 × ph88 quits (~ph88@ip5b426553.dynamic.kabel-deutschland.de) (Ping timeout: 246 seconds)
18:11:49 opticblast joins (~Thunderbi@172.58.84.111)
18:11:50 Teacup joins (~teacup@user/teacup)
18:13:54 jero98772 joins (~jero98772@190.158.28.44)
18:15:38 <Athas> I have intermittent issues where 'cabal build' will fail with:
18:15:38 <Athas> /home/.../dist-newstyle/tmp/package-registration--811774
18:15:38 <Athas> removeDirectoryRecursive:removeContentsRecursive:removeDirectory: unsatisfied constraints (Directory not empty)
18:16:04 <Athas> 'cabal build' will make progress every time, so I can just keep re-running it until it succeeds. The issue only seems to occur while building dependencies.
18:16:40 <Athas> I am working on a networked file system, so it's very likely that some part of the POSIX semantics are being violated. But has anyone here seen something like it, or have a suggestion for how to make some part of this more robust?
18:18:21 <sclv> Athas: looks like there's a ticket discussing this issue here https://github.com/haskell/directory/issues/110
18:18:48 <Athas> This isn't on Windows.
18:19:06 <Athas> There is of course the remote chance that the network filesystem server is Windows, but that is almost too horrible to contemplate...
18:21:24 <monochrom> With confirmation bias, my guess is that "Deletion is effectively asynchronous on Windows" can be safely extended to "Deletion is effectively asynchronous on Windows as well as basically every network file system" so it doesn't just affect Windows-based file servers.
18:22:00 <davean> ell it depends on the config of the filesystem
18:22:07 <davean> what network filesystem is this?
18:22:23 <Athas> I'm guessing NFS, but let me see.
18:22:32 <davean> It matters, semanticly
18:22:40 <Athas> (This is the kind of question I entered academia so I would never have to answer again!)
18:23:01 <Athas> It's 'nfs' in the 'mount' output, but there are many NFS versions, right?
18:23:08 <Athas> mountvers=3... does that mean NFS3?
18:23:09 <monochrom> Ah but if you entered the Systems area... >:)
18:23:59 ph88 joins (~ph88@ip5b426553.dynamic.kabel-deutschland.de)
18:24:14 <monochrom> "I entered formal methods so I don't have to help my relatives with anti-virus" :)
18:24:38 <geekosaur> …they ask anyway
18:24:57 <davean> I just added having anti-virus to your predicate
18:25:05 <darkling> Athas: I think so, yes.
18:25:26 <Athas> My family stopped asking me for computer help after we were on vacation together and they saw on my laptop screen what my life is like. Just three columns of full screen text-only Emacs windows.
18:25:53 <davean> Huh! I haven't seen v3 in a while ... like decades, I don't recall its semantics but I thoguht all of them exposed POSIX
18:26:27 <geekosaur> Athas, lucky you, that just cinvinced my sister I was obviously a computer expert
18:26:34 <darkling> Yeah, I've been using NFSv3 for decades and haven't spotted anything non-POSIXy about it yet.
18:26:35 <davean> I'm not sure I'm old enough I ever used v3 actually
18:26:49 <geekosaur> next thing I knew I was debugging a bluescreen 30 seconds after her desktop came up
18:28:07 <Athas> There's a "Dell Isilon" on the other end of the NFS mount, but I think that's as far as I'm going to investigate this.
18:28:43 <Athas> I'm not in systems research; so I fix distributed consistency bugs by putting a retry-loop on top of my shell command.
18:29:15 × ddellacosta quits (~ddellacos@143.244.47.100) (Quit: WeeChat 3.8)
18:29:54 <davean> Thats a FreeBSD variant, so definately a head scratcher
18:30:07 <davean> though its their scale out thing, so anything could be happening
18:30:54 ddellacosta joins (~ddellacos@143.244.47.81)
18:31:40 <tusko> what is more worthwhile to learn ocaml or haskell serious inquiries only
18:33:01 × eggplantade quits (~Eggplanta@104-55-37-220.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
18:33:48 <monochrom> I think equally worthwhile learn. Serious answers only.
18:33:48 slack1256 joins (~slack1256@186.11.118.107)
18:34:29 <monochrom> OCaml does statically-typed OO justice. Haskell does statically-type FP justice.
18:34:55 <EvanR> learn all the things
18:35:13 merijn joins (~merijn@c-001-002-016.client.esciencecenter.eduvpn.nl)
18:35:50 <EvanR> if it works for AI it's good enough for me
18:36:39 <EvanR> I went as far as buying a windows box to learn windows recently
18:36:46 <EvanR> shocking
18:37:25 <monochrom> On the bright side, it's also good for gaming. :)
18:38:45 × opticblast quits (~Thunderbi@172.58.84.111) (Ping timeout: 255 seconds)
18:39:26 <EvanR> I mean people were shocked when I told them I was learning windows
18:39:46 <EvanR> the shock of working on windows is another story
18:39:57 briandaed joins (~briandaed@185.234.210.211)
18:40:49 × merijn quits (~merijn@c-001-002-016.client.esciencecenter.eduvpn.nl) (Ping timeout: 276 seconds)
18:41:16 fr33domlover is now known as perelev
18:41:30 perelev is now known as fr33domlover
18:42:11 <briandaed> Does stack has any option for checking deprecated packages in used LTS?
18:42:41 <tusko> I would never work on Windows. I've been forced to at some jobs and I usually quit on the spot
18:42:51 jakalx parts (~jakalx@base.jakalx.net) (Error from remote client)
18:45:33 <briandaed> tusko: if you have comfort to find job with Haskell and *nix then OK, companies still love windows
18:48:29 <tusko> They do, but it won't stop me from pointing out that we're supposed to be technically proficient. Why should we use anythjing but the best tools.
18:49:14 <tusko> Using Windows is like working in construction but using Fischer-Price tools and, like, play-doh to seal joints n shit
18:49:33 <tusko> You can do it, but it doesn't mean its a good idea.
18:51:10 shailangsa_ joins (~shailangs@host165-120-169-78.range165-120.btcentralplus.com)
18:51:30 × ddellacosta quits (~ddellacos@143.244.47.81) (Ping timeout: 260 seconds)
18:51:53 <briandaed> tusko: nah, me using it (windows) only to render vscode, rest of the work is done in the terminal (ssh plugin/bash). Yeah I miss xmonad but I frequently switch to my personal deck, so no great harm.
18:52:45 <tusko> OMG this is another thing vscode. People rave about vscode like its an amazing editor and all it does is stuff other editors already do.
18:53:03 <tusko> What I mean is people talk as though not using vscode is the exception.
18:53:14 <tusko> Its not even a good editor
18:53:56 <briandaed> tusk: yes and no, aforementioned ssh support - I haven't found comparable support in other editors, be it (n)vi(m) or emacs
18:54:18 <briandaed> tusko: so what is your dream dev env?
18:54:33 <tusko> sh + ed
18:55:00 <tusko> although ed might be bloat, jury is still out
18:55:16 opticblast joins (~Thunderbi@172.58.84.111)
18:55:24 <briandaed> yeah ed is famous for it's hls support
18:55:47 <tusko> Nah, if I'm being serious with you what irks me is the same people who use these tools I associate with not really getting into any depth with their tools.
18:56:27 <briandaed> tusko: you can say that not only in regards to tools
18:57:04 <tusko> Sure, 'they' seem to me to stay at surface level and not get into the weeds with anything.
18:57:32 <tusko> A result is a bunch of unknown and undefined bugs and edge cases, semantic errors and the like.
18:57:48 <tusko> Because appearing to work is good enough to that kind of person.
18:58:22 <mauke> oh, is it trolling hour again?
18:58:24 <briandaed> tusko: you're full of grief, let it go :)
18:58:36 pavonia joins (~user@user/siracusa)
18:58:39 <tusko> You're right. I've been carrying that around a while.
18:58:58 <monochrom> Oh w00t ghcup has updated "recommended" to GHC 9.2.7. This re-compiles everything, again. :D
18:59:43 <tusko> briandaed, But imagine you work on something and you care a lot about your craft and some kid openly brags about 'just asking GPT questions until it gives me something that works'.
19:00:17 <tusko> And your name is associated with your company or what you guys produce.
19:01:42 <monochrom> I have long grown out of complaining about "programmers speak like using Haskell/SML/Lisp/Scheme/Ada is the exception".
19:02:18 <monochrom> And programmers are damn hell right. Using Haskell/SML/Lisp/Scheme/Ada is the exception.
19:02:18 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Read error: Connection reset by peer)
19:02:20 sammelweis_ joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
19:02:41 <xerox> both synchronous and asynchronous
19:03:14 <monochrom> Networking effect always trumps technical merits. You can either accept it or broadly fault human nature altogether. (If you complain, at least complain big.)
19:03:54 <monochrom> Like, even IRC could be argued to be technically better than Twitter and Facebook. But look who side is dying.
19:04:38 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
19:05:40 <[Leary]> I bet facebook dies first.
19:05:48 <[Leary]> IRC is zombie technology.
19:05:53 <monochrom> haha
19:06:02 <briandaed> I bet on Zuckerberg, he is so pale..
19:06:03 <Rembane> /braaaaaaaaaaaaaaaaaaaaaaaains
19:06:39 × B-J quits (~BenziJuni@88-149-66-52.du.xdsl.is) (Ping timeout: 265 seconds)
19:06:48 <yushyin> on that matter, i dislike when open source projects only have a discord guild
19:07:14 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
19:10:20 Guest|63 joins (~Guest|63@190.192.22.176)
19:10:41 × jero98772 quits (~jero98772@190.158.28.44) (Ping timeout: 250 seconds)
19:10:45 <Guest|63> Heyy
19:11:04 <Guest|63> i've been trying to install haskell on windows
19:11:24 <Guest|63> but having some issues with system FilePath
19:11:37 <Guest|63> Can anyone help me out?
19:11:42 × sammelweis_ quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
19:11:49 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
19:11:52 jero98772 joins (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9)
19:12:19 <briandaed> guest: how did you do that? using ghcup?
19:12:30 <Guest|63> yea
19:12:43 zeenk joins (~zeenk@2a02:2f04:a307:2300::7fe)
19:13:03 <Guest|63> everything works until i try to import the file path
19:13:03 <briandaed> guest: windows version?
19:13:19 <briandaed> guest: import file path? what do you mean by that?
19:13:32 × opticblast quits (~Thunderbi@172.58.84.111) (Quit: opticblast)
19:13:35 <Guest|63> windows 10
19:13:56 <Guest|63> https://www.youtube.com/watch?v=bB4fmQiUYPw i found this video
19:14:21 <Guest|63> seemed like the easiest way to install haskell enviorment
19:15:22 <Guest|63> he tries the command import system.filepath at minute 2.18
19:15:35 <Guest|63> i get some kind of error
19:16:07 <briandaed> guest: so it looks you have ghc(i) installed
19:16:21 <briandaed> guest: what is your error message?
19:19:49 <Guest|63> i think i solved the issue
19:20:05 <Guest|63> i'll check if it works in vs code
19:20:09 <mauke> ...
19:21:30 stackdroid18 joins (14094@de1.hashbang.sh)
19:22:44 × lyle quits (~lyle@104.246.145.237) (Quit: WeeChat 3.8)
19:23:57 <tusko> lol
19:25:28 ft joins (~ft@p4fc2a88b.dip0.t-ipconnect.de)
19:31:57 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Remote host closed the connection)
19:32:45 × Vq quits (~vq@90-227-192-206-no77.tbcn.telia.com) (Ping timeout: 265 seconds)
19:32:58 × briandaed quits (~briandaed@185.234.210.211) (Remote host closed the connection)
19:34:14 Vq joins (~vq@90-227-192-206-no77.tbcn.telia.com)
19:41:58 L29Ah joins (~L29Ah@wikipedia/L29Ah)
19:42:48 Benzi-Junior joins (~BenziJuni@88-149-67-225.du.xdsl.is)
19:46:32 <ph88> how can i get any of these parsing functions as an Either variant ? https://hackage.haskell.org/package/time-1.12.2/docs/Data-Time-Format.html#g:2
19:47:10 × purlingstream quits (~godfibrat@178.70.110.196) (Read error: Connection reset by peer)
19:47:22 purlingstream joins (~godfibrat@178.70.110.196)
19:48:29 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
19:49:00 <monochrom> Can you settle for Maybe? Setting m=Maybe will work because Maybe is an instance of MonadFail.
19:50:33 × chomwitt quits (~chomwitt@ppp-94-69-24-223.home.otenet.gr) (Ping timeout: 250 seconds)
19:50:37 <jade[m]> https://github.com/haskell/core-libraries-committee/issues/28
19:50:37 <jade[m]> Not a solution to your question, but maybe some helpful information
19:51:33 <monochrom> Yeah I was wondering about "instance MonadFail (Either String)" as well
19:52:01 <ph88> thanks for the infos, i will try with Maybe for now
20:01:08 × _ht quits (~Thunderbi@28-52-174-82.ftth.glasoperator.nl) (Remote host closed the connection)
20:03:26 wagle joins (~wagle@quassel.wagle.io)
20:04:51 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 250 seconds)
20:06:44 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
20:08:03 machinedgod joins (~machinedg@d198-53-218-113.abhsia.telus.net)
20:12:44 × pavonia quits (~user@user/siracusa) (Read error: Connection reset by peer)
20:15:59 pavonia joins (~user@user/siracusa)
20:27:01 × trev quits (~trev@user/trev) (Remote host closed the connection)
20:27:59 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
20:30:43 wagle joins (~wagle@quassel.wagle.io)
20:32:26 eggplantade joins (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1)
20:35:26 × michalz quits (~michalz@185.246.207.203) (Remote host closed the connection)
20:37:05 × eggplantade quits (~Eggplanta@2600:1700:38c5:d800:6908:d35e:582:c0e1) (Ping timeout: 260 seconds)
20:39:49 <Guest|63> i'm trying to run my first program in haskell
20:40:06 <Guest|63> but i keep getiing this error
20:40:10 <Guest|63> lexical error in string/character literal at character 'U'
20:41:48 <darkling> What's the code look like, and how are you trying to compile and run it?
20:42:21 <Guest|63> module HelloWorld where
20:42:28 <Guest|63> main :: IO ()
20:42:43 <Guest|63> main = putStrLn "Hello, World"
20:43:21 <Guest|63> with the run button in vscode
20:46:19 × jero98772 quits (~jero98772@2800:484:1d80:d8ce:d9f7:bed9:104f:8b9) (Ping timeout: 252 seconds)
20:47:13 × jle` quits (~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 265 seconds)
20:47:39 <darkling> Well, that compiles OK for me, and there isn't a 'U' in it at all, so I'd say there's some problem with the VSCode installation. Can't help with that, I'm afraid.
20:48:10 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
20:48:14 MacSlow joins (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de)
20:48:28 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Remote host closed the connection)
20:48:57 <Guest|63> hmm
20:49:06 jle` joins (~jle`@cpe-23-240-75-236.socal.res.rr.com)
20:49:08 coot joins (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
20:49:12 <Guest|63> i dont know what seems to be the issue
20:49:26 <Guest|63> the ghci works perfectly
20:49:50 zmt01 joins (~zmt00@user/zmt00)
20:51:30 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 255 seconds)
20:52:37 titibandit joins (~titibandi@user/titibandit)
20:52:57 × Guest|63 quits (~Guest|63@190.192.22.176) (Quit: Connection closed)
20:53:16 lbseale joins (~quassel@user/ep1ctetus)
20:53:17 × zmt00 quits (~zmt00@user/zmt00) (Ping timeout: 246 seconds)
20:58:23 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
21:00:10 adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
21:06:00 × titibandit quits (~titibandi@user/titibandit) (Remote host closed the connection)
21:06:19 fr33domlover5 joins (~fr33domlo@towards.vision)
21:08:12 × fr33domlover quits (~fr33domlo@towards.vision) (Ping timeout: 268 seconds)
21:08:13 fr33domlover5 is now known as fr33domlover
21:10:20 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
21:11:32 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
21:12:13 elevenkb joins (~elevenkb@105.186.233.148)
21:13:57 wagle joins (~wagle@quassel.wagle.io)
21:16:33 tromp joins (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl)
21:17:20 × bontaq quits (~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 248 seconds)
21:21:25 × gnalzo quits (~gnalzo@2a01:e0a:498:fd50:fcc6:bb5d:489a:ce8c) (Quit: WeeChat 3.8)
21:21:27 nate4 joins (~nate@98.45.169.16)
21:26:34 × nate4 quits (~nate@98.45.169.16) (Ping timeout: 276 seconds)
21:26:34 × lbseale quits (~quassel@user/ep1ctetus) (Ping timeout: 276 seconds)
21:26:36 × NiceBird quits (~NiceBird@185.133.111.196) (Ping timeout: 252 seconds)
21:27:46 lbseale joins (~quassel@user/ep1ctetus)
21:32:38 × use-value quits (~Thunderbi@2a00:23c6:8a03:2f01:f50d:2c7d:3d65:e75) (Remote host closed the connection)
21:32:57 use-value joins (~Thunderbi@2a00:23c6:8a03:2f01:75c2:a71f:beaa:29bf)
21:33:31 × Square quits (~Square4@user/square) (Ping timeout: 248 seconds)
21:44:44 × coot quits (~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
21:47:38 <sm> Guest|63: what if you remove the module HelloWorld line
21:48:44 × elevenkb quits (~elevenkb@105.186.233.148) (Quit: Client closed)
21:48:45 × MacSlow quits (~MacSlow@p57bb2fc5.dip0.t-ipconnect.de) (Quit: leaving)
21:51:03 × gingin quits (~eugen@66.23.87.252) (Quit: Konversation terminated!)
21:51:42 <sm> also, be aware that most people here don't use the VS Code run button to run haskell, even if it seems like they would - you are off the beaten path here
21:52:31 <sm> ie, it might be something that does not work in general
21:52:43 <yushyin> sm: they left a long time ago
21:52:58 <sm> argh. Thank you :)
21:53:35 × bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 255 seconds)
21:53:44 <sm> for a "Guest", I should always check
21:55:54 × bgs quits (~bgs@212-85-160-171.dynamic.telemach.net) (Remote host closed the connection)
21:56:16 bitdex joins (~bitdex@gateway/tor-sasl/bitdex)
21:57:29 <yushyin> my client recolors the nickname in such cases to gray
22:01:09 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
22:02:15 × Midjak quits (~Midjak@82.66.147.146) (Read error: Connection reset by peer)
22:03:24 zzz is now known as yin
22:03:57 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
22:05:34 × m1dnight quits (~christoph@78-22-4-67.access.telenet.be) (Ping timeout: 276 seconds)
22:07:07 m1dnight joins (~christoph@78-22-4-67.access.telenet.be)
22:09:06 sm wishes Santa's elves would hurry up and implement accurate presence for the matrix libera bridge
22:23:20 × zeenk quits (~zeenk@2a02:2f04:a307:2300::7fe) (Quit: Konversation terminated!)
22:31:19 Guest96 joins (~Guest96@91.193.172.145)
22:32:34 × Guest96 quits (~Guest96@91.193.172.145) (Client Quit)
22:37:11 × wagle quits (~wagle@quassel.wagle.io) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
22:38:01 [itchyjunk] joins (~itchyjunk@user/itchyjunk/x-7353470)
22:48:38 caryhartline joins (~caryhartl@2600:1700:2d0:8d30:acdb:d04:6c2:8591)
22:50:19 × machinedgod quits (~machinedg@d198-53-218-113.abhsia.telus.net) (Quit: Lost terminal)
22:51:11 × FinnElija quits (~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 255 seconds)
22:55:46 × vlad quits (~vlad@2a00:23c6:9822:4c01:6474:de59:1ca6:6b44) (Quit: Leaving)
23:00:12 × mncheck quits (~mncheck@193.224.205.254) (Ping timeout: 255 seconds)
23:02:18 FinnElija joins (~finn_elij@user/finn-elija/x-0085643)
23:03:25 Midjak joins (~Midjak@82.66.147.146)
23:07:36 wroathe joins (~wroathe@207-153-38-140.fttp.usinternet.com)
23:07:37 × wroathe quits (~wroathe@207-153-38-140.fttp.usinternet.com) (Changing host)
23:07:37 wroathe joins (~wroathe@user/wroathe)
23:07:59 × Midjak quits (~Midjak@82.66.147.146) (Client Quit)
23:11:13 × acidjnk quits (~acidjnk@p200300d6e715c42455b6277e522904ed.dip0.t-ipconnect.de) (Ping timeout: 265 seconds)
23:12:11 jmorris joins (uid537181@2a03:5180:f:5::8:325d)
23:14:48 × [itchyjunk] quits (~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
23:15:10 mauke_ joins (~mauke@user/mauke)
23:17:01 × mauke quits (~mauke@user/mauke) (Ping timeout: 252 seconds)
23:17:01 mauke_ is now known as mauke
23:26:32 Albina_Pavlovna joins (~Albina_Pa@047-230-050-118.res.spectrum.com)
23:29:33 yin wishes the matrix bridge would close already
23:35:20 <sm> IRC relevant will be smaller without it
23:35:43 × tromp quits (~textual@92-110-219-57.cable.dynamic.v4.ziggo.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
23:35:50 <sm> I can't english. nm
23:44:30 <yushyin> i think it's fine as long as matrix clients don't use matrix-specific functionality in irc channels. frequent use of replies, quotes and multiline messages are somewhat annoying for IRC users. also it is weird when matrix users use the display name among each other and you have no idea which nick is actually addressed there
23:47:36 × slack1256 quits (~slack1256@186.11.118.107) (Remote host closed the connection)
23:51:29 × sammelweis quits (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10) (Quit: No Ping reply in 180 seconds.)
23:52:12 × Lord_of_Life quits (~Lord@user/lord-of-life/x-2819915) (Read error: Connection reset by peer)
23:52:52 sammelweis joins (~quassel@2601:401:8200:2d4c:bd9:d04c:7f69:eb10)
23:54:22 Lord_of_Life joins (~Lord@user/lord-of-life/x-2819915)
23:57:12 × stackdroid18 quits (14094@de1.hashbang.sh) (Quit: hasta la vista... tchau!)
23:57:46 <sm> of course
23:58:29 × Albina_Pavlovna quits (~Albina_Pa@047-230-050-118.res.spectrum.com) (Quit: ZZZzzz…)
23:58:39 captnemo joins (~captnemo@193.32.127.232)
23:58:51 <sm> enhancing the bridge can help with most things
23:59:21 Albina_Pavlovna joins (~Albina_Pa@2603-7000-76f0-76e0-11ec-aaf6-1b88-ff32.res6.spectrum.com)

All times are in UTC on 2023-03-30.