2020/10/04

2020-10-04 00:01:15 +0200Rudd0(~Rudd0@185.189.115.103)
2020-10-04 00:01:27 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-10-04 00:04:25 +0200m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds)
2020-10-04 00:08:27 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:81f1:ca65:c0dc:8656)
2020-10-04 00:11:23 +0200materialfuture[m(materialfu@gateway/shell/matrix.org/x-npxsmoygxswgzvnn)
2020-10-04 00:13:38 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-04 00:17:31 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:81f1:ca65:c0dc:8656) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 00:18:58 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection)
2020-10-04 00:19:27 +0200hackagepolysemy-http 0.3.0.0 - Polysemy effect for http-client https://hackage.haskell.org/package/polysemy-http-0.3.0.0 (tek)
2020-10-04 00:20:38 +0200aveltras(~user@2a01:cb16:203c:6c2d:a498:f2b7:b329:ae47)
2020-10-04 00:24:48 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 260 seconds)
2020-10-04 00:25:59 +0200aveltras(~user@2a01:cb16:203c:6c2d:a498:f2b7:b329:ae47) (Remote host closed the connection)
2020-10-04 00:26:02 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-04 00:28:15 +0200isovector1(~isovector@172.103.216.166) (Quit: Leaving)
2020-10-04 00:28:18 +0200shafox(~shafox@106.51.234.111) (Remote host closed the connection)
2020-10-04 00:28:43 +0200nineonine(~nineonine@216.81.48.202)
2020-10-04 00:29:43 +0200irc_user(uid423822@gateway/web/irccloud.com/x-qmbsqpmesujkhtzf)
2020-10-04 00:31:04 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 00:32:27 +0200alp(~alp@2a01:e0a:58b:4920:d804:7750:2986:4170)
2020-10-04 00:32:27 +0200hackagecurl-runnings 0.16.0 - A framework for declaratively writing curl based API tests https://hackage.haskell.org/package/curl-runnings-0.16.0 (aviaviavi)
2020-10-04 00:35:25 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-04 00:35:57 +0200 <MarcelineVQ> that is beyond dad-tier punnery
2020-10-04 00:39:45 +0200 <hpc> that is up there with acme-schoenfinkel for sure
2020-10-04 00:40:34 +0200oisdk(~oisdk@2001:bb6:3329:d100:90dd:27e0:f28c:37bd)
2020-10-04 00:40:55 +0200 <hpc> hasslich = unschoen is still my all-time favorite programming joke
2020-10-04 00:41:21 +0200 <hpc> it's so simple, but it's got so much prerequisite knowledge too
2020-10-04 00:43:44 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Quit: Leaving)
2020-10-04 00:45:55 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 240 seconds)
2020-10-04 00:50:42 +0200 <MarcelineVQ> roughly 100% prerequisite knowlege
2020-10-04 00:52:10 +0200 <koz_> @hoogle Env
2020-10-04 00:52:11 +0200 <lambdabot> module System.Posix.Env
2020-10-04 00:52:11 +0200 <lambdabot> module Control.Comonad.Env
2020-10-04 00:52:11 +0200 <lambdabot> Control.Comonad.Env type Env e = EnvT e Identity
2020-10-04 00:52:19 +0200 <MarcelineVQ> like explaining an isomorphism just by naming your functions finkle and einhorn
2020-10-04 00:52:37 +0200 <koz_> MarcelineVQ: That causes _physical_ pain.
2020-10-04 00:52:47 +0200 <koz_> @hoogle Alt
2020-10-04 00:52:48 +0200 <lambdabot> Data.Monoid newtype Alt f a
2020-10-04 00:52:48 +0200 <lambdabot> Data.Monoid Alt :: f a -> Alt f a
2020-10-04 00:52:48 +0200 <lambdabot> Language.Haskell.Exts.Syntax data Alt l
2020-10-04 00:53:08 +0200 <MarcelineVQ> @hoogle Arg
2020-10-04 00:53:09 +0200 <lambdabot> Data.Semigroup data Arg a b
2020-10-04 00:53:09 +0200 <lambdabot> Data.Semigroup Arg :: a -> b -> Arg a b
2020-10-04 00:53:09 +0200 <lambdabot> Test.Hspec type family Arg e :: Type
2020-10-04 00:53:11 +0200lagothrix(~lagothrix@unaffiliated/lagothrix) (Read error: Connection reset by peer)
2020-10-04 00:53:17 +0200xirhtogal(~lagothrix@unaffiliated/lagothrix)
2020-10-04 00:53:18 +0200xirhtogallagothrix
2020-10-04 00:54:19 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 00:55:33 +0200 <koz_> MarcelineVQ: Wait, what's Arg from Data.Semigroup meant to be?
2020-10-04 00:56:36 +0200 <MarcelineVQ> ArgMin/ArgMax
2020-10-04 00:56:49 +0200 <MarcelineVQ> https://hackage.haskell.org/package/base-4.14.0.0/docs/Data-Semigroup.html#t:Arg
2020-10-04 00:57:28 +0200Ariakenom(~Ariakenom@h-155-4-221-50.NA.cust.bahnhof.se) (Read error: Connection reset by peer)
2020-10-04 00:59:13 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 256 seconds)
2020-10-04 01:00:22 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-04 01:00:39 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-04 01:00:39 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-04 01:00:39 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 01:01:38 +0200shatriff(~vitaliish@78.111.190.146)
2020-10-04 01:05:57 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-10-04 01:18:32 +0200shatriff(~vitaliish@78.111.190.146) (Remote host closed the connection)
2020-10-04 01:18:45 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-04 01:24:52 +0200ryansmccoy(~ryansmcco@193.37.254.27) (Ping timeout: 272 seconds)
2020-10-04 01:24:56 +0200mitchellsalad(uid40617@gateway/web/irccloud.com/x-yibkddeecqmzocfr) (Quit: Connection closed for inactivity)
2020-10-04 01:25:27 +0200ryansmccoy(~ryansmcco@68.235.48.108)
2020-10-04 01:26:50 +0200OmegaDoug(8e749d03@lnsm3-torontoxn-142-116-157-3.internet.virginmobile.ca)
2020-10-04 01:28:53 +0200underlifE(~underlife@31.170.22.3) (Quit: Leaving)
2020-10-04 01:30:24 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-04 01:32:05 +0200 <OmegaDoug> Hi. I want to model the Coinbase API and one of the keys is called "type". When I try to make a record with a key called "type" I get a parse error but "type1" works. What's the idiomatic way to model and serialize the data so I pass a key called "type" to Coinbase using Aeson?
2020-10-04 01:33:09 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:683c:11e3:ba18:6adc)
2020-10-04 01:34:55 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Ping timeout: 240 seconds)
2020-10-04 01:34:55 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 240 seconds)
2020-10-04 01:38:47 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-04 01:39:13 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds)
2020-10-04 01:40:41 +0200oisdk(~oisdk@2001:bb6:3329:d100:90dd:27e0:f28c:37bd) (Quit: oisdk)
2020-10-04 01:41:28 +0200 <dsal> You can name the field anything you want. I'd probably not name it type just because there may be more than one thing called type anyway, so maybe a name that has something to do with what it's the type of.
2020-10-04 01:44:37 +0200 <OmegaDoug> dsal, this is Coinbase's api, so I have no choice but to use the key names that they specify. So if I use the name _type it gets serialized as _type, and not type. I suppose what I need to do is name the field as _type and (de)serialize to/from "type". Do you know the best way to do that?
2020-10-04 01:45:49 +0200 <dsal> You can name it whatever you want and add field manipulation in your FromJSON instance.
2020-10-04 01:46:41 +0200vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-10-04 01:46:45 +0200 <dsal> e.g., instance FromJSON YourThing where parseJSON = genericParseJSON jsonOpts{ fieldLabelModifier = dropWhile '_'
2020-10-04 01:46:51 +0200 <dsal> Something like that. And then a }
2020-10-04 01:47:52 +0200ft(~ft@shell.chaostreff-dortmund.de) (Ping timeout: 260 seconds)
2020-10-04 01:48:05 +0200 <OmegaDoug> dsal, thanks. I was looking for a concise solution. The other solutions I found online had a lot more code involved. I'll give that a try.
2020-10-04 01:48:44 +0200 <dsal> fieldLabelModifier is a simple function that rewrites your field name to match a JSON field. You can do lots of things there pretty easily.
2020-10-04 01:48:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-04 01:50:57 +0200finkata(~dpetrov@83.222.188.39) (Read error: Connection reset by peer)
2020-10-04 01:54:12 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:683c:11e3:ba18:6adc) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 01:56:02 +0200d34df00d(~d34df00d@104-14-27-213.lightspeed.austtx.sbcglobal.net)
2020-10-04 01:56:04 +0200 <d34df00d> Hi!
2020-10-04 01:57:22 +0200 <d34df00d> I want to parse an XML file and fold over the values of some of the nodes. Is there anything that'd stream the file as well?
2020-10-04 01:57:32 +0200 <d34df00d> I wrote something with hxt, but it seems to load the whole file in memory.
2020-10-04 01:59:26 +0200 <dsal> I used xeno a while back. It was pretty easy.
2020-10-04 01:59:29 +0200 <d34df00d> Namely, I wrote this, and, judging by memory consumption, it indeed loads the whole file:
2020-10-04 01:59:34 +0200 <d34df00d> https://bpaste.net/RVMA
2020-10-04 01:59:47 +0200 <d34df00d> dsal: thanks! Never used (or even heard about) xeno before, will look at ti!
2020-10-04 02:00:02 +0200kers(~kers@185.204.1.185) ()
2020-10-04 02:00:28 +0200 <dsal> I don't have to deal with xml very much, so I don't know what's best, but that worked well for me. :)
2020-10-04 02:00:52 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-10-04 02:01:18 +0200 <d34df00d> Yeah, same here. Last time I had to parse XML before was... well, I don't even remember!
2020-10-04 02:01:39 +0200jedii(~g@209.6.150.53)
2020-10-04 02:01:49 +0200 <jedii> anyoine using happstack.com? looks sick
2020-10-04 02:02:04 +0200jedii(~g@209.6.150.53) (Quit: leaving)
2020-10-04 02:05:41 +0200 <d34df00d> Dang, Xeno.SAX is strict on the bytestrings.
2020-10-04 02:06:31 +0200 <dsal> I wasn't using it for anything big.
2020-10-04 02:06:36 +0200 <d34df00d> …but there's bytestring-mmap!
2020-10-04 02:07:00 +0200borne(~fritjof@200116b864ada80007933c164a08810c.dip.versatel-1u1.de)
2020-10-04 02:10:25 +0200ft(~ft@shell.chaostreff-dortmund.de)
2020-10-04 02:11:23 +0200livvy(~livvy@gateway/tor-sasl/livvy) (Ping timeout: 240 seconds)
2020-10-04 02:16:30 +0200conal(~conal@66.115.157.94)
2020-10-04 02:16:38 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
2020-10-04 02:16:52 +0200 <cohn> hi, how do I create a minimal .cabal file for experimenting?
2020-10-04 02:17:50 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 02:18:38 +0200jedws(~jedws@121.209.139.222)
2020-10-04 02:18:55 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 240 seconds)
2020-10-04 02:20:13 +0200jgt(~jgt@188.239.64.32) (Ping timeout: 265 seconds)
2020-10-04 02:20:35 +0200 <OmegaDoug> Aeson fieldLabelModifier doesn't seem to get applied to by data type. I can't see what I'm doing which is different from any online example. I'm wondering if I could get a second set of eyes: https://gist.github.com/DouglasBrunner/5bf94447f57db989f9df5b6682a7fdf6
2020-10-04 02:24:02 +0200fendor__(~fendor@178.165.130.169.wireless.dyn.drei.com)
2020-10-04 02:24:39 +0200 <dsal> cohn: I just use stack, tbh. But stack will make your cabal file for you.
2020-10-04 02:25:16 +0200 <dsal> OmegaDoug: Why would you expect the latter?
2020-10-04 02:25:42 +0200 <dsal> Er, *not* expect the latter. I think you're looking at different things.
2020-10-04 02:26:36 +0200fendor_(~fendor@91.141.0.198.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2020-10-04 02:26:37 +0200 <OmegaDoug> dsal, I think I'm making a simple mistake and didn't encode it.
2020-10-04 02:26:53 +0200 <OmegaDoug> I think I'm just printing the output directly.
2020-10-04 02:27:15 +0200 <dsal> You're using the Show instance, which isn't related to JSON (it's not even valid JSON).
2020-10-04 02:27:17 +0200 <OmegaDoug> printing the type as serialized by Show, not as serialized by Aeson
2020-10-04 02:27:29 +0200 <OmegaDoug> Yeah, you beat me to it. ;)
2020-10-04 02:27:50 +0200 <dsal> But you also don't want "drop 1" here.
2020-10-04 02:28:03 +0200ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2020-10-04 02:28:13 +0200hiroaki(~hiroaki@ip4d176049.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2020-10-04 02:28:23 +0200 <dsal> `dropWhile (== '_')` would be safer, unless you prefix all your fields with `_` (which is common in lens code, anyway)
2020-10-04 02:29:36 +0200 <OmegaDoug> I agree 100%. But when I was mistakenly using "Show" instead of "toJson" I wanted to use a function which should have been guaranteed to work. I'll switch back to dropWhile once I have it working.
2020-10-04 02:30:01 +0200ech(~user@gateway/tor-sasl/ech)
2020-10-04 02:30:22 +0200mozzarella(~sam@unaffiliated/sam113101) (Ping timeout: 265 seconds)
2020-10-04 02:30:27 +0200hackageimmortal-worker 0.1.0.0 - Create worker threads that logs exceptions and restarts. https://hackage.haskell.org/package/immortal-worker-0.1.0.0 (NCrashed)
2020-10-04 02:31:16 +0200 <OmegaDoug> dsal, it's working perfectly now. Thanks for the help.
2020-10-04 02:31:51 +0200 <dsal> Yeah. I've spent a bunch of time in weird bits of aeson
2020-10-04 02:32:34 +0200carlomagno1(~cararell@inet-hqmc02-o.oracle.com) (Ping timeout: 256 seconds)
2020-10-04 02:32:41 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 02:34:05 +0200mozzarella(~sam@unaffiliated/sam113101)
2020-10-04 02:36:57 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-04 02:37:53 +0200 <d34df00d> dsal: yeah, xeno is super fast, modulo a space leak in their `fold` abstraction.
2020-10-04 02:38:00 +0200 <d34df00d> (modify instead of modify'? srsly?)
2020-10-04 02:38:08 +0200 <d34df00d> Thanks for pointing me to that!
2020-10-04 02:38:14 +0200 <OmegaDoug> I was looking through https://artyom.me/aeson and it's a library with a large surface area. I'll be curious to see how it is to work with compared with some of the JSON libraries I regularly use at work going forward.
2020-10-04 02:38:29 +0200 <dsal> d34df00d: Cool. Yeah, nobody uses xml, so it's not surprising it has bad parts. heh
2020-10-04 02:39:21 +0200 <OmegaDoug> We use XML a fair bit. We favour JSON, but XML is hard to escape.
2020-10-04 02:39:33 +0200 <dsal> &lt;
2020-10-04 02:40:24 +0200 <dsal> aeson + lens is pretty magical. Advent of code 2015 had a problem where you had to calculate the sum of all of the numbers in an arbitrary xml document. It's like, 40 characters of code.
2020-10-04 02:42:19 +0200lemmih_(~lemmih@218.186.157.57)
2020-10-04 02:42:25 +0200ddellacosta(~dd@86.106.121.168) (Ping timeout: 240 seconds)
2020-10-04 02:44:25 +0200lemmih(~lemmih@2406:3003:2072:44:640b:57cc:705a:e759) (Ping timeout: 240 seconds)
2020-10-04 02:45:03 +0200 <cohn> dsal: I'm just trying to make a sandbox. Looks like I can just run `stack init` but I don't see where to plug in the package names I want to use in stack.yaml
2020-10-04 02:45:43 +0200 <dsal> Oh. Now I'm curious how you've been building stuff. heh
2020-10-04 02:46:26 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 02:47:02 +0200 <dsal> cohn: I have a template I use when starting projects. Here's an example of what that might look like: stack new awesomeproject https://gist.githubusercontent.com/dustin/e1a519e6d699ceb04c7542afe0282d56/raw/8066c389ff14799bddb…
2020-10-04 02:47:17 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:9dc0:c910:ee4d:fcdf)
2020-10-04 02:47:35 +0200 <dsal> (that's my default template, so I just do 'stack new awesomeproject' and start running stuff)
2020-10-04 02:47:48 +0200 <cohn> nice! thanks
2020-10-04 02:47:52 +0200 <dsal> Packages don't go in stack.yaml, but in package.yaml
2020-10-04 02:48:15 +0200 <dsal> I don't have a lot of default deps other than for tests.
2020-10-04 02:48:18 +0200 <cohn> I created a package.yaml but when I run `stack ghci`, it doesn't install anything
2020-10-04 02:48:51 +0200 <dsal> It shouldn't "install" anything. It's going to grab deps for whatever it's making a repl for.
2020-10-04 02:48:56 +0200 <dsal> e.g. try that in this project: https://github.com/dustin/gopro/blob/master/package.yaml :)
2020-10-04 02:49:02 +0200 <cohn> ok
2020-10-04 02:49:03 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:9dc0:c910:ee4d:fcdf) (Client Quit)
2020-10-04 02:49:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 02:49:51 +0200 <dsal> (don't actually try that in that project -- it uses half of hackage)
2020-10-04 02:50:07 +0200 <cohn> yea, I noticed... yeesh! :D
2020-10-04 02:51:20 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-10-04 02:51:28 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7c32:dfd5:ea25:990f)
2020-10-04 02:52:58 +0200 <cohn> hmm. still nothing.
2020-10-04 02:53:55 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-04 02:54:35 +0200 <cohn> ah, fixed it! I had to comment out the "packages: []" line in stack.yaml
2020-10-04 02:55:11 +0200 <cohn> suhweeeet
2020-10-04 02:56:01 +0200shortdudey1231(~shortdude@178.162.204.214)
2020-10-04 02:56:28 +0200 <cohn> dsal: thanks yet again! You should probably start charging for support. hehe
2020-10-04 02:56:47 +0200xff0x(~fox@2001:1a81:528f:c400:e801:3cdf:9d3a:43d8) (Ping timeout: 260 seconds)
2020-10-04 02:57:37 +0200xff0x(~fox@2001:1a81:528f:c400:e12b:e4ce:eff2:a3d5)
2020-10-04 03:01:03 +0200quazimodo(~quazimodo@60-240-169-126.static.tpgi.com.au)
2020-10-04 03:01:21 +0200 <quazimodo> sorry for o/t, is there an ocaml channel on freenode?
2020-10-04 03:02:38 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-04 03:02:49 +0200 <cohn> quazimodo: /join #ocaml seems to be an actual OCaml channel
2020-10-04 03:02:54 +0200quazimodo(~quazimodo@60-240-169-126.static.tpgi.com.au) (Client Quit)
2020-10-04 03:05:08 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 03:07:01 +0200zoom66(44beb1c9@068-190-177-201.res.spectrum.com)
2020-10-04 03:07:38 +0200carlomagno(~cararell@inet-hqmc02-o.oracle.com)
2020-10-04 03:08:05 +0200 <zoom66> Question regarding polymorphic type associated with Num typeclass
2020-10-04 03:08:22 +0200 <zoom66> Each of the following three funcs simply return the value passed to them:
2020-10-04 03:08:25 +0200 <zoom66> retNum:: (Num a) => a -> a ; retNum x = x
2020-10-04 03:08:29 +0200 <zoom66> retInt :: Int -> Int ; retInt x = x
2020-10-04 03:08:33 +0200 <zoom66> retInteger :: Integer -> Integer ; retInteger x = x
2020-10-04 03:08:38 +0200 <zoom66> if in GHCI I do retInt (retNum 10000000000000000000), I get an Int out of range warning, which is expected
2020-10-04 03:08:42 +0200 <zoom66> however, if I do z = retNum 10000000000000000000
2020-10-04 03:08:50 +0200 <zoom66> and then retInt z, I get an Int value which has wrapped since 'z' is too large for an Int to hold
2020-10-04 03:09:46 +0200 <zoom66> retInt z displays -8446744073709551616
2020-10-04 03:10:16 +0200 <zoom66> i'm a noob and trying to understand what bounding var checking I should be expecting, if any
2020-10-04 03:10:31 +0200alp(~alp@2a01:e0a:58b:4920:d804:7750:2986:4170) (Ping timeout: 272 seconds)
2020-10-04 03:10:58 +0200 <zoom66> naturally if I do retInteger z, I get the correct value
2020-10-04 03:12:07 +0200 <dolio> Where are you doing the second thing?
2020-10-04 03:12:16 +0200 <zoom66> ghci
2020-10-04 03:12:39 +0200 <dolio> Well, z is probably a polymorphic value.
2020-10-04 03:12:54 +0200 <dolio> Then retInt is instantiating it to Int.
2020-10-04 03:13:10 +0200 <zoom66> so is there no type bounds checking for retInt?
2020-10-04 03:13:19 +0200 <dolio> The warning only happens when you use a literal at a type known to be Int, I think.
2020-10-04 03:13:44 +0200toorevitimirp(~tooreviti@117.182.181.38)
2020-10-04 03:14:02 +0200 <zoom66> it's basically just truncating the value to an Int. is that typical for a polymorphic type of Num typeclass?
2020-10-04 03:14:11 +0200solonarv(~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) (Ping timeout: 240 seconds)
2020-10-04 03:14:19 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-10-04 03:15:50 +0200 <zoom66> ok, just tried it in compiled code and the z = retNum 10000000000000000000 generates the -Woverflowed-literals warning
2020-10-04 03:15:53 +0200 <dolio> Numeric literals just wrap around on the finite integer types in base.
2020-10-04 03:16:12 +0200 <zoom66> i don't get the warning doing the same statement interactively in ghci
2020-10-04 03:16:17 +0200 <dolio> Because the `fromInteger` function wraps around.
2020-10-04 03:17:06 +0200 <dolio> Well, in the compiled code, it will probably be trying to find a monomorphic type for `z`, and it will see that it needs to be `Int`.
2020-10-04 03:17:27 +0200 <dolio> Which means that the literal's type is Int, and then it can warn.
2020-10-04 03:17:44 +0200 <dolio> When you're doing it in GHCi, the literal's type is `forall a. Num a => a`.
2020-10-04 03:17:59 +0200 <zoom66> so when constructing real-world logic, if there's ever a function that may exceed the bounds of Int, I guess I can't guess a polymorphic type variable?
2020-10-04 03:18:03 +0200 <dolio> Because it's doing things line-by-line.
2020-10-04 03:18:26 +0200 <dolio> So if it didn't leave it polymorphic, you wouldn't be able to use it at arbitrary other types later.
2020-10-04 03:18:35 +0200 <zoom66> ok, got it
2020-10-04 03:18:59 +0200 <zoom66> what if I have two Int that are polymorphic and do an operation where the result exceeds Int. Does it just wrap?
2020-10-04 03:19:25 +0200 <dolio> Yes. There are packages with other Int types that will throw exceptions, though.
2020-10-04 03:19:53 +0200 <zoom66> great, thanks
2020-10-04 03:21:40 +0200OmegaDoug(8e749d03@lnsm3-torontoxn-142-116-157-3.internet.virginmobile.ca) (Remote host closed the connection)
2020-10-04 03:22:01 +0200mozzarella(~sam@unaffiliated/sam113101) (Ping timeout: 256 seconds)
2020-10-04 03:22:25 +0200raehik1(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
2020-10-04 03:24:02 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-04 03:24:13 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 03:24:13 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 03:24:13 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 03:27:10 +0200 <Squarism> I used to know why this was a bad idea but I've been away from haskell to long.
2020-10-04 03:27:17 +0200jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-10-04 03:27:21 +0200 <Squarism> I want to create a function returning a generic interface. foo :: Int -> SomeGenericInterface. So I think classes + instance is the thing. So foo :: Int -> SomeClass a. But then I need to provide "a" at invokation. Is the right answer to create a datatype (unparamterized) SomeType with accessors for funktions I want in this generic interface? Classes are just usefule when working with a known type.
2020-10-04 03:27:54 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 03:28:25 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-04 03:28:32 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
2020-10-04 03:28:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 03:29:19 +0200jb55(~jb55@gateway/tor-sasl/jb55)
2020-10-04 03:32:01 +0200mozzarella(~sam@unaffiliated/sam113101)
2020-10-04 03:33:12 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 03:37:55 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-04 03:39:00 +0200 <nitrix> Squarism, Type classes don't appear like that on the right of an arrow.
2020-10-04 03:39:19 +0200 <Squarism> Yeah, its coming back to me
2020-10-04 03:39:39 +0200 <nitrix> Squarism, You normally have a type variable with a constraint to restrict it to one of the types that implements the typeclass.
2020-10-04 03:39:41 +0200 <Squarism> Just feels like it would be possible to create classes where the type is not used in functions that could be "anonymous" like this. But I guess Its out of their scope
2020-10-04 03:40:00 +0200 <nitrix> Squarism, e.g. foo :: SomeClass c => Int -> c a
2020-10-04 03:40:09 +0200 <Squarism> yeah.
2020-10-04 03:41:46 +0200 <infinisil> Squarism: You may be looking for existential types, see https://wiki.haskell.org/Existential_type
2020-10-04 03:41:55 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
2020-10-04 03:46:28 +0200reallymemorable(~quassel@ip68-9-215-56.ri.ri.cox.net)
2020-10-04 03:46:54 +0200conal(~conal@66.115.157.94) (Quit: Computer has gone to sleep.)
2020-10-04 03:46:55 +0200xff0x(~fox@2001:1a81:528f:c400:e12b:e4ce:eff2:a3d5) (Ping timeout: 240 seconds)
2020-10-04 03:47:22 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 272 seconds)
2020-10-04 03:47:27 +0200 <koz_> I've noticed that most (effectful) streaming libraries (aside from conduit and io-streams) don't have a notion of 'peeking' a stream (namely, looking at the next value, but without removing it from said stream). How come this is the case?
2020-10-04 03:48:47 +0200xff0x(~fox@2001:1a81:52c9:f600:e12b:e4ce:eff2:a3d5)
2020-10-04 03:50:33 +0200polyrain(~polyrain@2001:8003:e501:6901:44d8:84ba:175f:dd38)
2020-10-04 03:50:54 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-04 03:53:51 +0200conal(~conal@64.71.133.70)
2020-10-04 03:55:23 +0200CMCDragonkai1(~Thunderbi@120.17.204.172)
2020-10-04 03:56:52 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Remote host closed the connection)
2020-10-04 03:57:05 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-04 03:59:29 +0200Tops2(~Tobias@dyndsl-095-033-018-208.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2020-10-04 04:03:17 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-04 04:04:55 +0200thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2020-10-04 04:05:50 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 04:09:10 +0200ryansmccoy(~ryansmcco@68.235.48.108) (Ping timeout: 246 seconds)
2020-10-04 04:09:47 +0200ryansmccoy(~ryansmcco@156.96.151.132)
2020-10-04 04:13:51 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Ping timeout: 272 seconds)
2020-10-04 04:14:25 +0200ericsagnes(~ericsagne@2405:6580:0:5100:80c3:1766:ef39:bb4c) (Ping timeout: 240 seconds)
2020-10-04 04:16:54 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 04:18:12 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-10-04 04:23:03 +0200elliott__(~elliott@pool-108-45-154-71.washdc.fios.verizon.net)
2020-10-04 04:23:43 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-10-04 04:26:28 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:7c32:dfd5:ea25:990f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 04:27:24 +0200ericsagnes(~ericsagne@2405:6580:0:5100:9458:e3c2:d11d:f00a)
2020-10-04 04:30:49 +0200sand_dull(~theuser@cpe-67-252-1-237.nycap.res.rr.com)
2020-10-04 04:31:25 +0200LKoen(~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) (Read error: Connection reset by peer)
2020-10-04 04:31:32 +0200LKoen(~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr)
2020-10-04 04:32:13 +0200zoom66(44beb1c9@068-190-177-201.res.spectrum.com) (Remote host closed the connection)
2020-10-04 04:33:41 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:190b:21b1:e82d:dbc9)
2020-10-04 04:34:48 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 04:39:49 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
2020-10-04 04:40:27 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-04 04:42:12 +0200ksixty(~Adium@109-252-45-112.nat.spd-mgts.ru)
2020-10-04 04:45:45 +0200theDon(~td@94.134.91.90) (Ping timeout: 240 seconds)
2020-10-04 04:47:55 +0200theDon(~td@94.134.91.94)
2020-10-04 04:49:05 +0200 <lechner> Hi, I recently discovered Haskell and love it. At the same time, I wonder if it can express all of a programmer's common intentions. Functional programming seems strictly inferential, and H. Curry read Whitehead and Russell. Do I have to worry about Haskell being incomplete similar to algebra?
2020-10-04 04:50:57 +0200reallymemorable(~quassel@ip68-9-215-56.ri.ri.cox.net) (Remote host closed the connection)
2020-10-04 04:52:16 +0200 <sm[m]> lechner: someone more knowledgeable on this will come along, but you don't have to worry about being able to express practical software
2020-10-04 04:53:36 +0200lagothrixGuest27951
2020-10-04 04:53:36 +0200Guest27951(~lagothrix@unaffiliated/lagothrix) (Killed (hitchcock.freenode.net (Nickname regained by services)))
2020-10-04 04:53:42 +0200lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-10-04 04:53:52 +0200 <sm[m]> what sort of situation could arise if your fear is true ?
2020-10-04 04:59:20 +0200nineonine(~nineonine@216.81.48.202) (Remote host closed the connection)
2020-10-04 05:00:01 +0200shortdudey1231(~shortdude@178.162.204.214) ()
2020-10-04 05:01:02 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 05:01:03 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 05:01:03 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-04 05:01:32 +0200elliott__(~elliott@pool-108-45-154-71.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-10-04 05:01:55 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-04 05:02:48 +0200 <dsal> lechner: I write almost all of my software in Haskell.
2020-10-04 05:06:07 +0200 <dsal> heh, my cachix CI task takes about 2 hours to run for my mqttd. About 3m for my old stack thing now that I've fixed it.
2020-10-04 05:06:10 +0200 <davean> lechner: its turing complete, it can do exactly what any other programming system can do.
2020-10-04 05:08:44 +0200ksixty1(~Adium@static.100.218.46.78.clients.your-server.de)
2020-10-04 05:10:52 +0200ksixty(~Adium@109-252-45-112.nat.spd-mgts.ru) (Ping timeout: 260 seconds)
2020-10-04 05:11:38 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net)
2020-10-04 05:12:01 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-04 05:14:28 +0200hackagesilkscreen 0.0.0.0 - Prettyprinting transformers. https://hackage.haskell.org/package/silkscreen-0.0.0.0 (robrix)
2020-10-04 05:16:00 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-04 05:16:06 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-04 05:16:06 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-04 05:16:06 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 05:16:40 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Ping timeout: 272 seconds)
2020-10-04 05:16:45 +0200bloodstalker(~bloodstal@46.166.187.188) (Read error: Connection reset by peer)
2020-10-04 05:17:26 +0200zoom(44beb1c9@068-190-177-201.res.spectrum.com)
2020-10-04 05:17:31 +0200conal(~conal@64.71.133.70)
2020-10-04 05:17:48 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-04 05:19:03 +0200 <zoom> I have a basic polymorphic type question. I have default (Int, Float) set for my module. In compiled code, I have "z = 0". GHCI reports z's type as Int, as expected.
2020-10-04 05:19:15 +0200irc_user(uid423822@gateway/web/irccloud.com/x-qmbsqpmesujkhtzf) (Quit: Connection closed for inactivity)
2020-10-04 05:19:20 +0200 <zoom> If I then pass z to the following function:
2020-10-04 05:19:33 +0200 <zoom> retInteger :: Integer -> Integer ; retInteger x = x
2020-10-04 05:19:46 +0200 <zoom> and store it in z2, the type of z is now Integer instead of Int
2020-10-04 05:19:51 +0200 <zoom> to recap:
2020-10-04 05:20:02 +0200sis7(~user@2001:15e8:110:473e::1) (Ping timeout: 260 seconds)
2020-10-04 05:20:05 +0200 <zoom> z = 0 (type is Int)
2020-10-04 05:20:14 +0200 <zoom> z2 = retInteger z
2020-10-04 05:20:26 +0200 <zoom> z now compiles as Integer
2020-10-04 05:20:30 +0200conal(~conal@64.71.133.70)
2020-10-04 05:20:30 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-04 05:21:36 +0200 <zoom> why is the type of z affected by the fact that it was passed to retInteger, which returned a separate immutable value
2020-10-04 05:22:05 +0200 <dsal> I think you're inferring too hard. If z should be an Int and fail here, you should say `z :: Int`
2020-10-04 05:22:24 +0200 <zoom> understood I can explicitly cast. Just trying to understand the compiler / language behavior
2020-10-04 05:22:38 +0200 <dolio> :: isn't casting.
2020-10-04 05:22:41 +0200 <dsal> I don't think cast is the right word.
2020-10-04 05:22:43 +0200 <zoom> didn't mean to say casting
2020-10-04 05:23:02 +0200 <zoom> I mean I understand I can explicitly specify the type
2020-10-04 05:23:43 +0200 <zoom> but trying to understand why the compiler implicitly switches z from an Int to Integer if z is passed to a function that treats z as an Integer
2020-10-04 05:23:59 +0200 <zoom> i would expect z2 would be an Integer and z would remain an Int
2020-10-04 05:24:00 +0200 <dsal> It's not totally clear what you're doing.
2020-10-04 05:24:01 +0200elliott__(~elliott@pool-108-45-154-71.washdc.fios.verizon.net)
2020-10-04 05:24:15 +0200 <zoom> default (Int, Float)
2020-10-04 05:24:16 +0200 <zoom> z = 0
2020-10-04 05:24:22 +0200 <zoom> when compiled, the type of z is an Int, as expected
2020-10-04 05:24:33 +0200 <dolio> z needs to have type `Integer` to be an argument of `retInteger`.
2020-10-04 05:24:42 +0200 <dolio> So defaulting isn't even happening.
2020-10-04 05:25:02 +0200 <cohn> zoom: maybe this helps? https://stackoverflow.com/questions/3429291/what-is-the-difference-between-int-and-integer
2020-10-04 05:25:05 +0200 <dsal> Are you playing in ghci?
2020-10-04 05:25:13 +0200 <zoom> not ghci, this is compiled code
2020-10-04 05:25:24 +0200 <dolio> Defaulting only happens when something needs a monomorphic type, but nothing else in the code determines the choice.
2020-10-04 05:25:55 +0200CMCDragonkai1(~Thunderbi@120.17.204.172) (Ping timeout: 240 seconds)
2020-10-04 05:26:10 +0200 <dsal> You mentioned ghci. You're being vague about what you're doing, because you can't both have something you're asking GHCI for the default type of, and have a thing you're compiling that passes a value to a function with a known type.
2020-10-04 05:26:28 +0200 <zoom> i only use ghci to check the type the compiler inferred. code is compiled
2020-10-04 05:26:29 +0200sis7(~user@80.211.200.62)
2020-10-04 05:26:55 +0200borne(~fritjof@200116b864ada80007933c164a08810c.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2020-10-04 05:27:21 +0200 <dsal> But if you're passing z to a function that requires an Integer, then you know the type that was inferred is Integer.
2020-10-04 05:28:30 +0200 <zoom> ok, i guess the compiler infers z1 is an Integer from the call. what threw me off is if I compile z = 0 by itself it's an Int. If I then add the line to call retInteger it's an Integer. I considered them two separate statements but I guess the compiler changes the inferences of z1 = 0 when it sees the call to retInteger
2020-10-04 05:29:00 +0200 <zoom> If I explicitly set z :: Int and then call retInteger I get the type mismatch error, as expected
2020-10-04 05:29:49 +0200 <dsal> In general, you don't want to do that. -Wall will enable a warning telling you a) what it inferred the type to be and b) that it shouldn't have to do that because you should declare your toplevel types.
2020-10-04 05:30:47 +0200ksixty1(~Adium@static.100.218.46.78.clients.your-server.de) (Quit: Leaving.)
2020-10-04 05:32:32 +0200 <zoom> ok, tried the -Wall and see the warning you mentioned.
2020-10-04 05:34:43 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 05:34:59 +0200 <zoom> does top-level binding refer to scope?
2020-10-04 05:35:08 +0200 <zoom> ie, the outermost scope?
2020-10-04 05:35:22 +0200conal(~conal@64.71.133.70)
2020-10-04 05:35:45 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-04 05:35:58 +0200ym555(~ym@41.42.203.37) (Ping timeout: 265 seconds)
2020-10-04 05:36:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 05:39:07 +0200 <dsal> Yeah. I don't annotate all my types, just at the toplevel and whenever it's otherwise helpful or avoids confusion.
2020-10-04 05:39:07 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-04 05:40:50 +0200 <zoom> thanks. i'm surprised it's suggested practice considering how useful type inference is. is the suggestion limited to top-level binding because it's assumed all subsequent calls/uses flow from the types at the top-level?
2020-10-04 05:41:19 +0200 <dsal> It's a good boundary. You can get *massively* confused if you let the type system guess your whole program.
2020-10-04 05:41:25 +0200ym555(~ym@41.42.203.37)
2020-10-04 05:41:58 +0200 <zoom> my preference coming from C is to specify all my types. I thought I was actually adapting by using inference instead.
2020-10-04 05:42:13 +0200 <dsal> You think you're working with a list of ints or something, but no, it's a Foldable Semigroup of an Integral value.
2020-10-04 05:42:20 +0200 <zoom> ie, adapting to the haskell way. thanks for setting me straight
2020-10-04 05:43:22 +0200 <hololeap> using type annotations here and there (e.g. all top level definitions) helps to make sure that your thought process and the compiler are in-sync
2020-10-04 05:43:24 +0200 <dsal> -Wall is generally a good idea. :)
2020-10-04 05:44:01 +0200 <zoom> makes perfect sense to me. and would my preference now that I see it's recommended practice anyway
2020-10-04 05:44:03 +0200 <dsal> It makes your code far easier for you as a human to read, but it also means your error messages won't be just an arbitrary permutation of type classes and a frowny face.
2020-10-04 05:44:43 +0200 <hololeap> ghc outputs frowny faces?
2020-10-04 05:45:04 +0200 <dsal> I don't know... if you get too deep into inference, the error is too large for anyone to really know what happens.
2020-10-04 05:45:14 +0200 <dsal> Well, except for C++ programmers, I guess. They won't notice the error scroll by.
2020-10-04 05:46:17 +0200 <dolio> It's not necessarily that it's large. It's more that it's non-local.
2020-10-04 05:47:08 +0200ym555(~ym@41.42.203.37) (Ping timeout: 260 seconds)
2020-10-04 05:47:39 +0200 <dolio> You can write code where the types accidentally work out until a part that isn't really related to where the problem is.
2020-10-04 05:48:21 +0200 <dsal> Yeah, and as you make things more generic, they can work in more places, so you use them in more places, and then just weird happens.
2020-10-04 05:49:05 +0200 <hololeap> "Occurs check: cannot construct infinite type" is usually the hardest one for me to understand what i did wrong
2020-10-04 05:49:34 +0200 <dsal> > foldMap (*1) [0, 1, 2, 3, 4]
2020-10-04 05:49:36 +0200 <lambdabot> error:
2020-10-04 05:49:36 +0200 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M650599424046...
2020-10-04 05:49:36 +0200 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2020-10-04 05:49:57 +0200 <dsal> Errors like this will ramble on for a bit.
2020-10-04 05:50:03 +0200 <dsal> > foldMap (*1) [0, 1, 2, 3, 4] :: Sum Int
2020-10-04 05:50:07 +0200 <lambdabot> Sum {getSum = 10}
2020-10-04 05:50:11 +0200 <dsal> > foldMap (*1) [0, 1, 2, 3, 4] :: Product Int
2020-10-04 05:50:14 +0200 <lambdabot> Product {getProduct = 0}
2020-10-04 05:50:18 +0200 <dsal> Stupid zero.
2020-10-04 05:51:25 +0200 <dsal> It gets *really* exciting when you enable OverloadedLists
2020-10-04 05:52:04 +0200 <c_wraith> hololeap: that error means that GHC tried to unify a pair of types where one occurs inside the other. Just declaring them to be equal would mean the full expansion is infinite.
2020-10-04 05:52:44 +0200 <dsal> a ~ [a] kinds of things
2020-10-04 05:52:47 +0200 <hololeap> c_wraith: it often crops up when i refactor to pointfree and i forgot to remove one of the arguments from the function definition
2020-10-04 05:52:55 +0200wei2912(~wei2912@unaffiliated/wei2912)
2020-10-04 05:53:11 +0200 <dsal> OMG, I'm trying to figure out where I've used OverloadedLists, and I have a tiny file here with it on, but I'm still using Map.fromList
2020-10-04 05:53:14 +0200 <c_wraith> hololeap: sure, a -> b and b could unify if infinite types were allowed
2020-10-04 05:53:17 +0200 <dolio> You can actually have type systems that allow that. But it catches so many incidental errors it'd be kind of terrible.
2020-10-04 05:53:31 +0200 <dsal> Ah, I use it in tests sometimes.
2020-10-04 05:53:33 +0200 <c_wraith> hololeap: but it would also imply a -> a -> b is the same type as b
2020-10-04 05:53:37 +0200 <dolio> At least, you don't want it without requesting it.
2020-10-04 05:54:17 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-04 05:54:27 +0200 <hololeap> c_wraith: i am glad that it throws _some_ error, but that particular error message usually leaves me scratching my head for a minute. at least it gives a line number so i can stare at it until i see what i did wrong
2020-10-04 05:54:30 +0200 <dsal> The error message confuses people because it's accurate in type theorist language, but it generally means, "I don't think you're saying what you mean."
2020-10-04 05:54:35 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-04 05:54:35 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-04 05:54:35 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 05:54:51 +0200 <c_wraith> Just look at the two types it tells you
2020-10-04 05:54:54 +0200jedws(~jedws@121.209.139.222) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 05:55:31 +0200 <c_wraith> If the bigger one is a function type, it means you have differing numbers of arguments in different branches.
2020-10-04 05:55:49 +0200 <hololeap> that's a very useful tip that i will keep in mind
2020-10-04 05:56:00 +0200 <dsal> It's usually `a ~ [a]` for me which is always a dumb error.
2020-10-04 05:56:21 +0200 <c_wraith> > let f 0 = Nothing ; f x = show x in f ()
2020-10-04 05:56:23 +0200 <lambdabot> error:
2020-10-04 05:56:24 +0200 <lambdabot> • Couldn't match type ‘[Char]’ with ‘Maybe a2’
2020-10-04 05:56:24 +0200 <lambdabot> Expected type: Maybe a2
2020-10-04 05:56:25 +0200 <dolio> Yeah, it usually has something to do with too many or too few arguments, or arguments in the wrong order or something.
2020-10-04 05:56:29 +0200 <c_wraith> Oh, whoops.
2020-10-04 05:56:34 +0200 <c_wraith> > let f 0 = Nothing ; f x = x in f ()
2020-10-04 05:56:36 +0200 <lambdabot> error:
2020-10-04 05:56:36 +0200 <lambdabot> • Couldn't match expected type ‘Maybe a’ with actual type ‘()’
2020-10-04 05:56:37 +0200 <lambdabot> • In the first argument of ‘f’, namely ‘()’
2020-10-04 05:56:43 +0200 <dolio> Or forgetting to map/bind something.
2020-10-04 05:56:46 +0200 <c_wraith> Oh, too much inference. Oh well.
2020-10-04 05:56:59 +0200 <c_wraith> Anyway. Look at the two types it's telling you it's trying to unify
2020-10-04 05:57:15 +0200 <c_wraith> The difference between them is the important part
2020-10-04 05:57:17 +0200 <dolio> I'm not sure if GHC tries to tell you what's wrong, but I'm not sure how it would narrow it down.
2020-10-04 05:58:59 +0200 <hololeap> don't get me wrong, i'm not complaining. the fact that ghc uses type theory to allow a huge number of valid things is awesome. but at first it complaining that i was trying to construct an infinite type for some mundane function made me go WTF
2020-10-04 05:59:29 +0200 <c_wraith> the thing to remember is that GHC tries *really* hard to make your code work.
2020-10-04 05:59:58 +0200 <c_wraith> In this case, it's reaching the conclusion "this code would type-check if these two types are the same."
2020-10-04 06:00:13 +0200 <c_wraith> And then going "oops, I'm not allowed to make these two types the same"
2020-10-04 06:00:59 +0200 <c_wraith> And it reports that last problem, because that's the point from which it could make no more progress.
2020-10-04 06:03:22 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
2020-10-04 06:03:28 +0200 <hololeap> it's like if i was trying to skip rocks, and failed, and someone came up to me and said "why are you trying to subvert the laws of physics by skipping a rock at that velocity and trajectory?"
2020-10-04 06:03:36 +0200 <zoom> kind of an open-ended questions but I'm in the midst of learning haskell and I'm about 2/3 through the learnyouhaskell guide. I can see the steep learning curve and I'm fine with that but I'm wondering if there's any hidden learning curves I don't forsee. for example, quirks in the language that you really only learn "on the job" after using it in
2020-10-04 06:03:36 +0200 <zoom> a production environment.
2020-10-04 06:04:00 +0200 <zoom> and if so, how significant those additional learning curves might be
2020-10-04 06:04:21 +0200 <c_wraith> You can bounce hard off of some of the more high-powered libraries used in production code
2020-10-04 06:05:45 +0200 <c_wraith> like... lenses are so useful it's hard to justify not using them on sufficiently large projects, but there's another huge upfront cost to learn.
2020-10-04 06:06:17 +0200 <cohn> agree --^
2020-10-04 06:06:22 +0200 <zoom> maybe quirks isn't the right word. I guess I'm asking how deep the rabbit hole goes beyond the basic language. like undocumented or lightly documented behaviors
2020-10-04 06:06:28 +0200 <MarcelineVQ> it is a bit of a cost, I wrote a lens library and still don't know how to use them ^^;
2020-10-04 06:06:42 +0200sand_dull(~theuser@cpe-67-252-1-237.nycap.res.rr.com) (Ping timeout: 272 seconds)
2020-10-04 06:07:10 +0200 <c_wraith> debugging performance issues is probably the one big thing with poor documentation.
2020-10-04 06:07:34 +0200 <hololeap> zoom: it isn't as bad as you might think. there are some well known thorns such as lazy IO and space leaks, but overall, the scariness overshoots the actual dangers
2020-10-04 06:07:47 +0200 <c_wraith> There are a ton of tools that are all documented individually, but there's little in the way of unified big-picture documentation for the process
2020-10-04 06:08:01 +0200 <zoom> i actually enjoy exploring the nuances and corner-cases of languages but that seems like kids play to what I'm facing with haskell
2020-10-04 06:08:22 +0200 <c_wraith> for the language itself, Haskell has fewer corner cases than most.
2020-10-04 06:08:25 +0200sand_dull(~theuser@179.48.249.132)
2020-10-04 06:08:37 +0200 <c_wraith> Unless you start turning on every type system extension you can find :)
2020-10-04 06:09:21 +0200 <hololeap> but, then again, there are many benign language extensions that shouldn't be off-limits for a beginner
2020-10-04 06:09:49 +0200 <c_wraith> Sure. There are lots of extensions that don't hurt anything. But *some* of them add all sorts of corner cases.
2020-10-04 06:09:50 +0200 <zoom> for example i discovered a few of the {-# LANGUAGE ... } behaviors and the breadth of what's there is a bit scary to me
2020-10-04 06:10:05 +0200 <hololeap> i was scared of using any language extensions when i first started, and now i see how many of them really don't hurt at all
2020-10-04 06:10:55 +0200 <zoom> it almost seems like one has to learn or at least understand all the antecedent versions and behaviors
2020-10-04 06:11:20 +0200 <c_wraith> *most* extensions can be learned in isolation. They're just a thing that can be added to the base language.
2020-10-04 06:11:52 +0200 <c_wraith> There are exceptions. Functional dependencies only make any sense with multiple parameter type classes, for instance.
2020-10-04 06:12:47 +0200 <c_wraith> But for the most part, extensions try to be focused additions to the language.
2020-10-04 06:13:34 +0200 <hololeap> i remember seeing a list of language extensions that was sorted by relative safety
2020-10-04 06:13:49 +0200 <dolio> You can use functional dependencies without multi-parameter classes. It means you can only write one instance. :)
2020-10-04 06:14:01 +0200 <dolio> Like `class C a | -> a where ...`
2020-10-04 06:14:24 +0200 <c_wraith> so... the same as just writing a function? :P
2020-10-04 06:14:26 +0200 <hololeap> and it included which ones you could have turned on all the time without having any dangerous corner cases
2020-10-04 06:14:30 +0200 <c_wraith> (or set thereof)
2020-10-04 06:15:22 +0200 <hololeap> there were quite a few that were deemed totally safe, like MultiParamTypeClasses, FlexibleContexts, FlexibleInstances, LambdaCase, etc...
2020-10-04 06:15:34 +0200 <MarcelineVQ> hololeap: search for What I Wish I Knew when learning haskell or something
2020-10-04 06:15:40 +0200 <zoom> A comment I watched from Simon Peyton Jones scared me too - he said they put as much complication they could get away with without programmers running away.
2020-10-04 06:16:04 +0200 <hololeap> zoom, it's well-typed complications :)
2020-10-04 06:16:18 +0200 <c_wraith> It's useful to remember that SPJ is all about accessibility.
2020-10-04 06:16:56 +0200 <cohn> MarcelineVQ: http://dev.stephendiehl.com/hask/ <-- great read
2020-10-04 06:16:58 +0200LKoen(~LKoen@lstlambert-657-1-123-43.w92-154.abo.wanadoo.fr) (Remote host closed the connection)
2020-10-04 06:17:20 +0200 <hololeap> MarcelineVQ: thank you
2020-10-04 06:17:27 +0200 <hololeap> zoom: check this out: http://dev.stephendiehl.com/hask/#the-benign
2020-10-04 06:17:53 +0200 <zoom> cohn and hololeap, thanks, i'll give it a read
2020-10-04 06:18:02 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:190b:21b1:e82d:dbc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 06:18:05 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 240 seconds)
2020-10-04 06:18:13 +0200 <cohn> np
2020-10-04 06:19:47 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-04 06:19:57 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 06:19:57 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 06:19:57 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 06:22:03 +0200conal(~conal@64.71.133.70)
2020-10-04 06:22:21 +0200 <cohn> zoom: this is another good book if you can stomach working through ~ 1,200 pages of text.
2020-10-04 06:22:24 +0200 <cohn> https://haskellbook.com/
2020-10-04 06:25:23 +0200 <hololeap> zoom, i remember when i really started to grok haskell was when i understood monad transformers. i'm not sure why, but that was the key for me feeling less overwhelmed and more excited by learning the language
2020-10-04 06:27:20 +0200 <cohn> this is also worth reading: http://norvig.com/21-days.html
2020-10-04 06:27:55 +0200 <zoom> cohn, thanks. I have that book on my list. I read through a little of the 21-days but decided ping-ponging back and forth between learnyou and it was a little distracting. my plan is to finish learnyou, then do the 21 days, then the book
2020-10-04 06:28:51 +0200 <zoom> oops, meant https://www.seas.upenn.edu/~cis194/spring13/lectures.html, not the 21-days
2020-10-04 06:30:05 +0200 <lechner> hololeap cohn MarcelineVQ: I like Stephen Diehl's book too!
2020-10-04 06:30:06 +0200 <cohn> zoom: yep, that's a good resource too.
2020-10-04 06:30:21 +0200NemesisD(sid24071@gateway/web/irccloud.com/x-tvpdgcumyqbfkxuv) (Read error: Connection reset by peer)
2020-10-04 06:30:23 +0200teehemkay_(sid14792@gateway/web/irccloud.com/x-hzwbijcgsbcqqaio) (Read error: Connection reset by peer)
2020-10-04 06:30:31 +0200NemesisD(sid24071@gateway/web/irccloud.com/x-fiagphfooejfsfnx)
2020-10-04 06:30:34 +0200 <cohn> lechner: yea, it's really good stuff! :D
2020-10-04 06:30:42 +0200teehemkay_(sid14792@gateway/web/irccloud.com/x-lutymgyquuykwmsi)
2020-10-04 06:33:47 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-04 06:35:32 +0200 <dsal> I really liked haskellbook.com.
2020-10-04 06:35:52 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 06:35:58 +0200 <dsal> It let me pretend like I didn't know anything, which made it a lot easier to learn things.
2020-10-04 06:38:54 +0200zoom(44beb1c9@068-190-177-201.res.spectrum.com) (Remote host closed the connection)
2020-10-04 06:40:36 +0200day_(~Unknown@unaffiliated/day)
2020-10-04 06:42:24 +0200JSharp(sid4580@wikia/JSharp) (Ping timeout: 256 seconds)
2020-10-04 06:43:33 +0200JSharp(sid4580@wikia/JSharp)
2020-10-04 06:44:36 +0200zoom(44beb1c9@068-190-177-201.res.spectrum.com)
2020-10-04 06:44:40 +0200day(~Unknown@unaffiliated/day) (Ping timeout: 260 seconds)
2020-10-04 06:44:40 +0200day_day
2020-10-04 06:48:57 +0200hackagelittle-logger 0.2.0 - Basic logging based on co-log https://hackage.haskell.org/package/little-logger-0.2.0 (ejconlon)
2020-10-04 06:49:21 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-04 06:49:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-04 06:49:42 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3)
2020-10-04 06:50:21 +0200conal(~conal@64.71.133.70)
2020-10-04 06:50:28 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-04 06:53:16 +0200urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-10-04 06:53:52 +0200nullheroes(~danielvu@168.235.66.22) (Quit: WeeChat 2.9)
2020-10-04 06:54:13 +0200conal(~conal@64.71.133.70)
2020-10-04 06:55:09 +0200johnw(~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
2020-10-04 06:56:37 +0200howdoi(uid224@gateway/web/irccloud.com/x-olozehqnejtdionh) (Quit: Connection closed for inactivity)
2020-10-04 06:57:49 +0200elliott__(~elliott@pool-108-45-154-71.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2020-10-04 06:58:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 06:59:26 +0200nullheroes(~danielvu@168.235.66.22)
2020-10-04 07:01:42 +0200conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2020-10-04 07:01:47 +0200lestrrat(~lestrrat@178.162.209.171)
2020-10-04 07:03:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-04 07:04:25 +0200ryansmccoy(~ryansmcco@156.96.151.132) (Ping timeout: 240 seconds)
2020-10-04 07:04:54 +0200ryansmccoy(~ryansmcco@68.235.48.108)
2020-10-04 07:06:21 +0200conal(~conal@64.71.133.70)
2020-10-04 07:10:20 +0200HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2020-10-04 07:11:11 +0200vk3wtf(~doc@27-32-252-91.tpgi.com.au) (Ping timeout: 265 seconds)
2020-10-04 07:13:05 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 272 seconds)
2020-10-04 07:14:36 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-04 07:16:22 +0200drbean(~drbean@TC210-63-209-220.static.apol.com.tw)
2020-10-04 07:18:56 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-04 07:20:09 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-04 07:23:37 +0200bitmagie(~Thunderbi@200116b8069e56008db808514c00860b.dip.versatel-1u1.de)
2020-10-04 07:29:39 +0200zoom(44beb1c9@068-190-177-201.res.spectrum.com) (Ping timeout: 245 seconds)
2020-10-04 07:33:55 +0200wowi42(~wowi42@51.15.249.183) (Quit: Kowa Bunga!!!)
2020-10-04 07:36:01 +0200wowi42(~wowi42@51.15.249.183)
2020-10-04 07:36:13 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 07:36:33 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 07:36:55 +0200sand_dull(~theuser@179.48.249.132) (Ping timeout: 240 seconds)
2020-10-04 07:39:44 +0200jgt(~jgt@188.239.64.32)
2020-10-04 07:39:49 +0200polyrain(~polyrain@2001:8003:e501:6901:44d8:84ba:175f:dd38) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 07:40:25 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-04 07:40:31 +0200livvy(~livvy@gateway/tor-sasl/livvy)
2020-10-04 07:41:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-04 07:44:53 +0200polyrain(~polyrain@2001:8003:e501:6901:44d8:84ba:175f:dd38)
2020-10-04 07:44:59 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-pmnoughzcdhyigas) (Quit: Connection closed for inactivity)
2020-10-04 07:50:44 +0200zeta_0(~zeta@96-64-157-181-static.hfc.comcastbusiness.net)
2020-10-04 07:50:52 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net)
2020-10-04 07:51:14 +0200shafox(~shafox@106.51.234.111)
2020-10-04 07:53:13 +0200zeta_0(~zeta@96-64-157-181-static.hfc.comcastbusiness.net) (Quit: rcirc on GNU Emacs 26.3)
2020-10-04 07:55:55 +0200gewaltdisney(~proletkul@115.79.31.1)
2020-10-04 07:56:30 +0200 <gewaltdisney> what is the best way to do live coding in haskell in 2020?
2020-10-04 07:56:44 +0200 <gewaltdisney> ghci?
2020-10-04 07:59:43 +0200kreyren_(~kreyren@fsf/member/kreyren) (Remote host closed the connection)
2020-10-04 08:00:02 +0200lestrrat(~lestrrat@178.162.209.171) ()
2020-10-04 08:00:08 +0200kreyren_(~kreyren@fsf/member/kreyren)
2020-10-04 08:02:00 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-10-04 08:03:13 +0200elliott_(~elliott_@pool-108-45-154-71.washdc.fios.verizon.net)
2020-10-04 08:03:25 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 08:04:58 +0200constR(uid58205@gateway/web/irccloud.com/x-efrkxtuegwrgtzug) (Quit: Connection closed for inactivity)
2020-10-04 08:05:22 +0200ixian8(~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269) (Ping timeout: 260 seconds)
2020-10-04 08:06:05 +0200 <dsal> ghci is probably the worst.
2020-10-04 08:06:55 +0200vqrs(~vqrs@learnprogramming/regular/vqrs) (Ping timeout: 272 seconds)
2020-10-04 08:07:02 +0200 <dsal> I've done it on occasion in emacs with the interpreter in place over a file, but I usually just write code in files.
2020-10-04 08:07:10 +0200tzh(~tzh@2601:448:c500:5300::143b) (Quit: zzz)
2020-10-04 08:08:00 +0200 <c_wraith> it depends on what you're doing.
2020-10-04 08:08:12 +0200vqrs(~vqrs@learnprogramming/regular/vqrs)
2020-10-04 08:08:13 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-10-04 08:08:16 +0200 <c_wraith> if you're using tidal, you use ghci
2020-10-04 08:10:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 08:13:24 +0200aaaaaa(~ArthurStr@host-91-90-11-13.soborka.net) (Quit: leaving)
2020-10-04 08:13:37 +0200vk3wtf(~doc@14-202-30-62.static.tpgi.com.au)
2020-10-04 08:14:00 +0200 <gewaltdisney> cool, ghci seems to be the way then :)
2020-10-04 08:15:00 +0200bitmagie(~Thunderbi@200116b8069e56008db808514c00860b.dip.versatel-1u1.de) (Quit: bitmagie)
2020-10-04 08:15:53 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-04 08:16:49 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 08:16:49 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 08:16:49 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-04 08:18:13 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 264 seconds)
2020-10-04 08:20:49 +0200jgt(~jgt@188.239.64.32) (Ping timeout: 246 seconds)
2020-10-04 08:21:33 +0200wei2912(~wei2912@unaffiliated/wei2912) (Quit: Lost terminal)
2020-10-04 08:24:06 +0200p0a(~user@unaffiliated/p0a)
2020-10-04 08:24:18 +0200 <p0a> Hello how can I offer some documentation corrections in a package on hackage?
2020-10-04 08:24:37 +0200 <gewaltdisney> curious why you say its the worst dsal
2020-10-04 08:25:30 +0200 <dsal> It's hard to do multiline, and if you're doing anything remotely complicated, you're going to be sad about having to either throw away a bunch of state or try to recreate it in a file. It's easier to just have a file.
2020-10-04 08:25:37 +0200 <sshine> p0a, 1) find the project on GitHub (link is on Hackage), 2) search for the thing you want to correct, 3) submit a pull request.
2020-10-04 08:26:00 +0200 <sshine> p0a, if you want a t-shirt for your efforts, sign up for Hacktoberfest before you do this.
2020-10-04 08:26:54 +0200 <p0a> sshine: thank you! I am against paraphanelia tho (I still shiver about being given a yo-yo in a math conference)
2020-10-04 08:28:16 +0200 <nshepperd> true, yoyos are spooky
2020-10-04 08:28:37 +0200 <sshine> also, yoyos mainly collect dust.
2020-10-04 08:28:45 +0200thir(~thir@pd9e1baba.dip0.t-ipconnect.de)
2020-10-04 08:29:09 +0200 <sshine> p0a, there's no guarantee that the package is hosted on GitHub, but it's so often the case.
2020-10-04 08:29:28 +0200 <p0a> Yeah, it's sqlite-simple which is on github. I didn't realize there's github links, I definitely know what to do now
2020-10-04 08:30:07 +0200 <sshine> gewaltdisney, I'd go with Emacs + haskell-mode since there's a keyboard shortcut for sending your file to be evaluated in a split-screen REPL. perhaps this is equally doable with VSCode or some other editor. but that's the user experience I'd aim for. :)
2020-10-04 08:30:28 +0200 <p0a> I can't get Emacs and haskell-mode to work with stack projects, am I doing something wrong?
2020-10-04 08:30:43 +0200 <p0a> I can give the error if needed
2020-10-04 08:30:53 +0200 <sshine> gewaltdisney, typing into GHCi is too limiting for anything above one-liners, and you can't easily save.
2020-10-04 08:31:32 +0200sshinehasn't run Emacs for a year now and can't remember.
2020-10-04 08:31:48 +0200 <p0a> NEvermind. I was running haskell-process-cabal-build on a stack project, that's why. lol
2020-10-04 08:31:54 +0200 <sshine> hehe :)
2020-10-04 08:32:11 +0200 <p0a> sshine: as with many other issues, I solve it as I'm about to explain it on IRC
2020-10-04 08:32:12 +0200 <sshine> when I use editor/IDE tooling, I mostly tab into the console and run build commands, anyways...
2020-10-04 08:32:37 +0200 <p0a> Yeah but one useful feature is to be able to examine the type of a symbol/expression in the source
2020-10-04 08:32:45 +0200 <sshine> p0a, that's the story of why I never ask questions on StackOverflow. I want to provide enough context for people to be able to help me, and that's usually enough context for me to help myself.
2020-10-04 08:32:57 +0200 <p0a> hah
2020-10-04 08:33:18 +0200 <sshine> like, I want to rule out the "did you look in <obvious place X>?" and "did you try <obvious thing Y>?"
2020-10-04 08:34:21 +0200 <sshine> with obvious being anything I can easily come up with while formulating the question, of course. :) it's just that if I ever try to bite off more than I can chew, I usually have to ask a *lot* of questions.
2020-10-04 08:34:46 +0200 <p0a> So a basic question now, but can I use sqlite-simple with RIO?
2020-10-04 08:34:55 +0200 <sshine> why not?
2020-10-04 08:35:11 +0200 <p0a> For example, SQLText is !Text, but RIO has RIO.Text
2020-10-04 08:35:21 +0200 <gewaltdisney> sshine thanks! I use emacs but am new to haskell (coming from ocaml). i'll figure out how to set things up this way
2020-10-04 08:35:25 +0200 <p0a> I'm not sure how that works. Does it know to use RIO.Text instead of Data.Text?
2020-10-04 08:35:33 +0200 <sshine> p0a, RIO.Text is just a re-export
2020-10-04 08:36:03 +0200ericsagnes(~ericsagne@2405:6580:0:5100:9458:e3c2:d11d:f00a) (Ping timeout: 272 seconds)
2020-10-04 08:36:08 +0200ixian(~mgold@terra.bitplane.org)
2020-10-04 08:36:24 +0200 <p0a> I don't know what you mean
2020-10-04 08:36:30 +0200 <sshine> p0a, https://hackage.haskell.org/package/rio-0.1.19.0/docs/src/RIO.Text.html <- all it does is import Data.Text and then only export some of that.
2020-10-04 08:36:58 +0200 <p0a> okay, but it's called RIO.Text and not Data.Text. So it works anyway?
2020-10-04 08:37:20 +0200 <sshine> so RIO.Text is just convenience for Data.Text. I think the points RIO is trying to make are 1) Text is so common, let's just have it in our version of Prelude, and 2) let's not include the bad functions.
2020-10-04 08:38:09 +0200 <sshine> so I don't think you even need to 'import RIO.Text' if you have followed one of the recommended ways of using RIO as your Prelude replacement.
2020-10-04 08:38:34 +0200 <p0a> Right the introduction to RIO mentions these things more or less, I am just not sure how haskell code works. In the sense that if I write a module that imports Data.Text (how else would they have SQLText be !Text), how can that then be replaced by RIO.Text.Text?
2020-10-04 08:38:34 +0200 <sshine> p0a, https://github.com/commercialhaskell/rio#import-practices
2020-10-04 08:39:13 +0200 <p0a> I did read that but I'm still confused about how a module that was built for/with Data.Text would work ok with RIO
2020-10-04 08:39:31 +0200 <p0a> say I have f :: Data.Text.Text -> Int with f _ = 1. How would that function work if I import RIO instead?
2020-10-04 08:39:36 +0200 <sshine> so, sqlite-simple may import Data.Text explicitly and your module may import RIO.Text implicitly, but in the end, the same module that exports the same data type is referred to in two places, and they get unified...
2020-10-04 08:40:10 +0200 <sshine> I think it's actually pretty neat that that works. I remember that you *don't* get that kind of convenience across Standard ML functor (as in parameterised module) application.
2020-10-04 08:40:18 +0200 <p0a> the signature wouldn't match would it? f ("foo" :: RIO.Text.Text)
2020-10-04 08:40:47 +0200 <sshine> the type's name is just 'Text'. when you see it as e.g. 'RIO.Text.Text', that's mostly an indicator of how you imported it.
2020-10-04 08:41:00 +0200 <p0a> Aha. Tricky
2020-10-04 08:41:19 +0200 <p0a> Thank you
2020-10-04 08:41:31 +0200 <sshine> if RIO.Text defined 'newtype Text = Derpy Text deriving ...', then RIO.Text.Text would kinda be the same type but you'd get a type mismatch error.
2020-10-04 08:42:08 +0200 <sshine> but that wouldn't benefit the purpose of RIO's RIO.Text module.
2020-10-04 08:42:25 +0200 <sshine> they just want to import Text-related stuff automatically and not have partial functions.
2020-10-04 08:43:18 +0200ym555(~ym@41.42.210.219)
2020-10-04 08:44:13 +0200 <koz_> sshine: Derpy Text rofl.
2020-10-04 08:44:20 +0200 <sshine> I think that if you had to explicitly import RIO.Text, then this would actually be confusing: is their Text even the same? but since it's automatically imported, the purpose of the library is just to provide a list of the Text functions they like (and provide a place for extending this collection without having to deal with upstream).
2020-10-04 08:44:45 +0200 <sshine> sorry, s/the library/the module/
2020-10-04 08:48:16 +0200ericsagnes(~ericsagne@2405:6580:0:5100:1d5c:d7d1:5cb4:1102)
2020-10-04 08:53:37 +0200Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.166) (Quit: Leaving)
2020-10-04 08:54:48 +0200HaeB1(~HaeB@178.239.168.171)
2020-10-04 08:57:36 +0200 <p0a> When I use `stack new projectname rio' there's some code that let's me use command line arguments
2020-10-04 08:57:50 +0200 <p0a> I can't understand from looking at the source, is that a hand-crafted solution or does it use getOpt somewhere?
2020-10-04 08:58:21 +0200 <p0a> Is it logOptionsHandle?
2020-10-04 08:59:42 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-04 09:01:33 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 09:01:33 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 09:01:33 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 09:01:43 +0200jgt(~jgt@188.239.64.32)
2020-10-04 09:01:55 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-04 09:05:45 +0200jgt(~jgt@188.239.64.32) (Ping timeout: 240 seconds)
2020-10-04 09:05:55 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2020-10-04 09:06:05 +0200 <dsal> I've never seen this rio template, but I don't think I like it.
2020-10-04 09:06:50 +0200 <p0a> Okay, I think I figured out that I now need to read the intro to rio from https://www.fpcomplete.com/haskell/library/rio/
2020-10-04 09:06:50 +0200polyrain(~polyrain@2001:8003:e501:6901:44d8:84ba:175f:dd38) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 09:07:03 +0200 <p0a> Are there any other sources to learn rio from? A book perhaps?
2020-10-04 09:09:31 +0200 <dsal> I've just seen blog posts and stuff. It looks like it wants to be the next big thing, but makes me learn stuff and accept opinions without me seeing the obvious benefit.
2020-10-04 09:10:04 +0200 <p0a> what about their exceptions? I read a bit on it and it seemed cool
2020-10-04 09:11:00 +0200 <dsal> I don't know. I've read some of the stuff and the goal sounded interesting. I like unliftio, but too much of this "I've solved all the problems" kinds of things from that camp. -- someone who can't quit stack
2020-10-04 09:11:49 +0200 <p0a> Would you recommend I do my project without rio then?
2020-10-04 09:12:28 +0200 <dsal> Not really. Part of my problem is having to unlearn stuff to learn new stuff to get marginal benefit. If you don't have patterns you're comfortable with, RIO might be good for you.
2020-10-04 09:12:41 +0200 <p0a> that's what I was thinking dsal
2020-10-04 09:13:12 +0200 <p0a> I haven't developed a style yet and rio appears to be developed by experts
2020-10-04 09:17:39 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be)
2020-10-04 09:17:39 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-04 09:17:39 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-04 09:18:35 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-04 09:22:46 +0200thir(~thir@pd9e1baba.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 09:23:56 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 09:24:34 +0200no-n(sid257727@gateway/web/irccloud.com/x-rjqspinjxdvineod)
2020-10-04 09:24:41 +0200HaskellYogi(~vivekrama@49.207.213.15) (Remote host closed the connection)
2020-10-04 09:25:49 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 09:26:58 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 246 seconds)
2020-10-04 09:27:33 +0200GyroW(~GyroW@d54c03e98.access.telenet.be)
2020-10-04 09:27:33 +0200GyroW(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-04 09:27:33 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 09:27:40 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-10-04 09:31:48 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2020-10-04 09:32:27 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4)
2020-10-04 09:33:03 +0200toorevitimirp(~tooreviti@117.182.181.38) (Ping timeout: 258 seconds)
2020-10-04 09:36:20 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 272 seconds)
2020-10-04 09:36:50 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-04 09:36:50 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-04 09:36:50 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-04 09:37:28 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 09:37:34 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds)
2020-10-04 09:37:44 +0200gentauro(~gentauro@unaffiliated/gentauro) (Ping timeout: 256 seconds)
2020-10-04 09:40:57 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4) (Quit: Leaving)
2020-10-04 09:42:01 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 260 seconds)
2020-10-04 09:43:03 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4)
2020-10-04 09:46:50 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-10-04 09:51:43 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 09:51:58 +0200polyrain(~polyrain@2001:8003:e501:6901:44d8:84ba:175f:dd38)
2020-10-04 09:53:05 +0200vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-10-04 09:55:16 +0200knupfer(~Thunderbi@mue-88-130-61-071.dsl.tropolys.de)
2020-10-04 09:56:05 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-04 10:00:15 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 10:04:25 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-04 10:19:12 +0200ggole(~ggole@2001:8003:8119:7200:10c6:17b0:327d:27c2)
2020-10-04 10:20:49 +0200chaosmasttter(~chaosmast@p200300c4a73b2e0168c1f453f2fcf16d.dip0.t-ipconnect.de)
2020-10-04 10:24:22 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-04 10:25:36 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-10-04 10:26:12 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-04 10:26:43 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 258 seconds)
2020-10-04 10:29:28 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be)
2020-10-04 10:29:28 +0200GyroW_(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-04 10:29:28 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-04 10:36:27 +0200HaeB1(~HaeB@178.239.168.171) (Remote host closed the connection)
2020-10-04 10:36:40 +0200coot(~coot@37.30.52.16.nat.umts.dynamic.t-mobile.pl)
2020-10-04 10:37:58 +0200alp(~alp@2a01:e0a:58b:4920:a44e:37a8:158b:d27f)
2020-10-04 10:38:17 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 10:41:07 +0200alexelcu(~alexelcu@142.93.180.198) (Quit: ZNC 1.8.2 - https://znc.in)
2020-10-04 10:41:49 +0200alexelcu(~alexelcu@142.93.180.198)
2020-10-04 10:42:41 +0200alexelcu(~alexelcu@142.93.180.198) (Client Quit)
2020-10-04 10:43:04 +0200alexelcu(~alexelcu@142.93.180.198)
2020-10-04 10:43:54 +0200alexelcu(~alexelcu@142.93.180.198) (Client Quit)
2020-10-04 10:44:46 +0200alexelcu(~alexelcu@142.93.180.198)
2020-10-04 10:46:56 +0200Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-10-04 10:47:27 +0200hackagethese-lens 1.0.1 - Lenses for These https://hackage.haskell.org/package/these-lens-1.0.1 (phadej)
2020-10-04 10:47:59 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 256 seconds)
2020-10-04 10:48:27 +0200hackagethese-optics 1.0.1 - Optics for These https://hackage.haskell.org/package/these-optics-1.0.1 (phadej)
2020-10-04 10:49:51 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2020-10-04 10:51:15 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 10:52:50 +0200Buntspecht(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-10-04 10:53:55 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 10:57:33 +0200taurux(~taurux@net-188-152-1-207.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-04 10:57:36 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 10:58:36 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 256 seconds)
2020-10-04 10:59:02 +0200polyrain_(~polyrain@203.51.166.163)
2020-10-04 10:59:51 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 11:00:50 +0200taurux(~taurux@net-188-152-1-207.cust.vodafonedsl.it)
2020-10-04 11:00:55 +0200polyrain(~polyrain@2001:8003:e501:6901:44d8:84ba:175f:dd38) (Ping timeout: 240 seconds)
2020-10-04 11:01:18 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 11:01:25 +0200knupfer(~Thunderbi@mue-88-130-61-071.dsl.tropolys.de) (Quit: knupfer)
2020-10-04 11:02:08 +0200knupfer(~Thunderbi@200116b82c6778000192b189ecec5aa7.dip.versatel-1u1.de)
2020-10-04 11:05:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-04 11:06:41 +0200m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de)
2020-10-04 11:08:33 +0200Flonk(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
2020-10-04 11:09:02 +0200Flonk(~Flonk@ec2-52-40-29-25.us-west-2.compute.amazonaws.com)
2020-10-04 11:09:24 +0200GyroW(~GyroW@d54c03e98.access.telenet.be)
2020-10-04 11:09:24 +0200GyroW(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-04 11:09:24 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 11:10:04 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 272 seconds)
2020-10-04 11:10:42 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds)
2020-10-04 11:13:01 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-hdtidkhqzeetbjwg) (Quit: Connection closed for inactivity)
2020-10-04 11:15:46 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 11:18:11 +0200xff0x(~fox@2001:1a81:52c9:f600:e12b:e4ce:eff2:a3d5) (Ping timeout: 272 seconds)
2020-10-04 11:20:03 +0200rusua_(uid124537@gateway/web/irccloud.com/x-sysvorkqwbosrbwq)
2020-10-04 11:20:16 +0200xff0x(~fox@port-92-193-150-89.dynamic.as20676.net)
2020-10-04 11:21:04 +0200blase(~blase@4e69b241.skybroadband.com)
2020-10-04 11:21:31 +0200rusua_rusua
2020-10-04 11:22:24 +0200gentauro(~gentauro@unaffiliated/gentauro)
2020-10-04 11:22:50 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 11:27:47 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-04 11:27:56 +0200tiru(tiru@gateway/web/irccloud.com/x-xnxbjyohgerhrzfb) (Ping timeout: 240 seconds)
2020-10-04 11:28:24 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-04 11:28:27 +0200dmj`(sid72307@gateway/web/irccloud.com/x-lgfndhesvflaajhx) (Ping timeout: 240 seconds)
2020-10-04 11:28:27 +0200elvishjerricco(sid237756@NixOS/user/ElvishJerricco) (Ping timeout: 240 seconds)
2020-10-04 11:29:28 +0200dmj`(sid72307@gateway/web/irccloud.com/x-adxoyhgdabwnfahc)
2020-10-04 11:29:46 +0200avdb(~avdb@ip-213-49-123-156.dsl.scarlet.be)
2020-10-04 11:29:49 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 246 seconds)
2020-10-04 11:30:26 +0200haasn`(~haasn@mpv/developer/haasn)
2020-10-04 11:30:30 +0200elvishjerricco(sid237756@NixOS/user/ElvishJerricco)
2020-10-04 11:31:07 +0200Sgeo_(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-04 11:31:20 +0200m-renaud_(sid333785@gateway/web/irccloud.com/x-tkucctivkfyvgvtj)
2020-10-04 11:31:36 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 272 seconds)
2020-10-04 11:31:50 +0200JSharp_(sid4580@wikia/JSharp)
2020-10-04 11:31:56 +0200mathlover3(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4)
2020-10-04 11:32:07 +0200alp(~alp@2a01:e0a:58b:4920:a44e:37a8:158b:d27f) (Ping timeout: 272 seconds)
2020-10-04 11:32:13 +0200mathlover3(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4) (Remote host closed the connection)
2020-10-04 11:32:19 +0200eruditass_(uid248673@gateway/web/irccloud.com/x-iuzbfjvdrultjkys)
2020-10-04 11:32:29 +0200eruditass(uid248673@gateway/web/irccloud.com/x-velielirfiuvbxms) (Ping timeout: 240 seconds)
2020-10-04 11:32:37 +0200eruditass_eruditass
2020-10-04 11:32:52 +0200drbrule_(sid395654@gateway/web/irccloud.com/x-upjwrhbxkttxvnlr)
2020-10-04 11:33:00 +0200SrPx(sid108780@gateway/web/irccloud.com/x-fufsvtgbqbrimkxs) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200drbrule(sid395654@gateway/web/irccloud.com/x-xszuswimxvtaajbg) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200m-renaud(sid333785@gateway/web/irccloud.com/x-ucmnbonuwpygsdsu) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200m-renaud_m-renaud
2020-10-04 11:33:00 +0200JSharp(sid4580@wikia/JSharp) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200teehemkay_(sid14792@gateway/web/irccloud.com/x-lutymgyquuykwmsi) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200NemesisD(sid24071@gateway/web/irccloud.com/x-fiagphfooejfsfnx) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200carter(sid14827@gateway/web/irccloud.com/x-psnnzawtqaxxdkxa) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200Forkk(forkk@2600:3c00::f03c:91ff:fe84:de4d) (Ping timeout: 240 seconds)
2020-10-04 11:33:00 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4) (Ping timeout: 240 seconds)
2020-10-04 11:33:01 +0200haasn(~haasn@mpv/developer/haasn) (Ping timeout: 240 seconds)
2020-10-04 11:33:01 +0200copypasteque_(~copypaste@2001:41d0:8:b325::1) (Ping timeout: 240 seconds)
2020-10-04 11:33:01 +0200JSharp_JSharp
2020-10-04 11:33:02 +0200drbrule_drbrule
2020-10-04 11:33:04 +0200bwe_(~bwe@2a01:4f8:1c1c:4878::2)
2020-10-04 11:33:04 +0200bwe(~bwe@unaffiliated/bwe) (Ping timeout: 240 seconds)
2020-10-04 11:33:16 +0200SrPx(sid108780@gateway/web/irccloud.com/x-xulqbpplkjjfywzr)
2020-10-04 11:33:17 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4)
2020-10-04 11:33:47 +0200Forkk(forkk@2600:3c00::f03c:91ff:fe84:de4d)
2020-10-04 11:33:53 +0200carter(sid14827@gateway/web/irccloud.com/x-qxwtkltudlralpiz)
2020-10-04 11:33:56 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Ping timeout: 240 seconds)
2020-10-04 11:33:56 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Ping timeout: 240 seconds)
2020-10-04 11:33:56 +0200acertain(~acertain@unaffiliated/fread2281) (Ping timeout: 240 seconds)
2020-10-04 11:34:05 +0200teehemkay_(sid14792@gateway/web/irccloud.com/x-qrujkmhnrbttdvyo)
2020-10-04 11:34:22 +0200NemesisD(sid24071@gateway/web/irccloud.com/x-efgfqnbmzmvsdzmv)
2020-10-04 11:34:25 +0200tiru(tiru@gateway/web/irccloud.com/x-rvknmwmzawzectui)
2020-10-04 11:34:34 +0200liszt(sid336875@gateway/web/irccloud.com/x-fgjnvuscjsssyrqb) (Ping timeout: 240 seconds)
2020-10-04 11:34:34 +0200benwr___(sid372383@gateway/web/irccloud.com/x-jllzmgdqvwjjsvpo) (Ping timeout: 240 seconds)
2020-10-04 11:34:34 +0200conjunctive(sid433686@gateway/web/irccloud.com/x-kjvfsgpfgehmptub) (Ping timeout: 240 seconds)
2020-10-04 11:34:34 +0200mcfilib(sid302703@gateway/web/irccloud.com/x-yljnzhytqmeffwcq) (Ping timeout: 240 seconds)
2020-10-04 11:34:34 +0200lukelau(~lukelau@2a03:b0c0:1:d0::1bc:b001) (Ping timeout: 240 seconds)
2020-10-04 11:34:37 +0200mcfilib_(sid302703@gateway/web/irccloud.com/x-rzhinfafokictnxq)
2020-10-04 11:34:37 +0200lukelau_(~lukelau@2a03:b0c0:1:d0::1bc:b001)
2020-10-04 11:34:43 +0200liszt_(sid336875@gateway/web/irccloud.com/x-yllqqkokdlggifua)
2020-10-04 11:34:52 +0200copypasteque_(~copypaste@2001:41d0:8:b325::1)
2020-10-04 11:34:53 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4) (Client Quit)
2020-10-04 11:34:55 +0200mantovani(~mantovani@104.131.207.121) (Ping timeout: 240 seconds)
2020-10-04 11:35:06 +0200mflux(flux@coffee.modeemi.fi) (Remote host closed the connection)
2020-10-04 11:35:19 +0200flx_(flux@coffee.modeemi.fi)
2020-10-04 11:35:19 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4)
2020-10-04 11:35:34 +0200flx_mflux
2020-10-04 11:35:36 +0200acertain(~acertain@unaffiliated/fread2281)
2020-10-04 11:36:03 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2020-10-04 11:36:19 +0200benwr___(sid372383@gateway/web/irccloud.com/x-katbkeqzspxvymgm)
2020-10-04 11:36:31 +0200fendor__fendor
2020-10-04 11:36:33 +0200conjunctive(sid433686@gateway/web/irccloud.com/x-ddwejxzgxrdkpmwd)
2020-10-04 11:36:46 +0200thir(~thir@pd9e1baba.dip0.t-ipconnect.de)
2020-10-04 11:37:05 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 240 seconds)
2020-10-04 11:37:29 +0200mantovani(~mantovani@104.131.207.121)
2020-10-04 11:37:54 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4) (Client Quit)
2020-10-04 11:38:12 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4)
2020-10-04 11:39:36 +0200thir(~thir@pd9e1baba.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 11:40:28 +0200polyrain_(~polyrain@203.51.166.163) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 11:40:32 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 11:41:48 +0200carlomagno1(~cararell@inet-hqmc01-o.oracle.com)
2020-10-04 11:43:45 +0200carlomagno(~cararell@inet-hqmc02-o.oracle.com) (Ping timeout: 240 seconds)
2020-10-04 11:47:56 +0200Lycurgus(~niemand@98.4.96.130)
2020-10-04 11:50:36 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 272 seconds)
2020-10-04 11:54:24 +0200LKoen(~LKoen@81.255.219.130)
2020-10-04 11:54:50 +0200LKoen(~LKoen@81.255.219.130) (Read error: Connection reset by peer)
2020-10-04 11:55:19 +0200LKoen(~LKoen@81.255.219.130)
2020-10-04 11:55:29 +0200mav1(~mav@p5b02806a.dip0.t-ipconnect.de)
2020-10-04 11:56:20 +0200larsivi(~larsivi@84.39.117.57)
2020-10-04 12:01:54 +0200ggole-(~ggole@2001:8003:8119:7200:10c6:17b0:327d:27c2)
2020-10-04 12:02:03 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 12:05:10 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 246 seconds)
2020-10-04 12:05:20 +0200flx_(flux@coffee.modeemi.fi)
2020-10-04 12:05:24 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 12:05:25 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 12:05:25 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 12:05:47 +0200ibloom_(sid350277@gateway/web/irccloud.com/x-tcspdyzziimwvrpe)
2020-10-04 12:06:00 +0200coot_(~coot@37.30.52.16.nat.umts.dynamic.t-mobile.pl)
2020-10-04 12:06:46 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-04 12:07:02 +0200avdb(~avdb@ip-213-49-123-156.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-10-04 12:07:11 +0200alexelcu_(~alexelcu@142.93.180.198)
2020-10-04 12:07:32 +0200xerox__(~xerox@unaffiliated/xerox)
2020-10-04 12:07:34 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 12:08:15 +0200ggole(~ggole@2001:8003:8119:7200:10c6:17b0:327d:27c2) (Remote host closed the connection)
2020-10-04 12:08:15 +0200ixian(~mgold@terra.bitplane.org) (Ping timeout: 240 seconds)
2020-10-04 12:08:15 +0200ixian(~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269)
2020-10-04 12:08:15 +0200tiru(tiru@gateway/web/irccloud.com/x-rvknmwmzawzectui) (Ping timeout: 240 seconds)
2020-10-04 12:08:15 +0200ibloom(sid350277@gateway/web/irccloud.com/x-ymkdxafhqeygykpz) (Ping timeout: 240 seconds)
2020-10-04 12:08:15 +0200mflux(flux@coffee.modeemi.fi) (Read error: Connection reset by peer)
2020-10-04 12:08:15 +0200tiru(tiru@gateway/web/irccloud.com/session)
2020-10-04 12:08:15 +0200alexelcu(~alexelcu@142.93.180.198) (Ping timeout: 240 seconds)
2020-10-04 12:08:16 +0200i7c(DJeiGgXtyX@unaffiliated/i7c) (Ping timeout: 240 seconds)
2020-10-04 12:08:16 +0200tiru(tiru@gateway/web/irccloud.com/session) (Changing host)
2020-10-04 12:08:16 +0200tiru(tiru@gateway/web/irccloud.com/x-flbugcikdclyotgz)
2020-10-04 12:08:16 +0200ibloom_ibloom
2020-10-04 12:08:24 +0200flx_mflux
2020-10-04 12:08:25 +0200luigy(~luigy@104.236.106.229) (Ping timeout: 240 seconds)
2020-10-04 12:09:23 +0200i7c(C10NftuPJ8@unaffiliated/i7c)
2020-10-04 12:09:43 +0200Wuzzy(~Wuzzy@p5790e6f5.dip0.t-ipconnect.de)
2020-10-04 12:09:53 +0200coot(~coot@37.30.52.16.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 265 seconds)
2020-10-04 12:09:53 +0200coot_coot
2020-10-04 12:09:59 +0200p0a(~user@unaffiliated/p0a) (Quit: bye)
2020-10-04 12:10:14 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 272 seconds)
2020-10-04 12:10:54 +0200luigy(~luigy@104.236.106.229)
2020-10-04 12:12:31 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 246 seconds)
2020-10-04 12:13:33 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 12:14:25 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-10-04 12:14:58 +0200hackagewai-feature-flags 0.1.0.0 - Feature flag support for WAI applications. https://hackage.haskell.org/package/wai-feature-flags-0.1.0.0 (JasperWoudenberg)
2020-10-04 12:15:33 +0200xerox__(~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds)
2020-10-04 12:15:57 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 12:16:24 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 12:17:36 +0200p0a(~user@unaffiliated/p0a)
2020-10-04 12:17:43 +0200p0a(~user@unaffiliated/p0a) ()
2020-10-04 12:19:17 +0200pangol(~pangol@5.202.178.210)
2020-10-04 12:19:17 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 260 seconds)
2020-10-04 12:20:53 +0200chaosmasttter(~chaosmast@p200300c4a73b2e0168c1f453f2fcf16d.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2020-10-04 12:21:03 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-04 12:21:38 +0200Lycurgus(~niemand@98.4.96.130) (Quit: Exeunt)
2020-10-04 12:23:25 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-04 12:25:01 +0200 <maralorn> Is there a nicer function for \(x :: IO ()) -> race_ (concurrently_ x (threadDelay 20000)) (threadDelay 500000)?
2020-10-04 12:25:08 +0200avdb(~avdb@ip-213-49-123-156.dsl.scarlet.be)
2020-10-04 12:26:09 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 12:27:18 +0200pangol(~pangol@5.202.178.210) (Quit: Leaving)
2020-10-04 12:29:49 +0200xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
2020-10-04 12:30:25 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 240 seconds)
2020-10-04 12:30:48 +0200knupfer(~Thunderbi@200116b82c6778000192b189ecec5aa7.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-04 12:30:54 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 256 seconds)
2020-10-04 12:30:54 +0200xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2020-10-04 12:30:56 +0200knupfer(~Thunderbi@200116b82c677800f4b51c23ff7d0e57.dip.versatel-1u1.de)
2020-10-04 12:31:38 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 12:32:45 +0200bollu(~bollu@139.59.46.74) (Remote host closed the connection)
2020-10-04 12:32:54 +0200avdb(~avdb@ip-213-49-123-156.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-10-04 12:33:04 +0200shafox(~shafox@106.51.234.111) (Remote host closed the connection)
2020-10-04 12:33:50 +0200mathlover3(~mathlover@cpe-67-248-97-14.nycap.res.rr.com)
2020-10-04 12:33:55 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-04 12:34:49 +0200ericsagnes(~ericsagne@2405:6580:0:5100:1d5c:d7d1:5cb4:1102) (Ping timeout: 272 seconds)
2020-10-04 12:35:28 +0200jwynn6(~jwynn6@050-088-122-078.res.spectrum.com) (Ping timeout: 260 seconds)
2020-10-04 12:35:35 +0200shafox(~shafox@106.51.234.111)
2020-10-04 12:36:37 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4) (Ping timeout: 260 seconds)
2020-10-04 12:36:50 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 272 seconds)
2020-10-04 12:40:28 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-10-04 12:41:47 +0200xff0x(~fox@port-92-193-150-89.dynamic.as20676.net) (Ping timeout: 265 seconds)
2020-10-04 12:44:58 +0200shatriff(~vitaliish@130.180.218.188)
2020-10-04 12:45:57 +0200shatriff(~vitaliish@130.180.218.188) (Remote host closed the connection)
2020-10-04 12:47:19 +0200ericsagnes(~ericsagne@2405:6580:0:5100:f195:61e7:b1b6:6036)
2020-10-04 12:47:37 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-04 12:47:38 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-04 12:47:38 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-04 12:48:18 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-04 12:50:54 +0200Sgeo_(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-04 12:51:07 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it)
2020-10-04 12:51:42 +0200xff0x(~fox@2001:1a81:52c9:f600:1d0d:f15:77e4:d5da)
2020-10-04 12:53:56 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6)
2020-10-04 12:58:05 +0200ixlun(~matthew@213.205.241.94) (Ping timeout: 240 seconds)
2020-10-04 13:00:22 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 13:00:49 +0200mav1(~mav@p5b02806a.dip0.t-ipconnect.de) (Ping timeout: 246 seconds)
2020-10-04 13:02:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 13:03:37 +0200sagax(~sagax_nb@213.138.71.146)
2020-10-04 13:04:49 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 13:05:59 +0200coot(~coot@37.30.52.16.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-10-04 13:07:20 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-04 13:07:27 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-04 13:07:28 +0200zariuq(~zar@fw2.ciirc.cvut.cz) (Remote host closed the connection)
2020-10-04 13:08:27 +0200zariuq(~zar@fw2.ciirc.cvut.cz)
2020-10-04 13:09:25 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-04 13:12:45 +0200rprije(~rprije@203.214.95.251) (Ping timeout: 240 seconds)
2020-10-04 13:14:05 +0200solonarv(~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr)
2020-10-04 13:18:02 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 13:18:48 +0200mav1(~mav@p5b02806a.dip0.t-ipconnect.de)
2020-10-04 13:27:10 +0200zargoertzel(~zar@fw5.ciirc.cvut.cz)
2020-10-04 13:28:38 +0200Saukk(~Saukk@2001:998:f1:3966:96a6:dee2:2e9:fdf3) (Remote host closed the connection)
2020-10-04 13:29:34 +0200raehik1(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-10-04 13:30:13 +0200zariuq(~zar@fw2.ciirc.cvut.cz) (Ping timeout: 264 seconds)
2020-10-04 13:30:58 +0200hackagepublish 2.1.5 - Publishing tools for papers, books, and presentations https://hackage.haskell.org/package/publish-2.1.5 (AndrewCowie)
2020-10-04 13:34:37 +0200hekkaidekapus}(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-04 13:35:00 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 256 seconds)
2020-10-04 13:35:33 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de)
2020-10-04 13:36:09 +0200__monty__(~toonn@unaffiliated/toonn)
2020-10-04 13:36:23 +0200hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-10-04 13:41:52 +0200Tops2(~Tobias@dyndsl-095-033-090-035.ewe-ip-backbone.de)
2020-10-04 13:44:24 +0200quazimodo(~quazimodo@60-240-169-126.static.tpgi.com.au)
2020-10-04 13:44:52 +0200thir(~thir@p200300f27f0fc60004d129737887aa72.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-04 13:48:53 +0200alx741_(~alx741@181.196.69.166) (Ping timeout: 260 seconds)
2020-10-04 13:48:57 +0200hackageelm-street 0.1.0.3 - Crossing the road between Haskell and Elm https://hackage.haskell.org/package/elm-street-0.1.0.3 (HolmuskTechTeam)
2020-10-04 13:49:49 +0200irc_bot_9000(~irc_bot_9@60.54.96.226)
2020-10-04 13:50:45 +0200ksixty(~Adium@static.100.218.46.78.clients.your-server.de)
2020-10-04 13:50:51 +0200 <irc_bot_9000> hi, haskell n00b here. From the paper "Why Functional Programming Matters" by John Hughes, can someone explain the optimization performed by the introduction of maximize`/minimize` ?
2020-10-04 13:51:13 +0200 <irc_bot_9000> it seems to be that it have to iterate through the tree anyways, I don't see how it optimizes the search algorithm
2020-10-04 13:55:27 +0200hackagesilkscreen 0.0.0.1 - Prettyprinting transformers. https://hackage.haskell.org/package/silkscreen-0.0.0.1 (robrix)
2020-10-04 13:55:54 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2020-10-04 13:56:24 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 258 seconds)
2020-10-04 13:57:01 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2020-10-04 13:57:09 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Ping timeout: 272 seconds)
2020-10-04 13:57:45 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 13:58:06 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-04 14:00:01 +0200larsivi(~larsivi@84.39.117.57) ()
2020-10-04 14:00:20 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-04 14:02:58 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 272 seconds)
2020-10-04 14:03:07 +0200alx741_(~alx741@186.178.110.22)
2020-10-04 14:03:47 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 14:03:52 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 14:05:42 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2020-10-04 14:06:58 +0200hackagefree-functors 1.2 - Free functors, adjoint to functors that forget class constraints. https://hackage.haskell.org/package/free-functors-1.2 (SjoerdVisscher)
2020-10-04 14:08:02 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 272 seconds)
2020-10-04 14:08:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-04 14:08:14 +0200oo_miguel(~miguel@89-72-187-203.dynamic.chello.pl)
2020-10-04 14:08:29 +0200HaskellYogi(~vivekrama@49.207.213.15) (Ping timeout: 260 seconds)
2020-10-04 14:10:18 +0200solonarv(~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) (Read error: Connection reset by peer)
2020-10-04 14:10:39 +0200solonarv(~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr)
2020-10-04 14:11:16 +0200gewaltdisney(~proletkul@115.79.31.1) (Quit: Lost terminal)
2020-10-04 14:11:38 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-04 14:13:24 +0200oo_miguel(~miguel@89-72-187-203.dynamic.chello.pl) (Quit: WeeChat 2.3)
2020-10-04 14:15:19 +0200oo_miguel(~miguel@89-72-187-203.dynamic.chello.pl)
2020-10-04 14:15:33 +0200irc_bot_9000(~irc_bot_9@60.54.96.226) (Ping timeout: 265 seconds)
2020-10-04 14:15:42 +0200oo_miguel(~miguel@89-72-187-203.dynamic.chello.pl) (Client Quit)
2020-10-04 14:16:59 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Ping timeout: 240 seconds)
2020-10-04 14:21:39 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Quit: Lost terminal)
2020-10-04 14:26:38 +0200ksixty(~Adium@static.100.218.46.78.clients.your-server.de) (Quit: Leaving.)
2020-10-04 14:27:10 +0200polyrain(~polyrain@2001:8003:e501:6901:750a:d8b5:8b8:5ae6)
2020-10-04 14:27:27 +0200hackagevulkan 3.6.8 - Bindings to the Vulkan graphics API. https://hackage.haskell.org/package/vulkan-3.6.8 (jophish)
2020-10-04 14:28:21 +0200polyrain(~polyrain@2001:8003:e501:6901:750a:d8b5:8b8:5ae6) (Client Quit)
2020-10-04 14:30:10 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-04 14:31:49 +0200taurux(~taurux@net-188-152-1-207.cust.vodafonedsl.it) (Ping timeout: 256 seconds)
2020-10-04 14:32:53 +0200taurux(~taurux@net-188-152-78-10.cust.vodafonedsl.it)
2020-10-04 14:34:15 +0200shatriff(~vitaliish@130.180.218.188)
2020-10-04 14:37:12 +0200knupfer(~Thunderbi@200116b82c677800f4b51c23ff7d0e57.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-04 14:37:16 +0200taurux(~taurux@net-188-152-78-10.cust.vodafonedsl.it) (Ping timeout: 256 seconds)
2020-10-04 14:37:23 +0200knupfer(~Thunderbi@200116b82c677800f4b51c23ff7d0e57.dip.versatel-1u1.de)
2020-10-04 14:37:45 +0200taurux(~taurux@net-93-144-10-156.cust.vodafonedsl.it)
2020-10-04 14:38:03 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-04 14:38:21 +0200_Alleria(~AllahuAkb@2604:2000:1484:26:40a5:ffd0:b706:8d98)
2020-10-04 14:38:25 +0200shatriff(~vitaliish@130.180.218.188) (Ping timeout: 240 seconds)
2020-10-04 14:39:05 +0200jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-10-04 14:39:31 +0200jb55(~jb55@gateway/tor-sasl/jb55)
2020-10-04 14:41:40 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-04 14:41:41 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-04 14:41:47 +0200Alleria_(~AllahuAkb@2604:2000:1484:26:49a5:3539:b389:fbc6) (Ping timeout: 260 seconds)
2020-10-04 14:46:33 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Ping timeout: 272 seconds)
2020-10-04 14:52:58 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 14:54:31 +0200mirrorbird(~psutcliff@m83-185-94-227.cust.tele2.se)
2020-10-04 14:57:36 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 265 seconds)
2020-10-04 14:59:16 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-04 15:03:14 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
2020-10-04 15:05:43 +0200mirrorbird(~psutcliff@m83-185-94-227.cust.tele2.se) (Quit: Leaving)
2020-10-04 15:06:04 +0200guest74637(~guest7463@cryptofree.cstorm.is)
2020-10-04 15:09:33 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-04 15:09:56 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-04 15:10:06 +0200Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 272 seconds)
2020-10-04 15:10:15 +0200guest74637(~guest7463@cryptofree.cstorm.is) (Remote host closed the connection)
2020-10-04 15:10:32 +0200guest74637(~guest7463@cryptofree.cstorm.is)
2020-10-04 15:10:32 +0200guest74637(~guest7463@cryptofree.cstorm.is) (Max SendQ exceeded)
2020-10-04 15:11:22 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 272 seconds)
2020-10-04 15:13:39 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-04 15:19:20 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-04 15:22:17 +0200xff0x(~fox@2001:1a81:52c9:f600:1d0d:f15:77e4:d5da) (Ping timeout: 260 seconds)
2020-10-04 15:22:52 +0200ishutin_(~Ishutin@92-249-150-146.static.digikabel.hu) (Read error: Connection reset by peer)
2020-10-04 15:22:59 +0200ishutin(~Ishutin@92-249-150-146.static.digikabel.hu)
2020-10-04 15:24:15 +0200Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Remote host closed the connection)
2020-10-04 15:25:05 +0200notzmv(~user@unaffiliated/zmv) (Ping timeout: 256 seconds)
2020-10-04 15:25:35 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 15:32:20 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net)
2020-10-04 15:32:43 +0200polyrain(~polyrain@2001:8003:e501:6901:5451:58df:dd7d:42b9)
2020-10-04 15:34:23 +0200Amedeo(~Username@host-79-51-170-9.retail.telecomitalia.it)
2020-10-04 15:35:02 +0200Amedeo(~Username@host-79-51-170-9.retail.telecomitalia.it) (Read error: Connection reset by peer)
2020-10-04 15:38:29 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-04 15:40:03 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-04 15:41:42 +0200knupfer(~Thunderbi@200116b82c677800f4b51c23ff7d0e57.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-04 15:41:50 +0200knupfer(~Thunderbi@200116b82c6778009150ae4589703a3d.dip.versatel-1u1.de)
2020-10-04 15:43:31 +0200drbean(~drbean@TC210-63-209-220.static.apol.com.tw) (Ping timeout: 265 seconds)
2020-10-04 15:47:17 +0200HaskellYogi(~vivekrama@49.207.213.15)
2020-10-04 15:51:39 +0200notzmv(~user@unaffiliated/zmv)
2020-10-04 15:52:50 +0200berberman(~berberman@123.118.108.235)
2020-10-04 15:53:38 +0200HaskellYogi(~vivekrama@49.207.213.15) (Quit: Sayonara. Long live Haskell)
2020-10-04 15:54:52 +0200Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-10-04 15:56:11 +0200xff0x(~fox@217.110.198.158)
2020-10-04 15:56:43 +0200polyrain(~polyrain@2001:8003:e501:6901:5451:58df:dd7d:42b9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 15:56:44 +0200plutoniix(~q@ppp-27-55-78-20.revip3.asianet.co.th)
2020-10-04 15:57:13 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone) (Ping timeout: 264 seconds)
2020-10-04 16:00:19 +0200MindlessDrone(~MindlessD@unaffiliated/mindlessdrone)
2020-10-04 16:01:57 +0200hackagepretty-diff 0.2.0.1 - Pretty printing a diff of two values. https://hackage.haskell.org/package/pretty-diff-0.2.0.1 (JasperWoudenberg)
2020-10-04 16:02:01 +0200geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com)
2020-10-04 16:03:47 +0200Maijin(~Maijin@84.39.116.180)
2020-10-04 16:04:22 +0200notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2020-10-04 16:05:20 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 16:07:13 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 260 seconds)
2020-10-04 16:08:22 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-10-04 16:09:13 +0200notzmv(~user@unaffiliated/zmv)
2020-10-04 16:09:25 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-04 16:13:45 +0200urodna(~urodna@unaffiliated/urodna)
2020-10-04 16:14:12 +0200ericsagnes(~ericsagne@2405:6580:0:5100:f195:61e7:b1b6:6036) (Ping timeout: 260 seconds)
2020-10-04 16:16:14 +0200renzhi(~renzhi@modemcable070.17-177-173.mc.videotron.ca)
2020-10-04 16:19:13 +0200tzh(~tzh@2601:448:c500:5300::143b)
2020-10-04 16:20:28 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:190b:21b1:e82d:dbc9)
2020-10-04 16:20:55 +0200fendor(~fendor@178.165.130.169.wireless.dyn.drei.com) (Remote host closed the connection)
2020-10-04 16:21:25 +0200plutoniix(~q@ppp-27-55-78-20.revip3.asianet.co.th) (Ping timeout: 240 seconds)
2020-10-04 16:26:45 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 16:26:51 +0200ericsagnes(~ericsagne@2405:6580:0:5100:303d:1ce9:8a60:670b)
2020-10-04 16:27:33 +0200xff0x(~fox@217.110.198.158) (Ping timeout: 260 seconds)
2020-10-04 16:29:55 +0200jollygood2(~bc815b99@217.29.117.252)
2020-10-04 16:32:19 +0200 <jollygood2> > printf "%g" 1.0 :: String
2020-10-04 16:32:21 +0200 <lambdabot> "1.0"
2020-10-04 16:32:32 +0200 <jollygood2> is this expected and deliberate? it doesn't match behavior of printf in C
2020-10-04 16:34:37 +0200plutoniix(~q@node-uib.pool-125-24.dynamic.totinternet.net)
2020-10-04 16:35:46 +0200elliott_(~elliott_@pool-108-45-154-71.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-10-04 16:36:05 +0200elliott_(~elliott_@pool-108-45-154-71.washdc.fios.verizon.net)
2020-10-04 16:39:16 +0200thir(~thir@p200300f27f0fc6006d5b5f66c58af271.dip0.t-ipconnect.de)
2020-10-04 16:39:57 +0200jneira(501e65ce@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.206)
2020-10-04 16:42:10 +0200notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2020-10-04 16:42:52 +0200notzmv(~user@unaffiliated/zmv)
2020-10-04 16:45:26 +0200notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2020-10-04 16:46:17 +0200notzmv(~user@unaffiliated/zmv)
2020-10-04 16:47:37 +0200elliott_(~elliott_@pool-108-45-154-71.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-10-04 16:49:16 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:190b:21b1:e82d:dbc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 16:49:34 +0200 <tomsmeding> jollygood2: see the last part of the documentation: https://hackage.haskell.org/package/base-4.14.0.0/docs/Text-Printf.html#v:printf
2020-10-04 16:50:53 +0200plutoniix(~q@node-uib.pool-125-24.dynamic.totinternet.net) (Ping timeout: 260 seconds)
2020-10-04 16:51:47 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it) (Ping timeout: 240 seconds)
2020-10-04 16:53:44 +0200 <jollygood2> tomsmeding ok. I like C's behavior better, but it is what it is
2020-10-04 16:54:06 +0200thir(~thir@p200300f27f0fc6006d5b5f66c58af271.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 16:54:21 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:190b:21b1:e82d:dbc9)
2020-10-04 16:54:56 +0200 <tomsmeding> ¯\_(ツ)_/¯
2020-10-04 16:56:18 +0200jchia1(~jchia@58.32.34.80)
2020-10-04 16:56:38 +0200ddellacosta(~dd@86.106.121.168)
2020-10-04 16:56:47 +0200jchia_1(~jchia@58.32.37.149)
2020-10-04 16:56:54 +0200jchia__1(~jchia@58.32.37.149)
2020-10-04 16:56:55 +0200jchia(~jchia@58.32.37.1) (Ping timeout: 244 seconds)
2020-10-04 16:57:10 +0200jchia_(~jchia@58.32.37.220) (Read error: Connection reset by peer)
2020-10-04 16:57:28 +0200jchia__(~jchia@58.32.37.220) (Ping timeout: 265 seconds)
2020-10-04 16:57:58 +0200oisdk(~oisdk@2001:bb6:3329:d100:693b:1e64:c063:cc27)
2020-10-04 17:00:02 +0200Maijin(~Maijin@84.39.116.180) ()
2020-10-04 17:00:36 +0200jchia1(~jchia@58.32.34.80) (Read error: Connection reset by peer)
2020-10-04 17:02:16 +0200Axman6(~Axman6@pdpc/supporter/student/Axman6) (Remote host closed the connection)
2020-10-04 17:02:39 +0200jchia__(~jchia@58.32.33.217)
2020-10-04 17:03:25 +0200jchia__1(~jchia@58.32.37.149) (Ping timeout: 240 seconds)
2020-10-04 17:03:28 +0200jchia_1(~jchia@58.32.37.149) (Ping timeout: 258 seconds)
2020-10-04 17:04:55 +0200 <maerwald> "I like C's behavior better" ...so as long as you don't pass user input into it :p
2020-10-04 17:05:28 +0200plutoniix(~q@ppp-27-55-78-20.revip3.asianet.co.th)
2020-10-04 17:06:07 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 17:07:25 +0200knupfer(~Thunderbi@200116b82c6778009150ae4589703a3d.dip.versatel-1u1.de) (Remote host closed the connection)
2020-10-04 17:07:38 +0200knupfer(~Thunderbi@200116b82c677800151afd79b449efac.dip.versatel-1u1.de)
2020-10-04 17:08:31 +0200plutoniix(~q@ppp-27-55-78-20.revip3.asianet.co.th) (Client Quit)
2020-10-04 17:08:43 +0200 <tomsmeding> maerwald: that's not really what the question was about ;)
2020-10-04 17:08:49 +0200jaj[m](jajjoachim@gateway/shell/matrix.org/x-uayrvcrqbmwzsqhw)
2020-10-04 17:09:23 +0200 <maerwald> I wasn't answering the question :)
2020-10-04 17:10:14 +0200thir(~thir@p200300f27f0fc60038c1b16891cbfa03.dip0.t-ipconnect.de)
2020-10-04 17:10:35 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-04 17:12:50 +0200jchia_(~jchia@45.32.62.73)
2020-10-04 17:13:17 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com)
2020-10-04 17:13:17 +0200jle`(~mstksg@cpe-23-240-75-236.socal.res.rr.com) (Changing host)
2020-10-04 17:13:17 +0200jle`(~mstksg@unaffiliated/mstksg)
2020-10-04 17:14:06 +0200fendor(~fendor@178.165.130.169.wireless.dyn.drei.com)
2020-10-04 17:14:25 +0200thir(~thir@p200300f27f0fc60038c1b16891cbfa03.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-04 17:14:25 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 240 seconds)
2020-10-04 17:16:09 +0200jchia_(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-04 17:16:31 +0200bloodstalker(~bloodstal@46.166.187.154)
2020-10-04 17:17:05 +0200jchia_(~jchia@58.32.33.217)
2020-10-04 17:17:46 +0200thir(~thir@p200300f27f0fc60038c1b16891cbfa03.dip0.t-ipconnect.de)
2020-10-04 17:24:09 +0200jchia(~jchia@58.32.34.52)
2020-10-04 17:25:04 +0200jneira(501e65ce@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.206) (Ping timeout: 246 seconds)
2020-10-04 17:26:23 +0200xff0x(~fox@2001:1a81:52c9:f600:1d0d:f15:77e4:d5da)
2020-10-04 17:26:37 +0200kritzefitz(~kritzefit@212.86.56.80)
2020-10-04 17:32:27 +0200 <jollygood2> %10s flag in printf alignts to right, %-10s to the left, but is there a way to center the text?
2020-10-04 17:33:08 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-04 17:33:15 +0200LKoen(~LKoen@81.255.219.130) (Remote host closed the connection)
2020-10-04 17:33:18 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 17:33:19 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 17:33:19 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 17:33:39 +0200 <geekosaur> there is not, neither in haskell nor C printf
2020-10-04 17:33:57 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:190b:21b1:e82d:dbc9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-04 17:35:25 +0200ddellacosta(~dd@86.106.121.168) (Ping timeout: 240 seconds)
2020-10-04 17:37:58 +0200thir(~thir@p200300f27f0fc60038c1b16891cbfa03.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-04 17:38:05 +0200zacts(~zacts@dragora/developer/zacts)
2020-10-04 17:40:51 +0200notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2020-10-04 17:41:19 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-04 17:41:36 +0200notzmv(~user@unaffiliated/zmv)
2020-10-04 17:42:20 +0200Gerula(~Gerula@unaffiliated/gerula) (Quit: Leaving)
2020-10-04 17:42:31 +0200elliott__(~elliott@pool-108-45-154-71.washdc.fios.verizon.net)
2020-10-04 17:44:56 +0200todda7(~torstein@athedsl-4367507.home.otenet.gr)
2020-10-04 17:45:21 +0200conal(~conal@64.71.133.70)
2020-10-04 17:45:45 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-04 17:45:49 +0200mav1(~mav@p5b02806a.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2020-10-04 17:48:42 +0200jchia__(~jchia@58.32.33.217) (Read error: Connection reset by peer)
2020-10-04 17:48:42 +0200jchia_(~jchia@58.32.33.217) (Read error: Connection reset by peer)
2020-10-04 17:49:04 +0200jchia(~jchia@58.32.34.52) (Read error: Connection reset by peer)
2020-10-04 17:49:39 +0200notzmv(~user@unaffiliated/zmv) (Remote host closed the connection)
2020-10-04 17:49:50 +0200jchia_(~jchia@58.32.35.239)
2020-10-04 17:50:18 +0200notzmv(~user@unaffiliated/zmv)
2020-10-04 17:51:45 +0200cfricke(~cfricke@unaffiliated/cfricke)
2020-10-04 17:51:53 +0200ekleog(~ii@prologin/ekleog) (Quit: back soon)
2020-10-04 17:53:49 +0200ekleog(~ii@prologin/ekleog)
2020-10-04 17:54:56 +0200jchia__(~jchia@58.32.35.239)
2020-10-04 17:55:29 +0200 <jollygood2> @hoogle Show a => IO a
2020-10-04 17:55:30 +0200 <lambdabot> System.Exit exitFailure :: IO a
2020-10-04 17:55:30 +0200 <lambdabot> System.Exit exitSuccess :: IO a
2020-10-04 17:55:30 +0200 <lambdabot> GHC.IO.Handle.Internals ioe_closedHandle :: IO a
2020-10-04 17:55:44 +0200 <jollygood2> what function is that? reading a line from stdin, and then trying to read it with read
2020-10-04 17:55:49 +0200 <jollygood2> @hoogle Read a => IO a
2020-10-04 17:55:50 +0200 <lambdabot> Prelude readLn :: Read a => IO a
2020-10-04 17:55:50 +0200 <lambdabot> System.IO readLn :: Read a => IO a
2020-10-04 17:55:50 +0200 <lambdabot> Test.Hspec.Discover readLn :: Read a => IO a
2020-10-04 17:55:55 +0200 <jollygood2> nm ;)
2020-10-04 17:56:03 +0200[RuCTFE]tswr(~RuCTFE]ts@195.140.213.38)
2020-10-04 17:57:20 +0200cfricke(~cfricke@unaffiliated/cfricke) (Quit: WeeChat 2.9)
2020-10-04 17:57:26 +0200jchia(~jchia@58.32.32.136)
2020-10-04 17:57:29 +0200 <geekosaur> the Show version is `print', fwiw
2020-10-04 17:58:58 +0200hackagesimple-cabal 0.1.3 - Cabal file wrapper library https://hackage.haskell.org/package/simple-cabal-0.1.3 (JensPetersen)
2020-10-04 17:59:27 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds)
2020-10-04 18:00:19 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-04 18:01:17 +0200Rudd0(~Rudd0@185.189.115.108)
2020-10-04 18:04:02 +0200LKoen(~LKoen@81.255.219.130)
2020-10-04 18:06:52 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 18:07:22 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be)
2020-10-04 18:07:22 +0200GyroW_(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-04 18:07:22 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-04 18:07:34 +0200Gerula(~Gerula@unaffiliated/gerula)
2020-10-04 18:08:25 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-04 18:09:24 +0200mpickering_mpicekring
2020-10-04 18:09:27 +0200mpicekringmpickering
2020-10-04 18:09:43 +0200chrpape(~user@2a01:4f9:c010:632d::1)
2020-10-04 18:11:04 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-04 18:11:16 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-04 18:12:22 +0200 <tomsmeding> is there a simple way to make command-line hoogle print the _package_ a particular module is from?
2020-10-04 18:19:25 +0200aarvar(~foewfoiew@50.35.43.33) (Ping timeout: 240 seconds)
2020-10-04 18:21:06 +0200raehik1(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2020-10-04 18:23:10 +0200raehik1(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-10-04 18:24:55 +0200xff0x(~fox@2001:1a81:52c9:f600:1d0d:f15:77e4:d5da) (Ping timeout: 240 seconds)
2020-10-04 18:25:40 +0200notzmv`(~user@177.45.26.174)
2020-10-04 18:26:08 +0200xff0x(~fox@2001:1a81:52c9:f600:f5f2:9982:d51b:11e1)
2020-10-04 18:27:53 +0200knupfer1(~Thunderbi@200116b82c67780049b0f8914a41620c.dip.versatel-1u1.de)
2020-10-04 18:28:36 +0200 <c_wraith> can't ghc-pkg do that?
2020-10-04 18:28:59 +0200pingniko
2020-10-04 18:30:12 +0200 <c_wraith> yeah... it depends on having a package database, of course, but ghc-pkg find-module does exist
2020-10-04 18:30:52 +0200notzmv`(~user@177.45.26.174) (Ping timeout: 258 seconds)
2020-10-04 18:31:17 +0200knupfer(~Thunderbi@200116b82c677800151afd79b449efac.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-10-04 18:31:17 +0200knupfer1knupfer
2020-10-04 18:31:53 +0200notzmv(~user@unaffiliated/zmv) (Ping timeout: 260 seconds)
2020-10-04 18:32:25 +0200renzhi(~renzhi@modemcable070.17-177-173.mc.videotron.ca) (Ping timeout: 240 seconds)
2020-10-04 18:34:40 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-10-04 18:38:28 +0200hackageirc-client 1.1.2.0 - An IRC client library. https://hackage.haskell.org/package/irc-client-1.1.2.0 (barrucadu)
2020-10-04 18:38:42 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-kqkqyowmnuomwlmo)
2020-10-04 18:38:56 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 18:40:06 +0200conal(~conal@64.71.133.70)
2020-10-04 18:41:30 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Quit: leaving)
2020-10-04 18:41:54 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-04 18:43:12 +0200 <tomsmeding> c_wraith: oh that's exactly what I wanted!
2020-10-04 18:43:42 +0200 <tomsmeding> though I still wonder why hoogle can't seem to, especially since its web interface does list the source package :p
2020-10-04 18:47:01 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net) (Ping timeout: 264 seconds)
2020-10-04 18:48:04 +0200constR(uid58205@gateway/web/irccloud.com/x-tksgpowcrsjwxjgo)
2020-10-04 18:48:33 +0200dcoutts_(~duncan@70.14.75.194.dyn.plus.net)
2020-10-04 18:48:33 +0200dcoutts_(~duncan@70.14.75.194.dyn.plus.net) (Changing host)
2020-10-04 18:48:33 +0200dcoutts_(~duncan@unaffiliated/dcoutts)
2020-10-04 18:50:49 +0200dcoutts(~duncan@unaffiliated/dcoutts) (Ping timeout: 246 seconds)
2020-10-04 18:52:22 +0200 <[exa]> (also ghc-pkg doesn't really help you if you don't have the package installed, right?)
2020-10-04 18:52:50 +0200 <geekosaur> right
2020-10-04 18:53:37 +0200dcoutts(~duncan@90.14.75.194.dyn.plus.net)
2020-10-04 18:53:37 +0200dcoutts(~duncan@90.14.75.194.dyn.plus.net) (Changing host)
2020-10-04 18:53:37 +0200dcoutts(~duncan@unaffiliated/dcoutts)
2020-10-04 18:53:45 +0200Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.110)
2020-10-04 18:53:49 +0200 <ibloom> Let's say I have a buffer that I created in the IO monad using mallocBytes. I wrote a bunch of data to it in using poke. Is there a way I can freeze that buffer and access it, read only, from a pure function.
2020-10-04 18:54:07 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-04 18:54:11 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f) (Remote host closed the connection)
2020-10-04 18:54:25 +0200dcoutts_(~duncan@unaffiliated/dcoutts) (Ping timeout: 240 seconds)
2020-10-04 18:55:08 +0200dcoutts_(~duncan@33.14.75.194.dyn.plus.net)
2020-10-04 18:55:08 +0200dcoutts_(~duncan@33.14.75.194.dyn.plus.net) (Changing host)
2020-10-04 18:55:08 +0200dcoutts_(~duncan@unaffiliated/dcoutts)
2020-10-04 18:55:51 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
2020-10-04 18:56:07 +0200 <rotaerk> ibloom, it would involve copying the contents of it into a pure value
2020-10-04 18:56:07 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-04 18:56:45 +0200 <ibloom> Would I need to actually copy it or can I tell the compiler that it's frozen somehow?
2020-10-04 18:56:45 +0200 <[exa]> there are some ways for wrapping it in a "nice" interface, e.g. ByteString can be created from ForeignPtr
2020-10-04 18:56:58 +0200 <[exa]> (without copying ofc)
2020-10-04 18:57:00 +0200 <c_wraith> ibloom: mallocBytes and poke are part of the FFI, they're not really designed to support freezing. the array/vector packages give you an interface that does support freezing.
2020-10-04 18:57:11 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it)
2020-10-04 18:57:30 +0200 <[exa]> ibloom: why the raw malloc btw?
2020-10-04 18:57:51 +0200 <ibloom> The reason I'm doing this is because I have functions in OpenCL, Cuda and reference functions in Haskell.
2020-10-04 18:58:20 +0200 <ibloom> I'd like the haskell functions to just read from the same structures.
2020-10-04 18:58:23 +0200 <[exa]> probably better allocate an unboxed vector, convert it to Ptr and send that pointer
2020-10-04 18:58:30 +0200dcoutts(~duncan@unaffiliated/dcoutts) (Ping timeout: 256 seconds)
2020-10-04 18:58:51 +0200 <[exa]> or are the structures allocated in the foreign code?
2020-10-04 19:00:02 +0200 <ibloom> The other reason I'm using malloc is because I homebrewed an append only buffer that can grow indefinitely. So maybe what I'm looking for is a package with a datatype that can be appended indefinitely and then frozen.
2020-10-04 19:00:30 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-04 19:00:47 +0200natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
2020-10-04 19:00:55 +0200 <rotaerk> the problem with freezing-without-copying is that it can still be mutated through the original pointer to it
2020-10-04 19:01:14 +0200 <rotaerk> unless it's an interface that forces the pointer to go out of scope just before the freeze
2020-10-04 19:01:21 +0200 <ski> (unless you ensure that you have a unique reference to the mutable block)
2020-10-04 19:01:45 +0200 <ski> ibloom : `realloc' ?
2020-10-04 19:02:23 +0200 <ibloom> I'm currently using realloc to grow my homebrew buffers.
2020-10-04 19:02:56 +0200 <ibloom> Basically I serialize haskell structures into buffers to send them to the GPU. I'm also maintaining haskell versions of the GPU code and I'd like that code to read the same buffers while being pretty clean.
2020-10-04 19:04:03 +0200 <ski> you could look at how <https://hackage.haskell.org/package/bytestring-0.11.0.0/docs/Data-ByteString-Internal.html> does things, e.g.
2020-10-04 19:04:49 +0200ryansmccoy(~ryansmcco@68.235.48.108) (Ping timeout: 246 seconds)
2020-10-04 19:05:20 +0200ryansmccoy(~ryansmcco@193.37.254.27)
2020-10-04 19:05:42 +0200 <ibloom> ski: I'll take a look at that thanks. I read about a newer variable size vector implementation a while back but I forgot the name.
2020-10-04 19:07:06 +0200conal(~conal@64.71.133.70)
2020-10-04 19:08:01 +0200michalrus(m@michalrus.com) (Ping timeout: 264 seconds)
2020-10-04 19:08:37 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 264 seconds)
2020-10-04 19:10:27 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-04 19:11:39 +0200mathlover3(~mathlover@cpe-67-248-97-14.nycap.res.rr.com) (Quit: Leaving)
2020-10-04 19:17:13 +0200ddellacosta(~dd@86.106.121.168)
2020-10-04 19:17:50 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-04 19:18:07 +0200sphalerite(~sphalerit@NixOS/user/lheckemann) (Quit: boot, boot, boot, boot, reboot the outdated server)
2020-10-04 19:19:26 +0200nschoe(~quassel@2a01:e0a:3c4:c7b0:49a5:212c:e2d5:4010) (Remote host closed the connection)
2020-10-04 19:20:29 +0200machinedgod(~machinedg@45.78.189.122)
2020-10-04 19:22:19 +0200sphalerite(~sphalerit@NixOS/user/lheckemann)
2020-10-04 19:23:23 +0200mav1(~mav@i5E86200D.versanet.de)
2020-10-04 19:24:24 +0200blase(~blase@4e69b241.skybroadband.com) (Ping timeout: 265 seconds)
2020-10-04 19:24:45 +0200haasn`haasn
2020-10-04 19:26:11 +0200conal(~conal@64.71.133.70)
2020-10-04 19:27:36 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-04 19:33:39 +0200mathlover2(~mathlover@2604:6000:1013:129e:c3f:af24:28bd:eee4)
2020-10-04 19:35:38 +0200ksixty(~Adium@109-252-45-112.nat.spd-mgts.ru)
2020-10-04 19:35:53 +0200ksixty(~Adium@109-252-45-112.nat.spd-mgts.ru) (Client Quit)
2020-10-04 19:36:10 +0200 <justsomeguy> What do you think of using Haskell to write devops tooling? (Stuff to talk to APIs over http, move files, ssh into things and run commands remotely, log analysis, talk to dbus, etc.)
2020-10-04 19:36:23 +0200 <maerwald> use bash
2020-10-04 19:36:49 +0200 <maerwald> all you gonna do is trying to wrap existing tools (like curl), what for
2020-10-04 19:37:00 +0200Guest_4963(542bfb51@cable-84-43-251-81.mnet.bg)
2020-10-04 19:37:15 +0200Franciman(~francesco@host-212-171-42-250.retail.telecomitalia.it) (Quit: Leaving)
2020-10-04 19:37:45 +0200 <Guest_4963> complete novice to ghcup - run installation but no ghci - is that normal?
2020-10-04 19:37:59 +0200 <Guest_4963> complete novice to ghcup - I ran the ghcup installation but no ghci - is that normal?
2020-10-04 19:38:12 +0200 <maerwald> Guest_4963: source ~/.ghcup/env
2020-10-04 19:38:28 +0200thir(~thir@pd9e1baba.dip0.t-ipconnect.de)
2020-10-04 19:38:50 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-ppmzllfatsxcxgfj)
2020-10-04 19:39:40 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-04 19:40:15 +0200mozzarella(~sam@unaffiliated/sam113101) (Quit: WeeChat 2.8)
2020-10-04 19:42:49 +0200thir(~thir@pd9e1baba.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2020-10-04 19:43:15 +0200 <Guest_4963> @maerwald thanks! turns out I had to run 'ghcup set'
2020-10-04 19:43:15 +0200 <lambdabot> Unknown command, try @list
2020-10-04 19:43:33 +0200Guest_4963(542bfb51@cable-84-43-251-81.mnet.bg) (Remote host closed the connection)
2020-10-04 19:43:53 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net)
2020-10-04 19:45:00 +0200fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net) (Quit: WeeChat 2.7.1)
2020-10-04 19:51:18 +0200elliott__(~elliott@pool-108-45-154-71.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2020-10-04 19:53:47 +0200alp(~alp@2a01:e0a:58b:4920:f043:ba1b:f5d1:917)
2020-10-04 19:56:48 +0200DTZUZU_(~DTZUZU@S0106bcd165662a4d.vs.shawcable.net)
2020-10-04 19:56:53 +0200ericsagnes(~ericsagne@2405:6580:0:5100:303d:1ce9:8a60:670b) (Ping timeout: 272 seconds)
2020-10-04 19:58:04 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-04 19:58:39 +0200DTZUZU(~DTZUZU@205.ip-149-56-132.net) (Ping timeout: 258 seconds)
2020-10-04 20:00:02 +0200[RuCTFE]tswr(~RuCTFE]ts@195.140.213.38) ()
2020-10-04 20:00:55 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-04 20:01:30 +0200mozzarella(~sam@unaffiliated/sam113101)
2020-10-04 20:02:50 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Remote host closed the connection)
2020-10-04 20:04:50 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 20:04:51 +0200kindaro(1f08f246@h31-8-242-70.dyn.bashtel.ru)
2020-10-04 20:05:38 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net)
2020-10-04 20:05:59 +0200 <kindaro> What monad transformer should I use for modeling non-determinism? I read that the obvious `Control.Monad.Trans.List` is deprecated. My underlying monad is Q from Template Haskell.
2020-10-04 20:07:29 +0200 <kindaro> A quick search shows that there is a number of alternatives and I wonder if any of them is considered superiour.
2020-10-04 20:08:44 +0200ericsagnes(~ericsagne@2405:6580:0:5100:546d:33c9:eb39:ecef)
2020-10-04 20:08:50 +0200 <sm[m]> justsomeguy: you might be interested in http://hackage.haskell.org/package/propellor
2020-10-04 20:09:27 +0200hackagerib-core 1.0.0.0 - Static site generator based on Shake https://hackage.haskell.org/package/rib-core-1.0.0.0 (sridca)
2020-10-04 20:09:40 +0200wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-10-04 20:09:45 +0200nineonine(~nineonine@216-19-190-182.dyn.novuscom.net) (Ping timeout: 240 seconds)
2020-10-04 20:10:28 +0200hackagerib 1.0.0.0 - Static site generator based on Shake https://hackage.haskell.org/package/rib-1.0.0.0 (sridca)
2020-10-04 20:12:21 +0200 <ski> @hackage ListT done right
2020-10-04 20:12:22 +0200 <lambdabot> https://hackage.haskell.org/package/ListT done right
2020-10-04 20:12:27 +0200 <ski> er, right
2020-10-04 20:12:32 +0200 <ski> @hackage ListT_done_right
2020-10-04 20:12:33 +0200 <lambdabot> https://hackage.haskell.org/package/ListT_done_right
2020-10-04 20:13:05 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-04 20:13:50 +0200 <ski> oh. sorry, i'm actually using the wrong lambdabot command (which explains why the link was incorrect) ..
2020-10-04 20:13:52 +0200 <ddellacosta> https://hackage.haskell.org/package/list-t
2020-10-04 20:13:55 +0200 <ski> @wiki ListT_done_right
2020-10-04 20:13:55 +0200 <lambdabot> https://wiki.haskell.org/ListT_done_right
2020-10-04 20:14:05 +0200 <ddellacosta> ^ think you're looking for that ski?
2020-10-04 20:14:05 +0200idhugo(~idhugo@563472ae.rev.stofanet.dk)
2020-10-04 20:14:37 +0200 <ski> no, i was looking for that wiki page (having just looked at it, before, in the browser)
2020-10-04 20:14:45 +0200 <ddellacosta> oh, gotcha, sorry to muddy the waters
2020-10-04 20:14:51 +0200 <ski> (but it does mention `list-t', yes)
2020-10-04 20:15:22 +0200mav1(~mav@i5E86200D.versanet.de) (Ping timeout: 272 seconds)
2020-10-04 20:15:55 +0200 <justsomeguy> sm[m]: Looks awesome <3. Thanks for bringing it to my attention.
2020-10-04 20:15:58 +0200conal_(~conal@209.58.131.35)
2020-10-04 20:16:25 +0200 <sm[m]> it's interesting, I have used it a bit but not in anger. Let me know if you do
2020-10-04 20:16:45 +0200 <kindaro> @sk
2020-10-04 20:16:46 +0200 <lambdabot> Who should I ask?
2020-10-04 20:16:55 +0200 <sm[m]> the downside is you have to install a haskell toolchain before you use it, unlike a bash script
2020-10-04 20:17:04 +0200nineonine(~nineonine@216.81.48.202)
2020-10-04 20:17:35 +0200 <sm[m]> an upside is that it converges to the desired state, unlike most bash scripts
2020-10-04 20:17:36 +0200elliott__(~elliott@2607:fb90:18d5:a5f3:100d:8762:6765:2dc)
2020-10-04 20:17:37 +0200 <kindaro> ski, I am aware of that page, but it does not single out a specific package. Besides, my impression is that Haskell Wiki is mostly obsolete.
2020-10-04 20:17:56 +0200 <sm[m]> (when is that really useful ? I'm not sure)
2020-10-04 20:18:03 +0200 <ddellacosta> some parts remain very useful, but unfortunately it can be hard to filter out what is and isn't deprecated info
2020-10-04 20:18:14 +0200 <ski> kindaro : it's not too clear what you're looking for, i guess
2020-10-04 20:18:43 +0200 <maerwald> I've used propellor and I would not recommend it
2020-10-04 20:18:54 +0200 <kindaro> What is not clear? I am looking for a monad transformer for running non-deterministic effectful computations.
2020-10-04 20:18:55 +0200conal(~conal@64.71.133.70) (Ping timeout: 240 seconds)
2020-10-04 20:19:07 +0200 <kindaro> Preferably one that enjoys community support.
2020-10-04 20:19:32 +0200 <ski> are you looking for some sort of incremental streaming ?
2020-10-04 20:19:34 +0200 <justsomeguy> Even if it's not a practical tool, it will be interesting for me to read the code to see how it works.
2020-10-04 20:19:37 +0200 <maerwald> For the kind of stuff propellor does, you don't actually care much about types. You care about: 1. documentation, 2. help and community and 3. correctness of the recipes
2020-10-04 20:19:44 +0200 <maerwald> propellor scores low on all of these
2020-10-04 20:20:10 +0200 <ski> by "non-deterministic", do you have angelic non-determinism in mind ? erratic ? demonic ?
2020-10-04 20:20:51 +0200Deide(~Deide@217.155.19.23)
2020-10-04 20:20:52 +0200 <ski> there should be some CPS-based `ListT' alternative, although i forget the package name
2020-10-04 20:20:57 +0200 <maerwald> ansible scores higher on 1. and 2., but not on 3.
2020-10-04 20:21:28 +0200 <maerwald> but it's much easier to use and has better support
2020-10-04 20:21:55 +0200michalrus(m@michalrus.com)
2020-10-04 20:22:04 +0200 <geekosaur> I haven't seen much that scores high on 3. because everyone's after "just good enough"
2020-10-04 20:22:07 +0200 <maerwald> if you want support for propellor... there's not even a github issue tracker
2020-10-04 20:22:09 +0200kenperkins1(~kenperkin@185.163.110.116)
2020-10-04 20:22:13 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-04 20:22:14 +0200 <kindaro> I have functions like `a → m [b]`, `b → m Bool` and so on. I want to get a composition of functors `m` and `[ ]` that happens to be a monad.
2020-10-04 20:22:26 +0200 <maerwald> you sign up for some weird forum where no one ever replies
2020-10-04 20:22:29 +0200 <ski> if you're looking for a backtracking monad transformer, with fair scheduling, then you could try `logict'
2020-10-04 20:22:32 +0200 <geekosaur> ( </grump> )
2020-10-04 20:22:43 +0200michalrus(m@michalrus.com) (Client Quit)
2020-10-04 20:22:49 +0200 <justsomeguy> I'm pretty disillusioned when it comes to configuration management systems, overall, to be honest.
2020-10-04 20:23:10 +0200 <ski> kindaro : you want the `b's to be produced incrementally, with `m'-effects interleaved inbetween ?
2020-10-04 20:23:24 +0200 <maerwald> I replaced propellor with ansible in one company and we never looked back. It was a good decision.
2020-10-04 20:23:39 +0200 <justsomeguy> Yes, that sounds like a good choice.
2020-10-04 20:23:49 +0200 <maerwald> Just make sure you don't use 90% of those silly playbooks
2020-10-04 20:23:50 +0200 <kindaro> I have no preference as to the order of execution, everything will be forced in the end.
2020-10-04 20:24:07 +0200elliott__(~elliott@2607:fb90:18d5:a5f3:100d:8762:6765:2dc) (Ping timeout: 272 seconds)
2020-10-04 20:24:39 +0200 <maerwald> (even the "install python" playbooks are mostly broken... )
2020-10-04 20:24:48 +0200 <maerwald> so geekosaur is pretty much correct :p
2020-10-04 20:24:56 +0200 <monochrom> logict is probably the CPS-based ListT alternative
2020-10-04 20:25:14 +0200 <monochrom> err you already know logict
2020-10-04 20:25:30 +0200cheater(~user@unaffiliated/cheater) (Ping timeout: 272 seconds)
2020-10-04 20:25:40 +0200michalrus(m@michalrus.com)
2020-10-04 20:25:57 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-04 20:26:11 +0200sand_dull(~theuser@179.48.249.132)
2020-10-04 20:26:47 +0200 <sm[m]> maerwald these are good points. One plus I found for propellor was that (for a haskeller) it's small and simple enough to understand relatively quickly, unlike all the other config management tools
2020-10-04 20:27:01 +0200 <maerwald> sm[m]: the types are not easy
2020-10-04 20:27:12 +0200 <sm[m]> no
2020-10-04 20:27:39 +0200 <sm[m]> but I was just following the examples
2020-10-04 20:27:42 +0200 <maerwald> https://hackage.haskell.org/package/propellor-5.12/docs/Propellor-Types-MetaTypes.html#t:DebianLike
2020-10-04 20:28:04 +0200 <ski> iirc, there may've been some simpler one (without interleaving)
2020-10-04 20:28:39 +0200 <maerwald> check the IfStuck type family :p
2020-10-04 20:28:57 +0200cheater(~user@unaffiliated/cheater)
2020-10-04 20:28:58 +0200conal_(~conal@209.58.131.35) (Quit: Computer has gone to sleep.)
2020-10-04 20:29:10 +0200zacts(~zacts@dragora/developer/zacts) (Quit: leaving)
2020-10-04 20:29:42 +0200 <maerwald> config doesn't need strong types, because you don't need to compile config... you need to *check* it
2020-10-04 20:29:50 +0200p0a(~user@unaffiliated/p0a)
2020-10-04 20:30:44 +0200 <maerwald> propellor goes the opposite way and extending the expressivity instead of minimizing it
2020-10-04 20:30:57 +0200 <maerwald> which I think is the wrong approach for the problem domain
2020-10-04 20:31:51 +0200Cale(~cale@CPEf48e38ee8583-CM0c473de9d680.cpe.net.cable.rogers.com) (Remote host closed the connection)
2020-10-04 20:33:10 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-04 20:33:10 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-04 20:33:10 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 20:33:13 +0200raehik1(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 264 seconds)
2020-10-04 20:33:35 +0200 <sm[m]> maerwald: nowadays some would say nixos or nixpkgs is the way
2020-10-04 20:33:44 +0200Cale(~cale@CPEf48e38ee8583-CM0c473de9d680.cpe.net.cable.rogers.com)
2020-10-04 20:33:45 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 240 seconds)
2020-10-04 20:33:54 +0200 <maerwald> sm[m]: theoretically, if you ignore the bad ergonomics
2020-10-04 20:33:55 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-04 20:34:57 +0200 <sm[m]> it has the same problem as the other tools (big and complicated, big investment required)
2020-10-04 20:35:19 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-04 20:35:31 +0200 <maerwald> it leaks memory, disk space and you need someone with a minimum of 3 years experience to fix any non-trivial nix problems
2020-10-04 20:35:39 +0200kindaro(1f08f246@h31-8-242-70.dyn.bashtel.ru) (Remote host closed the connection)
2020-10-04 20:35:53 +0200geekosaurobserves that ansible started out as "the answer" to those problems
2020-10-04 20:36:12 +0200 <geekosaur> i.e. they come with the territory, it turns out
2020-10-04 20:36:17 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Remote host closed the connection)
2020-10-04 20:36:17 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-04 20:36:35 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-04 20:36:57 +0200hackagereflex-dom-pandoc 0.4.0.0 - Render Pandoc documents to HTML using reflex-dom https://hackage.haskell.org/package/reflex-dom-pandoc-0.4.0.0 (sridca)
2020-10-04 20:37:04 +0200 <maerwald> last time I ran nix-env on my pc it locked 6GB of ram doing nothing and then ate 20GB of disk space while it was compiling unrelated GHC versions (8.4.4 or something) until it OOMed out
2020-10-04 20:37:25 +0200conal(~conal@209.58.131.35)
2020-10-04 20:38:17 +0200 <maerwald> I don't know why tools keep installing random GHC versions for me
2020-10-04 20:39:17 +0200 <maerwald> but yes, it's nice in theory :)
2020-10-04 20:40:52 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-04 20:41:35 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-04 20:41:35 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-04 20:41:35 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-04 20:41:44 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 20:42:29 +0200mav1(~mav@i5E86200D.versanet.de)
2020-10-04 20:42:45 +0200 <Rembane> maerwald: I think they don't want the installed GHCs to feel lonely.
2020-10-04 20:44:19 +0200conal(~conal@209.58.131.35) (Quit: Computer has gone to sleep.)
2020-10-04 20:44:22 +0200 <maerwald> and I don't even know how to decrease disk space in nix. I'm scared to touch any of it, because next time it will build for 3 hours again.
2020-10-04 20:44:27 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 20:45:37 +0200 <dolio> ski: LogicT doesn't do any fancy interleaving on its own. It's CPS list like monochrom said. The interleaving comes from using different (overloaded) functions.
2020-10-04 20:45:43 +0200 <geekosaur> supposedly it's open to garbage collection but I've not played with it enough to know how
2020-10-04 20:46:01 +0200 <dolio> But those could be implemented for list, even.
2020-10-04 20:47:02 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2020-10-04 20:47:20 +0200p-core(~Thunderbi@cst-prg-34-77.cust.vodafone.cz)
2020-10-04 20:48:24 +0200John20(~John@82.46.59.122)
2020-10-04 20:48:37 +0200 <dolio> At least, if you mean 'interleaving choice' type stuff.
2020-10-04 20:49:28 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-10-04 20:50:50 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 272 seconds)
2020-10-04 20:53:49 +0200jle`(~mstksg@unaffiliated/mstksg) (Ping timeout: 265 seconds)
2020-10-04 20:54:55 +0200chaosmasttter(~chaosmast@p200300c4a73b2e0168c1f453f2fcf16d.dip0.t-ipconnect.de)
2020-10-04 20:56:58 +0200shatriff(~vitaliish@217.27.153.240)
2020-10-04 20:57:15 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-04 20:59:45 +0200raehik1(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-10-04 20:59:55 +0200machinedgod(~machinedg@45.78.189.122) (Ping timeout: 240 seconds)
2020-10-04 21:00:07 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-10-04 21:01:02 +0200conal(~conal@209.58.131.35)
2020-10-04 21:02:29 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-04 21:02:35 +0200xelxebar(~xelxebar@gateway/tor-sasl/xelxebar) (Remote host closed the connection)
2020-10-04 21:02:55 +0200xff0x(~fox@2001:1a81:52c9:f600:f5f2:9982:d51b:11e1) (Ping timeout: 240 seconds)
2020-10-04 21:02:58 +0200xelxebar(~xelxebar@gateway/tor-sasl/xelxebar)
2020-10-04 21:03:48 +0200conal(~conal@209.58.131.35) (Client Quit)
2020-10-04 21:03:49 +0200xff0x(~fox@2001:1a81:52c9:f600:e0a1:2683:5939:2315)
2020-10-04 21:04:47 +0200Tops2(~Tobias@dyndsl-095-033-090-035.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2020-10-04 21:07:14 +0200otulp(~otulp@ti0187q162-5025.bb.online.no) (Remote host closed the connection)
2020-10-04 21:09:51 +0200coot(~coot@37.30.49.218.nat.umts.dynamic.t-mobile.pl)
2020-10-04 21:12:48 +0200idhugo(~idhugo@563472ae.rev.stofanet.dk) (Ping timeout: 256 seconds)
2020-10-04 21:12:54 +0200polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Read error: Connection reset by peer)
2020-10-04 21:13:38 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 272 seconds)
2020-10-04 21:13:53 +0200isovector1(~isovector@172.103.216.166)
2020-10-04 21:15:11 +0200polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2020-10-04 21:15:47 +0200chaosmasttter(~chaosmast@p200300c4a73b2e0168c1f453f2fcf16d.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-04 21:15:58 +0200hackageexotic-list-monads 1.0.1 - Non-standard monads on lists and non-empty lists https://hackage.haskell.org/package/exotic-list-monads-1.0.1 (maciejpirog)
2020-10-04 21:18:11 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-04 21:20:33 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-04 21:22:18 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net)
2020-10-04 21:22:23 +0200ericsagnes(~ericsagne@2405:6580:0:5100:546d:33c9:eb39:ecef) (Ping timeout: 272 seconds)
2020-10-04 21:27:12 +0200jonatanb(~jonatanb@79.184.190.239.ipv4.supernova.orange.pl)
2020-10-04 21:27:19 +0200tchar(sid301738@gateway/web/irccloud.com/x-squtmljpvmzfdfsk)
2020-10-04 21:27:24 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-04 21:28:15 +0200fosterite(~fosterite@2600:6c46:7880:410a:204f:112a:e761:cf0c)
2020-10-04 21:28:44 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2020-10-04 21:28:55 +0200p-core(~Thunderbi@cst-prg-34-77.cust.vodafone.cz) (Ping timeout: 240 seconds)
2020-10-04 21:29:40 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 21:30:25 +0200sand_dull(~theuser@179.48.249.132) (Ping timeout: 260 seconds)
2020-10-04 21:30:49 +0200zacts(~zacts@dragora/developer/zacts)
2020-10-04 21:31:09 +0200raehik1(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2020-10-04 21:31:24 +0200chaosmasttter(~chaosmast@p200300c4a73b2e0168c1f453f2fcf16d.dip0.t-ipconnect.de)
2020-10-04 21:33:34 +0200DataComputist(~lumeng@static-50-43-26-251.bvtn.or.frontiernet.net) (Quit: Leaving...)
2020-10-04 21:33:46 +0200quazimod1(~quazimodo@27-33-123-50.tpgi.com.au)
2020-10-04 21:34:03 +0200miguicho(~miguel@host-186-101-215-54.netlife.ec)
2020-10-04 21:34:05 +0200p0a(~user@unaffiliated/p0a) (Quit: bye)
2020-10-04 21:34:36 +0200ericsagnes(~ericsagne@2405:6580:0:5100:1532:a71d:fbe4:fbaf)
2020-10-04 21:36:15 +0200quazimodo(~quazimodo@60-240-169-126.static.tpgi.com.au) (Ping timeout: 256 seconds)
2020-10-04 21:36:45 +0200conal(~conal@209.58.131.35)
2020-10-04 21:37:58 +0200Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 260 seconds)
2020-10-04 21:38:17 +0200urdh(~urdh@unaffiliated/urdh) (Remote host closed the connection)
2020-10-04 21:39:19 +0200eboladoc(~chris@141.70.80.5)
2020-10-04 21:40:55 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-04 21:41:08 +0200urdh(~urdh@unaffiliated/urdh)
2020-10-04 21:41:38 +0200OmegaDoug(d1ab5889@209.171.88.137)
2020-10-04 21:42:55 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-10-04 21:46:20 +0200snakemasterflex(~snakemast@213.100.206.23)
2020-10-04 21:48:27 +0200conal(~conal@209.58.131.35) (Quit: Computer has gone to sleep.)
2020-10-04 21:48:41 +0200machinedgod(~machinedg@142.169.78.74)
2020-10-04 21:49:47 +0200stree(~stree@50-108-126-14.adr01.mskg.mi.frontiernet.net) (Ping timeout: 240 seconds)
2020-10-04 21:50:11 +0200renzhi(~renzhi@modemcable070.17-177-173.mc.videotron.ca)
2020-10-04 21:50:41 +0200Graypup_(Graypup@lfcode.ca) (Quit: ZNC 1.6.1 - http://znc.in)
2020-10-04 21:51:17 +0200Graypup_(Graypup@lfcode.ca)
2020-10-04 21:51:23 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-04 21:52:25 +0200snakemasterflex(~snakemast@213.100.206.23) (Ping timeout: 240 seconds)
2020-10-04 21:53:26 +0200Buntspecht(~user@unaffiliated/siracusa)
2020-10-04 21:53:30 +0200conal(~conal@64.71.133.70)
2020-10-04 21:55:14 +0200mav1(~mav@i5E86200D.versanet.de) (Quit: WeeChat 2.9)
2020-10-04 21:58:08 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-kqkqyowmnuomwlmo) (Quit: Connection closed for inactivity)
2020-10-04 21:59:16 +0200oisdk(~oisdk@2001:bb6:3329:d100:693b:1e64:c063:cc27) (Quit: oisdk)
2020-10-04 21:59:49 +0200machinedgod(~machinedg@142.169.78.74) (Ping timeout: 246 seconds)
2020-10-04 22:02:14 +0200cosimone(~cosimone@2001:b07:ae5:db26:b248:7aff:feea:34b6) (Quit: Quit.)
2020-10-04 22:02:45 +0200stree(~stree@50-108-126-14.adr01.mskg.mi.frontiernet.net)
2020-10-04 22:03:17 +0200miguicho(~miguel@host-186-101-215-54.netlife.ec) (Max SendQ exceeded)
2020-10-04 22:03:35 +0200miguicho(~miguel@host-186-101-215-54.netlife.ec)
2020-10-04 22:03:36 +0200miguicho(~miguel@host-186-101-215-54.netlife.ec) (Max SendQ exceeded)
2020-10-04 22:03:56 +0200miguicho(~miguel@host-186-101-215-54.netlife.ec)
2020-10-04 22:03:57 +0200miguicho(~miguel@host-186-101-215-54.netlife.ec) (Max SendQ exceeded)
2020-10-04 22:04:15 +0200miguicho(~miguel@host-186-101-215-54.netlife.ec)
2020-10-04 22:05:43 +0200 <OmegaDoug> Is there a way to catch 'Ctrl-C' on windows when testing code in GHCi? The purpose is to close a socket. I'm using Control.Exception.bracket but when I press Ctrl-C I have to go into the task manager and kill the ghc.exe instance to close the socket.
2020-10-04 22:05:44 +0200 <OmegaDoug> https://gist.github.com/DouglasBrunner/5bf94447f57db989f9df5b6682a7fdf6
2020-10-04 22:06:19 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-04 22:07:16 +0200OmegaDoug84(8e749d03@lnsm3-torontoxn-142-116-157-3.internet.virginmobile.ca)
2020-10-04 22:07:51 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-04 22:08:19 +0200 <koz_> OmegaDoug: GHCi isn't the place to test this in.
2020-10-04 22:08:23 +0200rprije(~rprije@203.214.95.251)
2020-10-04 22:08:33 +0200 <koz_> Since I believe it has its own signal handling.
2020-10-04 22:09:27 +0200conal(~conal@64.71.133.70)
2020-10-04 22:09:42 +0200geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Remote host closed the connection)
2020-10-04 22:09:46 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-04 22:10:04 +0200OmegaDoug(d1ab5889@209.171.88.137) (Ping timeout: 245 seconds)
2020-10-04 22:10:25 +0200 <OmegaDoug84> koz_, a shame since the REPL is nice to use and I jump in and out of it a lot. I don't suppose you happen to know the recommended approach to kill a long running process in GHCi?
2020-10-04 22:10:47 +0200 <koz_> OmegaDoug84: That's a different question. You want to test signal handling in your program, correct?
2020-10-04 22:10:55 +0200 <koz_> My answer was 'GHCi isn't the way to do this'.
2020-10-04 22:11:08 +0200 <koz_> When it comes to killing long-running processes in GHCi, I dunno.
2020-10-04 22:11:28 +0200 <OmegaDoug84> Yes. I want to ensure the sockets are released when the program exits.
2020-10-04 22:12:02 +0200 <koz_> Yeah, GHCi isn't the place to do this kind of testing. Write an actual test suite.
2020-10-04 22:12:58 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-04 22:13:10 +0200bollu(~bollu@139.59.46.74)
2020-10-04 22:13:29 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 22:14:46 +0200 <koz_> (you are correct in that bracket is a good idea in such a case)
2020-10-04 22:15:40 +0200 <OmegaDoug84> I'll certainly do that. But for now I'd like to stop leaking resources as I'm developing in the REPL.
2020-10-04 22:15:58 +0200 <koz_> Yeah, that's not really gonna happen in GHCi.
2020-10-04 22:16:07 +0200 <OmegaDoug84> It would be a nicer development experience not to have to consistently kill GHC.
2020-10-04 22:16:19 +0200 <OmegaDoug84> lol, good to know how far down the rabbit hole I should go ;)
2020-10-04 22:16:41 +0200 <koz_> Basically, you're at the stage where you should have tests, and be running them regularly.
2020-10-04 22:16:51 +0200 <koz_> GHCi is good for small scratch stuff.
2020-10-04 22:16:55 +0200knupfer(~Thunderbi@200116b82c67780049b0f8914a41620c.dip.versatel-1u1.de) (Ping timeout: 240 seconds)
2020-10-04 22:17:05 +0200 <koz_> Or asking questions like 'what is the type of this random off-the-wall thing I just thought up'.
2020-10-04 22:18:08 +0200 <OmegaDoug84> Good advice. What about the runhaskell command? Will that suffer from the same problems that GHCi does?
2020-10-04 22:18:35 +0200 <koz_> I don't use it, so no idea. Isn't it just a wrapper around 'ghc && ./executable-name'?
2020-10-04 22:19:04 +0200 <OmegaDoug84> I'll read up on it. I can't remember if it used the compiler or interpreter.
2020-10-04 22:19:10 +0200machinedgod(~machinedg@d67-193-126-196.home3.cgocable.net)
2020-10-04 22:20:48 +0200 <OmegaDoug84> koz_, the exception handler gets called using runhaskell. I'll stick with that approach for now. Thanks.
2020-10-04 22:21:19 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-10-04 22:21:21 +0200 <koz_> OmegaDoug84: Glad that helped. I still 100% suggest writing an actual test suite for this purpose.
2020-10-04 22:21:31 +0200mav1(~mav@p5b02806a.dip0.t-ipconnect.de)
2020-10-04 22:22:33 +0200 <OmegaDoug84> koz_, I'll definitely be doing that. For now I'm just exploring the design space.
2020-10-04 22:24:27 +0200cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-10-04 22:24:38 +0200fosterite(~fosterite@2600:6c46:7880:410a:204f:112a:e761:cf0c) ()
2020-10-04 22:25:04 +0200tito_04(~taurux@net-93-151-203-67.cust.dsl.teletu.it)
2020-10-04 22:25:12 +0200taurux(~taurux@net-93-144-10-156.cust.vodafonedsl.it) (Ping timeout: 272 seconds)
2020-10-04 22:26:31 +0200coot(~coot@37.30.49.218.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-10-04 22:27:04 +0200shafox(~shafox@106.51.234.111) (Remote host closed the connection)
2020-10-04 22:27:49 +0200 <ski> dolio : oic. for some reason my vague memory suggested it did some sort of interleaving "out of the box", with the usual `Monad' and `MonadPlus' operations
2020-10-04 22:28:16 +0200eboladoc(~chris@141.70.80.5) (Quit: Cure for an obsession: get another one!)
2020-10-04 22:29:21 +0200zacts(~zacts@dragora/developer/zacts) (Quit: leaving)
2020-10-04 22:30:34 +0200aenesidemus(~aenesidem@c-73-53-247-25.hsd1.fl.comcast.net)
2020-10-04 22:34:43 +0200NinjaTrappeur(~ninja@unaffiliated/ninjatrappeur) (Quit: WeeChat 2.9)
2020-10-04 22:37:39 +0200jneira(501e65ce@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.206)
2020-10-04 22:41:17 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-04 22:43:14 +0200ggole-(~ggole@2001:8003:8119:7200:10c6:17b0:327d:27c2) (Quit: Leaving)
2020-10-04 22:46:15 +0200NinjaTrappeur(~ninja@unaffiliated/ninjatrappeur)
2020-10-04 22:49:25 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-04 22:53:16 +0200Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-10-04 22:54:05 +0200falafel(~falafel@2605:e000:1527:d491:706d:90a5:67aa:1cd9)
2020-10-04 22:54:26 +0200__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-10-04 23:00:01 +0200kenperkins1(~kenperkin@185.163.110.116) ()
2020-10-04 23:00:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 23:01:27 +0200sQVe(~sQVe@unaffiliated/sqve)
2020-10-04 23:01:54 +0200motherfsck(~motherfsc@unaffiliated/motherfsck) (Quit: quit)
2020-10-04 23:05:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-04 23:07:29 +0200theDon(~td@94.134.91.94) (Ping timeout: 260 seconds)
2020-10-04 23:08:10 +0200mirrorbird(~psutcliff@2a00:801:42a:82eb:6edc:4c78:a574:2a8f)
2020-10-04 23:08:18 +0200 <koz_> maerwald: You're the person who deals with ghcup right?
2020-10-04 23:09:02 +0200 <maerwald> koz_: yes
2020-10-04 23:09:05 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-bxwmidpkndksabez)
2020-10-04 23:09:20 +0200 <koz_> Part of the compilation process for 'ghcup compile ghc' is this: cd bindistprep && "/usr/bin/tar" hcf - -T ../bindist-list.uniq | /usr/bin/xz -c > ../bindistprep/ghc-8.8.4-x86_64-unknown-linux.tar.xz
2020-10-04 23:09:43 +0200 <maerwald> yeah
2020-10-04 23:09:44 +0200 <koz_> Is there a way we can parallelize this step? xz can take a -T argument for parallel cores to use.
2020-10-04 23:09:52 +0200 <koz_> (-T0 means 'as many as I can')
2020-10-04 23:10:06 +0200 <koz_> We already feed -j to ghcup compile ghc, so that could be translated in.
2020-10-04 23:11:12 +0200 <koz_> It's actually quite a long step, and it's _needlessly_ quite long IMHO.
2020-10-04 23:11:26 +0200 <maerwald> https://gitlab.haskell.org/ghc/ghc/-/blob/master/ghc.mk#L1096
2020-10-04 23:11:49 +0200 <koz_> Ah, so it's hardwired.
2020-10-04 23:12:00 +0200 <koz_> So I guess I need to take it up with folks in #GHC?
2020-10-04 23:12:04 +0200 <maerwald> yeah
2020-10-04 23:12:09 +0200 <koz_> maerwald: OK, thanks!
2020-10-04 23:12:19 +0200 <koz_> How do you feed -j12 into the compile process in ghcup?
2020-10-04 23:12:24 +0200 <koz_> (or -jwhatever, rather)
2020-10-04 23:12:32 +0200 <maerwald> -j 12
2020-10-04 23:12:48 +0200 <koz_> Ah, so do you just pass it into GHC's own build system thingo?
2020-10-04 23:13:08 +0200 <maerwald> `ghcup compile ghc --help` is quite verbose
2020-10-04 23:13:16 +0200 <maerwald> yeah
2020-10-04 23:16:26 +0200 <koz_> maerwald: OK, gonna chat to them.
2020-10-04 23:17:25 +0200jgt(~jgt@109.122.28.107)
2020-10-04 23:21:05 +0200John20(~John@82.46.59.122) (Ping timeout: 240 seconds)
2020-10-04 23:21:08 +0200hexfive(~hexfive@50.35.90.193)
2020-10-04 23:21:40 +0200Hellaenergy(~Hellaener@185.244.214.216)
2020-10-04 23:22:36 +0200hexfive(~hexfive@50.35.90.193) (Client Quit)
2020-10-04 23:23:12 +0200jollygood2(~bc815b99@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
2020-10-04 23:25:20 +0200sQVe(~sQVe@unaffiliated/sqve) (Quit: Bye!)
2020-10-04 23:28:24 +0200OmegaDoug84(8e749d03@lnsm3-torontoxn-142-116-157-3.internet.virginmobile.ca) (Ping timeout: 245 seconds)
2020-10-04 23:29:19 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-04 23:34:17 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2020-10-04 23:35:28 +0200hackagerecursion-schemes 5.2.1 - Representing common recursion patterns as higher-order functions https://hackage.haskell.org/package/recursion-schemes-5.2.1 (ryanglscott)
2020-10-04 23:37:55 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-10-04 23:38:34 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-04 23:39:13 +0200stree_(~stree@50-108-75-26.adr01.mskg.mi.frontiernet.net)
2020-10-04 23:39:28 +0200mpereira(~mpereira@2a02:810d:f40:d96:1c35:7f2e:59ff:953)
2020-10-04 23:39:43 +0200nbloomf(~nbloomf@2600:1700:83e0:1f40:413a:68d0:b0f8:a104)
2020-10-04 23:39:56 +0200todda7(~torstein@athedsl-4367507.home.otenet.gr) (Ping timeout: 272 seconds)
2020-10-04 23:41:12 +0200stree(~stree@50-108-126-14.adr01.mskg.mi.frontiernet.net) (Ping timeout: 272 seconds)
2020-10-04 23:43:06 +0200sep2(49dc4892@c-73-220-72-146.hsd1.ca.comcast.net)
2020-10-04 23:45:27 +0200conal(~conal@64.71.133.70)
2020-10-04 23:45:33 +0200raehik(~raehik@cpc96984-rdng25-2-0-cust109.15-3.cable.virginm.net)
2020-10-04 23:45:40 +0200jaj[m](jajjoachim@gateway/shell/matrix.org/x-uayrvcrqbmwzsqhw) ("User left")
2020-10-04 23:51:12 +0200 <sep2> https://dpaste.org/0jMi I am doing a finite state machine check, for transition function am I on the right path? I'm not sure if I'm understanding it correctly.
2020-10-04 23:53:48 +0200darjeeling_(~darjeelin@122.245.210.179) (Ping timeout: 256 seconds)
2020-10-04 23:54:57 +0200hackagethese-lens 1.0.1.1 - Lenses for These https://hackage.haskell.org/package/these-lens-1.0.1.1 (phadej)
2020-10-04 23:55:08 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-04 23:55:39 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-04 23:55:39 +0200chaosmasttter(~chaosmast@p200300c4a73b2e0168c1f453f2fcf16d.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-10-04 23:55:57 +0200hackagethese-optics 1.0.1.1 - Optics for These https://hackage.haskell.org/package/these-optics-1.0.1.1 (phadej)
2020-10-04 23:56:36 +0200darjeeling_(~darjeelin@122.245.210.179)
2020-10-04 23:56:43 +0200fendor(~fendor@178.165.130.169.wireless.dyn.drei.com) (Remote host closed the connection)
2020-10-04 23:56:56 +0200conal(~conal@64.71.133.70)
2020-10-04 23:57:25 +0200solonarv(~solonarv@astrasbourg-653-1-252-112.w92-161.abo.wanadoo.fr) (Quit: Lost terminal)
2020-10-04 23:57:57 +0200hackagestrict-lens 0.4.0.1 - Lenses for types in strict package https://hackage.haskell.org/package/strict-lens-0.4.0.1 (phadej)
2020-10-04 23:58:57 +0200hackagestrict-optics 0.4.0.1 - Optics for types in strict package https://hackage.haskell.org/package/strict-optics-0.4.0.1 (phadej)
2020-10-04 23:59:23 +0200 <Buntspecht> sep2: Does that code compile for you?