Home freenode/#haskell: Logs Calendar

Logs on 2021-02-07 (freenode/#haskell)

00:00:41 <monochrom> I think the flawed logic stemmed from mistaking Haskell classes for Java classes.
00:01:29 <monochrom> (And s/Java classes/Java interfaces/ doesn't save it.)
00:01:52 <monochrom> The fact remains that 99.9% of the time, Java classes/interfaces translate to Haskell types.
00:02:14 <monochrom> and likewise Java objects translate to Haskell terms.
00:03:45 <shachaf> What Java interfaces translate to Haskell types, rather than type classes?
00:03:46 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
00:04:50 <shachaf> Hmm, not every Haskell function of that type is a natural transformation. But that probably doesn't matter.
00:07:16 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
00:07:56 <ski> Java interfaces are object types. Java classes are Java interfaces, plus a particular implementation, plus the ability to have implementation inheritance and open recursion (and type-case)
00:08:00 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
00:08:00 × pera quits (~pera@unaffiliated/pera) (Quit: leaving)
00:08:15 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
00:09:37 <ski> (in Haskell terms, the implementation would correspond to an operation that returns a record)
00:11:32 × fendor quits (~fendor@91.141.3.239.wireless.dyn.drei.com) (Remote host closed the connection)
00:11:51 × forgottenone quits (~forgotten@176.42.26.20) (Quit: Konversation terminated!)
00:12:42 <dolio> Which functions don't qualify? seq stuff?
00:17:44 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:18:17 charukiewicz joins (~charukiew@irouteince04.i.subnet.rcn.com)
00:19:32 × carlomagno quits (~cararell@148.87.23.12) (Quit: Leaving.)
00:23:33 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 246 seconds)
00:23:46 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:77eb:51a:84a8:6067:5428)
00:25:43 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-fliccswzueuhkous) (Quit: Connection closed for inactivity)
00:27:12 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:e86a:eb9:e825:c074) (Quit: My MacBook has gone to sleep. ZZZzzz…)
00:28:44 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
00:30:40 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
00:30:44 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
00:31:26 Jd007 joins (~Jd007@162.156.11.151)
00:31:34 rajivr joins (uid269651@gateway/web/irccloud.com/x-szibnrsmlohyyqpj)
00:33:46 Tario joins (~Tario@201.192.165.173)
00:35:05 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
00:38:10 × kadobanana quits (~mud@unaffiliated/kadoban) (Read error: Connection reset by peer)
00:38:33 mud joins (~mud@unaffiliated/kadoban)
00:43:09 × mirrorbird quits (~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d) (Ping timeout: 272 seconds)
00:45:46 geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
00:47:23 × zebrag quits (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
00:47:45 zebrag joins (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr)
00:50:56 × geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
00:52:04 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
00:53:47 zeta_0 joins (~zeta@2601:8c0:1:2630:c461:cfc:d600:6aa3)
00:54:15 CMCDragonkai1 joins (~Thunderbi@120.18.104.119)
00:54:18 <zeta_0> what's the name of the ghc channel? I need some help with building ghc with nix.
00:54:36 <maerwald> #ghc
00:55:58 <zeta_0> thanks
00:57:37 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
01:00:10 <zeta_0> ok, I posted the issue in #ghc, I almost got it working, I think I just need to get past this 1 bash error.
01:00:13 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
01:01:01 jamm_ joins (~jamm@unaffiliated/jamm)
01:02:43 × conal quits (~conal@66.115.157.112) (Quit: Computer has gone to sleep.)
01:03:15 <zeta_0> my tooling setup (direnv+nix-direnv+emacs-direnv) is amazing for working in isolated environments, but ghc.nix(https://github.com/alpmestan/ghc.nix) does not like it for some reason.
01:03:24 jamm__ joins (~jamm@unaffiliated/jamm)
01:03:26 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
01:04:44 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Ping timeout: 258 seconds)
01:05:51 jedws joins (~jedws@101.184.202.248)
01:06:01 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:08:33 conal joins (~conal@66.115.157.112)
01:10:00 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
01:10:03 × conal quits (~conal@66.115.157.112) (Client Quit)
01:10:45 × jrp quits (05501e8f@5.80.30.143) (Quit: Connection closed)
01:10:45 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
01:11:12 alx741 joins (~alx741@186.178.110.176)
01:11:30 × Rudd0 quits (~Rudd0@185.189.115.103) (Ping timeout: 246 seconds)
01:12:29 × jamm__ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
01:13:36 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
01:16:03 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
01:16:51 × mozzarella quits (~sam@unaffiliated/sam113101) (Read error: Connection reset by peer)
01:17:15 Tops2 joins (~Tobias@dyndsl-095-033-091-182.ewe-ip-backbone.de)
01:19:09 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
01:27:49 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
01:28:25 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 240 seconds)
01:28:45 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:32:40 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
01:34:06 × DavidEichmann quits (~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
01:35:00 Jd007 joins (~Jd007@162.156.11.151)
01:36:07 <zeta_0> maerwald: do you know when's the best time to ask questions in #ghc? I don't want to be stuck waiting for hours to get a response.
01:36:15 × hiroaki quits (~hiroaki@2a02:908:4b18:8c40::8d4b) (Ping timeout: 265 seconds)
01:36:53 <maerwald> zeta_0: I think European time zones
01:39:03 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:39:05 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
01:40:06 <zeta_0> maerwald: thanks
01:42:29 shatriff_ joins (~vitaliish@176-52-216-242.irishtelecom.com)
01:43:00 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:43:36 <zeta_0> that: `is a directory` error that bash is throwing is very vague.
01:43:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
01:43:48 × jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
01:44:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
01:44:17 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
01:44:42 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
01:45:00 finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
01:45:59 lemmih joins (~lemmih@2406:3003:2072:44:f7a7:6ac6:bdf9:4d40)
01:46:05 × shatriff quits (~vitaliish@176-52-216-242.irishtelecom.com) (Ping timeout: 240 seconds)
01:47:05 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
01:49:53 × zeta_0 quits (~zeta@2601:8c0:1:2630:c461:cfc:d600:6aa3) (Quit: rcirc on GNU Emacs 27.1)
01:50:06 mozzarella joins (~sam@unaffiliated/sam113101)
01:51:26 × perrier-jouet quits (~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
01:51:39 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
01:55:59 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
01:56:41 locrian9_ joins (~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net)
01:56:43 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
01:56:53 jedws joins (~jedws@101.184.202.248)
01:57:42 × locrian9_ quits (~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net) (Client Quit)
01:57:48 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: No route to host)
01:59:42 × locrian9 quits (~mike@99-153-255-194.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
02:00:41 × d3od quits (~nickmeno3@93-137-138-55.adsl.net.t-com.hr) (Read error: Connection reset by peer)
02:00:50 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
02:00:51 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
02:01:21 × jedws quits (~jedws@101.184.202.248) (Client Quit)
02:02:32 d3od joins (~nickmeno3@78-1-65-250.adsl.net.t-com.hr)
02:04:17 × zebrag quits (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
02:11:49 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
02:12:35 jedws joins (~jedws@101.184.202.248)
02:12:59 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
02:14:12 conal joins (~conal@64.71.133.70)
02:17:22 h2017 joins (~h2017@bras-base-clbaon0201w-grc-32-142-114-145-140.dsl.bell.ca)
02:17:33 <h2017> hi
02:17:54 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
02:18:37 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
02:19:39 <lemmih> h2017: hi.
02:19:54 <h2017> hi lemmih
02:20:04 <h2017> does anyone know where i can see the implentation of liftIO?
02:21:18 <lemmih> h2017: For which monad? liftIO has many different implementations. Much like how 'show' has many different implementations.
02:21:50 <h2017> ok i'll find out
02:22:05 <lemmih> h2017: For the IO monad, liftIO = id.
02:22:11 <h2017> i made a monad transformer that will often have IO as the base monad
02:22:19 <h2017> it doesn't get liftIO for free?
02:22:49 <lemmih> h2017: Perhaps you can derive MonadIO.
02:23:07 <h2017> so I need to make it an instance of MonadIO?
02:23:35 <lemmih> Yes. liftIO is a member of MonadIO. In fact, it's the only member.
02:23:54 <lemmih> The documentation is here: https://hackage.haskell.org/package/transformers-0.3.0.0/docs/Control-Monad-IO-Class.html#t:MonadIO
02:24:08 <h2017> thanks. can i apply the same techniques to substittue IO for the writer monad?
02:25:09 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
02:25:22 <lemmih> Probably. Depends on your monad transformer.
02:25:36 EtherealStreet joins (68340092@104-52-0-146.lightspeed.sntcca.sbcglobal.net)
02:25:44 <koz_> Yeah, what's your transformer (stack?) look like?
02:26:06 <h2017> ok i see how it fits together now
02:26:30 poscat1 joins (~poscat@123.116.95.228)
02:26:31 <h2017> liftIO = lift . liftIO, so liftIO must be id for the IO monad
02:27:01 × xff0x_ quits (~xff0x@2001:1a81:5242:aa00:b5d4:6c34:6b2e:660f) (Ping timeout: 272 seconds)
02:27:12 × Tops2 quits (~Tobias@dyndsl-095-033-091-182.ewe-ip-backbone.de) (Read error: Connection reset by peer)
02:27:37 <h2017> limmih not specified yet. I made a monad transformer, and I'd like to use liftIO with it, and now I believe that I can, and it would be good it i could also use a writer (and it looks like i could do that too using the same tricks they use to implent liftIO)
02:27:45 Jd007 joins (~Jd007@162.156.11.151)
02:27:45 × poscat quits (~poscat@123.116.95.228) (Ping timeout: 272 seconds)
02:28:21 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
02:28:25 xff0x_ joins (~xff0x@2001:1a81:527b:1600:1b0d:c1af:bbb3:e575)
02:32:49 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
02:33:03 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
02:33:34 × HarveyPwca quits (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
02:33:49 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
02:35:25 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
02:35:51 <h2017> in a monad transformer i can make use of things like lifting, and liftIO is especially useful. For the Free monad, is there there a any kinf od FreeT transformer. (BTW I don't know how that work work, if it even makes sense)
02:36:05 <h2017> oh i see it in hoogle
02:36:13 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
02:38:40 dyeplexer joins (~lol@unaffiliated/terpin)
02:41:00 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
02:43:08 <h2017> how often do people use free monads? it looks useful bit I don't think you can have things like guard and mzero, without building them into your language and interpreting them
02:43:40 <h2017> for that reason i think i think it preferable to not use the Free monad when you can use a straight up monad.
02:44:11 <h2017> a straight up monad that has those things already
02:45:25 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
02:45:32 <koz_> Basically, _start_ without free.
02:45:37 <h2017> even if you use liftIO output statements inside the free monad won't be that meaningful because all that's happening is a syntax tree is being built.
02:45:45 <koz_> It can be useful, but it has non-trivial tradeoffs which you probably don't need to make.
02:45:46 <h2017> freeT monad i mean
02:46:07 <koz_> And to even explain what these are is not particularly easy.
02:46:20 <koz_> If you're having to ask about liftIO, this is _definitely_ not somewhere you wanna delve.
02:48:49 <h2017> on the webpage https://stackoverflow.com/questions/4063592/how-can-i-write-a-state-monad-that-does-error-handling-as-well
02:49:09 <h2017> the second answer has a monad that I am interested in
02:49:09 <koz_> StateT Either is a perfectly fine solution.
02:49:17 <koz_> So is ExceptT State.
02:49:21 <koz_> Depending on what you want.
02:49:23 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
02:49:32 × CMCDragonkai1 quits (~Thunderbi@120.18.104.119) (Quit: CMCDragonkai1)
02:49:38 EtherealStreet parts (68340092@104-52-0-146.lightspeed.sntcca.sbcglobal.net) ()
02:49:49 nbloomf joins (~nbloomf@2600:1700:ad14:3020:f4f6:e4b3:c49e:f3f)
02:50:12 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:f4f6:e4b3:c49e:f3f) (Client Quit)
02:50:15 <h2017> is the monad described in the first example of the second answer available in any library?
02:50:38 × Zialus quits (~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29) (Quit: i'm out!)
02:50:43 <h2017> i'll paste it to pastebin so everyone knows which one i'm talking about
02:50:54 Zialus joins (~RMF@2001:818:de63:c300:211:32ff:fe8d:ad29)
02:50:58 <ski> @where paste
02:50:58 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
02:52:06 <h2017> https://paste.tomsmeding.com/xU9gJXkg
02:52:27 <koz_> h2017: That's quite literally StateT s Either a
02:52:35 <koz_> You can build that out of transformers.
02:52:41 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
02:52:45 <koz_> StateT s (Either e) a, sorry.
02:53:19 BrainZero joins (~BrainZero@111.60.233.69)
02:54:56 <ski> (it also has redundant brackets. `(StateMonad p) >>= k = ...' could be `StateMonad p >>= k = ...', and `let (StateMonad q) = ...' could similarly be `let StateMonad q = ...')
02:55:28 <ski> ®unmtl StateT MyState (Either e) a
02:55:34 <ski> @unmtl StateT MyState (Either e) a
02:55:34 <lambdabot> MyState -> Either e (a, MyState)
02:57:27 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
02:57:56 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
02:59:28 nolrai joins (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net)
03:00:12 toorevitimirp joins (~tooreviti@117.182.180.8)
03:00:35 × tb15 quits (~textual@253.17.75.194.dyn.plus.net) (Read error: Connection reset by peer)
03:03:19 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
03:08:57 × theDon quits (~td@94.134.91.40) (Ping timeout: 264 seconds)
03:09:17 perrier-jouet joins (~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
03:10:18 theDon joins (~td@muedsl-82-207-238-114.citykom.de)
03:11:15 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:11:40 × nolrai quits (4c1bcada@c-76-27-202-218.hsd1.or.comcast.net) (Quit: Connection closed)
03:13:00 jamm_ joins (~jamm@unaffiliated/jamm)
03:13:34 CMCDragonkai1 joins (~Thunderbi@120.18.104.119)
03:13:56 × lordyod quits (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
03:15:28 lordyod joins (~lordyod@c-67-169-144-132.hsd1.ca.comcast.net)
03:15:39 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:77eb:51a:84a8:6067:5428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:16:32 catt joins (~r@31.124.181.226)
03:17:26 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
03:17:48 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
03:22:48 polyrain joins (~polyrain@124.177.21.171)
03:25:00 × jchia1 quits (~jchia@58.32.35.81) (Ping timeout: 265 seconds)
03:27:49 × CMCDragonkai1 quits (~Thunderbi@120.18.104.119) (Quit: CMCDragonkai1)
03:28:27 × polyrain quits (~polyrain@124.177.21.171) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:28:47 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Remote host closed the connection)
03:28:52 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:32:01 polyrain joins (~polyrain@2001:8003:e4d8:4101:795c:c8cd:2656:7ed2)
03:34:57 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
03:35:46 FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
03:35:46 finn_elija is now known as Guest43559
03:35:46 FinnElija is now known as finn_elija
03:35:55 × puke quits (~vroom@217.138.252.199) (Quit: puke)
03:38:57 × m0rphism1 quits (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 264 seconds)
03:39:50 × Guest43559 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
03:39:52 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:44:50 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
03:45:40 × darjeeling_ quits (~darjeelin@122.245.216.78) (Ping timeout: 256 seconds)
03:46:04 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
03:48:51 drbean joins (~drbean@TC210-63-209-206.static.apol.com.tw)
03:49:12 conal joins (~conal@64.71.133.70)
03:50:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
03:52:57 × conal quits (~conal@64.71.133.70) (Read error: Connection reset by peer)
03:54:07 conal joins (~conal@64.71.133.70)
03:55:41 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Remote host closed the connection)
03:58:15 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
03:59:21 <guest7682358928> Hello everyone. Is this a good place for asking newbie questions?
04:00:11 <dsal> guest7682358928: Generally want to start with the question you want to ask. :)
04:01:25 Rudd0 joins (~Rudd0@185.189.115.108)
04:01:39 <koz_> Yeah, just ask. If we need to direct you somewhere else or whatnot, we can do that.
04:01:49 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:02:52 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 260 seconds)
04:03:48 <guest7682358928> thanks. I'm trying to wrap my head around types in aeson. Basically I just want to parse a json file of format {"images": [{"uri": "file1.txt"}, {"uri": "file2.txt"}], ...} to a list of strings. This is what I end up at the moment:
04:04:15 <koz_> @where paste
04:04:15 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
04:04:23 <koz_> In case you want to paste code.
04:05:03 <dsal> guest7682358928: What do you want your list of strings to look like?
04:05:31 <guest7682358928> https://paste.tomsmeding.com/FhjwWWOb#file-1
04:06:01 <guest7682358928> dsal: I want a ```Just ["file1.txt", "file2.txt"]```
04:06:10 <guest7682358928> i'm sorry not very familiar with irc
04:06:26 <dsal> It's alright. aeson-lens makes that pretty easy.
04:06:30 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
04:06:40 <dsal> Most of the time, when I'm doing stuff with aeson, I either have structures that represent what I want, or I use aeson-lens
04:06:54 <dsal> (er, lens-aeson)
04:07:42 <dsal> (my dev stuff is currently broken, so I've got to wait for stuff to build here)
04:08:22 <glguy> guest7682358928, Do you know how to do it and you're looking for a nice way, or you'd just like a way to do it at all?
04:09:59 <guest7682358928> dsal: I saw a handful of examples with lenses that make it look almost as short as typescript, but I'm afraid lenses are just too advanced feature for me yet. I have no idea what happens under the hood.
04:10:39 × blankhart quits (~blankhart@pool-100-8-71-205.nwrknj.fios.verizon.net) (Quit: WeeChat 2.8)
04:10:57 <guest7682358928> glguy: I already did it as I shown in the paste above, but I don't like the fact it took 9 lines of code, I believe Haskell is about short and neat solutions.
04:11:05 × conal quits (~conal@64.71.133.70) (Ping timeout: 240 seconds)
04:11:09 <glguy> OK, let's clean it up just using aeson then
04:11:56 × perdent quits (~perdent@101.175.174.67) (Excess Flood)
04:12:41 conal joins (~conal@66.115.157.58)
04:13:11 <guest7682358928> I saw functions like withObject and withArray that seem to help me, but they need "Parser a" as the last parameter and my type puzzle breaks apart
04:13:22 jchia joins (~jchia@218.80.114.20)
04:13:34 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
04:14:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
04:14:44 <ski> `sequence $ flip fmap xs $ \x -> ..x..' is `for xs $ \x -> ..x..'
04:15:02 × alx741 quits (~alx741@186.178.110.176) (Quit: alx741)
04:16:10 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
04:16:21 <dsal> If you created a type with a String field named Uri, and another type with a field named Images with a list of those, aeson could mostly derive the parsers for you.
04:17:34 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:17:55 <guest7682358928> ski: that's useful, thank you
04:19:23 <guest7682358928> dsal: that would be even more code. two types with Generics machinery for such a simple thing. I think it's time to get familiar with lenses.
04:19:25 × slack1256 quits (~slack1256@45.4.2.52) (Remote host closed the connection)
04:20:06 <glguy> https://paste.tomsmeding.com/0FzOAGJd
04:20:15 <glguy> You get something like this doing the typeclass-driven approach
04:21:26 <glguy> *Help> decode "{\"images\": [{\"uri\": \"file1.txt\"}, {\"uri\": \"file2.txt\"}]}" :: Maybe Images
04:21:26 <glguy> Just (Images [Image "file1.txt",Image "file2.txt"])
04:22:27 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
04:23:22 <dsal> guest7682358928: It's not necessarily golf. Sometimes it's not writing code unnecessarily.
04:24:42 × conal quits (~conal@66.115.157.58) (Ping timeout: 246 seconds)
04:25:00 <dsal> Lens is generally useful, but it's effectively another language.
04:25:18 <glguy> Prelude Data.Aeson.Lens Control.Lens> toListOf (key "images" . values . key "uri" . _String) "{\"images\": [{\"uri\": \"file1.txt\"}, {\"uri\": \"file2.txt\"}]}"
04:25:18 <glguy> ["file1.txt","file2.txt"]
04:25:52 <dsal> Oh man, mine had almost finished compiling…
04:27:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Remote host closed the connection)
04:27:52 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
04:28:18 <guest7682358928> dsal glguy ski: thank you for your help, I'll keep playing with this
04:29:11 × toorevitimirp quits (~tooreviti@117.182.180.8) (Remote host closed the connection)
04:31:27 cmcma20 joins (~cmcma20@l37-192-2-125.novotelecom.ru)
04:32:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Ping timeout: 264 seconds)
04:32:36 toorevitimirp joins (~tooreviti@117.182.180.8)
04:33:19 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:35:32 × average quits (uid473595@gateway/web/irccloud.com/x-lztdighqxgxenyad) (Quit: Connection closed for inactivity)
04:36:06 × is_null quits (~jpic@pdpc/supporter/professional/is-null) (Ping timeout: 256 seconds)
04:36:48 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
04:38:06 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
04:39:05 conal joins (~conal@66.115.157.58)
04:40:27 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
04:44:57 Jd007 joins (~Jd007@162.156.11.151)
04:45:49 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 272 seconds)
04:49:03 perdent joins (~perdent@101.175.174.67)
04:49:58 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
04:51:04 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
04:52:36 <koz_> Is there a reason why 'words' (from text) and 'split isSpace' (again from text) produce different results?
04:52:58 <koz_> (by which I mean 'philosophically' not 'implementationally' of course)
04:53:17 <koz_> (or rather, 'philosophical reason' not 'implementational reason')
04:53:31 <glguy> Is the difference that words will eat multiple spaces?
04:53:54 <koz_> glguy: Yes.
04:54:10 <glguy> then I'd say the difference is that words doesn't consider the empty string a word
04:54:27 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
04:54:32 <glguy> while split is about breaking up some text on an arbitrary delimiter
04:54:56 <koz_> However, split (== '\n') and lines _are_ equivalent.
04:55:12 <glguy> I'd be surprised if they were
04:55:26 <koz_> http://hackage.haskell.org/package/text-1.2.4.1/docs/src/Data.Text.html#lines
04:55:36 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
04:55:52 <glguy> lines should treat \n as a line TERMINATOR while split would treat as a separator
04:56:47 <glguy> Prelude Data.Text> Data.Text.lines "a\nb\n"
04:56:47 <glguy> ["a","b"]
04:56:47 <glguy> Prelude Data.Text> Data.Text.split ('\n'==) "a\nb\n"
04:56:47 <glguy> ["a","b",""]
04:56:56 <koz_> Interesting.
04:57:03 <glguy> of course an empty *line* makes plenty of sense
04:57:03 <koz_> Didn't think of the trailing newline.
04:57:13 <glguy> so lines returns those
04:57:49 <glguy> > words "prelude works the same way"
04:57:50 <lambdabot> ["prelude","works","the","same","way"]
04:57:59 <glguy> > lines "and\nhas\nterminators
04:58:01 <lambdabot> <hint>:1:29: error:
04:58:01 <lambdabot> <hint>:1:29: error:
04:58:01 <lambdabot> lexical error in string/character literal at end of input
04:58:02 <glguy> > lines "and\nhas\nterminators\n"
04:58:04 <lambdabot> ["and","has","terminators"]
04:58:24 <koz_> Ah, OK, makes sense.
04:58:27 <koz_> Thanks!
04:58:30 <glguy> ^_^
04:59:35 <koz_> So does this mean that, in general, unlines . lines /= id, and unwords . words /= id?
05:00:04 <glguy> > (unlines . lines) "a\nb"
05:00:07 <lambdabot> "a\nb\n"
05:00:21 <glguy> > (unwords . words) "you're right"
05:00:22 <lambdabot> "you're right"
05:00:30 <koz_> OK, definitely good to know. Thanks!
05:00:45 × conal quits (~conal@66.115.157.58) (Remote host closed the connection)
05:01:08 <glguy> there are enough broken text files in the wild that it would be annoying if lines fell over when the final terminator was missing
05:01:14 conal joins (~conal@66.115.157.58)
05:01:51 ski . o O ( s;/=;=/=; )
05:02:08 <koz_> ski: Yes, I was being a bit abusive of notation there.
05:02:24 <koz_> Because technically functions don't have Eq instances.
05:02:32 ski nods and smiles
05:02:42 <glguy> ≠ ?
05:02:47 <ski> works for me
05:02:56 <glguy> Gives an excuse for me to use a digraph
05:03:17 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
05:03:25 <ski> (i'm also .. annoyed, by people who write `===', when `=' would work as well)
05:03:33 <koz_> ski: PHP lol.
05:03:44 <ski> no, i'm talking about Haskell docs, Haskell blags
05:04:15 <glguy> ski, I think if I was doing that it would be because I wanted to be clear I wasn't using the Haskell = at that point but it was a meta-level thing
05:05:36 <ski> oh, you mean, equal as expressions ?
05:05:48 <ski> like how `2 * 3' and `1 + 5' are not the same expression
05:05:56 × BrainZero quits (~BrainZero@111.60.233.69) (Ping timeout: 240 seconds)
05:06:44 <glguy> yeah, probably that
05:06:45 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-sqldxvxwbirnrvhg) ()
05:06:45 <koz_> Something something intro to Girard's book where he opines on 'but what does = _really_ mean?'.
05:06:54 ski grins
05:07:09 × guest7682358928 quits (2de85cb9@gateway/web/cgi-irc/kiwiirc.com/ip.45.232.92.185) (Ping timeout: 264 seconds)
05:08:05 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:09:15 × Wuzzy quits (~Wuzzy@p57a2e44e.dip0.t-ipconnect.de) (Remote host closed the connection)
05:12:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
05:14:08 <monochrom> === is more equal than ==
05:14:12 × kupi quits (uid212005@gateway/web/irccloud.com/x-lbjfgvhzpgnvgmcj) (Quit: Connection closed for inactivity)
05:14:33 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:14:51 <glguy> == is a question
05:14:55 <glguy> 1 == 2
05:15:03 <glguy> Turns out that evaluates to False
05:16:11 <koz_> glguy: I would hope so.
05:16:47 <monochrom> I was joking.
05:17:09 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:77eb:51a:84a8:6067:5428)
05:17:26 <monochrom> But I can argue "= is just as much a question as ==" another day.
05:17:41 <ski> a different type of question
05:18:12 <ephemient>
05:18:21 <glguy> but which one is a riddle?
05:18:28 ixaxaar joins (~ixaxaar@49.207.210.215)
05:18:41 frankdmartinez joins (~frankdmar@138.199.52.84)
05:19:01 <ski> (one is suggesting "Calculemus !", the other is suggesting "scratch head, and think, and maybe get an answer in half an hour, or a year, or five hundred years")
05:19:18 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
05:20:05 <ephemient>
05:20:19 <ephemient> (why does Unicode have these symbols)
05:20:21 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
05:20:43 × Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007)
05:20:50 <monochrom> It has emoji, it can have any symbol.
05:21:21 <glguy> I think they flip a coin each time they have an idea and this is how we have a partial superscript/supscript alphabet
05:22:38 <frankdmartinez> My apologies if this is the wrong forum. I am trying to build ghc-vis and I get a complaint about ghc-heap-view which says “This library cannot be built using profiling. Try invoking cabal with the --disable-library-profiling flag.” It seems, wherever I place that option, cabal gives the same complaint. Can anyone point me in the direction of information on how to build ghc-heap-view with this flag (or, preferablt, ghc-vis)?
05:22:56 nbloomf joins (~nbloomf@2600:1700:ad14:3020:f4f6:e4b3:c49e:f3f)
05:23:23 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:28:51 × djellemah quits (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 258 seconds)
05:29:07 <glguy> frankdmartinez, this is an OK place to ask, but I'm not sure if anyone knows off the top of their head, so you might have to give more detail about what commands you're trying and the actual output
05:29:57 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
05:30:34 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Remote host closed the connection)
05:31:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
05:31:25 × minoru_shiraeesh quits (~shiraeesh@46.34.206.235) (Ping timeout: 240 seconds)
05:33:44 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
05:34:36 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 258 seconds)
05:35:56 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
05:36:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Ping timeout: 264 seconds)
05:37:04 × jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:39:28 <frankdmartinez> glguy: Thanks, good point. Initial command tried: `cabal install ghc-vis --allow-newer`. The log from that attempt can be found at https://pastebin.com/a60pRq0Z. I have tried placing `--disable-library-profiling` after `cabal` as well as after each argument passed to it and, though the path to the temporary files mentioned changes each time, the error about trying to build using profiling remains the same.
05:40:30 jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se)
05:40:53 <glguy> I'm not sure. It doesn't look like this package's dependencies are particularly maintained at the moment
05:41:09 <glguy> There was some recent commit activity I found on the ghc-vis github
05:42:13 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:43:07 acidjnk_new joins (~acidjnk@p200300d0c722c40898344eac4ba1ad37.dip0.t-ipconnect.de)
05:46:57 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
05:52:35 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:77eb:51a:84a8:6067:5428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
05:54:32 × sakirious quits (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net) (Read error: Connection reset by peer)
05:54:52 sakirious joins (~sakirious@c-71-197-191-137.hsd1.wa.comcast.net)
05:57:20 × unlink_ quits (~unlink2@p200300ebcf241100fcf67590445edc70.dip0.t-ipconnect.de) (Remote host closed the connection)
05:58:47 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
05:59:04 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
05:59:11 unlink2 joins (~unlink2@p200300ebcf241100fcf67590445edc70.dip0.t-ipconnect.de)
05:59:14 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Remote host closed the connection)
05:59:31 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
05:59:38 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
05:59:50 howdoi joins (uid224@gateway/web/irccloud.com/x-zyykjymmarnaxvef)
06:00:24 isBEKaml joins (~isBEKaml@unaffiliated/isbekaml)
06:01:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
06:04:40 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
06:04:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 264 seconds)
06:10:06 da39a3ee5e6b4b0d joins (~da39a3ee5@2403:6200:8876:77eb:51a:84a8:6067:5428)
06:10:30 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:13:51 × Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 272 seconds)
06:15:01 Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus)
06:15:15 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Remote host closed the connection)
06:15:32 <frankdmartinez> glguy: I think I got it. I had “library-profiling” set to “True” in the ~/.cabal/config file. I changed it to “False” and cabal is moving muuuuuuuch further along.
06:15:44 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
06:17:11 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
06:17:55 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
06:19:28 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
06:20:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Ping timeout: 264 seconds)
06:20:51 × raym quits (~ray@45.64.220.139) (Quit: leaving)
06:21:04 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:21:05 raym joins (~ray@45.64.220.139)
06:22:11 × falsifian quits (~falsifian@cpef81d0f9cb2f3-cmf81d0f9cb2f0.cpe.net.fido.ca) (Quit: leaving)
06:22:39 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
06:25:36 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
06:27:48 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:28:02 jedws joins (~jedws@101.184.202.248)
06:28:10 × da39a3ee5e6b4b0d quits (~da39a3ee5@2403:6200:8876:77eb:51a:84a8:6067:5428) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:29:06 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
06:29:38 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
06:29:54 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
06:32:51 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 272 seconds)
06:36:11 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
06:36:14 × rople quits (~rople@116.206.228.203) (Quit: rople)
06:36:35 jamm_ joins (~jamm@unaffiliated/jamm)
06:39:06 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
06:40:51 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
06:44:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
06:45:35 × jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:45:49 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
07:00:22 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Remote host closed the connection)
07:02:38 minoru_shiraeesh joins (~shiraeesh@109.166.58.206)
07:02:57 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
07:04:02 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
07:04:44 jamm_ joins (~jamm@unaffiliated/jamm)
07:05:24 × h2017 quits (~h2017@bras-base-clbaon0201w-grc-32-142-114-145-140.dsl.bell.ca) (Quit: Leaving)
07:08:22 takuan joins (~takuan@178-116-218-225.access.telenet.be)
07:08:36 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
07:09:38 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
07:11:07 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
07:12:26 XiaoZai joins (3daa8e94@61.170.142.148)
07:15:16 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Ping timeout: 240 seconds)
07:15:33 × XiaoZai quits (3daa8e94@61.170.142.148) (Client Quit)
07:21:53 jedws joins (~jedws@101.184.202.248)
07:22:19 × dolio quits (~dolio@haskell/developer/dolio) (Ping timeout: 258 seconds)
07:25:04 ukari joins (~ukari@unaffiliated/ukari)
07:25:07 dolio joins (~dolio@haskell/developer/dolio)
07:26:20 Guest_14 joins (59d9a17f@adsl-89-217-161-127.adslplus.ch)
07:26:46 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
07:27:10 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
07:28:44 × Guest_14 quits (59d9a17f@adsl-89-217-161-127.adslplus.ch) (Client Quit)
07:29:02 average joins (uid473595@gateway/web/irccloud.com/x-snybajxjtcrfigoq)
07:31:46 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
07:34:02 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
07:39:27 RusAlex_ joins (~Chel@APN-123-255-118-gprs.simobil.net)
07:41:45 × RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 240 seconds)
07:42:40 j2t_ joins (~j2t@84.122.202.215.dyn.user.ono.com)
07:43:33 <hololeap> Elm is weird. it's like Diet Haskell
07:44:33 <siraben> ugh Elm recursion has to be bounded otherwise it blows the stack
07:44:57 <siraben> witness how they define foldr https://github.com/elm/core/blob/22eefd207e7a63daab215ae497f683ff2319c2ca/src/List.elm#L173
07:45:05 × catt quits (~r@31.124.181.226) (Ping timeout: 240 seconds)
07:46:21 <hololeap> that's ... strange
07:46:43 <hololeap> how am i supposed to write an 'until' loop? lol
07:47:15 <c_wraith> My experience with Elm and talking to other people who have used Elm leads me to believe that if you haven't used Haskell, you'll like it.
07:47:31 <c_wraith> If you have, you just wonder why everything is so hard
07:47:51 <hololeap> yeah, people on the elm reddit are like, how can you just magically make an enumeration over a sum type?
07:48:00 <hololeap> and i'm flipping tables
07:48:51 <hololeap> (╯° °)╯︵ ┻━┻
07:49:04 <siraben> `derive Enum`
07:49:39 <hololeap> what do you mean i have to hard code the isomorphism to int??
07:49:39 <siraben> also because of a lack of typeclasses there's a lot of passing around of dictionaries
07:50:18 <hololeap> yeah and no Ord so you get a handful of valid key types for dicts
07:51:00 <siraben> last time I used Elm for a work project perf was also a pain point, there's no good sequence library like in Haskell
07:51:39 <siraben> and if only we had laziness so we don't need to compute over tens of thousands of elements
07:52:50 × j2t_ quits (~j2t@84.122.202.215.dyn.user.ono.com) (Quit: Leaving)
07:53:10 j2t joins (~j2t@84.122.202.215.dyn.user.ono.com)
07:53:51 <hololeap> luckily i found a good library for enums and dict that will take any type of key given a way to convert it to an int
07:56:56 × minoru_shiraeesh quits (~shiraeesh@109.166.58.206) (Ping timeout: 240 seconds)
08:00:21 hidedagger joins (~nate@unaffiliated/hidedagger)
08:00:45 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
08:00:48 <siraben> hololeap: which library?
08:01:02 <siraben> also list fusion and deforestation are non-existent in Elm, IIRC
08:01:03 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
08:01:14 × hidedagger quits (~nate@unaffiliated/hidedagger) (Client Quit)
08:02:31 <hololeap> Herteby/enum and turboMaCk/any-dict
08:03:42 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
08:05:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Ping timeout: 264 seconds)
08:05:46 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Client Quit)
08:06:05 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
08:09:01 × raym quits (~ray@45.64.220.139) (Quit: leaving)
08:09:16 raym joins (~ray@45.64.220.139)
08:10:05 Varis joins (~Tadas@unaffiliated/varis)
08:10:08 × polyrain quits (~polyrain@2001:8003:e4d8:4101:795c:c8cd:2656:7ed2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:10:36 × Varis quits (~Tadas@unaffiliated/varis) (Max SendQ exceeded)
08:10:55 Varis joins (~Tadas@unaffiliated/varis)
08:12:30 <ski> hm, reminds me of how i read in some old Prolog implementations, they commonly did iteration by binary recursion. the reason was that the stack depth was limited (and apparently there was no LCO) but if your call-tree was a binary tree, your depth would be logarithmic rather than linear
08:12:41 × tzh quits (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
08:12:49 _ht joins (~quassel@82-169-194-8.biz.kpn.net)
08:13:27 <ij> more data is disappearing from my POSet than there should be. I cannot replicate it with the same data in REPL. Where could the bug be? http://sprunge.us/eLgYzn
08:14:30 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
08:15:26 polyrain joins (~polyrain@2001:8003:e4d8:4101:795c:c8cd:2656:7ed2)
08:16:24 jamm_ joins (~jamm@unaffiliated/jamm)
08:18:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
08:19:17 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
08:19:29 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
08:20:58 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
08:21:40 × jedws quits (~jedws@101.184.202.248) (Quit: My MacBook has gone to sleep. ZZZzzz…)
08:22:24 <ij> in running the application the one cursor = (0,5) disappears, which you can verify by search-highlighting "(0,5)"
08:23:35 <ij> I guess I could isolate all the additions/deletions and see if I can produce the bug in REPL then
08:23:50 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:24:09 <ski> i guess `Show' isn't consisted with `toList'
08:24:19 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Ping timeout: 272 seconds)
08:24:23 <ski> s/consisted/consistent/
08:24:58 <ski> (there's no `removeMin' ?)
08:25:24 <ij> well, you can only remove an unordered group, because it's a poset
08:25:29 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:25:33 <ij> smallest unordered group
08:26:08 <ij> POSet.toList says its order is unspecified
08:26:19 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:26:22 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:27:13 <ski> hm, ok
08:27:45 <ski> but calling `toList' clearly gives a different result than using `Show'
08:28:11 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:28:26 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:28:51 <ski> (and it looks like all your cursors in the list are distinct, wrt the given equality)
08:29:10 <ij> fmap cursor, just to make it easier for looking through and so I'd have to format less, but I have macros anyway, so: http://sprunge.us/WiZKEV
08:29:19 <ski> (or, i suppose s/cursors/continues/)
08:30:13 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:30:58 <ski> hm, so where does `continues' come from ?
08:30:58 <ij> the order is still off, but that could be because it was created differently in the program
08:31:05 <ski> probably, yea
08:31:14 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:32:12 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
08:32:18 <ski> could you try calling `fromList' from the snippet of code using `print' to check that you're getting the same items, there ?
08:32:31 <ski> er, sorry. calling `toList'
08:33:47 <ij> https://github.com/siers/ppmz/blob/master/solve.hs
08:34:06 <ij> addNextContinues/findContinue
08:34:18 <ij> I'll try that, one sec
08:35:55 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
08:36:41 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
08:37:22 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:37:27 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:37:35 <ski> (oh, and your `Show' instances really should be defining `showsPrec', not `show')
08:37:41 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:38:30 <ij> I don't think I understand what you're asking me – print where? did you notice the last URL? – I printed the unabbreviated versions. or would you like to see something else?
08:39:23 <ski> i guess around lines 426 through 428
08:39:30 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:39:52 <ski> what if you also do
08:40:09 <ski> print ("continues",S.toList continues)
08:40:12 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:40:33 <ski> print ("continues",S.toList (S.delete (head (S.lookupMin continues)) continues))
08:40:37 <ij> aha
08:40:39 <ski> around there ?
08:41:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:41:16 <ij> oh, you meant toList up there
08:41:17 <ski> to check whether `Show' and `toList' actually does display the same items present
08:41:22 <ski> yea
08:41:56 × drbean quits (~drbean@TC210-63-209-206.static.apol.com.tw) (Ping timeout: 240 seconds)
08:42:18 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 246 seconds)
08:42:45 <ij> http://sprunge.us/wl83Gq
08:42:53 <ski> btw, `foo <- pure bar' can be replaced by `let foo = bar'
08:43:16 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:43:33 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:43:35 × cheater quits (~user@unaffiliated/cheater) (Ping timeout: 258 seconds)
08:43:36 <ij> that's only for aesthetical syntactical homogeneity
08:43:39 <ski> ij : is that if you added `S.toList' to the existing lines ?
08:43:53 <ij> print ("continues", S.toList continues) AND print ("= ", S.toList (S.delete (head (S.lookupMin continues)) continues))
08:44:12 <ij> right?
08:44:18 × raym quits (~ray@45.64.220.139) (Quit: leaving)
08:44:22 <ski> yea .. i was really asking for that, in *addition* to the previous lines
08:44:30 <ski> (to more easily be able to compare)
08:44:37 raym joins (~ray@45.64.220.139)
08:44:53 <ij> more log from the application run?
08:45:00 <ski> however .. it looks like there's still one item missing
08:45:06 <ski> (log ?)
08:45:19 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:45:45 mikolaj joins (~mikon@duch.mimuw.edu.pl)
08:45:53 jamm_ joins (~jamm@unaffiliated/jamm)
08:46:06 <ij> oh, from lines with the context, I guess? if so, then one sec
08:46:18 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:46:32 <ski> (i'm not sure what you're asking)
08:46:50 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:46:58 <ij> you wanted to switch between tabs and compare, so I think I understand what you're asking for
08:47:04 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:47:23 <ski> i dunno what either "tabs" or "compare" means
08:48:53 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
08:49:25 <ij> http://sprunge.us/So256p
08:49:55 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
08:50:05 <ij> this format is diffable with the previous post and you can see that S.toList produces the same output as Show POSet :)
08:50:13 forgottenone joins (~forgotten@176.42.26.20)
08:50:39 <ski> hm, ok
08:50:56 <ij> (I didn't just delete the `fromList's, I did indeed copy and reformat)
08:51:25 <ski> (although you didn't copy and reformat the lines with `S.toList')
08:52:03 <ij> the lines 426-428?
08:52:23 <ski> not those line numbers in the paste, but yea
08:52:30 <ski> (but it doesn't really matter much)
08:52:44 <ij> yes, this is the output after adding S.toList in the prints
08:53:48 <ski> i dunno how `POSet' works really. i suppose you're either failing some precondition of an operation in the lib .. or maybe hitting on a bug in it
08:54:12 <ij> scores aren't the same and it works as expected in isolation
08:54:35 <ij> I think it's a bug, but I cannot be sure until I have extracted a clean example
08:54:38 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
08:54:58 <ij> going to print all the modifications, try it out in ghci then
08:55:18 <ski> if you're able to figure out in which order the continues are actually added to the poset, you could then try to play around with a program containing just those insertions, and see if you could reduce the problem then
08:55:38 <ij> yup, that's what I was trying to say :)
08:55:51 <ij> shouldn't be too difficult
08:56:43 <ski> perhaps you could even use QuickCheck or SmallCheck or something like that, to generate lists of instructions to perform on a POSet, and get a (local) minimum example
08:57:48 <ij> given that I have a running example already, I think printing a ton of S.insert, S.deletes will be quite faster to get a quick "bug"/"no bug" in POSet answer
08:58:33 <ij> I could also accidentally lose the bug, if I change anything, so I may not be able to create an example
08:59:48 × mikolaj quits (~mikon@duch.mimuw.edu.pl) (Quit: Lost terminal)
08:59:54 <ij> when I knew I'll have to use another set library, I had a hunch it likely won't go smoothly
09:00:01 <ij> it never does 😅
09:00:03 × peterstorm[m] quits (peterstorm@gateway/shell/matrix.org/x-euvywjqfzhcglbjd) (Quit: Idle for 30+ days)
09:00:27 × zyeri- quits (zyeri@gateway/shell/tilde.team/x-xvdpvpjsanrpyrhi) (Ping timeout: 258 seconds)
09:02:26 heatsink joins (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3)
09:03:02 × berberman_ quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
09:03:36 berberman joins (~berberman@unaffiliated/berberman)
09:06:03 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
09:06:58 × heatsink quits (~heatsink@2600:1700:bef1:5e10:e07b:e25d:926:c2e3) (Ping timeout: 258 seconds)
09:07:31 × kir quits (~kir@s91904426.blix.com) (Remote host closed the connection)
09:09:39 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
09:11:12 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
09:12:57 LKoen joins (~LKoen@252.248.88.92.rev.sfr.net)
09:13:59 mirrorbird joins (~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d)
09:14:36 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
09:15:20 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:f4f6:e4b3:c49e:f3f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
09:15:29 darkcodi[m] joins (darkcodima@gateway/shell/matrix.org/x-bidbqzmubwdqapiu)
09:17:19 zyeri joins (zyeri@gateway/shell/tilde.team/x-rjdyrjazritiuhtb)
09:17:19 × zyeri quits (zyeri@gateway/shell/tilde.team/x-rjdyrjazritiuhtb) (Changing host)
09:17:19 zyeri joins (zyeri@tilde.team/users/zyeri)
09:21:33 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
09:23:42 jchia1 joins (~jchia@58.32.32.232)
09:24:30 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:25:03 × jchia quits (~jchia@218.80.114.20) (Ping timeout: 256 seconds)
09:26:08 × kini quits (~kini@unaffiliated/kini) (Remote host closed the connection)
09:27:27 kini joins (~kini@unaffiliated/kini)
09:29:05 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
09:30:26 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
09:35:31 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
09:39:51 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
09:40:45 jamm_ joins (~jamm@unaffiliated/jamm)
09:44:41 × frankdmartinez quits (~frankdmar@138.199.52.84) (Quit: frankdmartinez)
09:45:18 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
09:47:25 <ij> ski, vote bug! http://sprunge.us/UmyV79
09:50:30 <ij> context for anyone reading: Continue { cursor = (0,5), score = 15 } is never deleted, but it goes missing after adding Continue { cursor = (2,2), score = 14 } though the partial order doesn't consider them the same
09:53:01 × charukiewicz quits (~charukiew@irouteince04.i.subnet.rcn.com) (Quit: charukiewicz)
09:54:31 × DataComputist quits (~lumeng@50.43.26.251) (Ping timeout: 256 seconds)
09:55:09 DataComputist joins (~lumeng@50.43.26.251)
09:57:37 × shatriff_ quits (~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
09:57:51 shatriff joins (~vitaliish@176-52-216-242.irishtelecom.com)
10:00:05 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
10:01:08 × perdent quits (~perdent@101.175.174.67) (Ping timeout: 265 seconds)
10:03:10 heatsink joins (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6)
10:04:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
10:05:27 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-tannjxvhvijjixbp) (Quit: Connection closed for inactivity)
10:07:32 × heatsink quits (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6) (Ping timeout: 258 seconds)
10:09:07 × polyrain quits (~polyrain@2001:8003:e4d8:4101:795c:c8cd:2656:7ed2) (Quit: Textual IRC Client: www.textualapp.com)
10:09:25 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
10:11:10 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
10:14:57 × vicfred quits (vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
10:15:23 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
10:16:55 × mirrorbird quits (~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d) (Quit: Leaving)
10:18:53 × kini quits (~kini@unaffiliated/kini) (Remote host closed the connection)
10:19:47 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
10:20:17 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 260 seconds)
10:22:51 kini joins (~kini@unaffiliated/kini)
10:28:53 jamm_ joins (~jamm@unaffiliated/jamm)
10:29:58 Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362)
10:32:57 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 264 seconds)
10:33:01 Lord_of_Life_ is now known as Lord_of_Life
10:33:38 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
10:35:25 × j2t quits (~j2t@84.122.202.215.dyn.user.ono.com) (Ping timeout: 240 seconds)
10:35:40 fendor joins (~fendor@91.141.3.239.wireless.dyn.drei.com)
10:35:58 bitmagie joins (~Thunderbi@200116b806b35100a92d8e55454b8ad9.dip.versatel-1u1.de)
10:37:22 <ij> here's a shorter example with (0,5) disappearing http://sprunge.us/lxrnaj
10:37:23 × DataComputist quits (~lumeng@50.43.26.251) (Ping timeout: 265 seconds)
10:38:34 <ij> can someone verify that the XY (0,5) 15 shouldn't disappear?
10:39:26 DataComputist joins (~lumeng@50.43.26.251)
10:43:12 jollygood2 joins (~bc8134e3@217.29.117.252)
10:45:43 × RusAlex_ quits (~Chel@APN-123-255-118-gprs.simobil.net) (Read error: Connection reset by peer)
10:46:46 RusAlex_ joins (~Chel@APN-123-255-118-gprs.simobil.net)
10:48:18 f-a joins (~f-a@151.38.55.146)
10:48:20 is_null joins (~jpic@pdpc/supporter/professional/is-null)
10:48:24 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
10:48:35 <f-a> hello. On which repo can I report a suggestion/bug about the windows installer (chocolatey)?
10:51:56 Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net)
10:53:55 frozenErebus joins (~frozenEre@94.128.81.133)
10:53:56 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 240 seconds)
10:54:15 <Uniaika> f-a: you should contact the chocolatey maintainer directly, you'll have more success
10:56:47 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
10:57:22 fendor_ joins (~fendor@77.119.128.41.wireless.dyn.drei.com)
10:57:23 <f-a> thanks Uniaika, I should have been clearer
10:57:30 NGravity joins (csp@gateway/shell/xshellz/x-shswcsdvnxabefik)
10:57:40 <ij> ski, mind taking a look?
10:57:48 <f-a> numerous windows users I know (well, few windows users I know) do not like chocolatey and are wary of installing it
10:58:16 <f-a> I wanted to relay their feedback
10:58:45 × Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
10:58:54 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
10:59:12 × Sgeo quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
10:59:14 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
10:59:18 <Uniaika> f-a: that's unfortunately in direct opposition with the fact that we don't have enough people that are knowledgeable enough to produce MSI packages (or whatever is the format nowadays)
10:59:57 × fendor quits (~fendor@91.141.3.239.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
11:00:43 <f-a> Uniaika: feedback I got said «My specific issue would be, what chocolatey did didn't seem to complicated. I would have done it myself if there were download links alongside the chocolatey version.»
11:01:27 × evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Quit: ZNC 1.8.2 - https://znc.in)
11:02:14 evanjs joins (~evanjs@075-129-098-007.res.spectrum.com)
11:03:53 heatsink joins (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6)
11:03:58 × jetpack_joe quits (sid146137@gateway/web/irccloud.com/x-barhrktjbbtarmrh) (Quit: Connection closed for inactivity)
11:05:01 × isBEKaml quits (~isBEKaml@unaffiliated/isbekaml) (Quit: leaving)
11:08:13 × howdoi quits (uid224@gateway/web/irccloud.com/x-zyykjymmarnaxvef) (Quit: Connection closed for inactivity)
11:08:26 × heatsink quits (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6) (Ping timeout: 264 seconds)
11:08:26 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
11:08:44 <Uniaika> f-a: I hear you, but you will make things change for the better if you directly contact the Chocolatey maintainer
11:08:48 × eyenx quits (~eyenxeyen@unaffiliated/eye/x-1653358) (Ping timeout: 265 seconds)
11:11:43 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
11:17:40 drbean joins (~drbean@TC210-63-209-173.static.apol.com.tw)
11:18:01 Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net)
11:20:09 eyenx joins (~eyenxeyen@unaffiliated/eye/x-1653358)
11:20:45 <tomsmeding> ij: is that library on hackage?
11:24:25 × f-a quits (~f-a@151.38.55.146) (Ping timeout: 240 seconds)
11:25:05 f-a joins (~f-a@mi-18-14-238.service.infuturo.it)
11:25:30 <tomsmeding> oh I see, it's pomaps
11:26:19 × nfip^ quits (nfip@ip98-184-89-2.mc.at.cox.net) ()
11:32:49 <ij> yup
11:36:56 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 240 seconds)
11:37:37 × acidjnk_new quits (~acidjnk@p200300d0c722c40898344eac4ba1ad37.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
11:39:27 × quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in)
11:41:15 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
11:41:28 __monty__ joins (~toonn@unaffiliated/toonn)
11:51:05 mouseghost joins (~draco@wikipedia/desperek)
11:54:08 j2t joins (~j2t@84.122.202.215.dyn.user.ono.com)
11:59:59 sfvm joins (~sfvm@37.228.215.77)
12:00:16 catalin joins (~catalin@82.77.237.60)
12:00:50 × sfvm quits (~sfvm@37.228.215.77) (Remote host closed the connection)
12:01:49 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
12:04:37 heatsink joins (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6)
12:06:33 × Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 264 seconds)
12:07:07 zebrag joins (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr)
12:08:43 × seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Quit: WeeChat 3.0)
12:09:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6) (Ping timeout: 264 seconds)
12:09:13 hiroaki joins (~hiroaki@2a02:908:4b18:8c40::8d83)
12:11:26 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Remote host closed the connection)
12:13:38 Lowl3v3l joins (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de)
12:14:05 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
12:14:22 <jollygood2> how do I convert char ** to [String]? do I have to loop over char ** and peekArray every char *?
12:18:45 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 240 seconds)
12:19:15 frozenErebus joins (~frozenEre@94.128.81.133)
12:19:16 <merijn> jollygood2: Yes
12:19:38 <merijn> Why are you getting a char** to begin with, though?
12:20:03 seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
12:20:56 <jollygood2> it's what the C function returns
12:21:29 × kini quits (~kini@unaffiliated/kini) (Remote host closed the connection)
12:22:10 <merijn> Ideally you'd want the C function to return something else, but if that's all you got, then yeah "loop over each element and convert the char*" is the best you can do
12:22:20 × thunderrd quits (~thunderrd@183.182.115.7) (*.net *.split)
12:22:25 darjeeling_ joins (~darjeelin@122.245.216.78)
12:22:29 <merijn> Although you probably want one of the C string function, rather than peekArray
12:22:46 kini joins (~kini@unaffiliated/kini)
12:23:03 × Athas quits (athas@2a01:7c8:aaac:1cf:2650:6cc9:39f1:f264) (Quit: ZNC - http://znc.sourceforge.net)
12:23:19 Major_Biscuit joins (~Major_Bis@82-169-100-198.biz.kpn.net)
12:23:29 <merijn> There's peekCString for example, for NUL terminated strings
12:23:49 Athas joins (~athas@2a01:7c8:aaac:1cf:5661:9ebf:32e3:d99f)
12:23:51 × zaquest quits (~notzaques@5.128.210.178) (Remote host closed the connection)
12:24:24 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
12:24:45 <jollygood2> yeah you're right, I wanted peekCString
12:24:56 thunderrd joins (~thunderrd@183.182.115.7)
12:26:07 zaquest joins (~notzaques@5.128.210.178)
12:27:27 <jollygood2> it worked. peekArray to convert char * to [char *], then mapM peekCString to get [String]
12:28:01 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
12:28:11 <jollygood2> to convert char ** to [char *], even
12:30:44 <merijn> Yeah, that sounds about right
12:35:24 Tops2 joins (~Tobias@dyndsl-095-033-027-032.ewe-ip-backbone.de)
12:37:30 aveltras joins (uid364989@gateway/web/irccloud.com/x-yvpfkhesmkalxnwm)
12:38:35 <aveltras> how would one use a function like https://hackage.haskell.org/package/typerep-map-0.3.3.0/docs/Data-TypeRepMap.html#v:keys ? I can't figure it out since you don't recover any type info
12:39:09 <merijn> aveltras: When you pattern match on SomeTypeRep you bring the type info in scope
12:39:14 f-a parts (~f-a@mi-18-14-238.service.infuturo.it) ()
12:39:20 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
12:40:00 <merijn> aveltras: That applies to hiding type information with any existential
12:41:37 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
12:42:15 × star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 256 seconds)
12:42:16 × Major_Biscuit quits (~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 240 seconds)
12:43:00 mirrorbird joins (~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d)
12:43:57 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Ping timeout: 256 seconds)
12:45:31 rdivyanshu joins (uid322626@gateway/web/irccloud.com/x-wrrlvklxxelvmqxz)
12:47:26 × zebrag quits (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
12:47:44 zebrag joins (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr)
12:51:06 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
12:51:08 geekosaur joins (ac3a8c42@172.58.140.66)
12:52:49 × zebrag quits (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
12:54:23 <tomsmeding> aveltras: related topic: GADTs
12:54:45 × frozenErebus quits (~frozenEre@94.128.81.133) (Ping timeout: 272 seconds)
12:55:03 <merijn> tomsmeding: That's just because GADTs implicitly include existentials :)
12:55:08 zebrag joins (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr)
12:55:15 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
12:55:53 <tomsmeding> certainly :)
12:56:15 <merijn> I personally prefer just writing my existentials as GADTs anyway, more readable that way
12:56:35 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
12:56:43 <merijn> aww
12:56:53 <merijn> GHC 9.0 doesn't have -XNoFieldSelectors yet?
13:02:06 <aveltras> with the following
13:02:10 <aveltras> https://www.irccloud.com/pastebin/JBELuISb/
13:02:30 <aveltras> is there a way to make the pattern match work to extract valid content from the map ?
13:02:34 <aveltras> i may be missing something here
13:02:44 <aveltras> the second branch of the match is redundant
13:02:55 midnightmagic joins (~midnightm@185.204.1.185)
13:03:46 frozenErebus joins (~frozenEre@94.128.81.133)
13:04:46 <tomsmeding> ij: in your second example ( http://sprunge.us/lxrnaj ), the deletion of XY (1,2) 13 already takes XY (1,3) 14 with it, which is incorrect as far as I can see
13:05:19 <merijn> aveltras: The type annotation on line 13 doesn't make sense
13:05:19 heatsink joins (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6)
13:05:33 <merijn> aveltras: You don't get to pick the type of the typerep
13:05:46 <merijn> aveltras: You get "whatever happens to be in there"
13:07:08 <merijn> aveltras: You probably wanna use == to compare that unknown typerep to whatever you want and then do something
13:08:37 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
13:09:05 × Athas quits (~athas@2a01:7c8:aaac:1cf:5661:9ebf:32e3:d99f) (Quit: ZNC - http://znc.sourceforge.net)
13:09:15 Athas joins (athas@sigkill.dk)
13:09:22 <merijn> tbh, my initial response to this test code is "have you considered scrapping all this and *not* doing that?" :p
13:10:14 × heatsink quits (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6) (Ping timeout: 264 seconds)
13:10:29 <aveltras> im already scraping something that's much more complicated :p
13:11:35 Saukk joins (~Saukk@83-148-239-3.dynamic.lounea.fi)
13:11:41 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
13:15:08 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
13:15:37 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
13:17:39 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 268 seconds)
13:17:52 × catalin quits (~catalin@82.77.237.60) (Remote host closed the connection)
13:18:19 catalin joins (~catalin@82.77.237.60)
13:18:19 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
13:18:50 <zebrag> When one say that applicatives are amenable to static analysis. Does that mean that the compiler can help us there? Or does that mean we can do it with pen and paper?
13:19:16 × d3od quits (~nickmeno3@78-1-65-250.adsl.net.t-com.hr) (Ping timeout: 240 seconds)
13:19:48 <zebrag> (in my case that would be in relation with parsers)
13:21:35 <merijn> zebrag: What people mean is this:
13:21:38 <merijn> :t (<*>)
13:21:39 <lambdabot> Applicative f => f (a -> b) -> f a -> f b
13:21:46 fendor_ is now known as fendor
13:21:56 <merijn> zebrag: Note how *both* the lest *and* right side of <*> are values of type 'f'
13:22:30 <merijn> zebrag: If we consider the type 'f' "a description" of the side effects, this means that we know the exact effects of the left and right hand side of <*> without running anything
13:22:31 × hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
13:22:38 <merijn> zebrag: Now consider:
13:22:42 <merijn> :t (>>=)
13:22:44 <lambdabot> Monad m => m a -> (a -> m b) -> m b
13:23:00 Sheilong joins (uid293653@gateway/web/irccloud.com/x-pxyeupqbquuvaqlz)
13:23:08 <merijn> zebrag: Note how the right hand side is a function, which can use arbitrarily complex logic to decide what 'm b' to return
13:23:27 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
13:23:47 <zebrag> (I'm here)
13:23:47 <merijn> zebrag: This means that we can't "inspect" the effects of the right hand side without first evaluating that function
13:24:20 <merijn> zebrag: But to evaluate that function, we need to *first* get an 'a' to give to it, which we can only obtain by "executing" the effects on the left hand side-first
13:24:36 <maerwald> zebrag: this may also be interesing: https://neilmitchell.blogspot.com/2019/10/monads-as-graphs.html
13:25:14 zzxxhhqq joins (722b75b6@114-43-117-182.dynamic-ip.hinet.net)
13:25:24 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
13:25:35 × berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in)
13:25:45 <merijn> zebrag: So, (depending on the actual applicative) <*> can (hypothetically) inspect and combine effects of both the left and right hand side in some meaningful way (like, running things concurrently in IO), which you cannot do with >>=
13:26:06 berberman joins (~berberman@unaffiliated/berberman)
13:27:03 <merijn> zebrag: This actually highlight the difference in "power" of Monad and Applicative, with the 'a -> m b' of Monad we can have the exact effect we perform *depend* on the results of previous ones (the 'a'), with Applicative the *effects* are never conditional, only the result value is
13:27:14 × seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Ping timeout: 265 seconds)
13:28:18 <zebrag> merijn: okay, yes, I understand
13:28:24 <tomsmeding> you can produce an AST of an entire applicative computation without any functions, whereas an AST of a monadic computation necessarily hides part of the structure behind a lambda
13:28:33 <zebrag> maerwald: I'll look into it
13:28:36 <tomsmeding> hence monadic computations aren't as amenable to static analysis :)
13:29:06 <merijn> zebrag: So the "static analysis" people refer to is the part where you can write an <*> that optimises things using knowledge about effects from "both sides"
13:29:31 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
13:30:01 <merijn> Which naturally leads us to Selective Functors ;)
13:30:38 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
13:31:34 <merijn> zebrag: The Selective Functors paper from 2019 discusses the "static analysis" power of Applicative and Monad (and how this leads to the idea of Selective functors), it's an interesting read: https://eprints.ncl.ac.uk/file_store/production/258640/4FF2555F-0AEC-4876-9701-C83A3E5FFF52.pdf
13:34:17 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 265 seconds)
13:35:00 <zebrag> There are very interesting quotes there, by the way: "Free Applicative Functors" https://arxiv.org/pdf/1403.0749.pdf, like this one "an applicative functor is just a functor that knows how to lift functions of arbitrary arities."
13:36:23 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
13:39:57 urodna joins (~urodna@unaffiliated/urodna)
13:41:34 × frozenErebus quits (~frozenEre@94.128.81.133) (Quit: leaving)
13:43:54 HenryCH joins (~henry@2001:8e0:2003:e600:c06f:2e7d:9fd5:c220)
13:44:04 × catalin quits (~catalin@82.77.237.60) (Quit: Leaving)
13:45:50 pako8128 joins (~pako@dynamic-077-011-087-191.77.11.pool.telefonica.de)
13:47:09 tomsmeding realises that you can replace <*> with 'liftedProduct :: f a -> f b -> f (a, b)' without any consequences
13:47:25 × zebrag quits (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
13:47:35 <merijn> define "any" and "consequences" :p
13:47:46 nhs joins (~nhs@c-24-20-87-79.hsd1.or.comcast.net)
13:47:47 zebrag joins (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr)
13:48:02 × pako quits (~pako@dynamic-078-054-103-037.78.54.pool.telefonica.de) (Ping timeout: 256 seconds)
13:48:59 seveg joins (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
13:49:27 djellemah joins (~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
13:50:26 <tomsmeding> you can define <*> in terms of liftedProduct and vice-versa
13:50:42 <tomsmeding> not talking about the lowly concerns of having to rewrite instances :p
13:51:00 × drbean quits (~drbean@TC210-63-209-173.static.apol.com.tw) (Ping timeout: 246 seconds)
13:51:19 <merijn> tomsmeding: Performance will probably change too :p
13:51:20 <tomsmeding> and this equivalence between <*> and liftedProduct is precisely currying, in zebrag's quote that applicative functors can lift functions of arbitrary arities
13:51:29 <tomsmeding> true :p
13:51:46 <tomsmeding> well if you immediately apply (uncurry f), then it'll probably be optimised away
13:51:48 f-a joins (~f-a@mi-18-14-238.service.infuturo.it)
13:51:59 <tomsmeding> analogously to always using <*> in the form f<$>x<*>y
13:52:39 × nhs quits (~nhs@c-24-20-87-79.hsd1.or.comcast.net) (Ping timeout: 265 seconds)
13:55:57 jil joins (~user@45.86.162.6)
13:56:00 carlomagno joins (~cararell@148.87.23.10)
13:56:05 <jil> hello
13:59:01 <jil> I'm rying to load function stored in different files in ghci. but what I tried up to now throughs an error module 'mail:Main' is defined in multiple files.
13:59:48 <jil> I tried, :load file1.hs file2.hs and :load file1.hs :add file2.hs
13:59:49 <merijn> jil: Are you loading a file and then loading it again?
14:00:07 <merijn> ah, wait, you're loading two files
14:00:22 f-a parts (~f-a@mi-18-14-238.service.infuturo.it) ()
14:00:28 <merijn> jil: If you don't have an explicit module name at the top, the compiler assumes/infers "module Main(main)"
14:00:35 × Raito_Bezarius quits (~Raito@unaffiliated/raito-bezarius/x-8764578) (Ping timeout: 260 seconds)
14:00:44 <jil> ok
14:00:49 <merijn> jil: So if neither of your files have a module name it's assuming both are Main and then complains :)
14:02:04 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
14:02:05 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
14:02:37 <swarmcollective> Is it possible to `import qualified` in ghci?
14:03:11 <geekosaur> yes
14:03:21 <geekosaur> but the semantics are different from :load
14:04:59 <swarmcollective> The docs say "To make life slightly easier, the GHCi prompt also behaves as if there is an implicit import qualified declaration for every module in every package, and every module currently loaded into GHCi. This behaviour can be disabled with the -fno-implicit-import-qualified flag." However, that is somewhat confusing.
14:05:53 <swarmcollective> The next section clarifies: https://downloads.haskell.org/~ghc/8.0.2/docs/html/users_guide/ghci.html#module-and-load
14:06:07 heatsink joins (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6)
14:06:52 catalin joins (~catalin@82.77.237.60)
14:06:57 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 272 seconds)
14:07:41 <catalin> Hello! I have problems installing hlint via cabal
14:07:52 <catalin> I did `cabal install hlint`
14:08:11 <catalin> I have a bunch of `/usr/bin/ld.bfd: cannot find -lHSexceptions`
14:08:26 <merijn> Which OS?
14:08:32 <catalin> Solus Linux
14:09:04 <merijn> Never heard of it, do you have any haskell packages installed via the system package manager?
14:09:23 <catalin> yes, a lot actually
14:09:40 <merijn> oof
14:09:41 <catalin> I have cabal, stack, ghc and many others
14:10:08 <merijn> Sounds like your package manager has broken your package database
14:10:24 <merijn> Leading cabal to think exceptions is installed, but the actual library being missing
14:10:45 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
14:10:49 <catalin> oh :( no idea how to regenerate it
14:10:50 × heatsink quits (~heatsink@2600:1700:bef1:5e10:a5c0:4a76:91ea:a0d6) (Ping timeout: 264 seconds)
14:11:37 vicfred joins (~vicfred@unaffiliated/vicfred)
14:15:07 <jollygood2> with parsec, how would I grab all the characters until the last character C in the input?
14:15:48 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
14:18:26 <merijn> manyTill or something like that
14:18:54 drdee joins (~drdee@93-33-15-26.ip42.fastwebnet.it)
14:19:18 berberman_ joins (~berberman@unaffiliated/berberman)
14:19:19 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
14:19:23 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 258 seconds)
14:20:08 <jil> merijn: I'm not sure on how to declare a module. is it `module Main where ...`
14:21:07 <geekosaur> module MyModule [(optionally exports here, otherwise everything is exported)] where
14:21:28 <geekosaur> and "MyModule" must match the filename, including case, and start with initial uppercase
14:24:34 × Codaraxis quits (Codaraxis@gateway/vpn/mullvad/codaraxis) (Read error: Connection reset by peer)
14:24:36 × seveg quits (~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Quit: WeeChat 3.0)
14:25:23 seveg joins (~gabriel@188-167-252-202.dynamic.chello.sk)
14:27:25 alx741 joins (~alx741@186.178.110.176)
14:27:44 <tomsmeding> jollygood2: until the _last_ character C? That's annoying
14:27:51 <tomsmeding> What's your purpose?
14:28:06 <jollygood2> I'm rethinking the problem, I can probably do it a different way
14:28:21 × alx741 quits (~alx741@186.178.110.176) (Client Quit)
14:29:01 kuribas joins (~user@ptr-25vy0i7o843onuw1s23.18120a2.ip6.access.telenet.be)
14:29:20 obihann joins (~jhann@142.177.168.17)
14:29:24 <jollygood2> I'm trying to pass code to my program as an argument, so I'm manually parsing the argument string, instead of using getArgs, so that I don't have to escape " characters
14:30:11 × bitmagie quits (~Thunderbi@200116b806b35100a92d8e55454b8ad9.dip.versatel-1u1.de) (Quit: bitmagie)
14:30:26 <tomsmeding> jollygood2: you can't see the difference between me invoking your program as ./prog "a" or as ./prog a
14:30:34 <tomsmeding> So that won't work I think
14:31:00 <jollygood2> this is on windows, using powershell, so it adds several layers of mind fuck :)
14:31:20 <jollygood2> good thing is, though, I can get unparsed string passed to my program, with all the quotes
14:31:22 <tomsmeding> Ah I see
14:32:20 × obihann quits (~jhann@142.177.168.17) (Client Quit)
14:32:41 <jollygood2> is there a way to get that in *nix? if possible, I'd like to make my program work there as well
14:33:04 <tomsmeding> In general, no, you can't get the command line as entered by the user on a unix-like system
14:33:38 <geekosaur> the shell mangles it long before your program gets it
14:33:40 <tomsmeding> The shell does lots of stuff, like evaluating command splices (e.g. ./prog $(echo hi))
14:33:42 obihann joins (~jhann@142.177.168.17)
14:34:34 × obihann quits (~jhann@142.177.168.17) (Remote host closed the connection)
14:37:23 frankdmartinez joins (~frankdmar@138.199.52.84)
14:37:35 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
14:38:16 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Ping timeout: 240 seconds)
14:40:40 Codaraxis joins (Codaraxis@gateway/vpn/mullvad/codaraxis)
14:41:27 <merijn> Yes, I'll take "cursed question for 500, Alex"
14:41:35 obihann joins (~jhann@142.177.168.17)
14:42:39 m0rphism1 joins (~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
14:43:04 × obihann quits (~jhann@142.177.168.17) (Client Quit)
14:44:59 × drdee quits (~drdee@93-33-15-26.ip42.fastwebnet.it) (Quit: Leaving)
14:46:09 × kini quits (~kini@unaffiliated/kini) (Remote host closed the connection)
14:46:44 <merijn> I propose the much better solution of "not doing that" >.>
14:47:01 <merijn> If you wanna communicate code/whatever, you're better off doing it via stdin and/or a file anyway
14:47:24 kini joins (~kini@unaffiliated/kini)
14:47:25 × zebrag quits (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
14:47:46 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
14:47:49 zebrag joins (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr)
14:47:58 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
14:50:03 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
14:50:48 <jollygood2> I was just thinking that myself a couple of minutes ago, maybe I should just pipe stdin to my program. as a bonus, it would double as a repl
14:51:16 <merijn> jollygood2: tbh, for a REPL you probably wanna use something like haskeline so you get proper line-editing
14:52:08 futty joins (~futhark@c83-252-75-55.bredband.comhem.se)
14:53:38 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
14:53:59 pera joins (~pera@unaffiliated/pera)
14:55:14 <futty> I have been trying to implement a Huffman tree with the help of several modules and I'm a bit overwhelmed by this. I would be grateful if anyone could advice me how to proceed. https://repl.it/join/bwnnsmwu-futhark14
14:55:38 <ephemient> rlwrap is a cheap way to turn something accepting input on stdin into a repl
14:55:52 <ephemient> you can get better results by integrating haskeline but it's more work
14:56:42 perdent joins (~perdent@101.175.174.67)
14:56:42 × geekosaur quits (ac3a8c42@172.58.140.66) (Ping timeout: 240 seconds)
14:57:57 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 260 seconds)
14:59:03 <merijn> ephemient: I switched to using haskeline for my input and it's pretty great, tbh :)
15:00:54 j3r3my joins (~j3r3my@68-73-116-155.lightspeed.rlghnc.sbcglobal.net)
15:02:29 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 268 seconds)
15:02:52 × zzxxhhqq quits (722b75b6@114-43-117-182.dynamic-ip.hinet.net) (Quit: Connection closed)
15:03:40 jb55 joins (~jb55@gateway/tor-sasl/jb55)
15:05:51 geekosaur joins (ac3a8c42@172.58.140.66)
15:06:01 raehik1 joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
15:06:48 × jchia1 quits (~jchia@58.32.32.232) (Ping timeout: 256 seconds)
15:06:53 jchia joins (~jchia@218.80.72.201)
15:06:56 × conal quits (~conal@66.115.157.58) (Ping timeout: 240 seconds)
15:07:08 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
15:07:23 star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
15:09:42 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
15:11:31 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 258 seconds)
15:13:09 × Saukk quits (~Saukk@83-148-239-3.dynamic.lounea.fi) (Remote host closed the connection)
15:13:10 machinedgod joins (~machinedg@24.105.81.50)
15:14:38 dandart joins (~Thunderbi@home.dandart.co.uk)
15:14:53 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
15:18:53 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
15:19:08 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Ping timeout: 268 seconds)
15:21:02 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
15:21:08 ClaudiusMaximus joins (~claude@191.123.199.146.dyn.plus.net)
15:21:08 × ClaudiusMaximus quits (~claude@191.123.199.146.dyn.plus.net) (Changing host)
15:21:08 ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus)
15:21:09 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Quit: Quit 啾)
15:21:24 jb55 joins (~jb55@gateway/tor-sasl/jb55)
15:21:48 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
15:24:00 conal joins (~conal@66.115.157.58)
15:24:21 × finn_elija quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
15:24:36 × MidAutumnHotaru quits (~MidAutumn@unaffiliated/midautumnhotaru) (Client Quit)
15:25:07 MidAutumnHotaru joins (~MidAutumn@unaffiliated/midautumnhotaru)
15:25:27 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Ping timeout: 256 seconds)
15:28:24 zzz is now known as dsfdskljflaskdfj
15:28:47 dsfdskljflaskdfj is now known as zzz
15:29:07 × conal quits (~conal@66.115.157.58) (Quit: Computer has gone to sleep.)
15:34:55 × frankdmartinez quits (~frankdmar@138.199.52.84) (Quit: frankdmartinez)
15:35:52 nbloomf joins (~nbloomf@2600:1700:ad14:3020:590a:2ec1:bea5:f083)
15:36:04 finn_elija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
15:37:05 mouseghost joins (~draco@87-206-9-185.dynamic.chello.pl)
15:37:05 × mouseghost quits (~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
15:37:05 mouseghost joins (~draco@wikipedia/desperek)
15:37:25 × hiroaki quits (~hiroaki@2a02:908:4b18:8c40::8d83) (Ping timeout: 272 seconds)
15:39:15 hyperisco joins (~hyperisco@104-195-141-253.cpe.teksavvy.com)
15:43:21 conal_ joins (~conal@209.58.135.97)
15:44:05 × futty quits (~futhark@c83-252-75-55.bredband.comhem.se) (Quit: Leaving)
15:48:05 frankdmartinez joins (~frankdmar@138.199.52.84)
15:48:24 Aquazi joins (uid312403@gateway/web/irccloud.com/x-nvhytycrddduwvdg)
15:49:40 juuandyy joins (~juuandyy@90.106.228.121)
15:50:19 × juuandyy quits (~juuandyy@90.106.228.121) (Client Quit)
15:50:35 juuandyy joins (~juuandyy@90.106.228.121)
15:51:39 minoru_shiraeesh joins (~shiraeesh@109.166.58.206)
15:53:44 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
15:53:53 × mirrorbird quits (~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d) (Remote host closed the connection)
15:54:34 <j2t> Hi, why does a list have data constructors and a vector doesn't?
15:54:52 <merijn> j2t: Vector has data constructors, they're just not publically exported
15:55:03 × rdivyanshu quits (uid322626@gateway/web/irccloud.com/x-wrrlvklxxelvmqxz) (Quit: Connection closed for inactivity)
15:55:14 <merijn> j2t: All datatypes have constructors, but not every package *exports* those constructors
15:55:25 alx741 joins (~alx741@186.178.110.176)
15:55:28 <merijn> Usually to stop users from touching stuff they shouldn't and breaking things
15:56:37 × esph quits (~weechat@unaffiliated/esph) (Ping timeout: 256 seconds)
15:56:52 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
15:57:13 esph joins (~weechat@unaffiliated/esph)
15:58:17 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
15:58:20 <j2t> merijn, thank, i see here `data Vector a = Vector {-# UNPACK #-} !Int` part of vector's data type definition. What is the unpack part?
15:58:37 <jollygood2> main works fine, but why is main2 throwing that exception, and how would you prevent it if interact didn't exist? https://pastebin.com/jJBc8vuJ
15:58:53 × hyperisco quits (~hyperisco@104-195-141-253.cpe.teksavvy.com) (Ping timeout: 256 seconds)
15:58:57 Deide joins (~Deide@217.155.19.23)
15:59:25 <geekosaur> a pragma telling ghc not to put the following field in a box. (the field must be strict, hence the ! on it). this is invoking an internal optimization directly
15:59:25 <ij> tomsmeding, yup, later noticed it and already added to the bug report
15:59:27 × Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection)
16:00:15 <merijn> j2t: Most data fields are boxed in GHC (that is, pointer indirection to the actual data), unpack makes GHC skip the indirection (which means it can't be lazy)
16:02:53 <tdammers> merijn: what about Data.Void.Void?
16:03:33 <merijn> tdammers: What about it?
16:04:38 Tario joins (~Tario@201.192.165.173)
16:04:58 × toorevitimirp quits (~tooreviti@117.182.180.8) (Remote host closed the connection)
16:05:51 <j2t> I hoogle list constructor `:` operator but search results don't show it.
16:06:03 × j3r3my quits (~j3r3my@68-73-116-155.lightspeed.rlghnc.sbcglobal.net) (Ping timeout: 265 seconds)
16:06:26 <fendor> j2t, you have to put it in parathensis
16:06:29 <fendor> @hoogle (:)
16:06:29 <lambdabot> Data.Complex (:+) :: a -> a -> Complex a
16:06:29 <lambdabot> Data.List.NonEmpty (:|) :: a -> [a] -> NonEmpty a
16:06:29 <lambdabot> Data.Type.Equality data a :~: b
16:06:37 <geekosaur> also it's wired into the compiler
16:06:48 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 246 seconds)
16:06:57 <merijn> j2t: That's because it's built into the compiler
16:07:02 <geekosaur> because list has to be special syntax for the [a,b,c] form
16:07:05 <j2t> thanks
16:07:14 × aveltras quits (uid364989@gateway/web/irccloud.com/x-yvpfkhesmkalxnwm) (Quit: Connection closed for inactivity)
16:07:50 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
16:08:10 <xsperry> :t (:)
16:08:11 <lambdabot> a -> [a] -> [a]
16:08:14 <xsperry> :i (:)
16:08:31 <xsperry> (works in ghc)
16:08:34 <xsperry> ghci*
16:09:16 <geekosaur> there's a dummy definition somewhere that exists only to provide an info table, as with other compiler built-ins
16:10:59 <geekosaur> hoogle doesn't index the primitives/info table definitions, iirc, because its output would be too noisy with odd compiler built-ins with weird types/kinds
16:11:55 <tdammers> merijn: you said every datatype has constructors, but Void doesn't
16:11:59 <catalin> what is the difference between `doubleMe :: Num a => a -> a` and `doubleMe x = x + x` ?
16:12:04 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 240 seconds)
16:12:11 <catalin> Beside the writing of it?
16:12:19 <merijn> tdammers: That's recent, it used to have one in the past :p
16:12:24 <catalin> the first is the signature?
16:12:24 <merijn> tdammers: Also, educational lies :p
16:12:40 <tdammers> merijn: well, it does have a type constructor
16:12:46 <merijn> catalin: The first is the type signature, the second is the implementation
16:13:00 <catalin> merijn: thank you
16:17:50 guest7682358928 joins (2de85cb9@gateway/web/cgi-irc/kiwiirc.com/ip.45.232.92.185)
16:28:35 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:590a:2ec1:bea5:f083) (Quit: My MacBook has gone to sleep. ZZZzzz…)
16:28:43 × geekosaur quits (ac3a8c42@172.58.140.66) (Quit: Connection closed)
16:29:20 × earldouglas quits (~james@unaffiliated/jamestastic) (Quit: Lost terminal)
16:30:24 earldouglas joins (~james@unaffiliated/jamestastic)
16:31:40 × juuandyy quits (~juuandyy@90.106.228.121) (Ping timeout: 265 seconds)
16:31:48 archaephyrryx joins (~archaephy@straasha.imrryr.org)
16:32:07 <swarmcollective> So far, I've used Web.Scotty for web api, but only for small projects (https://github.com/calledtoconstruct/kata-checkout-order-total/blob/master/haskell/item-api/Main.hs) Are there newer / better libraries?
16:37:25 × catalin quits (~catalin@82.77.237.60) (Ping timeout: 256 seconds)
16:39:16 <swarmcollective> (better is too subjective, but I'm interested in suggestions)
16:39:40 Jd007 joins (~Jd007@162.156.11.151)
16:43:37 <ph88^> does anyone know how to debug root cause of hGetChar: end of file ? i already tried to do a profiling build with exceptions turned on https://bpa.st/XZ7YS
16:44:16 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
16:45:42 <kuribas> ph88^: is this hie?
16:46:18 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
16:46:29 nbloomf joins (~nbloomf@2600:1700:ad14:3020:590a:2ec1:bea5:f083)
16:46:37 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
16:46:45 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
16:46:48 catalin joins (~catalin@82.77.237.60)
16:47:38 juuandyy joins (~juuandyy@90.106.228.121)
16:48:17 × jrqc quits (~rofl@96.78.87.197) (Read error: Connection reset by peer)
16:48:38 jrqc joins (~rofl@96.78.87.197)
16:50:21 rndmprsn joins (~rndmprsn@c-69-139-47-227.hsd1.fl.comcast.net)
16:51:05 <jollygood2> <jollygood2> main works fine, but why is main2 throwing that exception, and how would you prevent it if interact didn't exist? https://pastebin.com/jJBc8vuJ
16:53:51 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
16:54:23 <merijn> jollygood2: When you close stdin reads from stdin hit "end of file"
16:54:55 <merijn> jollygood2: When you try and get a line from a file that has no more lines, what else can getLine do?
16:54:59 × earldouglas quits (~james@unaffiliated/jamestastic) (Quit: leaving)
16:55:16 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
16:55:44 <merijn> jollygood2: You'll want to use try or catch from Control.Exception to catch the IOError and use https://hackage.haskell.org/package/base-4.14.1.0/docs/System-IO-Error.html#v:isEOFError to check for EOF
16:56:14 <merijn> jollygood2: Alternatively, you can check for EOF before every read
16:56:26 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
16:56:57 tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
16:57:03 earldouglas joins (~james@unaffiliated/jamestastic)
16:58:49 × rajivr quits (uid269651@gateway/web/irccloud.com/x-szibnrsmlohyyqpj) (Quit: Connection closed for inactivity)
16:59:43 Franciman joins (~francesco@host-95-235-155-82.retail.telecomitalia.it)
17:00:46 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
17:01:31 <rndmprsn> Anyone know any good URL/URI parsing libraries? I'm looking to parse something like ftp://username:password@example.com/home/foo into (Ftp Username Password Host Path) or similar
17:01:57 <rndmprsn> I can always write my own but I'm wondering if there's an existing tool
17:02:27 <merijn> Wasn't there one split of from network?
17:02:53 <merijn> @hackage network-uri
17:02:53 <lambdabot> https://hackage.haskell.org/package/network-uri
17:04:57 <rndmprsn> Oh, yeah there's parseURI then (uriScheme, uriAuthority, uriPath), ty
17:06:08 DavidEichmann joins (~david@234.109.45.217.dyn.plus.net)
17:07:27 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
17:08:07 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
17:08:11 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
17:08:20 <ph88^> kuribas, what do you mean hie ?
17:08:22 ahri joins (~ahri@178.209.40.84)
17:08:40 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
17:10:13 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
17:10:17 × juuandyy quits (~juuandyy@90.106.228.121) (Ping timeout: 256 seconds)
17:11:28 <swarmcollective> Haskell IDE Engine (HIE) and it's newer sibling Haskell Language Server (HLS) assist the IDE with syntax highlighting, etc...
17:11:36 × revprez_stg quits (~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net) (Quit: Lost terminal)
17:13:01 revprez_stg joins (~revprez_s@pool-108-49-213-40.bstnma.fios.verizon.net)
17:13:02 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 258 seconds)
17:15:25 jamm_ joins (~jamm@unaffiliated/jamm)
17:16:18 × xwvvvvwx quits (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Read error: Connection reset by peer)
17:16:45 xwvvvvwx joins (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
17:17:02 × xwvvvvwx quits (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Remote host closed the connection)
17:17:31 <ph88^> kuribas, swarmcollective it's this program https://github.com/wz1000/HieDb
17:18:27 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
17:19:15 xwvvvvwx joins (xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
17:19:17 <swarmcollective> ph88^ thank you.
17:19:56 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 258 seconds)
17:20:29 <ph88^> don't think me, it's wz1000 :P
17:20:32 <ph88^> thank *
17:22:18 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
17:30:27 × jrqc quits (~rofl@96.78.87.197) (Read error: Connection reset by peer)
17:30:48 jrqc joins (~rofl@96.78.87.197)
17:32:36 hiroaki joins (~hiroaki@2a02:908:4b18:8c40::b730)
17:34:44 <shapr> swarmcollective: we use servant at work for a 300,000 line codebase that's a bunch of different webapps
17:35:00 <shapr> I use scotty for my small personal projects, but I'll likely switch to servant
17:35:23 geekosaur joins (82650c7a@130.101.12.122)
17:37:41 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
17:38:05 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
17:38:18 nineonine joins (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313)
17:38:33 × rndmprsn quits (~rndmprsn@c-69-139-47-227.hsd1.fl.comcast.net) (Quit: WeeChat 3.0)
17:39:16 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 240 seconds)
17:39:47 × earldouglas quits (~james@unaffiliated/jamestastic) (Quit: leaving)
17:40:08 × nineonine quits (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection)
17:40:48 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
17:45:22 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 260 seconds)
17:47:24 × zebrag quits (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
17:47:47 zebrag joins (~inkbottle@aaubervilliers-654-1-80-120.w86-212.abo.wanadoo.fr)
17:52:09 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
17:52:34 × midnightmagic quits (~midnightm@185.204.1.185) (Disconnected by services)
17:53:11 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
17:56:37 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
17:58:05 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
17:59:02 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:00:44 dnlkrgr joins (~dnlkrgr@HSI-KBW-046-005-005-235.hsi8.kabel-badenwuerttemberg.de)
18:00:55 pera joins (~pera@unaffiliated/pera)
18:01:36 × conal_ quits (~conal@209.58.135.97) (Ping timeout: 246 seconds)
18:02:32 × Guest12658 quits (~textual@mskresolve-a.mskcc.org) (Quit: Textual IRC Client: www.textualapp.com)
18:02:48 rayyyy joins (~nanoz@gateway/tor-sasl/nanoz)
18:03:14 × j2t quits (~j2t@84.122.202.215.dyn.user.ono.com) (Remote host closed the connection)
18:03:19 Lycurgus joins (~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
18:03:37 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
18:03:40 j2t joins (~j2t@84.122.202.215.dyn.user.ono.com)
18:03:52 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-kqbirvayummddixr)
18:04:01 × Lycurgus quits (~niemand@cpe-45-46-139-165.buffalo.res.rr.com) (Client Quit)
18:04:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
18:05:23 <ij> can I fold/ tuples?
18:05:24 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:05:41 <ij> or iterate over them
18:06:49 <c_wraith> what would the type of that be?
18:07:26 <monochrom> How big is your tuple such that you have to ask?
18:07:51 <ij> c_wraith, in this case, (a,a,a,a). monochrom, not big, fair enough. :)
18:08:01 <ij> I just thought maybe it exists already
18:08:23 <c_wraith> that's not the type of any iteration
18:09:06 <monochrom> You can write your own fold, whatever it means.
18:09:09 <ij> sorry, (a -> a) -> (a,a,a,a) -> a. I was trying to say it would only work for the same typed elements
18:09:13 <ij> monochrom, guess so
18:09:23 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
18:10:25 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
18:10:31 <swarmcollective> shapr, thank you. I will look at servant. Much appreciated.
18:10:51 jungnam joins (~jungnam@s91904426.blix.com)
18:11:18 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:11:30 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
18:13:18 <c_wraith> > foldl1Of' each (+) (1,2,3,4) -- ij, as always, lens can do if only you pay a couple points of sanity
18:13:20 <lambdabot> 10
18:13:57 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 260 seconds)
18:14:15 <ij> I remember seeing something like it in lens, but I think it was called "for" previously or I'm misremembering
18:14:42 × catalin quits (~catalin@82.77.237.60) (Remote host closed the connection)
18:14:55 <hololeap> there was a package that converted to/from (for instance) (a,a,a,a) <-> Finite 4 a (or something like that)
18:15:04 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:15:45 <hololeap> not Finite, but some sort of list with a size tag at the type level...
18:17:21 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Quit: Reconnecting)
18:17:29 comerijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
18:17:56 <hololeap> @hackage indexed-list-literals
18:17:56 <lambdabot> https://hackage.haskell.org/package/indexed-list-literals
18:18:52 <hololeap> not quite how i described it, but close enough
18:20:31 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
18:22:19 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-nvhytycrddduwvdg) (Quit: Connection closed for inactivity)
18:22:19 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
18:22:55 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
18:23:00 × HenryCH quits (~henry@2001:8e0:2003:e600:c06f:2e7d:9fd5:c220) ()
18:24:16 × ahri quits (~ahri@178.209.40.84) (Quit: The Lounge - https://thelounge.chat)
18:24:37 zmagii parts (~zmagii@unaffiliated/zmagii) ("ERC (IRC client for Emacs 26.3)")
18:25:04 ahri joins (~ahri@178.209.40.84)
18:27:38 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
18:29:30 × dolio quits (~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in)
18:29:35 fweht joins (uid404746@gateway/web/irccloud.com/x-wkjpjnsyrlwutlcg)
18:31:26 <fweht> can someone explain to me the wildcard(?) notation in the type signatures from the ramda (js framework) documentation?
18:31:36 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
18:31:41 <monochrom> Wrong channel?
18:31:52 <fweht> whats the difference between a → (* → a) (alawys in ramda) and a -> b -> a (const in haskell)?
18:32:19 <comerijn> That sounds like a question for people involved in that framework?
18:32:19 <c_wraith> who knows? this isn't a ramda channel
18:32:38 <fweht> sorry
18:33:38 usr25 joins (~usr25@unaffiliated/usr25)
18:33:47 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
18:34:18 × thunderrd quits (~thunderrd@183.182.115.7) (Remote host closed the connection)
18:34:19 Alleria joins (~textual@2603-7000-3040-0000-8d65-d0da-7585-2394.res6.spectrum.com)
18:34:21 × raym quits (~ray@45.64.220.139) (Quit: leaving)
18:34:37 raym joins (~ray@45.64.220.139)
18:34:42 Alleria is now known as Guest79099
18:35:27 nineonine joins (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313)
18:36:04 <ij> if I pass a value from an unboxed array to another function it will get boxed (if so, always)? what if I INLINE that function? or is that not easily answerable?
18:36:15 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
18:37:00 × nineonine quits (~nineonine@2604:3d08:7785:9600:acd4:a5be:3be2:2313) (Remote host closed the connection)
18:37:39 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
18:37:53 <monochrom> I think you should invest in learning core, cmm, and asm.
18:38:18 × Heffalump quits (~ganesh@urchin.earth.li) (Remote host closed the connection)
18:38:27 <monochrom> Because -ddump-prep -ddump-opt-cmm -ddump-asm will answer all your questions.
18:38:38 <ij> I know what cmm refers to and I know asm, but not in-depth. What's core?
18:38:58 <ij> I was wondering whether there's some intermediate format I could take a look at.
18:39:08 <comerijn> ij: Core :p
18:39:26 <ij> ok, found it
18:39:43 × ahri quits (~ahri@178.209.40.84) (Quit: The Lounge - https://thelounge.chat)
18:39:57 <monochrom> https://youtu.be/uR_VzYxvbxg is a good start. (But only a start.)
18:40:29 <ij> sounds interesting, I hope I find the time for it
18:40:45 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Ping timeout: 264 seconds)
18:40:46 ahri joins (~ahri@178.209.40.84)
18:40:49 <ij> thank you
18:41:09 × frankdmartinez quits (~frankdmar@138.199.52.84) (Quit: frankdmartinez)
18:42:32 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 260 seconds)
18:43:27 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
18:46:40 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
18:48:15 × LKoen quits (~LKoen@252.248.88.92.rev.sfr.net) (Remote host closed the connection)
18:48:40 <ij> > let deleteGet = alterF (\a -> (a, Nothing)) () in deleteGet (M.fromList [((), 1)])
18:48:41 <lambdabot> error:
18:48:41 <lambdabot> • Variable not in scope:
18:48:41 <lambdabot> alterF :: (a1 -> (a1, Maybe a2)) -> () -> t1
18:48:46 <ij> > let deleteGet = M.alterF (\a -> (a, Nothing)) () in deleteGet (M.fromList [((), 1)])
18:48:48 <lambdabot> (Just 1,fromList [])
18:49:40 × Guest79099 quits (~textual@2603-7000-3040-0000-8d65-d0da-7585-2394.res6.spectrum.com) (Quit: Textual IRC Client: www.textualapp.com)
18:53:09 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
18:53:25 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
18:54:25 × alx741 quits (~alx741@186.178.110.176) (Ping timeout: 240 seconds)
18:54:43 tsrt^ joins (tsrt@ip98-184-89-2.mc.at.cox.net)
18:57:32 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:590a:2ec1:bea5:f083) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:58:57 conal joins (~conal@64.71.133.70)
18:59:04 <ij> :t let deleteGetInt = M.alterF (\a -> (fold $ Sum <$> a, Nothing)); sumKeys = foldMap' deleteGetInt in sumKeys -- what a nice function
18:59:06 <lambdabot> (Foldable t, Num a, Ord k) => t k -> M.Map k a -> (Sum a, M.Map k a)
19:00:47 × raehik1 quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
19:03:28 berberman joins (~berberman@unaffiliated/berberman)
19:03:38 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 264 seconds)
19:03:41 <shapr> Anyone using Haskell to talk to serial ports? I'm curious if serialport is as cross-platform as it claims?
19:08:36 alx741 joins (~alx741@181.196.69.34)
19:09:25 × Rudd0 quits (~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
19:10:07 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
19:10:58 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
19:11:23 <ephemient> not using it, but looking at the source, it supports POSIX (using tty_ioctl) and Windows (GetCommState etc.)
19:11:44 <ephemient> anything else you're concerned about being portable to?
19:14:25 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
19:14:26 <shapr> ephemient: I only need it on Linux and Mac
19:14:37 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 260 seconds)
19:14:45 <shapr> Hopefully POSIX means it'll work on both of those.
19:14:49 <shapr> time to find out!
19:16:41 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
19:17:59 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
19:18:40 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
19:19:47 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
19:22:48 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
19:22:57 Lord_of_Life joins (~Lord@unaffiliated/lord-of-life/x-0885362)
19:24:00 × werneta quits (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
19:24:38 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
19:26:04 acidjnk_new joins (~acidjnk@p200300d0c722c40898344eac4ba1ad37.dip0.t-ipconnect.de)
19:27:17 werneta joins (~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
19:31:28 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 265 seconds)
19:32:16 <comerijn> Or it doesn't work on either, but in slightly different ways! :p
19:32:29 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
19:33:54 justan0theruser joins (~justanoth@unaffiliated/justanotheruser)
19:34:28 kritzefitz joins (~kritzefit@212.86.56.80)
19:36:24 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 258 seconds)
19:39:02 <shapr> I love the new feature in haskell-language-server where it creates a skeleton Show instances for a type, then one more click creates a pattern match for the constructors.
19:39:07 RusAlex joins (~Chel@unaffiliated/rusalex)
19:39:30 <Uniaika> shapr: I would love to be able to trigger that from neovim ;_;
19:39:49 <shapr> I think the same features work from some flavor of vim?
19:40:01 <shapr> I'm not a vim user, I can't help with that :-(
19:40:17 <Uniaika> :)
19:40:19 <shapr> but I know some of my coworkers do use haskell-language-server inside some flavor of vim.
19:41:21 × RusAlex_ quits (~Chel@APN-123-255-118-gprs.simobil.net) (Ping timeout: 246 seconds)
19:45:19 × dandart quits (~Thunderbi@home.dandart.co.uk) (Quit: dandart)
19:46:05 albert_99 joins (~Albert@2a02:8108:1100:16d8:3dd1:7e49:5b8f:1c8d)
19:46:56 gioyik joins (~gioyik@gateway/tor-sasl/gioyik)
19:47:25 quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
19:49:17 dolio joins (~dolio@haskell/developer/dolio)
19:49:58 <ph88^> is there any way to see what is new in a new stackage LTS release ?
19:50:38 × dolio quits (~dolio@haskell/developer/dolio) (Client Quit)
19:51:24 dolio joins (~dolio@haskell/developer/dolio)
19:51:45 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
19:52:15 cheater joins (~user@unaffiliated/cheater)
19:53:56 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds)
19:54:13 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
19:55:05 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Read error: Connection reset by peer)
19:55:35 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
19:58:00 <koz_> maerwald: I had 'ghcup compile ghc -v 8.10.4 -b 8.10.3' blow up on me due to a problem with autoreconf.
19:58:17 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
19:58:17 <koz_> Do you want anything besides the ghcup log?
20:04:00 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
20:06:21 L1Cafe joins (~L1Cafe@kydara.com)
20:07:50 mirrorbird joins (~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d)
20:10:45 × ixaxaar quits (~ixaxaar@49.207.210.215) (Ping timeout: 246 seconds)
20:10:50 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
20:13:44 <ij> ski, tomsmeding, it was indeed a bug in pomaps
20:15:38 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 264 seconds)
20:16:01 <tomsmeding> Fortunately :)
20:16:10 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
20:16:25 <ij> https://github.com/sgraf812/pomaps/issues/3
20:19:22 × geekosaur quits (82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
20:21:04 dandart joins (~Thunderbi@home.dandart.co.uk)
20:22:31 × j2t quits (~j2t@84.122.202.215.dyn.user.ono.com) (Ping timeout: 272 seconds)
20:23:31 Guest_36 joins (5f5d26f2@a95-93-38-242.cpe.netcabo.pt)
20:25:51 × Guest_36 quits (5f5d26f2@a95-93-38-242.cpe.netcabo.pt) (Client Quit)
20:26:19 <tomsmeding> where is the hackagebot announcement :p
20:26:50 <sm[m]> ph88^: isn't there a diff link somewhere on stackage.org ?
20:27:04 <ij> tomsmeding, I haven't seen any today
20:27:27 <sm[m]> it announces when it's in the mood
20:27:52 <tomsmeding> earlier it was quite punctual, but as ij said it's been quiet today
20:28:07 <ph88^> sm[m], eh ye i guess it would be possible to find a diff somewhere .. though not the same as a proper changelog :P
20:29:11 hexagenic joins (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815)
20:29:15 <sm[m]> I don't mean literally a diff, I seem to remember some kind of web page
20:29:56 × rayyyy quits (~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 268 seconds)
20:30:39 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
20:30:55 × L1Cafe quits (~L1Cafe@kydara.com) (Remote host closed the connection)
20:31:19 × dandart quits (~Thunderbi@home.dandart.co.uk) (Quit: dandart)
20:32:27 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Remote host closed the connection)
20:33:22 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
20:33:28 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
20:34:33 L1Cafe joins (~L1Cafe@kydara.com)
20:34:34 abhixec joins (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
20:37:44 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 240 seconds)
20:37:48 Tario joins (~Tario@201.192.165.173)
20:38:06 geekosaur joins (82650c7a@130.101.12.122)
20:39:24 hidedagger joins (~nate@unaffiliated/hidedagger)
20:40:55 francesco_ joins (~francesco@host-82-49-79-189.retail.telecomitalia.it)
20:41:31 × L1Cafe quits (~L1Cafe@kydara.com) (Quit: ZNC 1.8.2 - https://znc.in)
20:41:54 L1Cafe joins (~L1Cafe@kydara.com)
20:41:54 × L1Cafe quits (~L1Cafe@kydara.com) (Excess Flood)
20:42:05 × albert_99 quits (~Albert@2a02:8108:1100:16d8:3dd1:7e49:5b8f:1c8d) (Ping timeout: 246 seconds)
20:42:37 L1Cafe joins (~L1Cafe@kydara.com)
20:43:09 × Franciman quits (~francesco@host-95-235-155-82.retail.telecomitalia.it) (Ping timeout: 264 seconds)
20:44:55 × L1Cafe quits (~L1Cafe@kydara.com) (Excess Flood)
20:45:43 L1Cafe joins (~L1Cafe@kydara.com)
20:45:43 × L1Cafe quits (~L1Cafe@kydara.com) (Excess Flood)
20:47:43 francesco_ is now known as Franciman
20:47:43 L1Cafe joins (~L1Cafe@kydara.com)
20:47:43 × L1Cafe quits (~L1Cafe@kydara.com) (Excess Flood)
20:49:22 albert_99 joins (~Albert@2a02:8108:1100:16d8:3dd1:7e49:5b8f:1c8d)
20:49:41 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Ping timeout (120 seconds))
20:49:44 × natechan quits (~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
20:49:45 × Anandamide quits (49a90352@c-73-169-3-82.hsd1.co.comcast.net) (Quit: Ping timeout (120 seconds))
20:49:57 geekosaur joins (82650c7a@130.101.12.122)
20:51:34 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
20:52:29 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
20:53:59 L1Cafe joins (~L1Cafe@kydara.com)
20:53:59 × L1Cafe quits (~L1Cafe@kydara.com) (Excess Flood)
20:54:55 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
20:56:59 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
20:58:55 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
20:59:26 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 264 seconds)
20:59:45 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
20:59:58 L1Cafe joins (~L1Cafe@kydara.com)
21:05:10 × L1Cafe quits (~L1Cafe@kydara.com) (Excess Flood)
21:06:02 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 264 seconds)
21:07:37 mrArkwright joins (~mrArkwrig@2001:9e8:6068:7900:47d:3ad4:5aa0:1333)
21:07:59 × Sheilong quits (uid293653@gateway/web/irccloud.com/x-pxyeupqbquuvaqlz) ()
21:08:24 × acidjnk_new quits (~acidjnk@p200300d0c722c40898344eac4ba1ad37.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
21:09:11 × mrArkwright quits (~mrArkwrig@2001:9e8:6068:7900:47d:3ad4:5aa0:1333) (Client Quit)
21:10:13 L1Cafe joins (~L1Cafe@kydara.com)
21:10:31 × _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
21:11:05 mrArkwright joins (~mrArkwrig@2001:9e8:6068:7900:47d:3ad4:5aa0:1333)
21:11:37 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
21:12:24 × mrArkwright quits (~mrArkwrig@2001:9e8:6068:7900:47d:3ad4:5aa0:1333) (Client Quit)
21:12:41 × jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
21:13:09 jb55 joins (~jb55@gateway/tor-sasl/jb55)
21:15:05 Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net)
21:15:37 <ij> any theoretical gains I get with POSet (because element deletion works unlike in Set) are negated by the performance of POSet :) well, it was worth a shot
21:15:46 coot joins (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
21:15:50 jamm_ joins (~jamm@unaffiliated/jamm)
21:16:50 × heatsink quits (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de) (Ping timeout: 264 seconds)
21:17:07 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
21:18:14 tachylyte joins (~tachylyte@host86-132-250-227.range86-132.btcentralplus.com)
21:19:11 × omnitrogen quits (~omnitroge@vps-c9700282.vps.ovh.net) (Read error: Connection reset by peer)
21:19:47 jneira joins (501ca940@gateway/web/cgi-irc/kiwiirc.com/ip.80.28.169.64)
21:20:26 × jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
21:20:26 omnitrogen joins (~omnitroge@vps-c9700282.vps.ovh.net)
21:21:16 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 240 seconds)
21:21:56 son0p joins (~son0p@181.136.122.143)
21:22:48 × kuribas quits (~user@ptr-25vy0i7o843onuw1s23.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
21:23:36 × alx741 quits (~alx741@181.196.69.34) (Quit: alx741)
21:23:58 j3r3my joins (~j3r3my@68-73-116-155.lightspeed.rlghnc.sbcglobal.net)
21:25:32 × kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection)
21:26:33 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
21:28:42 machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca)
21:28:58 ep1ctetus joins (~epictetus@ip72-194-215-136.sb.sd.cox.net)
21:30:38 <shapr> ephemient: I got it working https://github.com/shapr/bloohm
21:31:59 <ephemient> 👍
21:32:48 <ephemient> I guess you have to use different device nodes on Linux vs macos (/dev/ttyUSB0 vs /dev/uc.usbserial or something), but that's outside of your program so it's all good :)
21:33:24 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
21:33:28 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 272 seconds)
21:33:34 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
21:35:56 <maerwald> koz_: lemme try
21:36:13 pera joins (~pera@unaffiliated/pera)
21:36:58 <shapr> ephemient: yeah, I'll try this on my work mac tomorrow, see how it goes.
21:37:20 <shapr> The library says the handle interface is experimental, I may need to switch to the stable interface.
21:38:36 <maerwald> koz_: It's at ghc-make stage
21:38:41 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
21:38:42 <maerwald> so I'm suspecting autoconft succeeded?
21:39:53 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
21:40:43 <koz_> maerwald: https://paste.tomsmeding.com/BpTZCJpJ <-- short part
21:40:48 <koz_> I'll beam you the whole log momentarily.
21:42:35 <koz_> What's a good way to get you the whole ghc-make.log?
21:42:38 <koz_> It's too big for a paste.
21:43:09 <Uniaika> koz_: gist it?
21:43:17 <Uniaika> you can upload a file directly
21:43:53 <koz_> maerwald: https://gist.github.com/kozross/9b5dd81a461ab5cae818b83e4853c14c
21:44:15 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
21:44:28 conal joins (~conal@64.71.133.70)
21:46:33 <tomsmeding> koz_: sorry for the paste limit lol the VPS has a small disk
21:46:50 <koz_> tomsmeding: No need to apologize.
21:47:10 <koz_> I understand that there's no cloud, only other people's computers, and someone's gotta pay for them.
21:47:46 <tomsmeding> <3
21:49:10 × L1Cafe quits (~L1Cafe@kydara.com) (Remote host closed the connection)
21:49:28 kam1 joins (~kam1@5.126.18.81)
21:50:57 × comerijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
21:51:15 × coot quits (~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
21:53:28 L1Cafe joins (~L1Cafe@kydara.com)
21:54:34 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
21:56:06 elliott__ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
21:57:09 × dolio quits (~dolio@haskell/developer/dolio) (Ping timeout: 246 seconds)
21:57:30 × xelxebar quits (~xelxebar@gateway/tor-sasl/xelxebar) (Ping timeout: 268 seconds)
21:58:58 xelxebar joins (~xelxebar@gateway/tor-sasl/xelxebar)
21:59:38 × L1Cafe quits (~L1Cafe@kydara.com) (Remote host closed the connection)
21:59:54 fosterite joins (~fosterite@2600:6c46:7800:fecf:28ef:874a:4030:fb98)
22:01:09 × Lowl3v3l quits (~Lowl3v3l@dslb-002-203-233-121.002.203.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
22:01:24 L1Cafe joins (~L1Cafe@kydara.com)
22:01:56 dolio joins (~dolio@haskell/developer/dolio)
22:02:13 heatsink joins (~heatsink@2600:1700:bef1:5e10:d1:9147:9730:b8de)
22:05:12 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
22:05:14 Rudd0 joins (~Rudd0@185.189.115.103)
22:05:48 × jollygood2 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
22:05:51 × albert_99 quits (~Albert@2a02:8108:1100:16d8:3dd1:7e49:5b8f:1c8d) (Quit: WeeChat 3.0)
22:09:21 × fweht quits (uid404746@gateway/web/irccloud.com/x-wkjpjnsyrlwutlcg) (Quit: Connection closed for inactivity)
22:09:38 × hexagenic quits (~mattias@2001:2002:51e0:74c9:5098:c4b6:1b73:7815) (Quit: WeeChat 1.9.1)
22:10:36 × geekosaur quits (82650c7a@130.101.12.122) (Quit: Connection closed)
22:10:38 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
22:11:42 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
22:13:00 × L1Cafe quits (~L1Cafe@kydara.com) (Quit: ZNC 1.8.2 - https://znc.in)
22:14:06 × j3r3my quits (~j3r3my@68-73-116-155.lightspeed.rlghnc.sbcglobal.net) (Read error: Connection reset by peer)
22:15:47 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
22:16:57 × cgadski quits (~cgadski@a95-95-106-208.cpe.netcabo.pt) (Remote host closed the connection)
22:17:39 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Quit: WeeChat 3.0)
22:17:44 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
22:20:00 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
22:20:23 <justsomeguy> Sometime I see the phrase "algebra" used to describe typeclasses, and I'm a little confused by it. Does an algebra mean a single operation and the set it operates on, or a collection of operations and the set they operate on? Also, do algebras need to conform to laws (or properties), or is that not a requirement to call something an algebra?
22:20:56 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
22:21:34 justsomeguy tried reading about it on wikipedia but the math jargon only confused him more.
22:22:07 × mirrorbird quits (~psutcliff@2a00:801:2d5:848b:590:cf4f:5eeb:b49d) (Ping timeout: 272 seconds)
22:23:08 cgadski joins (~cgadski@a95-95-106-208.cpe.netcabo.pt)
22:23:31 <pjb> justsomeguy: https://en.wikipedia.org/wiki/Algebra_(disambiguation)#Mathematical_structures
22:23:45 × ezrakilty quits (~ezrakilty@75-172-120-225.tukw.qwest.net) (Remote host closed the connection)
22:24:19 × Franciman quits (~francesco@host-82-49-79-189.retail.telecomitalia.it) (Quit: Leaving)
22:24:35 ph88 joins (~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1)
22:24:44 <pjb> justsomeguy: the number of operation will depend on the type of algebra on you type of values.
22:25:28 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
22:25:59 <pjb> justsomeguy: of course, you're not limitd to the structure that have been defined so far by mathematicians. Basically any set of operation on your types can be defined as AN algebra…
22:27:05 × ph88^ quits (~ph88@ip5f5af71a.dynamic.kabel-deutschland.de) (Ping timeout: 240 seconds)
22:27:50 andrybak joins (andrybak@gateway/vpn/privateinternetaccess/andrybak)
22:32:21 × minoru_shiraeesh quits (~shiraeesh@109.166.58.206) (Ping timeout: 264 seconds)
22:34:44 × fosterite quits (~fosterite@2600:6c46:7800:fecf:28ef:874a:4030:fb98) ()
22:38:05 irchaxwell joins (~IRC@2a00:23a8:4382:a900:f9c3:321f:529e:146d)
22:38:38 × son0p quits (~son0p@181.136.122.143) (Quit: Lost terminal)
22:38:42 <justsomeguy> I guess I became confused when reading that there are multiple instances of Semigroup for the Sum and Product operations.
22:42:18 livvy joins (~livvy@88.97.23.37)
22:42:29 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
22:42:56 × RusAlex quits (~Chel@unaffiliated/rusalex) (Read error: Connection reset by peer)
22:44:18 elliott_ joins (~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
22:44:26 RusAlex joins (~Chel@unaffiliated/rusalex)
22:44:32 ezrakilty joins (~ezrakilty@75-172-120-225.tukw.qwest.net)
22:50:28 × livvy quits (~livvy@88.97.23.37) (Quit: leaving)
22:50:47 × irchaxwell quits (~IRC@2a00:23a8:4382:a900:f9c3:321f:529e:146d) (Quit: Leaving)
22:50:50 ArsenArsen joins (~Arsen@fsf/member/ArsenArsen)
22:52:16 × ArsenArsen quits (~Arsen@fsf/member/ArsenArsen) (Remote host closed the connection)
22:52:44 ArsenArsen joins (~Arsen@fsf/member/ArsenArsen)
22:52:46 × ArsenArsen quits (~Arsen@fsf/member/ArsenArsen) (Remote host closed the connection)
22:55:24 ArsenArsen joins (~Arsen@fsf/member/ArsenArsen)
22:55:46 × ArsenArsen quits (~Arsen@fsf/member/ArsenArsen) (Remote host closed the connection)
22:56:16 ArsenArsen joins (~Arsen@fsf/member/ArsenArsen)
22:58:32 <polyphem> justsomeguy: There are multiple possibilities to define Semigroup over Ints so there is Sum and Product to capture these.
22:59:44 livvy joins (~livvy@88.97.23.37)
23:00:08 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
23:00:43 × notzmv quits (~user@unaffiliated/zmv) (Remote host closed the connection)
23:00:56 × hiroaki quits (~hiroaki@2a02:908:4b18:8c40::b730) (Ping timeout: 240 seconds)
23:02:56 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
23:03:08 notzmv joins (~user@unaffiliated/zmv)
23:04:19 minoru_shiraeesh joins (~shiraeesh@109.166.58.206)
23:04:37 × juri_ quits (~juri@178.63.35.222) (Ping timeout: 265 seconds)
23:04:45 × pera quits (~pera@unaffiliated/pera) (Ping timeout: 264 seconds)
23:05:31 kish` joins (~oracle@gateway/tor-sasl/oracle)
23:05:32 × notzmv quits (~user@unaffiliated/zmv) (Remote host closed the connection)
23:06:24 notzmv joins (~user@unaffiliated/zmv)
23:07:26 × mouseghost quits (~draco@wikipedia/desperek) (Quit: mew wew)
23:07:55 <koz_> In many cases you can define Semigroup in several ways, all of which abide by its law.
23:07:59 × hidedagger quits (~nate@unaffiliated/hidedagger) (Quit: WeeChat 3.0)
23:08:07 <koz_> Associative operations in general tend not to be unique for most interesting types.
23:08:11 <koz_> (even Bool has like, four)
23:10:17 × notzmv quits (~user@unaffiliated/zmv) (Remote host closed the connection)
23:12:41 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:13:36 × fendor quits (~fendor@77.119.128.41.wireless.dyn.drei.com) (Remote host closed the connection)
23:14:17 × elliott_ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Quit: WeeChat 3.0)
23:14:57 notzmv joins (~user@unaffiliated/zmv)
23:15:53 <edwardk> if you just want associativity there should be a lot more, it's when you want associativity and a unit, no?
23:17:24 <koz_> edwardk: OK yeah, it's more than four.
23:17:25 × Natch quits (~Natch@c-b471e255.014-297-73746f25.bbcust.telenor.se) (Ping timeout: 240 seconds)
23:17:40 <ephemient> that would be Monoid?
23:18:00 <edwardk> yeah
23:18:43 <edwardk> @let op f x y = testBit f (fromEnum x*2 + fromEnum x)
23:18:45 <lambdabot> Defined.
23:18:58 <edwardk> @let assoc (op -> f) = and [f x (f y z) == f (f x y) z|x<-b,y<-b,z<-b] where b = [False,True]
23:18:59 <lambdabot> .L.hs:163:8: error:
23:18:59 <lambdabot> Ambiguous occurrence ‘op’
23:18:59 <lambdabot> It could refer to
23:19:17 <edwardk> @let oper f x y = testBit f (fromEnum x*2 + fromEnum x)
23:19:18 <lambdabot> Defined.
23:19:22 <edwardk> @let assoc (oper -> f) = and [f x (f y z) == f (f x y) z|x<-b,y<-b,z<-b] where b = [False,True]
23:19:23 <lambdabot> Defined.
23:19:33 <edwardk> > length $ filter assoc [0..15]
23:19:35 <lambdabot> 12
23:26:41 Lycurgus joins (~niemand@cpe-45-46-139-165.buffalo.res.rr.com)
23:27:16 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
23:28:29 hexfive joins (~hexfive@50.35.83.177)
23:28:45 pavonia joins (~user@unaffiliated/siracusa)
23:30:16 conal joins (~conal@64.71.133.70)
23:31:33 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:32:55 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
23:33:03 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:36:05 nineonine joins (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e)
23:36:51 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
23:37:12 × abhixec quits (~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
23:37:16 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
23:38:10 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:39:57 jamm_ joins (~jamm@unaffiliated/jamm)
23:40:35 × nineonine quits (~nineonine@2604:3d08:7785:9600:b847:1240:2a37:515e) (Ping timeout: 258 seconds)
23:41:49 conal_ joins (~conal@64.71.133.70)
23:42:01 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 272 seconds)
23:45:28 × ph88 quits (~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1) (Remote host closed the connection)
23:45:47 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
23:45:56 ph88 joins (~ph88@2a02:8109:9e00:7e5c:4da6:ad42:6417:64a1)
23:47:33 Natch joins (~Natch@c-b471e255.014-297-73746f25.bbcust.telenor.se)
23:55:07 × conal_ quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:56:57 × elliott__ quits (~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
23:57:31 × johnw quits (~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
23:59:30 <koz_> Yep, that looks about right.
23:59:55 <polyphem> edwardk: what about the y in oper ??

All times are in UTC on 2021-02-07.