2020/10/18

2020-10-18 00:00:37 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-18 00:01:55 +0200 <dolio> I wouldn't trust breaking a whole expression into a bunch of separate lines in the REPL, either.
2020-10-18 00:02:22 +0200 <dolio> Things need to be treated differently when they're expected to work line-by-line.
2020-10-18 00:02:25 +0200rprije(~rprije@203-219-208-42.static.tpgi.com.au) (Ping timeout: 240 seconds)
2020-10-18 00:02:36 +0200rprije(~rprije@110-175-117-18.tpgi.com.au)
2020-10-18 00:02:42 +0200 <dolio> GHC isn't, like, collecting all the lines you type in, and reconsidering previous ones in light of later ones.
2020-10-18 00:03:27 +0200 <CodeWeaver> Sure. But in this case the expression I'm evaluating, the type signature aside, is one line, and the dethunking is on a value expressly inside the function in question. That's a pretty odd difference.
2020-10-18 00:03:45 +0200 <[exa]> CodeWeaver: very roughly, if it's about types, you might just put a typehole everywhere and try to find a difference. But chances are it isn't, esp. if reusing the thunk would eg. depend on optimization
2020-10-18 00:03:51 +0200 <CodeWeaver> I'm sure there's a reason. Don't get me wrong, I understand the REPL is likely to be a special case... but I'm curious what the special case is on this one.
2020-10-18 00:04:23 +0200ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2020-10-18 00:04:25 +0200 <CodeWeaver> Okay, sure.
2020-10-18 00:04:40 +0200 <CodeWeaver> I'll see if I can scare up a plausible reason.
2020-10-18 00:05:09 +0200 <dolio> It's not super clear exactly what you're doing in each case, either.
2020-10-18 00:05:13 +0200 <[exa]> perhaps just wait for more people showing up here, or repost on monday morning
2020-10-18 00:05:24 +0200emmanuel_erc(~user@2604:2000:1382:ce03:e422:6bdf:36af:752a) (Remote host closed the connection)
2020-10-18 00:05:34 +0200 <CodeWeaver> Yup, sure. I won't belabour the point much more today. But I do appreciate the time.
2020-10-18 00:05:37 +0200emmanuel_erc(~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50)
2020-10-18 00:06:12 +0200emmanuel_erc(~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50) (Remote host closed the connection)
2020-10-18 00:06:15 +0200 <dolio> Because there are a lot of variables. Like, telling GHC to compile a file and then opening it in the REPL is different from not compiling it first, I think.
2020-10-18 00:06:20 +0200emmanuel_erc(~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50)
2020-10-18 00:06:55 +0200 <CodeWeaver> Well, I'm not telling GHC to compile anything at present. This is all pure repl. Just with a :load instead of a paste.
2020-10-18 00:07:02 +0200 <CodeWeaver> Which, yes, I realize, is still likely different.
2020-10-18 00:07:44 +0200 <CodeWeaver> : guess you could argue it's 'internally compiling' by doing a :load, but that too is beyond my immediate ken.
2020-10-18 00:09:18 +0200 <dolio> Well, maybe. I don't know specifically.
2020-10-18 00:10:04 +0200 <dolio> I think it compiles it, but it might use different settings than compiling before :load.
2020-10-18 00:10:29 +0200chris(~chris@81.96.113.213)
2020-10-18 00:10:32 +0200 <dolio> Also :load is different from import, for instance. :)
2020-10-18 00:10:47 +0200 <dolio> And I'm unsure what effects that has besides just scoping.
2020-10-18 00:10:48 +0200 <CodeWeaver> Because that doesn't complicate my life. :D
2020-10-18 00:10:52 +0200chrisGuest98505
2020-10-18 00:11:29 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84)
2020-10-18 00:11:53 +0200son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2020-10-18 00:11:54 +0200ech(~user@gateway/tor-sasl/ech)
2020-10-18 00:12:03 +0200 <CodeWeaver> Reading up on the MR, I can see how this might be the case, but I'd love to be able to prove it somehow, one way or the other.
2020-10-18 00:12:32 +0200 <CodeWeaver> Fascinating.
2020-10-18 00:14:45 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 256 seconds)
2020-10-18 00:15:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 00:15:42 +0200 <dolio> MR seems like the most likely answer.
2020-10-18 00:16:26 +0200 <CodeWeaver> The more I read about it, the more I agree.
2020-10-18 00:16:42 +0200ephemera_(~E@122.34.1.187)
2020-10-18 00:17:05 +0200 <CodeWeaver> q isn't just a value in this case. It's a function expecting a type dictionary, bound at each of the use sites, and only because its in the repl.
2020-10-18 00:17:09 +0200 <CodeWeaver> I _think_.
2020-10-18 00:17:51 +0200 <CodeWeaver> Its happening for the same reason I use the phony parameter for foo in the first place -- to avoid caching.
2020-10-18 00:17:56 +0200 <CodeWeaver> Again, I _think_.
2020-10-18 00:17:57 +0200 <dolio> I think it's off by default in the REPL, yeah.
2020-10-18 00:18:10 +0200_deepfire(~user@80.92.100.69)
2020-10-18 00:18:12 +0200 <CodeWeaver> Super fascinating.
2020-10-18 00:18:14 +0200 <dolio> Because it's much easier to break things with it line-by-line.
2020-10-18 00:18:32 +0200 <dolio> Default to something is invalid for a later line.
2020-10-18 00:18:34 +0200 <CodeWeaver> Sure. The fact that it's in one line in my case probably doesn't justify doing it there.
2020-10-18 00:19:39 +0200 <dolio> Yeah, it's either on or off. It's not going to do a case-by-case analysis of whether or not to do it.
2020-10-18 00:20:20 +0200 <CodeWeaver> I could see that being a WORSE problem for people trying to figure it out, if it _sometimes_ did it. I mean you could have scoped behaviour in an expression, but that'd be super confusing if you didn't know about it.
2020-10-18 00:20:37 +0200 <CodeWeaver> Yeah, okay. I;m seeing this now. At least a little.
2020-10-18 00:21:20 +0200 <_deepfire> Is the TH's Quote monad primarily about hygienic name allocation?
2020-10-18 00:23:35 +0200 <phadej> yes
2020-10-18 00:23:46 +0200 <phadej> or in fact, only about that
2020-10-18 00:24:08 +0200 <_deepfire> thank you! : -)
2020-10-18 00:24:54 +0200 <phadej> (don't mix Quote and Quasi, latter is "everything")
2020-10-18 00:26:26 +0200 <CodeWeaver> PROOF (or close enough): Changed expression to: let {q::Integer;q = .... }
2020-10-18 00:26:36 +0200 <CodeWeaver> Now behaves like the loaded file. MR almost certainly.
2020-10-18 00:26:58 +0200 <CodeWeaver> You all are magnificent. Thanks, exa, dolio.
2020-10-18 00:27:05 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 00:27:05 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 00:27:05 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-18 00:27:19 +0200 <dolio> No problem.
2020-10-18 00:27:34 +0200 <CodeWeaver> I may be dancing around like a maniac now. :)
2020-10-18 00:27:34 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds)
2020-10-18 00:28:04 +0200worc3131(~quassel@2a02:c7f:c026:9500:7d0b:65d0:38a4:4786)
2020-10-18 00:28:37 +0200Jonkimi727406120(~Jonkimi@223.213.79.20)
2020-10-18 00:29:42 +0200mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com) (Quit: Leaving)
2020-10-18 00:30:11 +0200mananamenos(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-10-18 00:31:25 +0200Kira_(~Kira@201.192.165.173) (Quit: WeeChat 2.9)
2020-10-18 00:33:07 +0200Jonkimi727406120(~Jonkimi@223.213.79.20) (Ping timeout: 260 seconds)
2020-10-18 00:33:36 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-18 00:33:53 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-18 00:34:02 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 00:35:04 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 00:35:40 +0200fxg(~fxg@unaffiliated/fxg) (Ping timeout: 246 seconds)
2020-10-18 00:35:44 +0200DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Ping timeout: 272 seconds)
2020-10-18 00:35:44 +0200fragamus(~michaelgo@73.93.152.141) (Ping timeout: 272 seconds)
2020-10-18 00:36:22 +0200ephemera_(~E@122.34.1.187)
2020-10-18 00:36:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-18 00:37:00 +0200Chef(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net)
2020-10-18 00:37:03 +0200Chef(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Remote host closed the connection)
2020-10-18 00:37:18 +0200Guy(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net)
2020-10-18 00:38:01 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds)
2020-10-18 00:38:26 +0200 <Guy> Hello :)
2020-10-18 00:38:41 +0200 <CodeWeaver> Hi.
2020-10-18 00:39:21 +0200 <[exa]> CodeWeaver: unbelievable how MR hides right. :]
2020-10-18 00:40:28 +0200 <CodeWeaver> exa: Not something one has to fight with in a lot of other languages, and arguably, something you almost don't have to think about even in this one. Until it bites you.
2020-10-18 00:40:58 +0200jkachmar(uid226591@gateway/web/irccloud.com/x-veduxhoxxqmbqgpm) (Quit: Connection closed for inactivity)
2020-10-18 00:45:47 +0200hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-10-18 00:46:51 +0200hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-18 00:46:58 +0200hackagecore-program 0.2.5.0 - Opinionated Haskell Interoperability https://hackage.haskell.org/package/core-program-0.2.5.0 (AndrewCowie)
2020-10-18 00:47:01 +0200hiroaki(~hiroaki@2a02:908:4b18:e20::dd5c) (Ping timeout: 272 seconds)
2020-10-18 00:47:58 +0200hackageunbeliever 0.10.0.7 - Opinionated Haskell Interoperability https://hackage.haskell.org/package/unbeliever-0.10.0.7 (AndrewCowie)
2020-10-18 00:49:29 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-18 00:49:38 +0200addcninblue(~addison@c-73-158-198-149.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2020-10-18 00:49:44 +0200fxg(~fxg@unaffiliated/fxg)
2020-10-18 00:50:18 +0200Tario(~Tario@201.192.165.173) (Ping timeout: 272 seconds)
2020-10-18 00:50:31 +0200Tario(~Tario@200.119.184.9)
2020-10-18 00:50:47 +0200emmanuel_erc(~user@2604:2000:1382:ce03:c90a:9d9:2f5d:e50) (Ping timeout: 260 seconds)
2020-10-18 00:50:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-10-18 00:50:56 +0200fxg(~fxg@unaffiliated/fxg) (Client Quit)
2020-10-18 00:55:01 +0200alp_(~alp@2a01:e0a:58b:4920:8ddf:af03:d4f2:1b4c)
2020-10-18 00:55:25 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84) (Ping timeout: 240 seconds)
2020-10-18 00:56:26 +0200conal(~conal@64.71.133.70)
2020-10-18 00:58:45 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 00:58:49 +0200acidjnk_new2(~acidjnk@p200300d0c72378290964073eddc5c406.dip0.t-ipconnect.de)
2020-10-18 00:58:49 +0200Guy(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Ping timeout: 245 seconds)
2020-10-18 00:58:52 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 01:00:06 +0200ephemera_(~E@122.34.1.187)
2020-10-18 01:00:08 +0200jkachmar(uid226591@gateway/web/irccloud.com/x-sjqizjclmhyizvlx)
2020-10-18 01:00:13 +0200jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2020-10-18 01:01:49 +0200Jonkimi727406120(~Jonkimi@223.213.79.20)
2020-10-18 01:01:55 +0200acidjnk_new(~acidjnk@p200300d0c72378540964073eddc5c406.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-18 01:02:49 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-18 01:03:18 +0200Guy(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net)
2020-10-18 01:03:41 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-18 01:04:55 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 01:04:58 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-18 01:06:15 +0200ephemera_(~E@122.34.1.187)
2020-10-18 01:06:33 +0200Jonkimi727406120(~Jonkimi@223.213.79.20) (Ping timeout: 260 seconds)
2020-10-18 01:06:49 +0200conal(~conal@64.71.133.70)
2020-10-18 01:06:49 +0200Tario(~Tario@200.119.184.9) (Read error: Connection reset by peer)
2020-10-18 01:07:28 +0200Guest98505(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 01:07:46 +0200Tario(~Tario@201.192.165.173)
2020-10-18 01:09:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 01:10:17 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2020-10-18 01:11:13 +0200chris(~chris@81.96.113.213)
2020-10-18 01:11:36 +0200chrisGuest36918
2020-10-18 01:11:38 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-10-18 01:13:49 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-18 01:14:22 +0200jneira(501e64fa@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.100.250)
2020-10-18 01:14:47 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 01:15:14 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-10-18 01:18:15 +0200larou(5201f2b7@gateway/web/cgi-irc/kiwiirc.com/ip.82.1.242.183)
2020-10-18 01:18:24 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 01:18:26 +0200 <larou> i have awesome code!
2020-10-18 01:18:43 +0200 <larou> look look!
2020-10-18 01:18:44 +0200 <larou> https://pastebin.com/raw/Yzd5rZsB
2020-10-18 01:19:35 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 01:21:08 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 260 seconds)
2020-10-18 01:21:14 +0200Blkt(~Blkt@2a01:4f8:200:2425::adda) (Read error: Connection reset by peer)
2020-10-18 01:21:20 +0200fragamus(~michaelgo@73.93.155.44)
2020-10-18 01:21:27 +0200 <larou> this is all supposed to go at type level
2020-10-18 01:21:30 +0200Blkt(~Blkt@2a01:4f8:200:2425::adda)
2020-10-18 01:21:42 +0200 <larou> its a container you can only construct to have links
2020-10-18 01:22:07 +0200 <larou> the term level thing thats supposed to use this, should tie the knot over these links
2020-10-18 01:22:11 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2020-10-18 01:22:26 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2020-10-18 01:22:39 +0200 <larou> its a list, of Maybe Nats, where they are in pairs
2020-10-18 01:22:47 +0200 <larou> of Nats pointing to each other
2020-10-18 01:22:56 +0200 <larou> ie, if a Nat is at some position in the list
2020-10-18 01:23:07 +0200 <larou> then at the position this Nat corresponds to
2020-10-18 01:23:19 +0200 <larou> should contain a Nat corresponding to the first position
2020-10-18 01:23:31 +0200 <larou> ...
2020-10-18 01:23:39 +0200 <larou> so now there can be a doubly linked list
2020-10-18 01:23:44 +0200 <larou> *with extra links!*
2020-10-18 01:24:03 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-18 01:24:15 +0200 <larou> these are like semicircles underneath the list connecting pairs of elements
2020-10-18 01:24:39 +0200 <larou> probably i could extend this to having multiple links per node, but for now this is complex enough
2020-10-18 01:25:44 +0200 <larou> i made a paste yesterday that showed that the constraints at type level work for the smart constructors...
2020-10-18 01:25:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 01:26:32 +0200 <larou> this being at type level means it has kind level nats...
2020-10-18 01:27:17 +0200 <larou> and that the smart constructors are basically then doing a kind level computation
2020-10-18 01:27:25 +0200 <larou> to ensure the types are constructed safely
2020-10-18 01:27:28 +0200 <larou> cool or what!?
2020-10-18 01:27:53 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving)
2020-10-18 01:29:46 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 01:31:53 +0200 <larou> idk if that because graphs are traversable
2020-10-18 01:32:01 +0200 <larou> that establishing cycles over them
2020-10-18 01:32:16 +0200 <larou> would then collapse down to some kind of extra linked list like this
2020-10-18 01:32:55 +0200 <larou> i think you might lose some speed from the evaluation order.. cant really tell
2020-10-18 01:33:04 +0200 <larou> but it would mean its as expressive...
2020-10-18 01:33:57 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2020-10-18 01:34:00 +0200fragamus(~michaelgo@73.93.155.44) (Ping timeout: 272 seconds)
2020-10-18 01:34:19 +0200 <larou> makes it worthwhile constructing the graphs algebraically to preserve the existence of a traversable implementation
2020-10-18 01:34:28 +0200 <larou> ie "shaped construction"
2020-10-18 01:34:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-18 01:35:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-18 01:36:00 +0200xerox_(~xerox@unaffiliated/xerox)
2020-10-18 01:36:10 +0200larou(5201f2b7@gateway/web/cgi-irc/kiwiirc.com/ip.82.1.242.183) (Quit: Connection closed)
2020-10-18 01:37:12 +0200Guest11473(~andrea@185.244.214.216)
2020-10-18 01:37:48 +0200mega_hater(~haterrr@s91904427.blix.com)
2020-10-18 01:37:54 +0200mega_hater(~haterrr@s91904427.blix.com) ("Leaving")
2020-10-18 01:37:58 +0200 <justsomeguy> I'm only a noob, so this stuff is beyond my comprehension, but it looks pretty cool.
2020-10-18 01:39:51 +0200addcninblue(~addison@c-73-158-198-149.hsd1.ca.comcast.net)
2020-10-18 01:39:54 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 01:40:10 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-18 01:40:26 +0200zaquest(~notzaques@5.128.210.178)
2020-10-18 01:41:36 +0200dhil(~dhil@195.213.192.122) (Ping timeout: 272 seconds)
2020-10-18 01:41:52 +0200kupi(uid212005@gateway/web/irccloud.com/x-uvssjsekmuehxron) (Quit: Connection closed for inactivity)
2020-10-18 01:44:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-18 01:44:52 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-18 01:45:24 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 272 seconds)
2020-10-18 01:45:40 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-18 01:49:59 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 01:53:01 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 264 seconds)
2020-10-18 01:54:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-18 01:54:10 +0200revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-10-18 01:54:50 +0200kupi(uid212005@gateway/web/irccloud.com/x-vfsmeyjszxcityxd)
2020-10-18 01:55:28 +0200kish(~oracle@unaffiliated/oracle) (Ping timeout: 246 seconds)
2020-10-18 01:56:00 +0200kish(~oracle@unaffiliated/oracle)
2020-10-18 01:57:32 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 01:57:44 +0200fragamus(~michaelgo@73.93.155.52)
2020-10-18 01:59:21 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3)
2020-10-18 01:59:34 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-10-18 02:00:02 +0200Guest11473(~andrea@185.244.214.216) ()
2020-10-18 02:00:05 +0200DavidEichmann(~david@43.240.198.146.dyn.plus.net) (Ping timeout: 240 seconds)
2020-10-18 02:00:57 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 02:04:33 +0200 <Guest36918> hello
2020-10-18 02:05:13 +0200 <ski> ehlo
2020-10-18 02:05:22 +0200 <Guest36918> i need to change my name
2020-10-18 02:05:22 +0200 <Guest36918> but
2020-10-18 02:05:33 +0200 <Guest36918> was wondering if someone could help me fix a snipper of haskell code
2020-10-18 02:05:39 +0200 <Guest36918> snippet
2020-10-18 02:05:40 +0200 <Guest36918> *
2020-10-18 02:05:53 +0200kish(~oracle@unaffiliated/oracle) (Ping timeout: 246 seconds)
2020-10-18 02:06:24 +0200 <ski> hard to tell, without seeing it
2020-10-18 02:06:37 +0200 <ski> /nick myNewNickName
2020-10-18 02:06:42 +0200kish(~oracle@unaffiliated/oracle)
2020-10-18 02:06:43 +0200 <ski> to change your nickname
2020-10-18 02:06:46 +0200Guest36918christo
2020-10-18 02:06:51 +0200 <christo> thx
2020-10-18 02:07:03 +0200 <Squarism> i see here OverlappingInstances and IncoherantInstances are both deprecated here https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/glasgow_exts.html#overlapping-inst…
2020-10-18 02:07:03 +0200 <christo> what's the best way to link haskell code?
2020-10-18 02:07:08 +0200 <Squarism> what should one use instead?
2020-10-18 02:07:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 02:07:27 +0200 <ski> @where paste
2020-10-18 02:07:28 +0200 <lambdabot> Help us help you: please paste full code, input and/or output at eg https://paste.tomsmeding.com
2020-10-18 02:07:40 +0200 <ski> you could use that ^, christo
2020-10-18 02:07:46 +0200 <christo> thx
2020-10-18 02:07:54 +0200 <christo> basically, i'm writing an infix operator function
2020-10-18 02:08:02 +0200 <Squarism> oh its the pragmas
2020-10-18 02:08:02 +0200 <christo> < i'm a newbie to haskell and experimenting
2020-10-18 02:08:20 +0200 <christo> and i'm getting a type error with floor (n1 / n2)
2020-10-18 02:08:25 +0200 <christo> i'll paste full code now
2020-10-18 02:08:33 +0200 <christo> it's for a custom modulo operator
2020-10-18 02:09:15 +0200 <koz_> ski: Didn't know we had this as a pastebin, nice.
2020-10-18 02:09:32 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-18 02:09:46 +0200 <christo> https://paste.tomsmeding.com/QutEatIe#file-1
2020-10-18 02:10:26 +0200 <christo> • No instance for (RealFrac Integer) arising from a use of ‘floor’
2020-10-18 02:10:39 +0200 <christo> haskell language server error i get in vs-code
2020-10-18 02:11:12 +0200 <koz_> :t (/)
2020-10-18 02:11:14 +0200 <lambdabot> Fractional a => a -> a -> a
2020-10-18 02:11:17 +0200 <koz_> There's your issue.
2020-10-18 02:11:21 +0200 <koz_> I assume you wanted this?
2020-10-18 02:11:22 +0200 <koz_> :t div
2020-10-18 02:11:24 +0200 <lambdabot> Integral a => a -> a -> a
2020-10-18 02:12:43 +0200 <Squarism> gah.. im on ghc865 but it still tells me to use deprecated IncoherentInstances
2020-10-18 02:12:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-10-18 02:12:58 +0200 <koz_> Squarism: What're you trying to write?
2020-10-18 02:12:58 +0200 <christo> so i do. round (n1 (div) n2) ?
2020-10-18 02:13:19 +0200 <Squarism> koz instances that "overlap" =D
2020-10-18 02:13:21 +0200 <koz_> christo: If you wanna use div infix, you wanna write it as n1 `div` n2
2020-10-18 02:13:32 +0200 <koz_> Squarism: Yes. In other news, cream puffs are puffs which are creamy.
2020-10-18 02:13:39 +0200 <koz_> And regular expressions are expressions which are regular.
2020-10-18 02:14:10 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-18 02:14:15 +0200 <christo> @koz_ still not working it seems
2020-10-18 02:14:15 +0200 <lambdabot> Unknown command, try @list
2020-10-18 02:14:18 +0200 <Squarism> im just confused i got the error message instructing me to use a deprecated extension
2020-10-18 02:14:26 +0200 <ski> Squarism : `/' doesn't work on `Integer's. `/' is for fractional division. either convert your `Integer's to some fractional number type, or else use integral division (`div')
2020-10-18 02:14:29 +0200 <koz_> christo: Paste the code again?
2020-10-18 02:14:36 +0200 <ski> er, sorry
2020-10-18 02:14:39 +0200 <ski> christo ^
2020-10-18 02:14:47 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 258 seconds)
2020-10-18 02:14:52 +0200 <christo> • No instance for (RealFrac Integer) arising from a use of ‘floor’
2020-10-18 02:14:55 +0200 <christo> ooops sorry
2020-10-18 02:15:15 +0200 <koz_> christo: You don't need floor in this case then.
2020-10-18 02:15:18 +0200 <koz_> :t floor
2020-10-18 02:15:20 +0200 <lambdabot> (RealFrac a, Integral b) => a -> b
2020-10-18 02:15:28 +0200 <Axman6> floor also doesn['t wokr on Integers
2020-10-18 02:15:30 +0200conal(~conal@64.71.133.70)
2020-10-18 02:15:32 +0200 <christo> https://paste.tomsmeding.com/QutEatIe#file-1
2020-10-18 02:15:40 +0200 <koz_> You don't have a RealFrac anything, since if you use div, you don't get a fractional thing back.
2020-10-18 02:15:42 +0200 <ski> christo : `fromInteger' can be used to convert from `Integer' to another numeric type
2020-10-18 02:15:51 +0200 <Axman6> > 13 `div` 3
2020-10-18 02:15:53 +0200 <lambdabot> 4
2020-10-18 02:15:55 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-10-18 02:16:02 +0200 <christo> :t fromInteger
2020-10-18 02:16:04 +0200 <lambdabot> Num a => Integer -> a
2020-10-18 02:16:07 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 02:16:28 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-18 02:16:35 +0200 <ski> (e.g., you could convert to `Rational' ..)
2020-10-18 02:16:36 +0200 <christo> > fromInteger 2
2020-10-18 02:16:38 +0200 <lambdabot> 2
2020-10-18 02:16:42 +0200 <christo> > fromInteger 2.0
2020-10-18 02:16:44 +0200 <lambdabot> error:
2020-10-18 02:16:44 +0200 <lambdabot> • Could not deduce (Fractional Integer)
2020-10-18 02:16:44 +0200 <lambdabot> arising from the literal ‘2.0’
2020-10-18 02:16:59 +0200untseac(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection)
2020-10-18 02:17:01 +0200 <ski> > floor (fromInteger 18 / fromInteger 7)
2020-10-18 02:17:04 +0200 <lambdabot> 2
2020-10-18 02:17:23 +0200ephemera_(~E@122.34.1.187)
2020-10-18 02:17:24 +0200 <ski> > 18 - 7 * floor (fromInteger 18 / fromInteger 7)
2020-10-18 02:17:26 +0200 <lambdabot> 4
2020-10-18 02:17:28 +0200untseac(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2020-10-18 02:17:41 +0200 <ski> > 18 - 7 * floor (fromInteger 18 / fromInteger 7 :: Rational)
2020-10-18 02:17:43 +0200 <lambdabot> 4
2020-10-18 02:18:17 +0200 <christo> :t (/)
2020-10-18 02:18:17 +0200 <ski> (without the type ascription, it'll default to `Double', iirc)
2020-10-18 02:18:18 +0200 <lambdabot> Fractional a => a -> a -> a
2020-10-18 02:18:50 +0200 <christo> what does :: Rational do? some sort of type Cast or ?
2020-10-18 02:19:54 +0200 <Axman6> :t \x -> fromInteger x
2020-10-18 02:19:56 +0200 <lambdabot> Num a => Integer -> a
2020-10-18 02:20:12 +0200 <Axman6> :t \x -> (fromInteger x :: Rational)
2020-10-18 02:20:13 +0200 <lambdabot> Integer -> Rational
2020-10-18 02:20:34 +0200 <Axman6> it's picking the type to use, there is no casting in Haskell*
2020-10-18 02:22:03 +0200 <christo> ahh ok
2020-10-18 02:22:12 +0200 <christo> so is Num like a generic or something?
2020-10-18 02:22:23 +0200 <koz_> christo: Num is kind of like an interface.
2020-10-18 02:22:35 +0200 <koz_> Something that is an instance of Num is 'kinda sorta number-like' in some sense.
2020-10-18 02:22:56 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-10-18 02:22:59 +0200 <Axman6> @src Num
2020-10-18 02:22:59 +0200 <lambdabot> class Num a where
2020-10-18 02:22:59 +0200 <lambdabot> (+), (-), (*) :: a -> a -> a
2020-10-18 02:22:59 +0200 <lambdabot> negate, abs, signum :: a -> a
2020-10-18 02:22:59 +0200 <lambdabot> fromInteger :: Integer -> a
2020-10-18 02:23:02 +0200 <christo> Hmm, as a haskell beginner may be a bit beyond my head
2020-10-18 02:23:17 +0200 <koz_> christo: Type classes are a fairly important concept, even at beginner level.
2020-10-18 02:23:59 +0200 <koz_> (in terms of how to use their instances, at least)
2020-10-18 02:24:04 +0200 <Axman6> Num is the class of types which can do some number like things, such as addition, subtradction, multiplication this allows you to use the usual 1 + 2 * 3 syntax for your own types
2020-10-18 02:24:45 +0200 <Axman6> @let data MyNum = Val Integer | Add MyNum My
2020-10-18 02:24:46 +0200 <lambdabot> .L.hs:159:24: error:
2020-10-18 02:24:47 +0200 <lambdabot> Not in scope: type constructor or class ‘My’
2020-10-18 02:24:47 +0200 <lambdabot> Perhaps you meant ‘Mu’ (imported from Lambdabot.Plugin.Haskell.Eval.Trus...
2020-10-18 02:24:57 +0200 <Axman6> @let data MyNum = Val Integer | Add MyNum MyNum |
2020-10-18 02:24:58 +0200 <lambdabot> Parse failed: Parse error: EOF
2020-10-18 02:25:04 +0200 <Axman6> omg, typing on a couch is ahrd
2020-10-18 02:25:15 +0200 <koz_> Axman6: It's those axe hands.
2020-10-18 02:25:18 +0200 <christo> lol
2020-10-18 02:25:27 +0200 <koz_> Too much couch stuffing everywhere.
2020-10-18 02:25:32 +0200 <Axman6> @let data MyNum = Val Integer | Add MyNum MyNum | Mul MyNum MyNum
2020-10-18 02:25:33 +0200 <christo> btw, my (%) infix operator works now
2020-10-18 02:25:34 +0200 <lambdabot> Defined.
2020-10-18 02:25:47 +0200 <christo> but need
2020-10-18 02:25:55 +0200 <christo> maybe look into type classes then
2020-10-18 02:25:55 +0200CodeWeaver(49eff865@c-73-239-248-101.hsd1.wa.comcast.net) (Remote host closed the connection)
2020-10-18 02:25:56 +0200 <Axman6> koz_: congrats on your sane election btw
2020-10-18 02:26:10 +0200 <koz_> Axman6: Thanks! I gotta say I wasn't too surprised by the outcome.
2020-10-18 02:26:54 +0200 <Axman6> @let instance Num MyNum where a + b = Add a b; a * b = Mul a b; fromInteger i = Val i
2020-10-18 02:26:55 +0200 <lambdabot> .L.hs:162:10: error: [-Wmissing-methods, -Werror=missing-methods]
2020-10-18 02:26:55 +0200 <lambdabot> • No explicit implementation for
2020-10-18 02:26:55 +0200 <lambdabot> ‘abs’, ‘signum’, and (either ‘negate’ or ‘-’)
2020-10-18 02:27:17 +0200 <Axman6> @let instance Show MyNum
2020-10-18 02:27:19 +0200 <lambdabot> .L.hs:162:10: error: [-Wmissing-methods, -Werror=missing-methods]
2020-10-18 02:27:19 +0200 <lambdabot> • No explicit implementation for
2020-10-18 02:27:19 +0200 <lambdabot> either ‘showsPrec’ or ‘show’
2020-10-18 02:27:30 +0200 <Axman6> @let deriving instance Show MyNum
2020-10-18 02:27:31 +0200 <lambdabot> Defined.
2020-10-18 02:27:46 +0200 <Axman6> % 1 + 2 * 3 :: MyNum
2020-10-18 02:27:46 +0200 <yahb> Axman6: ; <interactive>:62:14: error: Not in scope: type constructor or class `MyNum'
2020-10-18 02:28:04 +0200 <ski> > 1 + 2 * 3 :: MyNum
2020-10-18 02:28:05 +0200 <Axman6> you're the worst yahb
2020-10-18 02:28:07 +0200 <lambdabot> error:
2020-10-18 02:28:07 +0200 <lambdabot> • No instance for (Num MyNum) arising from a use of ‘+’
2020-10-18 02:28:07 +0200 <lambdabot> • In the expression: 1 + 2 * 3 :: MyNum
2020-10-18 02:29:02 +0200 <Axman6> koz_: we had a similar result over the pond in our territory election, so it was as good night
2020-10-18 02:29:18 +0200 <koz_> Axman6: In that case, congratulations!
2020-10-18 02:30:09 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-18 02:31:19 +0200 <koz_> Would someone be able to guide me in creating Nix environments wherein I can build _static_ Haskell applications for 32-bit x86?
2020-10-18 02:31:40 +0200 <koz_> So like, a chonky binary I can copy over to another machine and just run.
2020-10-18 02:33:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 02:35:01 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 244 seconds)
2020-10-18 02:37:56 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-10-18 02:38:35 +0200Guy(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Remote host closed the connection)
2020-10-18 02:39:29 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-18 02:39:53 +0200 <jared-w> nix-shell -p cabal-install ghc && cabal build `--enable-executable-static --ghc-options=-split-sections`?
2020-10-18 02:40:03 +0200 <jared-w> (if you're on nixos the answer changes substantially)
2020-10-18 02:40:22 +0200 <koz_> jared-w: I am not on NixOS. So do I not need like, a configuration file for Nix or anything?
2020-10-18 02:40:31 +0200 <koz_> And won't this build a 64-bit binary?
2020-10-18 02:40:53 +0200 <jared-w> Not that I'm aware of. Ah, true. If you're *on* a x64 system and wanting to cross compile to x86 that throws a wrench into the works
2020-10-18 02:41:08 +0200 <koz_> jared-w: That was my primary question really.
2020-10-18 02:41:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 02:42:10 +0200 <jared-w> Yeah, makes sense. If you're not on nixos, cabal build --enable-executable-static more or less "just works" now. Cross compiling onto x32 can be a bit painful depending on what and where. I haven't done it, personally, so I can't immediately point you to any solution with experience
2020-10-18 02:42:35 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 02:42:49 +0200 <koz_> OK, thanks.
2020-10-18 02:44:08 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 02:44:10 +0200 <jared-w> https://nixos.wiki/wiki/Packaging/32bit_Applications this is really the first thing that I can find. So it seems "possible" and maybe even "sorta easy", but given that you're not on nixos, some of the cross compiling stuff doesn't always apply, which complicates things
2020-10-18 02:45:34 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-18 02:45:36 +0200 <koz_> I figured it _should_ be possible, but I dunno much about Nix. Oh well, thanks anyway.
2020-10-18 02:46:06 +0200daenth(~daenth@136.36.157.210) (Quit: ZNC 1.7.5 - https://znc.in)
2020-10-18 02:47:09 +0200conal(~conal@64.71.133.70)
2020-10-18 02:47:30 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-18 02:47:54 +0200daenth(~daenth@136.36.157.210)
2020-10-18 02:47:55 +0200conal(~conal@64.71.133.70)
2020-10-18 02:48:17 +0200conal(~conal@64.71.133.70) (Client Quit)
2020-10-18 02:49:04 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3)
2020-10-18 02:49:45 +0200Tops2(~Tobias@dyndsl-095-033-019-139.ewe-ip-backbone.de)
2020-10-18 02:52:25 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-18 02:52:25 +0200fragamus(~michaelgo@73.93.155.52) (Ping timeout: 264 seconds)
2020-10-18 02:52:32 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-10-18 02:53:50 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-10-18 02:57:04 +0200bvalek2(~bvalek2@217.146.82.202)
2020-10-18 02:58:52 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
2020-10-18 02:58:52 +0200fragamus(~michaelgo@73.93.152.144)
2020-10-18 02:59:14 +0200elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-18 03:02:39 +0200Jonkimi727406120(~Jonkimi@223.213.79.20)
2020-10-18 03:04:25 +0200Gurkenglas_(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 264 seconds)
2020-10-18 03:07:43 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-18 03:07:44 +0200Jonkimi727406120(~Jonkimi@223.213.79.20) (Ping timeout: 272 seconds)
2020-10-18 03:08:22 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84)
2020-10-18 03:10:25 +0200abhixec(~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-10-18 03:11:50 +0200ryjm_matrix(~matrixirc@2600:4040:a009:6100:3adc:615b:70b5:b0c)
2020-10-18 03:14:33 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving)
2020-10-18 03:15:16 +0200 <koz_> jared-w: I'm trying to follow this: https://github.com/Gabriel439/haskell-nix/tree/master/project0 , but I keep getting 'error: cannot auto-call a function that has an argument without a default value ('mkDerivation')' for (something near enough a carbon copy of) project0.nix when I run 'nix-build': error: cannot auto-call a function that has an argument without a default value ('mkDerivation')
2020-10-18 03:15:25 +0200 <koz_> Whoops, two pastes of error message.
2020-10-18 03:15:52 +0200 <koz_> default.nix: http://ix.io/2B5a
2020-10-18 03:16:07 +0200 <koz_> What am I missing?
2020-10-18 03:17:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-10-18 03:19:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 03:20:19 +0200karanlikmadde(~karanlikm@2a01:c23:641c:2200:c88d:7d7e:c962:437f) (Quit: karanlikmadde)
2020-10-18 03:20:58 +0200jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 2.9)
2020-10-18 03:21:28 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 03:23:47 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-18 03:24:12 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-10-18 03:25:10 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:fce4:f626:e7a:99f3) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 03:25:20 +0200 <koz_> OK, never mind, see it now.
2020-10-18 03:26:26 +0200untseac(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Remote host closed the connection)
2020-10-18 03:29:38 +0200 <Squarism> im playing with Generics here. I tried : from ([1,2,3,4] :: [Int]). I was a bit surprised the expression resulted in this : https://paste.ofcode.org/AXUFkv4hcGLmHQQbMvmUgb
2020-10-18 03:32:04 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 246 seconds)
2020-10-18 03:32:24 +0200 <Squarism> why isnt [2,3,4] expanded with a product type? is it lazy evaluation at play?
2020-10-18 03:32:58 +0200m0rphism(~m0rphism@HSI-KBW-046-005-177-122.hsi8.kabel-badenwuerttemberg.de) (Ping timeout: 260 seconds)
2020-10-18 03:35:33 +0200 <proofofme> name :: Word8 -> Parser Name This type declaration is in Cassava Parse docs: https://hackage.haskell.org/package/cassava-0.5.2.0/docs/Data-Csv-Parser.html Is the `Parser` a monad?
2020-10-18 03:35:53 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 03:35:53 +0200minne(~minne@4e69b241.skybroadband.com) (Ping timeout: 260 seconds)
2020-10-18 03:35:58 +0200 <ghoulguy> Squarism: Generics affects a single instance of a datatype
2020-10-18 03:36:01 +0200 <koz_> proofofme: Yes.
2020-10-18 03:36:05 +0200 <koz_> https://hackage.haskell.org/package/attoparsec-0.13.2.3/docs/Data-Attoparsec-Internal-Types.html#t…
2020-10-18 03:36:11 +0200 <ghoulguy> Squarism: It doesn't recursively convert between the generic and normal representation
2020-10-18 03:36:57 +0200hackageZ-IO 0.1.6.1 - Simple and high performance IO toolkit for Haskell https://hackage.haskell.org/package/Z-IO-0.1.6.1 (winterland)
2020-10-18 03:41:11 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84) (Ping timeout: 272 seconds)
2020-10-18 03:41:57 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 03:42:20 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-10-18 03:42:45 +0200 <koz_> OK, I think I have nix-build firing, finally.
2020-10-18 03:42:46 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2020-10-18 03:43:34 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-18 03:43:58 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-18 03:44:32 +0200 <Squarism> ghoulguy, okok.
2020-10-18 03:45:03 +0200 <Squarism> ghoulguy, i had a question for you regarding our latest talk about addressing a datastructure using string like paths.
2020-10-18 03:45:51 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-18 03:46:36 +0200ystael(~ystael@209.6.50.55)
2020-10-18 03:46:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 03:47:30 +0200 <Squarism> ghoulguy, could you see how the approach you elaborated, on using generics, could be extended to "multi level" addressing?
2020-10-18 03:48:26 +0200 <proofofme> is it possible to use cassava to parse just a String and not from a file?
2020-10-18 03:48:44 +0200 <koz_> proofofme: Yes. You need a ByteString, but you can use the 'decode' function.
2020-10-18 03:49:49 +0200 <proofofme> ok I will start there
2020-10-18 03:51:55 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-18 03:55:05 +0200Guy(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net)
2020-10-18 03:56:03 +0200 <proofofme> Prelude Data.Text> decode("a,b,c")
2020-10-18 03:56:20 +0200 <proofofme> Variable not in scope: decode :: [Char] -> t
2020-10-18 03:56:44 +0200 <koz_> proofofme: Cassava's decode.
2020-10-18 03:56:53 +0200 <koz_> And you don't call functions that way in Haskell.
2020-10-18 03:57:36 +0200 <Guy> yeah you call em like this
2020-10-18 03:57:53 +0200 <Guy> Function: (CALL) => [args]
2020-10-18 03:58:17 +0200 <koz_> Guy: ?
2020-10-18 03:58:22 +0200 <koz_> I don't follow.
2020-10-18 03:58:30 +0200 <Guy> a real mans way of calling functions
2020-10-18 03:58:52 +0200 <koz_> Guy: What has this got to do with Haskell?
2020-10-18 03:59:16 +0200 <Guy> its how functions will be called in the new Haskell update
2020-10-18 04:00:30 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-18 04:00:57 +0200xff0x(~fox@2001:1a81:53c5:c200:3161:a29a:3186:4358) (Ping timeout: 260 seconds)
2020-10-18 04:01:21 +0200texasmynsted(688c344b@104.140.52.75)
2020-10-18 04:01:38 +0200 <texasmynsted> Hello.
2020-10-18 04:01:43 +0200 <texasmynsted> What do you think would be a nice clean way to deal with some configuration data that would be a list of thousands of tuple/pairs? Considering: Dhall, Data.ini, CSV, other. . .
2020-10-18 04:02:17 +0200 <texasmynsted> maybe just a giant List in its own module? . . .
2020-10-18 04:02:23 +0200 <infinisil> texasmynsted: What kind of configuration has thousands of tuples?
2020-10-18 04:02:37 +0200 <texasmynsted> URL redirects
2020-10-18 04:02:50 +0200 <texasmynsted> Like thousands of pairs
2020-10-18 04:02:52 +0200xff0x(~fox@2001:1a81:53f8:9f00:188d:8bae:4800:ec7f)
2020-10-18 04:02:53 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 258 seconds)
2020-10-18 04:03:16 +0200 <texasmynsted> (badUrl, goodUrl)
2020-10-18 04:03:38 +0200 <infinisil> Hm I see
2020-10-18 04:03:44 +0200 <texasmynsted> [(badUrl, goodUrl), (badUrl, goodUrl)...]
2020-10-18 04:04:06 +0200 <infinisil> A list in a submodule wouldn't be configurable though
2020-10-18 04:04:11 +0200 <infinisil> s/submodule/module
2020-10-18 04:04:37 +0200 <infinisil> Or should it just be non-configurable static data?
2020-10-18 04:04:58 +0200 <texasmynsted> You can imagine that the person doing the configuration is a haskell programmer and would re-compile anyway
2020-10-18 04:05:10 +0200 <texasmynsted> non-configurable static data.
2020-10-18 04:05:23 +0200Guy(4c68d95d@c-76-104-217-93.hsd1.wa.comcast.net) (Remote host closed the connection)
2020-10-18 04:06:29 +0200 <texasmynsted> I am thinking maybe Dhall, but maybe simply because it is interesting. It might be way overkill.
2020-10-18 04:07:11 +0200 <infinisil> That does sound overkill
2020-10-18 04:07:18 +0200 <texasmynsted> It is so easy to make things too complicated.
2020-10-18 04:08:53 +0200 <infinisil> I'd probably go for a simple "<badurl> <goodurl>"-per-line format
2020-10-18 04:09:14 +0200 <infinisil> And either access it with data-files
2020-10-18 04:09:20 +0200 <infinisil> Or read it in at compile time with TH
2020-10-18 04:10:44 +0200 <texasmynsted> TH?
2020-10-18 04:11:29 +0200 <dsal> texasmynsted: sqlite
2020-10-18 04:11:55 +0200 <infinisil> texasmynsted: template haskell
2020-10-18 04:12:05 +0200 <infinisil> E.g. https://hackage.haskell.org/package/include-file
2020-10-18 04:12:23 +0200 <texasmynsted> hm. yes this is sounding better.
2020-10-18 04:13:03 +0200 <texasmynsted> If I do tsv (tab delimited file) that should be super easy to read it, easy to read from text editor, and I could load it as a spreadsheet for maintenance
2020-10-18 04:14:51 +0200 <texasmynsted> thank you dsal but I think sqlite is more than I need yet also
2020-10-18 04:15:47 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-18 04:16:08 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
2020-10-18 04:16:39 +0200 <dsal> heh, sqlite is a bit less than a spreadsheet. It's easy and pretty good for thousands of pairs of things which might turn into millions of triples of things. I use it when I have tens of things. :)
2020-10-18 04:18:00 +0200 <texasmynsted> okay.
2020-10-18 04:20:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 04:21:19 +0200theDon(~td@muedsl-82-207-238-039.citykom.de) (Ping timeout: 260 seconds)
2020-10-18 04:22:52 +0200theDon(~td@muedsl-82-207-238-112.citykom.de)
2020-10-18 04:25:46 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
2020-10-18 04:26:05 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-18 04:28:43 +0200abhixec(~abhixec@c-67-169-141-95.hsd1.ca.comcast.net)
2020-10-18 04:30:19 +0200lagothrixGuest49750
2020-10-18 04:30:19 +0200Guest49750(~lagothrix@unaffiliated/lagothrix) (Killed (rothfuss.freenode.net (Nickname regained by services)))
2020-10-18 04:30:25 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-10-18 04:30:32 +0200lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-10-18 04:33:28 +0200ryjm_matrix(~matrixirc@2600:4040:a009:6100:3adc:615b:70b5:b0c) (Quit: killed)
2020-10-18 04:34:40 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 04:35:24 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2020-10-18 04:35:28 +0200oatswheats
2020-10-18 04:39:16 +0200z0(~z0@bl15-33-197.dsl.telepac.pt)
2020-10-18 04:39:33 +0200z0Guest30638
2020-10-18 04:40:58 +0200jkachmar(uid226591@gateway/web/irccloud.com/x-sjqizjclmhyizvlx) (Quit: Connection closed for inactivity)
2020-10-18 04:42:15 +0200dmc00(~dmc@unaffiliated/dmc00)
2020-10-18 04:43:15 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-18 04:43:33 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-18 04:44:00 +0200albertus1(~seb@x4db9b903.dyn.telefonica.de)
2020-10-18 04:44:37 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 264 seconds)
2020-10-18 04:45:26 +0200albertus11(~seb@x4db49541.dyn.telefonica.de) (Ping timeout: 258 seconds)
2020-10-18 04:46:02 +0200tabaqui(~tabaqui@46.39.45.136) (Ping timeout: 256 seconds)
2020-10-18 04:46:46 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
2020-10-18 04:47:42 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-18 04:48:27 +0200hackageregex-pcre-builtin 0.95.1.3.8.43 - PCRE Backend for "Text.Regex" (regex-base) https://hackage.haskell.org/package/regex-pcre-builtin-0.95.1.3.8.43 (AudreyTang)
2020-10-18 04:52:45 +0200Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-10-18 04:52:51 +0200wheatsoats
2020-10-18 04:54:39 +0200xff0x(~fox@2001:1a81:53f8:9f00:188d:8bae:4800:ec7f) (Ping timeout: 272 seconds)
2020-10-18 04:55:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-18 04:55:09 +0200xff0x(~fox@2001:1a81:53f8:9f00:5588:893c:8299:71d2)
2020-10-18 04:55:43 +0200solonarv(~solonarv@anancy-651-1-202-101.w109-217.abo.wanadoo.fr) (Ping timeout: 246 seconds)
2020-10-18 05:00:01 +0200bvalek2(~bvalek2@217.146.82.202) ()
2020-10-18 05:00:10 +0200tabaqui(~tabaqui@2604:a880:800:c1::21b:3001)
2020-10-18 05:00:53 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 05:04:52 +0200christo(~chris@81.96.113.213)
2020-10-18 05:05:42 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-18 05:08:40 +0200 <ibloom> Is there a standard lens such that "use lens" just returns the whole state?
2020-10-18 05:10:31 +0200wei2912(~wei2912@unaffiliated/wei2912)
2020-10-18 05:10:35 +0200 <koz_> ibloom: You can just use 'get' then, right?
2020-10-18 05:11:21 +0200 <ibloom> I just want to reuse the same set of functions that use "use"
2020-10-18 05:11:52 +0200 <ibloom> It's a small thing.
2020-10-18 05:11:52 +0200 <koz_> @hoogle use
2020-10-18 05:11:53 +0200 <lambdabot> Control.Lens.Combinators use :: MonadState s m => Getting a s a -> m a
2020-10-18 05:11:53 +0200 <lambdabot> Control.Lens.Getter use :: MonadState s m => Getting a s a -> m a
2020-10-18 05:11:53 +0200 <lambdabot> Distribution.Compat.Lens use :: MonadState s m => Getting a s a -> m a
2020-10-18 05:12:24 +0200Licious(~Licious@4e69b241.skybroadband.com)
2020-10-18 05:12:30 +0200 <koz_> I think you can use something that turns a function into a Getter, then just pass id to that?
2020-10-18 05:13:29 +0200 <ibloom> Hmmm...
2020-10-18 05:13:32 +0200 <koz_> to.
2020-10-18 05:13:36 +0200 <koz_> So you would do like
2020-10-18 05:13:41 +0200 <koz_> use (to id)
2020-10-18 05:14:00 +0200 <ibloom> Let me see if that typechecks
2020-10-18 05:15:28 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-18 05:16:39 +0200 <ibloom> Not quite
2020-10-18 05:16:51 +0200 <koz_> ibloom: What seems to be the problem?
2020-10-18 05:17:01 +0200 <ibloom> "Could not deduce (Contravariant f) arising from a use of ‘to’"
2020-10-18 05:17:32 +0200 <ibloom> @hoogle to
2020-10-18 05:17:33 +0200 <lambdabot> GHC.Generics to :: Generic a => Rep a x -> a
2020-10-18 05:17:33 +0200 <lambdabot> Control.Lens.Combinators to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a
2020-10-18 05:17:33 +0200 <lambdabot> Control.Lens.Getter to :: (Profunctor p, Contravariant f) => (s -> a) -> Optic' p f s a
2020-10-18 05:18:09 +0200 <koz_> Yeah, since I think 'use' can grab a variety of things.
2020-10-18 05:18:17 +0200 <koz_> That's what 'Getting' means in its type.
2020-10-18 05:18:24 +0200 <koz_> So on its own, it doesn't know what you want.
2020-10-18 05:18:32 +0200ericsagnes(~ericsagne@2405:6580:0:5100:c46f:cebb:a37a:3cd) (Ping timeout: 260 seconds)
2020-10-18 05:18:34 +0200 <edwardk> koz: id is usable as the identity lens
2020-10-18 05:18:43 +0200 <koz_> edwardk: Ah, OK.
2020-10-18 05:18:45 +0200 <edwardk> to id = id
2020-10-18 05:18:47 +0200 <koz_> So just 'use id' would work?
2020-10-18 05:19:02 +0200 <edwardk> yeah, or 'get'
2020-10-18 05:19:19 +0200 <ibloom> Aha
2020-10-18 05:19:29 +0200 <edwardk> lens deliberately didn't use 'get/set' and went with 'view/set' to avoid trampling the State 'get' operation's name
2020-10-18 05:19:34 +0200 <koz_> edwardk: I already suggested 'get', but ibloom said that they need something reusable (lol) with 'use'.
2020-10-18 05:19:43 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-18 05:19:44 +0200 <edwardk> then use id
2020-10-18 05:20:16 +0200 <ibloom> I feel dumb for not trying that.
2020-10-18 05:20:29 +0200 <ibloom> Works perfectly.
2020-10-18 05:20:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 05:21:22 +0200 <ibloom> Thank you.
2020-10-18 05:21:31 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-18 05:23:45 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2020-10-18 05:26:01 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2020-10-18 05:26:09 +0200alp_(~alp@2a01:e0a:58b:4920:8ddf:af03:d4f2:1b4c) (Remote host closed the connection)
2020-10-18 05:26:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-10-18 05:29:23 +0200conal(~conal@64.71.133.70)
2020-10-18 05:30:42 +0200ericsagnes(~ericsagne@2405:6580:0:5100:555b:b346:7063:867)
2020-10-18 05:31:41 +0200no-n(sid257727@gateway/web/irccloud.com/x-tblqoxnndlzcotma) ()
2020-10-18 05:33:07 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 05:37:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-10-18 05:39:06 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds)
2020-10-18 05:39:27 +0200tabaqui(~tabaqui@2604:a880:800:c1::21b:3001) (Quit: WeeChat 2.9)
2020-10-18 05:45:02 +0200 <texasmynsted> I have not used Template Haskell. What do you recommend I read to quickly get a feel for how I could use it to consume a TSV file?
2020-10-18 05:45:49 +0200 <koz_> texasmynsted: Why TH?
2020-10-18 05:46:11 +0200 <koz_> Are you trying to mimic C's #include or something?
2020-10-18 05:46:23 +0200 <texasmynsted> Somebody recommended it earlier as a nice way to include the TSV file content in my project.
2020-10-18 05:47:00 +0200 <texasmynsted> The file is static content. It would be used to load many lines of URL pairs
2020-10-18 05:47:16 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-uldwzywipdbtosxt) ()
2020-10-18 05:47:42 +0200 <texasmynsted> for a URL re-direction process. Adding new redirects requires a re-compile.
2020-10-18 05:48:11 +0200urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-10-18 05:48:42 +0200 <texasmynsted> Though it seems like it should be super easy to just read all the lines of the TSV to a list then split the text of each line to pairs
2020-10-18 05:48:53 +0200texasmynstedshrug
2020-10-18 05:49:08 +0200 <texasmynsted> It also seems like this is a "solved problem"
2020-10-18 05:49:10 +0200 <koz_> You probably need an intro to TH. https://wiki.haskell.org/Template_Haskell
2020-10-18 05:49:35 +0200drbean(~drbean@TC210-63-209-65.static.apol.com.tw)
2020-10-18 05:51:34 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1)
2020-10-18 05:54:27 +0200 <texasmynsted> thank you. I will go through the tutorials
2020-10-18 05:54:59 +0200 <texasmynsted> Is it worth it? Like what does TH bring to this simple problem?
2020-10-18 05:56:39 +0200Rcsprinter(~Rcsprinte@192.30.89.67)
2020-10-18 05:59:44 +0200 <Cale> texasmynsted: Literally only the ability to read the file at compile time and splice in a string literal with its contents.
2020-10-18 06:00:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 06:01:05 +0200 <Cale> texasmynsted: You can do something like $(fmap TH.lift (readFile "foo.txt")) and that will behave like a string literal with the contents of foo.txt
2020-10-18 06:01:10 +0200Tops2(~Tobias@dyndsl-095-033-019-139.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2020-10-18 06:01:22 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-18 06:01:34 +0200 <Cale> Where TH.lift is the one from Language.Haskell.TH.Syntax
2020-10-18 06:01:55 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-18 06:02:20 +0200 <Cale> Oh, that readFile might need to be runIO'ed
2020-10-18 06:02:25 +0200 <Cale> yeah
2020-10-18 06:02:38 +0200 <Cale> Forgot that lift produced something in the Q monad
2020-10-18 06:03:00 +0200 <Cale> So, it'd be more like $(runIO (readFile "foo.txt") >>= TH.lift)
2020-10-18 06:04:10 +0200texasmynsted(688c344b@104.140.52.75) (Remote host closed the connection)
2020-10-18 06:05:49 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 06:10:36 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2020-10-18 06:14:25 +0200vicfred(~vicfred@unaffiliated/vicfred) (Remote host closed the connection)
2020-10-18 06:14:37 +0200jchia(~jchia@58.32.34.43) (Ping timeout: 264 seconds)
2020-10-18 06:14:53 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-10-18 06:15:09 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 06:19:21 +0200ryjm_matrix(~matrixirc@pool-74-105-197-68.nwrknj.fios.verizon.net)
2020-10-18 06:19:22 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 246 seconds)
2020-10-18 06:19:26 +0200ryjm_matrix(~matrixirc@pool-74-105-197-68.nwrknj.fios.verizon.net) (Remote host closed the connection)
2020-10-18 06:19:37 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-18 06:20:57 +0200hackagechurros 0.1.4.0 - Channel/Arrow based streaming computation library. https://hackage.haskell.org/package/churros-0.1.4.0 (LyndonMaydwell)
2020-10-18 06:21:33 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 06:21:35 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 06:26:31 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 06:26:42 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-18 06:29:08 +0200fragamus(~michaelgo@73.93.152.144) (Ping timeout: 260 seconds)
2020-10-18 06:30:52 +0200fragamus(~michaelgo@73.93.153.72)
2020-10-18 06:31:19 +0200bitmagie(~Thunderbi@200116b806076b00ec17a962c4a08e9f.dip.versatel-1u1.de)
2020-10-18 06:31:28 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 260 seconds)
2020-10-18 06:31:37 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 258 seconds)
2020-10-18 06:32:17 +0200bitmagie(~Thunderbi@200116b806076b00ec17a962c4a08e9f.dip.versatel-1u1.de) (Client Quit)
2020-10-18 06:33:57 +0200lucasb(uid333435@gateway/web/irccloud.com/x-tkhwugfitzdjoeco) (Quit: Connection closed for inactivity)
2020-10-18 06:34:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2020-10-18 06:35:28 +0200acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 272 seconds)
2020-10-18 06:39:02 +0200HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2020-10-18 06:39:31 +0200ss(4baca9aa@75.172.169.170)
2020-10-18 06:39:40 +0200falafel(~falafel@65.155.184.35)
2020-10-18 06:41:48 +0200cdepillabout(~cdepillab@pl35600.ag1001.nttpc.ne.jp)
2020-10-18 06:42:03 +0200irc_user(uid423822@gateway/web/irccloud.com/x-jycoetfjhrvokwjj) (Quit: Connection closed for inactivity)
2020-10-18 06:43:02 +0200dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2020-10-18 06:43:59 +0200Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-10-18 06:46:03 +0200day_(~Unknown@unaffiliated/day)
2020-10-18 06:46:57 +0200ss(4baca9aa@75.172.169.170) (Remote host closed the connection)
2020-10-18 06:47:45 +0200bitmagie(~Thunderbi@200116b806076b00ec17a962c4a08e9f.dip.versatel-1u1.de)
2020-10-18 06:48:16 +0200bitmagie(~Thunderbi@200116b806076b00ec17a962c4a08e9f.dip.versatel-1u1.de) (Client Quit)
2020-10-18 06:49:01 +0200bitmagie(~Thunderbi@200116b806076b00ec17a962c4a08e9f.dip.versatel-1u1.de)
2020-10-18 06:49:17 +0200bitmagie(~Thunderbi@200116b806076b00ec17a962c4a08e9f.dip.versatel-1u1.de) (Client Quit)
2020-10-18 06:49:24 +0200day(~Unknown@unaffiliated/day) (Ping timeout: 272 seconds)
2020-10-18 06:49:24 +0200day_day
2020-10-18 06:51:09 +0200abhixec(~abhixec@c-67-169-141-95.hsd1.ca.comcast.net) (Quit: leaving)
2020-10-18 06:52:10 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com)
2020-10-18 06:53:22 +0200conal_(~conal@66.115.157.118)
2020-10-18 06:54:09 +0200conal_(~conal@66.115.157.118) (Client Quit)
2020-10-18 06:54:42 +0200jchia(~jchia@45.32.62.73)
2020-10-18 06:55:43 +0200jchia(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-18 06:56:46 +0200jchia(~jchia@45.32.62.73)
2020-10-18 06:57:47 +0200jchia(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-18 06:58:25 +0200jchia(~jchia@45.32.62.73)
2020-10-18 06:59:27 +0200jchia(~jchia@45.32.62.73) (Remote host closed the connection)
2020-10-18 07:00:30 +0200jchia(~jchia@58.32.66.236)
2020-10-18 07:02:47 +0200falafel(~falafel@65.155.184.35) (Remote host closed the connection)
2020-10-18 07:03:38 +0200falafel(~falafel@65.155.184.35)
2020-10-18 07:04:47 +0200falafel(~falafel@65.155.184.35) (Remote host closed the connection)
2020-10-18 07:05:17 +0200falafel(~falafel@65.155.184.35)
2020-10-18 07:06:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 07:07:16 +0200falafel_(~falafel@2600:100e:b102:b424:c9d2:9986:8bf7:dec8)
2020-10-18 07:07:16 +0200slack1256(~slack1256@181.203.36.51)
2020-10-18 07:07:52 +0200 <slack1256> On yesod, the hamlet/lucius templates should be declared as data on the data-field or somewhere else?
2020-10-18 07:07:55 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-10-18 07:08:08 +0200Tario(~Tario@201.192.165.173)
2020-10-18 07:09:25 +0200falafel(~falafel@65.155.184.35) (Ping timeout: 240 seconds)
2020-10-18 07:10:43 +0200polyrain(~polyrain@130.102.13.188)
2020-10-18 07:11:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-18 07:11:10 +0200fragamus(~michaelgo@73.93.153.72) (Ping timeout: 246 seconds)
2020-10-18 07:12:14 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-10-18 07:14:02 +0200jsynacek(~jsynacek@ip-185-149-130-112.kmenet.cz)
2020-10-18 07:21:16 +0200slack1256(~slack1256@181.203.36.51) (Remote host closed the connection)
2020-10-18 07:21:29 +0200wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-10-18 07:22:24 +0200nyd(~lpy@unaffiliated/elysian)
2020-10-18 07:23:35 +0200cdepillabout(~cdepillab@pl35600.ag1001.nttpc.ne.jp) (Ping timeout: 265 seconds)
2020-10-18 07:24:40 +0200Jesin(~Jesin@pool-72-66-101-18.washdc.fios.verizon.net)
2020-10-18 07:26:52 +0200Stanley00(~stanley00@unaffiliated/stanley00)
2020-10-18 07:35:11 +0200polyrain(~polyrain@130.102.13.188) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 07:37:07 +0200Tene(~tene@poipu/supporter/slacker/tene) (Remote host closed the connection)
2020-10-18 07:37:07 +0200ByronJohnson(~bairyn@unaffiliated/bob0) (Remote host closed the connection)
2020-10-18 07:37:29 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84)
2020-10-18 07:39:37 +0200polyrain(~polyrain@130.102.13.188)
2020-10-18 07:40:12 +0200polyrain(~polyrain@130.102.13.188) (Client Quit)
2020-10-18 07:41:25 +0200mirrorbirdpsut
2020-10-18 07:42:02 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84) (Ping timeout: 260 seconds)
2020-10-18 07:42:22 +0200polyrain(~polyrain@130.102.13.188)
2020-10-18 07:42:26 +0200polyrain(~polyrain@130.102.13.188) (Client Quit)
2020-10-18 07:43:21 +0200psutmirrorbird
2020-10-18 07:44:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 07:54:03 +0200drbean(~drbean@TC210-63-209-65.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin1 - https://znc.in)
2020-10-18 07:55:15 +0200polyrain(~polyrain@130.102.13.188)
2020-10-18 08:00:08 +0200addcninblue(~addison@c-73-158-198-149.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2020-10-18 08:00:43 +0200Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-10-18 08:01:31 +0200drbean(~drbean@TC210-63-209-207.static.apol.com.tw)
2020-10-18 08:01:34 +0200polyrain(~polyrain@130.102.13.188) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 08:02:16 +0200polyrain(~polyrain@130.102.13.188)
2020-10-18 08:02:27 +0200acidjnk_new2(~acidjnk@p200300d0c72378290964073eddc5c406.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-10-18 08:02:44 +0200Rcsprinter(~Rcsprinte@192.30.89.67) (Ping timeout: 265 seconds)
2020-10-18 08:03:05 +0200polyrain(~polyrain@130.102.13.188) (Client Quit)
2020-10-18 08:08:17 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 08:09:35 +0200ephemera_(~E@122.34.1.187)
2020-10-18 08:11:11 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-18 08:12:25 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2020-10-18 08:15:06 +0200 <avp> https://play.rust-lang.org/?version=stable&mode=debug&edition=2018&gist=004c05badb7b60c82c2a112906… - i have a structure like this and I want to be able to create a Foo. My solutions so far are: store Bar in an Option temporarily (bad because I don't want to force an Option check on Foo) or don't store `shared` in Bar at all (bad because I then have to pass shared to `bar` every time I want
2020-10-18 08:15:08 +0200 <avp> to make a call)
2020-10-18 08:16:13 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 08:16:49 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-18 08:16:50 +0200 <avp> ...wrong channel, sorry
2020-10-18 08:17:58 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-18 08:19:57 +0200JordiGH(jordi@octave/developer/JordiGH) (Ping timeout: 260 seconds)
2020-10-18 08:21:18 +0200Deide(~Deide@217.155.19.23)
2020-10-18 08:24:14 +0200xff0x(~fox@2001:1a81:53f8:9f00:5588:893c:8299:71d2) (Ping timeout: 246 seconds)
2020-10-18 08:25:20 +0200xff0x(~fox@2001:1a81:53f8:9f00:c4e:1637:517e:b477)
2020-10-18 08:30:44 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 272 seconds)
2020-10-18 08:30:53 +0200ephemera__(~E@122.34.1.187)
2020-10-18 08:31:41 +0200cdepillabout(~cdepillab@pl35600.ag1001.nttpc.ne.jp)
2020-10-18 08:32:51 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2020-10-18 08:36:06 +0200polyrain(~polyrain@130.102.13.188)
2020-10-18 08:37:33 +0200polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Quit: WeeChat 2.9)
2020-10-18 08:38:42 +0200toorevitimirp(~tooreviti@117.182.180.0)
2020-10-18 08:39:47 +0200xff0x(~fox@2001:1a81:53f8:9f00:c4e:1637:517e:b477) (Ping timeout: 244 seconds)
2020-10-18 08:40:31 +0200xff0x(~fox@2001:1a81:53f8:9f00:1de1:3046:a1d5:380a)
2020-10-18 08:42:19 +0200polyrain(~polyrain@130.102.13.188) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 08:44:35 +0200Sanchayan(~Sanchayan@136.185.169.16)
2020-10-18 08:45:29 +0200polyrain(~polyrain@130.102.13.108)
2020-10-18 08:47:51 +0200polyrain(~polyrain@130.102.13.108) (Client Quit)
2020-10-18 08:48:31 +0200 <proofofme> Still having problems with Cassava for CSV Parsing. I posted the issue in this pastebin: https://pastebin.com/raw/rhQ83Tch Anyone know what I need to do to get this working?
2020-10-18 08:52:19 +0200Nikotiini(~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com) (Ping timeout: 246 seconds)
2020-10-18 08:53:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 08:55:41 +0200AmberJ_(~AmberJ_@89.47.234.28)
2020-10-18 08:56:37 +0200taurux(~taurux@net-188-216-43-120.cust.vodafonedsl.it) (Ping timeout: 264 seconds)
2020-10-18 08:57:49 +0200ephemera__(~E@122.34.1.187) (Ping timeout: 264 seconds)
2020-10-18 08:58:03 +0200drbean(~drbean@TC210-63-209-207.static.apol.com.tw) (Ping timeout: 260 seconds)
2020-10-18 08:58:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-10-18 08:58:34 +0200taurux(~taurux@net-93-144-13-195.cust.dsl.teletu.it)
2020-10-18 08:59:02 +0200ephemera_(~E@122.34.1.187)
2020-10-18 09:05:24 +0200 <koz_> proofofme: You need to actually import the module where decode is defined.
2020-10-18 09:05:31 +0200 <koz_> Also, put a type signature on main please.
2020-10-18 09:05:38 +0200 <proofofme> I did: import Data.CSV
2020-10-18 09:06:04 +0200 <koz_> I am not seeing that in the thing you linked.
2020-10-18 09:07:04 +0200 <proofofme> you mean this in the cabal file: cassava ^>= 0.5.2.0 ?
2020-10-18 09:07:29 +0200 <proofofme> https://hackage.haskell.org/package/cassava-0.5.2.0/docs/Data-Csv.html
2020-10-18 09:07:30 +0200 <koz_> proofofme: No. In your 'code' section, there is no import line.
2020-10-18 09:07:50 +0200 <koz_> Like 'import Data.CSV' as you described.
2020-10-18 09:07:51 +0200 <proofofme> ah, I excluded the portion above ...
2020-10-18 09:08:04 +0200 <proofofme> I excluded from the snippet. It is there though
2020-10-18 09:08:04 +0200 <koz_> proofofme: Yeah, we kinda need you not to do that.
2020-10-18 09:08:19 +0200 <koz_> Please pastebin _the_ _exact_ source file.
2020-10-18 09:08:22 +0200 <koz_> Omitting nothing.
2020-10-18 09:08:25 +0200Nikotiini(~ubuntu@ec2-52-213-118-142.eu-west-1.compute.amazonaws.com)
2020-10-18 09:08:30 +0200 <proofofme> ok one second
2020-10-18 09:08:36 +0200 <koz_> Since in this case, it is actually fairly critical.
2020-10-18 09:08:58 +0200hackagemultipart 0.2.1 - Parsers for the HTTP multipart format https://hackage.haskell.org/package/multipart-0.2.1 (ErikHesselink)
2020-10-18 09:09:39 +0200 <proofofme> https://pastebin.com/XqtKh9Ac
2020-10-18 09:10:30 +0200 <koz_> "import Data.CSV" <-- contrast with the module's actual name as per https://hackage.haskell.org/package/cassava-0.5.2.0/docs/Data-Csv.html
2020-10-18 09:11:16 +0200Rudd0(~Rudd0@185.189.115.98) (Ping timeout: 272 seconds)
2020-10-18 09:11:23 +0200 <proofofme> ah ...
2020-10-18 09:11:25 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 09:11:37 +0200 <proofofme> wow ... spent so long on this tonight ...
2020-10-18 09:11:48 +0200 <koz_> proofofme: Happens.
2020-10-18 09:12:43 +0200ephemera_(~E@122.34.1.187)
2020-10-18 09:13:40 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-18 09:15:46 +0200lep-deleteGuest88073
2020-10-18 09:15:47 +0200Guest88073lep-delete
2020-10-18 09:17:44 +0200polyrain(~polyrain@130.102.13.108)
2020-10-18 09:18:52 +0200 <proofofme> what's the standard way of handling an `either`?
2020-10-18 09:19:11 +0200 <koz_> proofofme: What do you mean by 'handling'?
2020-10-18 09:19:14 +0200polyrain(~polyrain@130.102.13.108) (Client Quit)
2020-10-18 09:20:26 +0200 <proofofme> so I have an assignment to `x` which is of type Either String (Vector(Text, Int)). how do I process `x` and do the same functions as fromRight and fromLeft, but the right way
2020-10-18 09:20:56 +0200 <koz_> Well, you'd normally case-match.
2020-10-18 09:21:17 +0200ericsagnes(~ericsagne@2405:6580:0:5100:555b:b346:7063:867) (Ping timeout: 272 seconds)
2020-10-18 09:21:40 +0200 <koz_> https://gist.github.com/kozross/b3e00bd68bb1ddd91c09be215182f1bc
2020-10-18 09:21:41 +0200 <proofofme> is there a function analogous to the `maybe` for handling Maybes?
2020-10-18 09:21:45 +0200 <koz_> :t either
2020-10-18 09:21:47 +0200 <lambdabot> (a -> c) -> (b -> c) -> Either a b -> c
2020-10-18 09:21:57 +0200toorevitimirp(~tooreviti@117.182.180.0) (Remote host closed the connection)
2020-10-18 09:22:13 +0200 <koz_> I don't recommend it here, though, mostly because your Either represents an error condition versus a successful parse.
2020-10-18 09:22:22 +0200 <koz_> So jamming it all into either is probably not the best idea.
2020-10-18 09:22:25 +0200toorevitimirp(~tooreviti@117.182.180.0)
2020-10-18 09:22:42 +0200 <proofofme> case matching it is then. Thanks koz!
2020-10-18 09:24:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-10-18 09:25:32 +0200polyrain(~polyrain@130.102.13.108)
2020-10-18 09:25:33 +0200coot(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl)
2020-10-18 09:28:33 +0200polyrain(~polyrain@130.102.13.108) (Client Quit)
2020-10-18 09:29:01 +0200christo(~chris@81.96.113.213)
2020-10-18 09:30:31 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 09:31:40 +0200polyrain(~polyrain@130.102.13.108)
2020-10-18 09:31:43 +0200polyrain(~polyrain@130.102.13.108) (Client Quit)
2020-10-18 09:32:38 +0200danvet_(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-10-18 09:33:02 +0200ericsagnes(~ericsagne@2405:6580:0:5100:99c7:29a6:2c7f:b89d)
2020-10-18 09:33:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 09:33:21 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
2020-10-18 09:33:38 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-10-18 09:34:07 +0200fxg(~fxg@unaffiliated/fxg)
2020-10-18 09:35:25 +0200christo(~chris@81.96.113.213)
2020-10-18 09:35:30 +0200polyrain(~polyrain@130.102.13.108)
2020-10-18 09:35:48 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 260 seconds)
2020-10-18 09:36:13 +0200cdepillabout(~cdepillab@pl35600.ag1001.nttpc.ne.jp) (Ping timeout: 264 seconds)
2020-10-18 09:37:05 +0200fxg(~fxg@unaffiliated/fxg) (Client Quit)
2020-10-18 09:37:50 +0200drbean(~drbean@TC210-63-209-56.static.apol.com.tw)
2020-10-18 09:42:01 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-18 09:42:06 +0200tzh(~tzh@c-73-94-222-143.hsd1.mn.comcast.net) (Quit: zzz)
2020-10-18 09:43:11 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 09:43:31 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-18 09:43:31 +0200polyrain(~polyrain@130.102.13.108) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 09:45:25 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2020-10-18 09:46:45 +0200polyrain(~polyrain@130.102.13.108)
2020-10-18 09:49:15 +0200polyrain(~polyrain@130.102.13.108) (Client Quit)
2020-10-18 09:51:28 +0200xsperry(~as@unaffiliated/xsperry) (Remote host closed the connection)
2020-10-18 09:51:54 +0200falafel__(~falafel@65.155.184.35)
2020-10-18 09:53:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 09:53:33 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-18 09:54:11 +0200falafel_(~falafel@2600:100e:b102:b424:c9d2:9986:8bf7:dec8) (Ping timeout: 244 seconds)
2020-10-18 09:54:21 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-10-18 09:54:52 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 265 seconds)
2020-10-18 09:56:10 +0200christo(~chris@81.96.113.213)
2020-10-18 09:57:18 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 09:57:28 +0200hackagearrow-list 0.7.1 - List arrows for Haskell. https://hackage.haskell.org/package/arrow-list-0.7.1 (ErikHesselink)
2020-10-18 09:57:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-18 09:59:27 +0200hackagepandora 0.3.1 - A box of patterns and paradigms https://hackage.haskell.org/package/pandora-0.3.1 (iokasimovmt)
2020-10-18 10:04:03 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 10:06:23 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-10-18 10:06:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-10-18 10:08:16 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-18 10:11:52 +0200kupi(uid212005@gateway/web/irccloud.com/x-vfsmeyjszxcityxd) (Quit: Connection closed for inactivity)
2020-10-18 10:14:14 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 10:16:28 +0200hackageHDBC-postgresql 2.3.2.8 - PostgreSQL driver for HDBC https://hackage.haskell.org/package/HDBC-postgresql-2.3.2.8 (ErikHesselink)
2020-10-18 10:18:26 +0200chaosmasttter(~chaosmast@p200300c4a710fa01f8ce4354cf8ba13b.dip0.t-ipconnect.de)
2020-10-18 10:18:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-18 10:21:57 +0200hackageuri-encode 1.5.0.7 - Unicode aware uri-encoding https://hackage.haskell.org/package/uri-encode-1.5.0.7 (ErikHesselink)
2020-10-18 10:22:38 +0200ddellacosta(~dd@86.106.121.168) (Ping timeout: 256 seconds)
2020-10-18 10:24:17 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 10:28:52 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-18 10:29:48 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 272 seconds)
2020-10-18 10:30:10 +0200ephemera_(~E@122.34.1.187)
2020-10-18 10:30:27 +0200Super_Feeling(~Super_Fee@103.108.4.170)
2020-10-18 10:31:43 +0200Super_Feeling(~Super_Fee@103.108.4.170) (Client Quit)
2020-10-18 10:32:05 +0200z0(~z0@bl15-163-199.dsl.telepac.pt)
2020-10-18 10:32:28 +0200z0Guest561
2020-10-18 10:33:33 +0200Stanley00(~stanley00@unaffiliated/stanley00) (Ping timeout: 256 seconds)
2020-10-18 10:34:24 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 10:35:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 10:35:53 +0200Guest30638(~z0@bl15-33-197.dsl.telepac.pt) (Ping timeout: 260 seconds)
2020-10-18 10:36:23 +0200drbean(~drbean@TC210-63-209-56.static.apol.com.tw) (Ping timeout: 256 seconds)
2020-10-18 10:38:45 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-18 10:40:21 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-18 10:41:52 +0200nek0(~nek0@mail.nek0.eu) (Remote host closed the connection)
2020-10-18 10:42:43 +0200kritzefitz(~kritzefit@212.86.56.80)
2020-10-18 10:44:00 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 10:45:19 +0200ephemera_(~E@122.34.1.187)
2020-10-18 10:45:46 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2020-10-18 10:46:39 +0200bairyn(~bairyn@unaffiliated/bob0)
2020-10-18 10:54:48 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 10:58:13 +0200Slava_(~textual@2a02:8308:89:8a00:2cbe:ab16:cb7a:e0ed)
2020-10-18 10:58:41 +0200Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-10-18 10:59:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-18 11:00:02 +0200AmberJ_(~AmberJ_@89.47.234.28) ()
2020-10-18 11:00:12 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 11:04:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 11:09:05 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-10-18 11:09:39 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 260 seconds)
2020-10-18 11:13:53 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-10-18 11:18:09 +0200knupfer(~Thunderbi@200116b82c6f4e00e94970f51329056d.dip.versatel-1u1.de)
2020-10-18 11:20:38 +0200wei2912(~wei2912@unaffiliated/wei2912)
2020-10-18 11:21:44 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-18 11:22:02 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 11:22:02 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 11:22:02 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 11:22:51 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-vyxxbgdzqophhzrj) (Quit: Connection closed for inactivity)
2020-10-18 11:23:14 +0200christo(~chris@81.96.113.213)
2020-10-18 11:23:32 +0200immanuel32(9d617a12@157.97.122.18)
2020-10-18 11:24:25 +0200bergsans(~bergsans@c80-217-8-29.bredband.comhem.se)
2020-10-18 11:24:32 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 11:25:12 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 11:25:41 +0200albertus1(~seb@x4db9b903.dyn.telefonica.de) (Ping timeout: 256 seconds)
2020-10-18 11:26:07 +0200GyroW(~GyroW@unaffiliated/gyrow) (Client Quit)
2020-10-18 11:26:19 +0200Wuzzy(~Wuzzy@p5790ef06.dip0.t-ipconnect.de)
2020-10-18 11:26:26 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 11:26:27 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 11:26:27 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 11:27:13 +0200jchia__(~jchia@58.32.37.146)
2020-10-18 11:29:28 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-10-18 11:30:45 +0200justsomeguy(~justsomeg@unaffiliated/--/x-3805311) (Ping timeout: 240 seconds)
2020-10-18 11:31:07 +0200GyroW(~GyroW@unaffiliated/gyrow) (Client Quit)
2020-10-18 11:31:18 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-18 11:31:18 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-18 11:31:18 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 11:31:46 +0200 <maerwald> is there anything special to consider to make a haskell program work correctly with SIGSTOP? I think there's something weird with async going on or so
2020-10-18 11:34:05 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds)
2020-10-18 11:37:50 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84)
2020-10-18 11:42:31 +0200ensyde(~ensyde@2600:1702:2e30:1a40:e1f9:6cbb:4eca:3c84) (Ping timeout: 272 seconds)
2020-10-18 11:44:05 +0200falafel__(~falafel@65.155.184.35) (Ping timeout: 240 seconds)
2020-10-18 16:28:46 +0200ircbrowse_tom(~ircbrowse@64.225.78.177)
2020-10-18 16:28:46 +0200Server+CLnt
2020-10-18 16:29:00 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 16:29:22 +0200knupfer(~Thunderbi@200116b82c6f4e00e94970f51329056d.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-10-18 16:29:23 +0200knupfer1knupfer
2020-10-18 16:31:07 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-18 16:31:24 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 16:31:25 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 16:31:25 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 16:37:05 +0200ircbrowse_tom(~ircbrowse@64.225.78.177)
2020-10-18 16:37:06 +0200Server+CLnt
2020-10-18 16:39:31 +0200fendor_fendor
2020-10-18 16:40:16 +0200Maxdamantus(~Maxdamant@unaffiliated/maxdamantus) (Ping timeout: 246 seconds)
2020-10-18 16:42:13 +0200Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2020-10-18 16:44:58 +0200da39a3ee5e6b4b0d(~textual@n11211935170.netvigator.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 16:45:31 +0200xerox__(~xerox@unaffiliated/xerox)
2020-10-18 16:47:26 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
2020-10-18 16:48:27 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds)
2020-10-18 16:49:38 +0200JordiGH(jordi@octave/developer/JordiGH)
2020-10-18 16:53:18 +0200invaser(~Thunderbi@31.148.23.125)
2020-10-18 16:53:31 +0200mmkarakaya(b0584711@gateway/web/cgi-irc/kiwiirc.com/ip.176.88.71.17)
2020-10-18 16:54:04 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 16:55:50 +0200tv(~tv@unaffiliated/tv) (Ping timeout: 256 seconds)
2020-10-18 16:56:53 +0200 <AWizzArd> Search for `left 4`: https://github.com/AJChapman/formatting/blob/master/README.md – why does formatting a 10 via `left 4 ' '` result in " 10" and not " 10" (1 vs 2 spaces)?
2020-10-18 16:56:58 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 256 seconds)
2020-10-18 16:58:05 +0200 <AWizzArd> Ah okay, nevermind. I see that this html. In the raw readme source it *does* have two spaces.
2020-10-18 16:58:24 +0200ephemera_(~E@122.34.1.187)
2020-10-18 16:58:26 +0200 <merijn> AWizzArd: Because html sucks ;)
2020-10-18 16:58:38 +0200 <merijn> They should've use non-breaking space in the table
2020-10-18 16:58:40 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-10-18 16:58:49 +0200 <merijn> breaking space are compacted in html
2020-10-18 16:58:49 +0200 <AWizzArd> merijn: yeah
2020-10-18 16:58:49 +0200tv(~tv@unaffiliated/tv)
2020-10-18 16:59:58 +0200ggole(~ggole@2001:8003:8119:7200:a8c8:f35b:bee4:ed57)
2020-10-18 17:00:02 +0200Guest24779(~sbc@185.204.1.185) ()
2020-10-18 17:03:16 +0200 <merijn> Does anyone know if/how I can pass extra cabal flags for hie-bios to use?
2020-10-18 17:03:36 +0200Stanley00(~stanley00@unaffiliated/stanley00) ()
2020-10-18 17:04:13 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 17:04:37 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 17:05:18 +0200nek0(~nek0@2a01:4f8:222:2b41::12)
2020-10-18 17:05:54 +0200ephemera_(~E@122.34.1.187)
2020-10-18 17:07:57 +0200hackagecabal-install-parsers 0.4 - Utilities to work with cabal-install files https://hackage.haskell.org/package/cabal-install-parsers-0.4 (phadej)
2020-10-18 17:08:43 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-18 17:10:20 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 17:11:38 +0200ephemera_(~E@122.34.1.187)
2020-10-18 17:11:46 +0200mirrorbird(~psutcliff@2a00:801:42b:7891:16b1:e53f:55b2:15e1) (Quit: Leaving)
2020-10-18 17:11:53 +0200 <merijn> ugh, why are github issues so terrible? I know an issue exists that I talked in and I just can't find it >.>
2020-10-18 17:12:32 +0200ericsagnes(~ericsagne@2405:6580:0:5100:2c0d:cfc:8f83:b542) (Ping timeout: 260 seconds)
2020-10-18 17:14:23 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 17:15:22 +0200 <phadej> in Cabal issue tracker? :)
2020-10-18 17:15:35 +0200 <merijn> Yes, although it turns out, I'm in fact, just blind
2020-10-18 17:16:04 +0200 <phadej> there are just too many issues
2020-10-18 17:16:28 +0200LKoen(~LKoen@81.255.219.130) (Remote host closed the connection)
2020-10-18 17:16:47 +0200 <merijn> Infinite yaks :)
2020-10-18 17:17:10 +0200 <AWizzArd> Ambiguous occurrence ‘putStrLn’ for this use: main = putStrLn ("Hallo" :: Text)
2020-10-18 17:17:18 +0200 <merijn> AWizzArd: Well, yes
2020-10-18 17:17:21 +0200 <AWizzArd> I know that putStrLn is not a method of some type class.
2020-10-18 17:17:32 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 258 seconds)
2020-10-18 17:17:39 +0200 <merijn> It's ambiguous because you, presumably imported the text version of putStrLn
2020-10-18 17:17:46 +0200 <AWizzArd> But is there a good reason why only on type class methods some dispatching/inference can occur?
2020-10-18 17:17:47 +0200 <merijn> But the string version is in Prelude
2020-10-18 17:18:07 +0200 <merijn> AWizzArd: Yes. That reason being: We don't want to go insane
2020-10-18 17:18:19 +0200 <AWizzArd> (-:
2020-10-18 17:18:32 +0200 <merijn> AWizzArd: "it's easy, just dispatch on the type!"
2020-10-18 17:18:36 +0200 <merijn> Which seems easy enough
2020-10-18 17:18:41 +0200 <AWizzArd> si
2020-10-18 17:18:44 +0200Kipras_(~Kipras@78-56-235-39.static.zebra.lt)
2020-10-18 17:18:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-18 17:18:50 +0200 <merijn> Until you consider polymorphic types, typeclasses and how they all interact
2020-10-18 17:18:54 +0200 <phadej> if you want to dispatch on type, write a typeclass :)
2020-10-18 17:19:16 +0200 <phadej> type-directed-name-resolution doesn't mix well with type-classes
2020-10-18 17:19:22 +0200 <AWizzArd> phadej: yes yes, that would help, agreed. I just wonder why this magic doesn’t work on non-method functions.
2020-10-18 17:19:24 +0200Amras(~Amras@unaffiliated/amras0000)
2020-10-18 17:19:32 +0200elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-10-18 17:19:41 +0200 <phadej> or rather, "no one really thought about it, whether these can be mixed"
2020-10-18 17:19:49 +0200 <AWizzArd> k
2020-10-18 17:19:52 +0200ephemera_(~E@122.34.1.187)
2020-10-18 17:19:57 +0200 <AWizzArd> It just isn’t a trivial thing is what I take away.
2020-10-18 17:20:01 +0200 <geekosaur> there have been multiple discussions of "type directed name resolution"
2020-10-18 17:20:13 +0200 <phadej> AWizzArd: boring answer is that "name resolution" happens before type-checking
2020-10-18 17:20:20 +0200Kipras_(~Kipras@78-56-235-39.static.zebra.lt) (Read error: Connection reset by peer)
2020-10-18 17:20:33 +0200 <merijn> AWizzArd: There's two factors: one beyond the trivial case you list it's very hard to figure out how the resolution should happen
2020-10-18 17:20:34 +0200 <phadej> and no sane person want to mix them in GHC :)
2020-10-18 17:20:38 +0200 <phadej> s/mix/combine/
2020-10-18 17:21:05 +0200 <merijn> AWizzArd: And, much more importantly, if you do figure out the resolution method you now have to *memorise and remember it to read any Haskell ever*
2020-10-18 17:21:08 +0200 <AWizzArd> pjb: compare this with your `title` uses.
2020-10-18 17:21:11 +0200 <davean> if it didn't happen before, what would you be type checking?
2020-10-18 17:21:32 +0200 <merijn> AWizzArd: You end up in Scala implicit territory where reordering imports changes how implicits are resolved and changes the behaviour of code
2020-10-18 17:21:47 +0200 <merijn> AWizzArd: Which seems like the kinda thing sane people would like to avoid :)
2020-10-18 17:21:56 +0200matp(~matp@185.163.110.116)
2020-10-18 17:21:57 +0200 <AWizzArd> merijn: uh, yess, didn’t know that one (:
2020-10-18 17:21:58 +0200avdb(~avdb@ip-213-49-61-171.dsl.scarlet.be)
2020-10-18 17:22:25 +0200kipras(~Kipras@78-56-235-39.static.zebra.lt) (Ping timeout: 264 seconds)
2020-10-18 17:24:22 +0200 <merijn> AWizzArd: C++ does support this via overloading and it's *hell*
2020-10-18 17:24:33 +0200 <phadej> I think you can have sane-ish type-directed name resolution, but in the `putStrLn ("Hallo" :: Text)` it won't work
2020-10-18 17:24:41 +0200ericsagnes(~ericsagne@2405:6580:0:5100:8084:b111:4aaf:f484)
2020-10-18 17:24:48 +0200 <merijn> I need 2 more phds to be able to confidently know what overload gets picked in all scenarios
2020-10-18 17:25:15 +0200 <merijn> So, instead, everyone relies on "it mostly does the right thing, usually, so cross your fingers you don't mess up"
2020-10-18 17:25:23 +0200 <phadej> e.g. it will effectively stop by saying "there are two functions named putStrLn, I cannot proceed"
2020-10-18 17:25:45 +0200 <merijn> Of course C++ has the added "fun" that there's also implicit conversions, so it might do a conversion *and then* decide which overload to take
2020-10-18 17:26:20 +0200 <merijn> I'd rather just add a qualified import and not have to think about ad hoc resolution schemes :)
2020-10-18 17:26:24 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 17:26:38 +0200boristheblade(~boristheb@37-219-58-2.nat.bb.dnainternet.fi)
2020-10-18 17:26:39 +0200xff0x(~fox@2001:1a81:53f8:9f00:1de1:3046:a1d5:380a) (Quit: xff0x)
2020-10-18 17:26:41 +0200 <merijn> mpickering: ping?
2020-10-18 17:26:42 +0200 <AWizzArd> merijn: right
2020-10-18 17:27:21 +0200 <monochrom> Oh, C++ overloading. I thought you were talking about Haskell overlapping instances. :)
2020-10-18 17:27:37 +0200 <merijn> AWizzArd: Anyway, if you go to the GHC wiki or google for haskell and "type directed name resolution" you should find a bunch of discussions on the topic. But in the end the consensus has always been "this is probably adding more pain than it removes"
2020-10-18 17:28:22 +0200 <monochrom> IIRC C++'s resolution is very detailedly spelt out but it is lengthy and interwined, it takes lawyers.
2020-10-18 17:28:23 +0200 <AWizzArd> Oki, makes sense!
2020-10-18 17:28:25 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-18 17:28:45 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 17:28:45 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 17:28:45 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 17:29:03 +0200 <hpc> the @quote-y way to say it is after a certain point, type directed name resolution always resolves the name to "oh jesus" :D
2020-10-18 17:30:03 +0200 <merijn> It's like "a better Num hierarchy" everyone agrees we should have a better one, but actually making one turns out to be surprisingly hard :p
2020-10-18 17:30:16 +0200 <monochrom> @quote wrexem resolution
2020-10-18 17:30:17 +0200 <lambdabot> wrexem says: "Its not my fault that your resolution is messed up because you are blind"
2020-10-18 17:30:37 +0200 <merijn> monochrom: *everything* takes lawyers in C++
2020-10-18 17:30:58 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2020-10-18 17:31:06 +0200 <merijn> I have some C++ code using an initialiser list that worked fine 3 years ago, but it's refusing to compile now and I'll be damned if I know why not...
2020-10-18 17:31:20 +0200 <phadej> you can stick to core guidelines though, and then life will be easier
2020-10-18 17:31:23 +0200 <merijn> The code hasn't changed in all that time, so must be something in clang *and* g++
2020-10-18 17:31:43 +0200 <monochrom> This is why my prof said to keep the old compiler and the old OS.
2020-10-18 17:32:02 +0200 <monochrom> You may also need to keep the old hardware.
2020-10-18 17:33:32 +0200ephemera_(~E@122.34.1.187) (Quit: No Ping reply in 180 seconds.)
2020-10-18 17:34:01 +0200ephemera_(~E@122.34.1.187)
2020-10-18 17:34:07 +0200avdb(~avdb@ip-213-49-61-171.dsl.scarlet.be) (Quit: WeeChat 2.9)
2020-10-18 17:34:45 +0200berberman_(~berberman@unaffiliated/berberman)
2020-10-18 17:35:23 +0200berberman(~berberman@unaffiliated/berberman) (Ping timeout: 244 seconds)
2020-10-18 17:35:23 +0200 <merijn> monochrom: My own damn fold for not having the compile step in my code so I forgot how I ever compiled it 3 years ago... >.>
2020-10-18 17:35:30 +0200xff0x(~fox@2001:1a81:53f8:9f00:217d:12db:12d5:cd4c)
2020-10-18 17:35:38 +0200 <merijn> Automate all the things!
2020-10-18 17:35:52 +0200 <merijn> s/fold/fault
2020-10-18 17:35:57 +0200 <merijn> clearly to tired to English
2020-10-18 17:36:19 +0200 <phadej> having --std... argument helps :)
2020-10-18 17:36:31 +0200 <phadej> at least C++ has that, so there is a chance to compile old code with new compiler
2020-10-18 17:36:32 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 17:36:39 +0200 <merijn> phadej: oh, I always use -std
2020-10-18 17:36:49 +0200 <phadej> merijn: it helps to write it down too :)
2020-10-18 17:37:55 +0200 <merijn> phadej: This is a leftover from the dark early days where I just migrated my codebase from python to Haskell
2020-10-18 17:38:42 +0200stefan-_(~cri@42dots.de) (Read error: Connection reset by peer)
2020-10-18 17:39:10 +0200stefan-__(~cri@42dots.de)
2020-10-18 17:39:30 +0200 <merijn> phadej: My happiness is proportional to the percentage of orange in this plot: http://files.inconsistent.nl/sloc-time.png :p
2020-10-18 17:40:02 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 256 seconds)
2020-10-18 17:40:45 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-10-18 17:41:01 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-10-18 17:41:13 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
2020-10-18 17:41:31 +0200ephemera_(~E@122.34.1.187)
2020-10-18 17:41:32 +0200dirediresalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-10-18 17:42:00 +0200contiver(~contiver@84-115-64-51.wifi.dynamic.surfer.at)
2020-10-18 17:43:03 +0200 <xsperry> to be fair, breaking changes happen in haskell world a lot more than in the C++ world
2020-10-18 17:53:28 +0200GyroW(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-18 17:53:38 +0200GyroW(~GyroW@d54c03e98.access.telenet.be)
2020-10-18 17:53:38 +0200GyroW(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-18 17:53:38 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 17:54:50 +0200jchia__(~jchia@58.32.37.146) (Read error: Connection reset by peer)
2020-10-18 17:55:47 +0200jchia__(~jchia@58.32.37.146)
2020-10-18 17:56:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 17:57:58 +0200hackagehadolint 1.18.1 - Dockerfile Linter JavaScript API https://hackage.haskell.org/package/hadolint-1.18.1 (lorenzo)
2020-10-18 17:58:03 +0200theelous3(~theelous3@unaffiliated/theelous3)
2020-10-18 17:59:49 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 17:59:49 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 17:59:49 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-18 18:00:44 +0200Gerula(~Gerula@unaffiliated/gerula) (Quit: Leaving)
2020-10-18 18:01:21 +0200isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com)
2020-10-18 18:01:22 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 272 seconds)
2020-10-18 18:01:34 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-18 18:02:07 +0200ddellacosta(~dd@86.106.121.168)
2020-10-18 18:03:58 +0200scratchy_beard(~doug@cpc110383-king13-2-0-cust408.19-1.cable.virginm.net)
2020-10-18 18:04:50 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net)
2020-10-18 18:06:57 +0200kupi(uid212005@gateway/web/irccloud.com/x-gbjfbdizrnfenkgr)
2020-10-18 18:07:20 +0200Gurkenglas_Gurkenglas
2020-10-18 18:07:30 +0200 <koz_> merijn: Yeah, both C and C++ _force_ you to become a lawyer in fairly short order.
2020-10-18 18:08:02 +0200fendor(~fendor@77.119.130.12.wireless.dyn.drei.com) (Remote host closed the connection)
2020-10-18 18:10:28 +0200hackagecabal-plan 0.7.2.0 - Library and utility for processing cabal's plan.json file https://hackage.haskell.org/package/cabal-plan-0.7.2.0 (phadej)
2020-10-18 18:12:09 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 18:13:35 +0200texasmynsted(688c35c3@104.140.53.195)
2020-10-18 18:14:14 +0200 <texasmynsted> When I look at tutorials for Template Haskell, they often say "use ghci like this . . ."
2020-10-18 18:14:38 +0200 <texasmynsted> oh. hmm. Going to try something before I finish my quesiton
2020-10-18 18:14:46 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54)
2020-10-18 18:16:10 +0200 <phadej> oh, when time-1.11 got released
2020-10-18 18:16:20 +0200 <phadej> something to spend the rest of this weekend with
2020-10-18 18:17:20 +0200aweinstock(~aweinstoc@cpe-67-248-65-250.nycap.res.rr.com)
2020-10-18 18:17:57 +0200 <monochrom> "timely release"
2020-10-18 18:18:30 +0200stefan-__(~cri@42dots.de) (Read error: Connection reset by peer)
2020-10-18 18:18:35 +0200 <phadej> 4 days ago already!
2020-10-18 18:18:41 +0200stefan-__(~cri@42dots.de)
2020-10-18 18:18:59 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
2020-10-18 18:20:29 +0200Kaiepi(~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
2020-10-18 18:21:27 +0200 <texasmynsted> Okay. I have the TemplateHaskell extension loaded in my cabal file. When I do `cabal repl` I can then do `:m + Language.Haskell.TH` w/o error.
2020-10-18 18:21:41 +0200 <texasmynsted> But then QuasiQuotes are not understood in the REPL.
2020-10-18 18:21:44 +0200 <texasmynsted> I get an error.
2020-10-18 18:21:49 +0200contiver(~contiver@84-115-64-51.wifi.dynamic.surfer.at) (Ping timeout: 264 seconds)
2020-10-18 18:21:53 +0200 <texasmynsted> <interactive>:2:7: error: parse error on input ‘|’
2020-10-18 18:22:30 +0200 <monochrom> QuasiQuotes is a different extension.
2020-10-18 18:22:33 +0200 <texasmynsted> Here is an example https://gist.github.com/mmynsted/2056ad4a2b2960dab3808588cca12607
2020-10-18 18:23:06 +0200knupfer(~Thunderbi@i59F7FFD6.versanet.de) (Ping timeout: 256 seconds)
2020-10-18 18:23:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-10-18 18:23:42 +0200 <monochrom> Oh, we call that quote, not quasiquote. Quasiquotes are user-defined, e.g., [myfunc| abc |]
2020-10-18 18:23:44 +0200 <c_wraith> texasmynsted: in general, ghci doesn't enable an extension just because you loaded a file that has it enabled
2020-10-18 18:24:17 +0200 <c_wraith> actually, I can't think of any cases where it does so
2020-10-18 18:25:06 +0200 <geekosaur> it doesn't that I know of. ":showi language" iirc shows what extensions are active
2020-10-18 18:25:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 18:25:20 +0200 <texasmynsted> okay
2020-10-18 18:26:00 +0200boristheblade(~boristheb@37-219-58-2.nat.bb.dnainternet.fi) (Quit: Lost terminal)
2020-10-18 18:26:07 +0200 <texasmynsted> so it is ignoring my project.cabal file with the language extensions defined
2020-10-18 18:26:48 +0200 <davean> If you wanted it to respect that, use cabal repl
2020-10-18 18:27:13 +0200christo(~chris@81.96.113.213)
2020-10-18 18:27:27 +0200 <geekosaur> "When I do `cabal repl`"
2020-10-18 18:28:06 +0200 <texasmynsted> Okay, inside of the REPL, if I explicitly do `:set -XTemplateHaskell` then it works as I expect.
2020-10-18 18:28:43 +0200 <texasmynsted> I guess I need to read up on cabal to see why it is not reading the language extensions from the .cabal file.
2020-10-18 18:29:08 +0200 <monochrom> It is certainly honoured in build mode.
2020-10-18 18:29:18 +0200 <texasmynsted> davean, I did use cabal repl
2020-10-18 18:29:50 +0200fendor(~fendor@046125249052.public.t-mobile.at)
2020-10-18 18:30:06 +0200 <texasmynsted> Yes, when I build my project the .cabal file is used as I expect. When I just run `cabal repl` is does not
2020-10-18 18:31:30 +0200 <texasmynsted> hmm. Also did not seem to read it when I did `cabal real --cabal-file thask.cabal`
2020-10-18 18:31:37 +0200 <maerwald> texasmynsted: did you specifiy the library component?
2020-10-18 18:32:13 +0200 <maerwald> cabal repl lib:<component>
2020-10-18 18:32:21 +0200 <texasmynsted> no
2020-10-18 18:32:30 +0200fendor_(~fendor@212095005159.public.telering.at)
2020-10-18 18:33:42 +0200texasmynstedshrug
2020-10-18 18:35:04 +0200fendor(~fendor@046125249052.public.t-mobile.at) (Ping timeout: 256 seconds)
2020-10-18 18:37:20 +0200Rudd0^(~Rudd0@185.189.115.98)
2020-10-18 18:38:21 +0200Gerula(~Gerula@unaffiliated/gerula)
2020-10-18 18:38:28 +0200 <texasmynsted> okay
2020-10-18 18:38:54 +0200 <texasmynsted> At least I can set the extensions directly in the REPL.
2020-10-18 18:39:16 +0200 <texasmynsted> I can worry about why it is not loading as I expect another time
2020-10-18 18:40:27 +0200 <texasmynsted> I am trying to see if it is worth the TH learning curve to use it to read a file of lines where each line has two words, into a list of pairs.
2020-10-18 18:40:43 +0200Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 258 seconds)
2020-10-18 18:41:21 +0200 <texasmynsted> The reason I would want to use TH is because it could learn how TH works, and I would rather read these at compile time anyway.
2020-10-18 18:42:42 +0200conal(~conal@172.255.125.154)
2020-10-18 18:45:18 +0200justache(~justache@unaffiliated/justache)
2020-10-18 18:45:19 +0200acidjnk_new(~acidjnk@p200300d0c7237829089b089ef2235b8a.dip0.t-ipconnect.de) (Read error: Connection reset by peer)
2020-10-18 18:49:11 +0200frdg(47b88ff9@pool-71-184-143-249.bstnma.fios.verizon.net) (Remote host closed the connection)
2020-10-18 18:50:00 +0200immanuel32(9d617a12@157.97.122.18) (Remote host closed the connection)
2020-10-18 18:50:51 +0200 <merijn> texasmynsted: Also, note that ghci distinguishes "extensions in loaded files" and "extensions in the interactive session"
2020-10-18 18:51:03 +0200 <merijn> :set and :seti respectively
2020-10-18 18:51:39 +0200fendor_(~fendor@212095005159.public.telering.at) (Remote host closed the connection)
2020-10-18 18:51:49 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-18 18:52:04 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 18:52:05 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 18:52:05 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 18:54:35 +0200nyd(~lpy@unaffiliated/elysian) (Quit: nyd)
2020-10-18 18:55:25 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 264 seconds)
2020-10-18 18:55:37 +0200tungki(uid469991@gateway/web/irccloud.com/x-eyynitaofwtlmrqb)
2020-10-18 18:56:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-18 18:59:05 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:14e9:97cc:5d44:8325) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-10-18 19:00:49 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 19:04:12 +0200 <monochrom> You know what, I can't reproduce the problem.
2020-10-18 19:04:49 +0200 <monochrom> "default-extensions: TemplateHaskell" allows me to use quotes in cabal repl.
2020-10-18 19:07:23 +0200dmc00(~dmc@unaffiliated/dmc00) ()
2020-10-18 19:07:34 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-hxsutijujpqeyumd) (Quit: Connection closed for inactivity)
2020-10-18 19:08:38 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-10-18 19:10:08 +0200toorevitimirp(~tooreviti@117.182.180.0) (Remote host closed the connection)
2020-10-18 19:10:44 +0200 <texasmynsted> merijn oh thankyou
2020-10-18 19:11:03 +0200 <texasmynsted> hm
2020-10-18 19:11:11 +0200 <monochrom> :set implies :seti
2020-10-18 19:11:26 +0200acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-10-18 19:11:44 +0200 <monochrom> :seti is useful when you want the option for your hand-entered things but not for the code you will :load
2020-10-18 19:13:07 +0200 <texasmynsted> I was using `other-extensions` rather than `default-extensions`. When I use `default-extensions` it works as I would have expected.
2020-10-18 19:13:08 +0200 <texasmynsted> :-)
2020-10-18 19:14:31 +0200nbloomf(~nbloomf@76.217.43.73)
2020-10-18 19:14:55 +0200 <c_wraith> ah, yes. other-extensions is purely documentation. I don't even know why it's there, really. If there were compilers other than GHC practically available, it might matter...
2020-10-18 19:15:56 +0200 <geekosaur> supposedly so it can verify that other extensions used in individual source files are supported by the selected compiler before building the project, as I recall it
2020-10-18 19:16:22 +0200nbloomf(~nbloomf@76.217.43.73) (Client Quit)
2020-10-18 19:17:43 +0200 <monochrom> Another is as in the user guide "In Cabal-1.24 the dependency solver will use [other-extensions] and default-extensions information"
2020-10-18 19:18:01 +0200 <c_wraith> ... for what?
2020-10-18 19:18:14 +0200 <monochrom> Heh I don't actually know.
2020-10-18 19:18:53 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 19:19:35 +0200GyroW(~GyroW@unaffiliated/gyrow) (Remote host closed the connection)
2020-10-18 19:19:50 +0200GyroW(~GyroW@d54c03e98.access.telenet.be)
2020-10-18 19:19:50 +0200GyroW(~GyroW@d54c03e98.access.telenet.be) (Changing host)
2020-10-18 19:19:50 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 19:24:51 +0200conal(~conal@172.255.125.154) (Quit: Computer has gone to sleep.)
2020-10-18 19:26:20 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 19:26:22 +0200 <merijn> c_wraith: You know, for other non-GHC compilers
2020-10-18 19:26:38 +0200christo(~chris@81.96.113.213)
2020-10-18 19:27:10 +0200 <merijn> (tbh, I'm in favour of not tying all out tooling to hard to GHC, because that only makes the challenge of making a non-GHC competitor that much more challenging)
2020-10-18 19:27:18 +0200 <monochrom> But the "dependency solver" thing doesn't seems to be about other compilers.
2020-10-18 19:27:58 +0200conal(~conal@172.255.125.154)
2020-10-18 19:28:16 +0200 <merijn> Sure, no clue what that's about it
2020-10-18 19:28:57 +0200 <monochrom> "Cabal prior to 1.24 will abort compilation if the current compiler doesn’t provide the extensions"
2020-10-18 19:29:33 +0200 <monochrom> That begins to sound like since 1.24 they have stopped dreaming "there could be another compiler".
2020-10-18 19:29:40 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 246 seconds)
2020-10-18 19:30:21 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 19:30:37 +0200christo(~chris@81.96.113.213)
2020-10-18 19:30:46 +0200 <monochrom> Darn. Hugs was so promising.
2020-10-18 19:30:58 +0200dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Quit: WeeChat 2.7)
2020-10-18 19:31:05 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-18 19:31:15 +0200 <c_wraith> and using it between versions of ghc doesn't make that much sense. ghc will fail fast if it encounters extensions it doesn't know anyway
2020-10-18 19:31:33 +0200 <geekosaur> how aboutother versions of the current compiler, which might have been considered at one point for dependency checking?
2020-10-18 19:31:43 +0200karanlikmadde(~karanlikm@dynamic-089-012-174-005.89.12.pool.telefonica.de) (Quit: karanlikmadde)
2020-10-18 19:31:47 +0200 <c_wraith> I mean, the first thing it has to do when compiling is a topological sort considering imports.
2020-10-18 19:31:55 +0200 <monochrom> I know right? It is not like "dependency solver says you need GHC 9.12 so let's download it right now".
2020-10-18 19:32:23 +0200 <c_wraith> since that's parsing anyway, it can fail on an unknown extension at that point.
2020-10-18 19:32:25 +0200 <geekosaur> stack...
2020-10-18 19:32:38 +0200nschoe(~quassel@2a01:e0a:3c4:c7b0:6d74:2078:bb8:b17d)
2020-10-18 19:33:19 +0200 <c_wraith> stack doesn't do anything like that, though. stack's philosophy is the opposite. it alone determines what to install, dependencies get no say
2020-10-18 19:33:30 +0200 <MarcelineVQ> is -XPackageImports relevant
2020-10-18 19:33:46 +0200 <monochrom> Yeah, stack, except stack is usually in the other direction "dependency solver says you need legacy GHC 4.6"
2020-10-18 19:34:19 +0200 <geekosaur> right, but I can imagine someone thinking "let's provide rough feature parity, but our way instead"
2020-10-18 19:34:22 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 19:34:35 +0200ddellacosta(~dd@86.106.121.168) (Ping timeout: 260 seconds)
2020-10-18 19:35:03 +0200christo(~chris@81.96.113.213)
2020-10-18 19:35:19 +0200 <monochrom> MarcelineVQ: In what context?
2020-10-18 19:35:35 +0200 <MarcelineVQ> cabal caring about extensions during solving
2020-10-18 19:35:38 +0200phr0m3indh0v3n(~Android@84.241.205.21) (Read error: Connection reset by peer)
2020-10-18 19:35:46 +0200 <monochrom> I think no.
2020-10-18 19:35:58 +0200phr0m3indh0v3n(~Android@84.241.205.21)
2020-10-18 19:36:01 +0200 <monochrom> But I really don't know.
2020-10-18 19:37:47 +0200lucasb(uid333435@gateway/web/irccloud.com/x-jgpbbuburcbcxbsy)
2020-10-18 19:43:07 +0200abhixec(~abhixec@c-67-169-141-95.hsd1.ca.comcast.net)
2020-10-18 19:43:25 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
2020-10-18 19:44:57 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 19:44:57 +0200GyroW_(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 19:44:57 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-18 19:45:28 +0200 <christo> hello
2020-10-18 19:45:53 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 258 seconds)
2020-10-18 19:45:55 +0200 <christo> what is hoogle?
2020-10-18 19:46:10 +0200 <christo> is it like: searchable haskell documentation or something?
2020-10-18 19:46:16 +0200 <christo> for libs on hackage?
2020-10-18 19:47:46 +0200 <geekosaur> yes. you can try an online version covering the standard libraries at hoogle.haskell.org
2020-10-18 19:48:17 +0200 <geekosaur> but you can also install it locally and index your own packages and their dependencies
2020-10-18 19:48:43 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-10-18 19:49:11 +0200 <merijn> @hoogle (a -> b) -> [a] -> [b]
2020-10-18 19:49:12 +0200 <lambdabot> Prelude map :: (a -> b) -> [a] -> [b]
2020-10-18 19:49:12 +0200 <lambdabot> Data.List map :: (a -> b) -> [a] -> [b]
2020-10-18 19:49:12 +0200 <lambdabot> GHC.Base map :: (a -> b) -> [a] -> [b]
2020-10-18 19:50:45 +0200albertus1(~seb@x4db9b903.dyn.telefonica.de)
2020-10-18 19:53:47 +0200chaosmasttter(~chaosmast@p200300c4a710fa01f8ce4354cf8ba13b.dip0.t-ipconnect.de)
2020-10-18 19:54:58 +0200Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-10-18 20:00:01 +0200matp(~matp@185.163.110.116) ()
2020-10-18 20:00:44 +0200gioyik(~gioyik@190.67.155.46)
2020-10-18 20:04:24 +0200xerox__xerox_
2020-10-18 20:04:56 +0200chaosmasttter(~chaosmast@p200300c4a710fa01f8ce4354cf8ba13b.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-18 20:05:35 +0200coot(~coot@37.30.52.68.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-10-18 20:06:41 +0200 <christo> ohhh
2020-10-18 20:07:17 +0200 <christo> thx
2020-10-18 20:08:23 +0200Tene(~tene@poipu/supporter/slacker/tene)
2020-10-18 20:08:23 +0200Tene(~tene@poipu/supporter/slacker/tene) (Client Quit)
2020-10-18 20:08:23 +0200knupfer(~Thunderbi@200116b82c6f4e00e9fd13aeb0014cbc.dip.versatel-1u1.de)
2020-10-18 20:08:36 +0200Tene(~tene@mail.digitalkingdom.org)
2020-10-18 20:08:36 +0200Tene(~tene@mail.digitalkingdom.org) (Changing host)
2020-10-18 20:08:36 +0200Tene(~tene@poipu/supporter/slacker/tene)
2020-10-18 20:09:44 +0200alp(~alp@2a01:e0a:58b:4920:546:64d9:5065:63aa)
2020-10-18 20:09:54 +0200urdh(~urdh@unaffiliated/urdh) (Ping timeout: 260 seconds)
2020-10-18 20:10:57 +0200texasmynsted(688c35c3@104.140.53.195) (Remote host closed the connection)
2020-10-18 20:11:32 +0200knupfer(~Thunderbi@200116b82c6f4e00e9fd13aeb0014cbc.dip.versatel-1u1.de) (Client Quit)
2020-10-18 20:11:41 +0200knupfer(~Thunderbi@200116b82c6f4e00e9fd13aeb0014cbc.dip.versatel-1u1.de)
2020-10-18 20:13:06 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 272 seconds)
2020-10-18 20:13:38 +0200kenran(~maier@mue-88-130-62-083.dsl.tropolys.de)
2020-10-18 20:14:13 +0200contiver(~contiver@84-115-65-99.wifi.dynamic.surfer.at)
2020-10-18 20:14:54 +0200Niamkik(~Niamkik@80.67.190.201) (Quit: WeeChat 2.6)
2020-10-18 20:15:03 +0200ephemera_(~E@122.34.1.187) (Read error: Connection reset by peer)
2020-10-18 20:15:13 +0200Buntspecht(~user@unaffiliated/siracusa)
2020-10-18 20:16:58 +0200urdh(~urdh@unaffiliated/urdh)
2020-10-18 20:17:15 +0200ephemera_(~E@122.34.1.187)
2020-10-18 20:18:32 +0200chaosmasttter(~chaosmast@p200300c4a710fa01f8ce4354cf8ba13b.dip0.t-ipconnect.de)
2020-10-18 20:18:36 +0200karanlikmadde(~karanlikm@2a01:c22:ac16:a100:a874:6bad:ee0e:3b97)
2020-10-18 20:18:58 +0200hackagebinaryen 0.0.5.0 - Haskell bindings to binaryen https://hackage.haskell.org/package/binaryen-0.0.5.0 (terrorjack)
2020-10-18 20:21:10 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net)
2020-10-18 20:22:40 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 20:23:55 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Quit: Someone ate my pie)
2020-10-18 20:23:56 +0200ephemera_(~E@122.34.1.187)
2020-10-18 20:24:05 +0200GyroW(~GyroW@d54C03E98.access.telenet.be)
2020-10-18 20:24:05 +0200GyroW(~GyroW@d54C03E98.access.telenet.be) (Changing host)
2020-10-18 20:24:05 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 20:24:28 +0200ddellacosta(~dd@86.106.121.168)
2020-10-18 20:28:38 +0200phr0m3indh0v3n(~Android@84.241.205.21) (Quit: -a- IRC for Android 2.1.59)
2020-10-18 20:28:53 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 20:30:10 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-olymsittyvaorogr)
2020-10-18 20:30:27 +0200kish(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-10-18 20:31:27 +0200kish(~oracle@unaffiliated/oracle)
2020-10-18 20:36:42 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d)
2020-10-18 20:37:36 +0200christo(~chris@81.96.113.213)
2020-10-18 20:37:43 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d) (Client Quit)
2020-10-18 20:39:47 +0200KhoN(~KhoN@cm-84.208.147.132.getinternet.no)
2020-10-18 20:40:57 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-18 20:41:57 +0200djellemah(~djellemah@2601:5c2:100:96c:e008:b638:39fe:6a54) (Ping timeout: 260 seconds)
2020-10-18 20:42:04 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 20:44:42 +0200hnOsmium0001(uid453710@gateway/web/irccloud.com/x-uekbwohrzbmaorkq)
2020-10-18 20:44:46 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 256 seconds)
2020-10-18 20:44:51 +0200conal(~conal@172.255.125.154) (Quit: Computer has gone to sleep.)
2020-10-18 20:46:05 +0200ephemera_(~E@122.34.1.187)
2020-10-18 20:46:26 +0200LKoen(~LKoen@81.255.219.130)
2020-10-18 20:47:10 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-18 20:47:57 +0200conal(~conal@172.255.125.154)
2020-10-18 20:48:58 +0200hackagegotta-go-fast 0.3.0.6 - A command line utility for practicing typing https://hackage.haskell.org/package/gotta-go-fast-0.3.0.6 (callum_oakley)
2020-10-18 20:54:20 +0200christo(~chris@81.96.113.213)
2020-10-18 20:57:03 +0200chief19831(~chief1983@178.162.204.238)
2020-10-18 20:57:08 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 20:57:19 +0200alp(~alp@2a01:e0a:58b:4920:546:64d9:5065:63aa) (Ping timeout: 272 seconds)
2020-10-18 20:57:25 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 240 seconds)
2020-10-18 20:59:16 +0200alp(~alp@2a01:e0a:58b:4920:a554:1244:1f69:224d)
2020-10-18 20:59:25 +0200conal(~conal@172.255.125.154) (Quit: Computer has gone to sleep.)
2020-10-18 20:59:40 +0200ephemera_(~E@122.34.1.187)
2020-10-18 20:59:46 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 20:59:57 +0200conal(~conal@172.255.125.154)
2020-10-18 21:00:40 +0200 <Uniaika> (/1
2020-10-18 21:00:44 +0200 <Uniaika> (hmm.)
2020-10-18 21:01:32 +0200conal(~conal@172.255.125.154) (Remote host closed the connection)
2020-10-18 21:01:47 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-18 21:02:40 +0200conal(~conal@172.255.125.154)
2020-10-18 21:02:54 +0200dhil(~dhil@195.213.192.122) (Ping timeout: 256 seconds)
2020-10-18 21:03:25 +0200berberman(~berberman@unaffiliated/berberman)
2020-10-18 21:03:37 +0200zz01(~xyz@210.18.180.63)
2020-10-18 21:04:07 +0200berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-10-18 21:04:41 +0200kenran(~maier@mue-88-130-62-083.dsl.tropolys.de) (Ping timeout: 256 seconds)
2020-10-18 21:04:55 +0200 <zz01> I am new to the channel and also the language, I am coming from website recommendation this channel is the best and very helpful
2020-10-18 21:05:10 +0200ephemera_(~E@122.34.1.187) (Ping timeout: 256 seconds)
2020-10-18 21:05:19 +0200 <zz01> I would like to learn haskell, but I don't any programming experience in functional programming
2020-10-18 21:05:29 +0200 <zz01> I have good background in C#
2020-10-18 21:06:04 +0200 <Uniaika> if you don't want to jump too far from your comfort zone, F# is quite a decent programming language, based on .NET
2020-10-18 21:07:01 +0200stefan-__(~cri@42dots.de) (Read error: Connection reset by peer)
2020-10-18 21:07:10 +0200stefan-__(~cri@42dots.de)
2020-10-18 21:07:38 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 21:08:09 +0200ephemera_(~E@122.34.1.187)
2020-10-18 21:08:38 +0200 <ddellacosta> zz01: if you want to get into Haskell, you have some references to crossover ideas that you can start with in C#, like linq https://devblogs.microsoft.com/pfxteam/tasks-monads-and-linq/
2020-10-18 21:08:58 +0200hackagelittle-logger 0.3.1 - Basic logging based on co-log https://hackage.haskell.org/package/little-logger-0.3.1 (ejconlon)
2020-10-18 21:09:09 +0200 <ddellacosta> not that you need to start that way to start learning Haskell
2020-10-18 21:10:03 +0200christo(~chris@81.96.113.213)
2020-10-18 21:10:07 +0200 <ddellacosta> but, I think it's pretty cool how C# has that specific connection
2020-10-18 21:10:19 +0200 <zz01> ddellacosta: thank you
2020-10-18 21:10:30 +0200 <ddellacosta> sure thing
2020-10-18 21:10:34 +0200gioyik(~gioyik@190.67.155.46) (Ping timeout: 265 seconds)
2020-10-18 21:11:33 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 21:12:24 +0200 <dolio> I'm not sure LINQ is going to help much with learning Haskell.
2020-10-18 21:12:30 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-10-18 21:12:58 +0200 <ddellacosta> that's fair, more just thinking that getting a feel for some of the ideas in a language they are comfortable with may ease things down the road when the same ideas pop up
2020-10-18 21:13:13 +0200AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-10-18 21:14:14 +0200GyroW_(~GyroW@84.192.62.152)
2020-10-18 21:14:14 +0200GyroW_(~GyroW@84.192.62.152) (Changing host)
2020-10-18 21:14:14 +0200GyroW_(~GyroW@unaffiliated/gyrow)
2020-10-18 21:15:22 +0200GyroW(~GyroW@unaffiliated/gyrow) (Ping timeout: 256 seconds)
2020-10-18 21:15:24 +0200contiver_(~contiver@84-115-64-163.wifi.dynamic.surfer.at)
2020-10-18 21:15:35 +0200dhil(~dhil@78.156.97.38)
2020-10-18 21:16:40 +0200 <dolio> It is a good example of how 'monads are just a hack for dealing with purity' is utter nonsense, though.
2020-10-18 21:17:14 +0200 <ddellacosta> very true
2020-10-18 21:17:15 +0200Kaivo(~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 260 seconds)
2020-10-18 21:17:49 +0200 <ddellacosta> I don't think I actually know of monads being used in a language outside of Haskell so effectively
2020-10-18 21:18:00 +0200 <ddellacosta> *another example of
2020-10-18 21:18:01 +0200gioyik(~gioyik@190.67.155.46)
2020-10-18 21:18:16 +0200contiver(~contiver@84-115-65-99.wifi.dynamic.surfer.at) (Ping timeout: 256 seconds)
2020-10-18 21:18:34 +0200knupfer(~Thunderbi@200116b82c6f4e00e9fd13aeb0014cbc.dip.versatel-1u1.de) (Quit: knupfer)
2020-10-18 21:19:19 +0200knupfer(~Thunderbi@200116b82c6f4e003906994b36cffa11.dip.versatel-1u1.de)
2020-10-18 21:19:33 +0200Kaivo(~Kaivo@ec2-15-222-231-32.ca-central-1.compute.amazonaws.com)
2020-10-18 21:20:55 +0200knupfer(~Thunderbi@200116b82c6f4e003906994b36cffa11.dip.versatel-1u1.de) (Client Quit)
2020-10-18 21:20:57 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 258 seconds)
2020-10-18 21:21:14 +0200knupfer(~Thunderbi@200116b82c6f4e003906994b36cffa11.dip.versatel-1u1.de)
2020-10-18 21:22:43 +0200gioyik(~gioyik@190.67.155.46) (Ping timeout: 246 seconds)
2020-10-18 21:23:55 +0200contiver__(~contiver@84-115-64-62.wifi.dynamic.surfer.at)
2020-10-18 21:26:34 +0200contiver_(~contiver@84-115-64-163.wifi.dynamic.surfer.at) (Ping timeout: 272 seconds)
2020-10-18 21:26:34 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-18 21:26:49 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com) (Quit: ZNC 1.8.1 - https://znc.in)
2020-10-18 21:27:36 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 21:27:36 +0200 <c_wraith> They're used all the time in rust, they just can't be abstracted over.
2020-10-18 21:27:40 +0200gioyik(~gioyik@190.67.155.46)
2020-10-18 21:28:02 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 21:28:11 +0200evanjs(~evanjs@075-129-188-019.res.spectrum.com)
2020-10-18 21:29:11 +0200christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-10-18 21:29:41 +0200 <hpc> rust's Result sugar in particular is like being in a whole-program Either
2020-10-18 21:30:08 +0200 <dolio> You can't in C#, either, which also shows you that the line people take in here about them only being useful because they can be abstracted over is also wrong. :)
2020-10-18 21:32:06 +0200 <hpc> it's a little bit of both
2020-10-18 21:32:10 +0200christo(~chris@81.96.113.213)
2020-10-18 21:32:14 +0200 <hpc> like how you don't see much CPS in python code
2020-10-18 21:32:35 +0200 <hpc> even though it has "first-class functions"
2020-10-18 21:32:39 +0200gioyik(~gioyik@190.67.155.46) (Ping timeout: 260 seconds)
2020-10-18 21:32:40 +0200stefan-__(~cri@42dots.de) (Read error: Connection reset by peer)
2020-10-18 21:32:44 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-10-18 21:32:56 +0200codygman(~codygman@47-184-107-46.dlls.tx.frontiernet.net) (Ping timeout: 256 seconds)
2020-10-18 21:33:00 +0200stefan-__(~cri@42dots.de)
2020-10-18 21:33:07 +0200 <dolio> CPS just makes stack usage worse in python.
2020-10-18 21:33:21 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Remote host closed the connection)
2020-10-18 21:33:29 +0200 <Rembane> Is there an optimization needed to not bloat the stack?
2020-10-18 21:33:50 +0200 <hpc> well, that too
2020-10-18 21:34:00 +0200 <dolio> You need 'proper tail recursion'.
2020-10-18 21:34:14 +0200 <hpc> still, that hardly stops ruby programmers from doing the same thing
2020-10-18 21:35:22 +0200 <dolio> Do you mean blocks?
2020-10-18 21:35:32 +0200 <dolio> Those are a little less aggresive than CPS.
2020-10-18 21:35:54 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net)
2020-10-18 21:36:07 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Remote host closed the connection)
2020-10-18 21:36:49 +0200christo(~chris@81.96.113.213) (Ping timeout: 260 seconds)
2020-10-18 21:36:52 +0200 <dolio> It definitely influences the designs people use, tough.
2020-10-18 21:37:00 +0200albertus1(~seb@x4db9b903.dyn.telefonica.de) (Quit: Leaving.)
2020-10-18 21:37:04 +0200 <dolio> Having a good syntax for it.
2020-10-18 21:37:04 +0200 <hpc> they result in the same sort of code
2020-10-18 21:37:21 +0200gioyik(~gioyik@190.67.155.46)
2020-10-18 21:37:41 +0200 <Rembane> dolio: Got it. Does this imply that they have proper tail recursion in the Javascript engines, because I see Javascript code that looks awfully lot like CPS
2020-10-18 21:37:42 +0200codygman(~codygman@2600:380:f900:eb14:1646:9538:6f47:89d5)
2020-10-18 21:38:16 +0200 <dolio> Some might now, but they've been doing CPS a lot longer than that.
2020-10-18 21:39:22 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be)
2020-10-18 21:39:22 +0200GyroW(~GyroW@ptr-48ujrfd1ztq5fjywfw3.18120a2.ip6.access.telenet.be) (Changing host)
2020-10-18 21:39:22 +0200GyroW(~GyroW@unaffiliated/gyrow)
2020-10-18 21:39:22 +0200 <hpc> setTimeout does a nice job of resetting things, in any event
2020-10-18 21:39:43 +0200GyroW_(~GyroW@unaffiliated/gyrow) (Ping timeout: 260 seconds)
2020-10-18 21:40:05 +0200proofofme(~proofofme@184-96-74-65.hlrn.qwest.net) (Ping timeout: 240 seconds)
2020-10-18 21:40:17 +0200 <hpc> or all sorts of browser built-in asynchronous stuff really
2020-10-18 21:40:25 +0200 <hpc> javascript tends to run in short bursts
2020-10-18 21:40:46 +0200 <dolio> It's specific stuff that uses that, though, because there's basically no other choice. If you tried to just turn some loops into CPS or something, you'd have a bad time.
2020-10-18 21:40:50 +0200 <Rembane> That's true.
2020-10-18 21:41:24 +0200 <dolio> They're using it for pseudo threading stuff, kind of.
2020-10-18 21:41:55 +0200jmsx(~jordan@li1158-85.members.linode.com) (Quit: bye o/)
2020-10-18 21:42:02 +0200knupfer(~Thunderbi@200116b82c6f4e003906994b36cffa11.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-10-18 21:42:04 +0200gioyik(~gioyik@190.67.155.46) (Ping timeout: 256 seconds)
2020-10-18 21:42:39 +0200geekosaur(ae68c070@cpe-174-104-192-112.neo.res.rr.com) (Remote host closed the connection)
2020-10-18 21:45:57 +0200 <dolio> Lack of sensible handling for this doesn't make much sense, but that's another topic, I guess.
2020-10-18 21:46:05 +0200alp(~alp@2a01:e0a:58b:4920:a554:1244:1f69:224d) (Ping timeout: 272 seconds)
2020-10-18 21:46:42 +0200recon_-(~quassel@2602:febc:0:b6::6ca2) (Ping timeout: 260 seconds)
2020-10-18 21:48:18 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 21:48:25 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 240 seconds)
2020-10-18 21:50:19 +0200recon_-(~quassel@208.87.96.9)
2020-10-18 21:52:46 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 258 seconds)
2020-10-18 21:54:18 +0200 <dolio> Rembane: By the way, "proper tail recursion," is what Scheme calls it, but I think it's a bad name, because it's not about recursion.
2020-10-18 21:55:13 +0200jchia__(~jchia@58.32.37.146) (Quit: Leaving.)
2020-10-18 21:55:13 +0200 <Rembane> dolio: Is it the transformation of a recursive function that passes some test into a while-function they call proper tail recursion?
2020-10-18 21:55:28 +0200hackageFunGEn 1.1 - A lightweight, cross-platform, OpenGL/GLUT-based game engine. https://hackage.haskell.org/package/FunGEn-1.1 (SimonMichael)
2020-10-18 21:55:32 +0200jchia__(~jchia@58.32.37.146)
2020-10-18 21:55:49 +0200jchia__(~jchia@58.32.37.146) (Client Quit)
2020-10-18 21:56:03 +0200 <monochrom> In Javascript and I suppose Python, you would both CPS and trampoline.
2020-10-18 21:56:05 +0200 <dolio> It says that it must be possible to perform an unbounded amount of tail calls (in a bounded amount of space).
2020-10-18 21:56:36 +0200conal(~conal@172.255.125.154) (Quit: Computer has gone to sleep.)
2020-10-18 21:56:58 +0200 <monochrom> CPS eliminates non-tail calls. To manually turn tail calls to jumps, you trampoline.
2020-10-18 21:57:11 +0200 <monochrom> s/ to / into /
2020-10-18 21:58:04 +0200knupfer(~Thunderbi@i59F7FFD6.versanet.de)
2020-10-18 22:00:30 +0200 <dolio> Specifically, if you only handle recursive procedures, CPS will ruin it, because CPS builds a heap-allocated function that does a ton of tail calls in a way that isn't obviously direct recursion.
2020-10-18 22:00:55 +0200 <dolio> So you need the tail calls in the continuation to behave well, too.
2020-10-18 22:01:07 +0200 <Rembane> It's turtles all the way down!
2020-10-18 22:01:16 +0200 <dolio> Otherwise you'll have an optimmized loop that builds a function that blows up the stack.
2020-10-18 22:01:25 +0200 <monochrom> The ridiculous length people would go to obfuscate their source code, just because "high-level" languages don't grow out of "stack is limited, heap is unlimited".
2020-10-18 22:01:53 +0200 <monochrom> forgetting that "I'm a high-level language, I am in a position to actually redefine what 'stack' and 'heap" mean".
2020-10-18 22:03:26 +0200 <monochrom> Yeah you will want to do general tail-call optimizations, not just tail-recursion optimizations.
2020-10-18 22:04:15 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: gone to sleep. ZZZzzz…)
2020-10-18 22:04:16 +0200 <Rembane> Isn't this what we have good compilers for? Or at least decent runtime systems?
2020-10-18 22:04:45 +0200 <dolio> Most people use languages that don't.
2020-10-18 22:05:07 +0200 <dolio> Because they're industry standard and popular.
2020-10-18 22:05:49 +0200 <dolio> Languages with good compilers/runtimes are for ivory tower academics.
2020-10-18 22:06:12 +0200jmsx(~jordan@li1158-85.members.linode.com)
2020-10-18 22:06:13 +0200rprije(~rprije@110-175-117-18.tpgi.com.au)
2020-10-18 22:06:16 +0200isovector1(~isovector@172.103.216.166.cable.tpia.cipherkey.com) (Remote host closed the connection)
2020-10-18 22:06:50 +0200 <Rembane> Well, then I prefer the ivory tower languages.
2020-10-18 22:08:38 +0200gioyik(~gioyik@190.67.155.46)
2020-10-18 22:10:02 +0200xff0x(~fox@2001:1a81:53f8:9f00:217d:12db:12d5:cd4c) (Ping timeout: 260 seconds)
2020-10-18 22:10:42 +0200xff0x(~fox@2001:1a81:53f8:9f00:7c69:3a05:36cd:a9b4)
2020-10-18 22:13:07 +0200gioyik(~gioyik@190.67.155.46) (Ping timeout: 246 seconds)
2020-10-18 22:13:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-18 22:15:40 +0200isovector1(~isovector@172.103.216.166)
2020-10-18 22:16:46 +0200 <sm[m]> g'day all, I have released an update of https://github.com/haskell-game/fungen (simple 2d opengl-based game engine tested with ghc 8.8, 8.10)
2020-10-18 22:17:43 +0200conal(~conal@172.255.125.154)
2020-10-18 22:20:36 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2020-10-18 22:22:03 +0200pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2020-10-18 22:23:58 +0200contiver_(~contiver@84-115-64-62.wifi.dynamic.surfer.at)
2020-10-18 22:24:35 +0200ggole(~ggole@2001:8003:8119:7200:a8c8:f35b:bee4:ed57) (Quit: Leaving)
2020-10-18 22:26:05 +0200contiver__(~contiver@84-115-64-62.wifi.dynamic.surfer.at) (Ping timeout: 240 seconds)
2020-10-18 22:26:37 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 22:27:20 +0200dansho(~dansho@ip68-108-167-185.lv.lv.cox.net) (Quit: Leaving)
2020-10-18 22:33:45 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-18 22:34:55 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:706d:285c:8b0:9b3d)
2020-10-18 22:37:31 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-10-18 22:37:32 +0200 <monochrom> gcc does tail-call optimization when -O2 or above. To be sure, C has quite a few gotchas, so gcc is conservative about it. Still, the optimization happens with normal examples I've tried.
2020-10-18 22:38:11 +0200 <monochrom> In the Python case my recollection is Guido explicitly banned it, on ground of discouraging functional programming.
2020-10-18 22:38:57 +0200 <dolio> Yeah, gcc is a good compiler, I imagine. I don't think this discussion really applies to it, though.
2020-10-18 22:39:17 +0200 <dolio> There are other reasons you aren't doing CPS in C.
2020-10-18 22:39:33 +0200 <koz_> monochrom: Well, not his stated reason, but that was the outcome.
2020-10-18 22:39:37 +0200 <koz_> (stated reason was stack traces)
2020-10-18 22:40:30 +0200 <dolio> Maybe he should read about how to do both stack traces and good tail calls. There are decades-old papers on it.
2020-10-18 22:40:53 +0200 <koz_> dolio: Maybe, but argumentum ad serpentum, rofl.
2020-10-18 22:41:22 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 2.9)
2020-10-18 22:41:32 +0200conal(~conal@172.255.125.154) (Quit: Computer has gone to sleep.)
2020-10-18 22:41:52 +0200heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-10-18 22:41:55 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2020-10-18 22:42:28 +0200hackageFunGEn 1.1 - A lightweight, cross-platform, OpenGL-based game engine. https://hackage.haskell.org/package/FunGEn-1.1 (SimonMichael)
2020-10-18 22:43:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 22:43:31 +0200 <dolio> There are also papers on how to do a JVM-like security model with tail calls, so that argument also doesn't work. :)
2020-10-18 22:43:36 +0200larou(5201f2b7@gateway/web/cgi-irc/kiwiirc.com/ip.82.1.242.183)
2020-10-18 22:43:43 +0200 <monochrom> Haha nice.
2020-10-18 22:43:47 +0200ephemera_(~E@122.34.1.187) (Remote host closed the connection)
2020-10-18 22:43:49 +0200 <larou> im struggling to define cons opperations on cyclic structures
2020-10-18 22:44:24 +0200 <larou> im not sure if i can construct a mapping from the structures representation to the valid cons types
2020-10-18 22:44:27 +0200 <monochrom> This is what they get for deriding "academia ivory tower".
2020-10-18 22:44:36 +0200 <koz_> dolio: Hence, argumentum ad serpentum.
2020-10-18 22:45:04 +0200ephemera_(~E@122.34.1.187)
2020-10-18 22:45:07 +0200 <larou> like, i can imagine something where i can only insert subsets of a particular shape
2020-10-18 22:45:17 +0200 <monochrom> Sorry, what is serpentum?
2020-10-18 22:45:38 +0200 <larou> eg, in a regular 2d plane, i cant just insert an extra vertex, i need to add an entire row or column at the same time
2020-10-18 22:45:46 +0200 <larou> otherwise it messes up the shape
2020-10-18 22:45:47 +0200stefan-__(~cri@42dots.de) (Read error: Connection reset by peer)
2020-10-18 22:45:50 +0200 <koz_> monochrom: Python, snake, bad Latin.
2020-10-18 22:45:55 +0200 <monochrom> Oh hahaha
2020-10-18 22:45:59 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 22:46:10 +0200 <monochrom> Don't worry, I don't know Latin either.
2020-10-18 22:46:10 +0200stefan-__(~cri@42dots.de)
2020-10-18 22:46:13 +0200 <koz_> Relevant: https://twitter.com/KozRoss/status/1317929052477427712
2020-10-18 22:46:34 +0200 <larou> erm, so, then, if you have higher genus surfaces - then you get complicated permissible concatinations/insertions
2020-10-18 22:47:13 +0200conal(~conal@64.71.133.70)
2020-10-18 22:47:14 +0200 <monochrom> I was thinking "Cleopatra defied Octavia (future Augustus Caeser) by using a snake for suicide. Does that count as her agumentum ad serpentum against him?"
2020-10-18 22:47:23 +0200 <larou> and since these could deform the shape, eg, changing the genus - then you have a path of successive permissible insertion operator types
2020-10-18 22:47:29 +0200 <koz_> Octavia_n_.
2020-10-18 22:47:35 +0200 <koz_> 'Octavia' would be his daughter.
2020-10-18 22:47:44 +0200 <monochrom> Oh oops. I knew "ia" had to be wrong.
2020-10-18 22:47:48 +0200 <larou> and along different paths you would get different resulting shapes, and intermediate insertion types
2020-10-18 22:47:52 +0200 <dolio> I thought it was his sister.
2020-10-18 22:48:03 +0200 <koz_> dolio: Also a possibility.
2020-10-18 22:48:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-10-18 22:48:22 +0200 <dolio> I suppose it could be both.
2020-10-18 22:48:39 +0200 <dolio> Reusing names.
2020-10-18 22:49:05 +0200 <koz_> Name shadowing!
2020-10-18 22:49:08 +0200 <larou> and then, you would want to be able to determine the types of the insertion opperations, so that you could create the corresponding insertion operations as values
2020-10-18 22:49:38 +0200patrick1(~tarpk@ool-182dc9b3.dyn.optonline.net) (Quit: WeeChat 2.8)
2020-10-18 22:49:39 +0200 <larou> depending on which path was taken in successively altering the architecture
2020-10-18 22:49:39 +0200knupfer(~Thunderbi@i59F7FFD6.versanet.de) (Ping timeout: 260 seconds)
2020-10-18 22:50:18 +0200 <larou> such as if there was a way to generate elements to insert, such as if they have defaults such as zeros (eg, a zeroed neuron)
2020-10-18 22:50:53 +0200 <larou> then a type level specification of the path taken over the branching choices of permissible insertion operator types
2020-10-18 22:51:11 +0200 <larou> could be used to construct initial values of containers of the overall resulting shape
2020-10-18 22:52:04 +0200zz01(~xyz@210.18.180.63) (Ping timeout: 265 seconds)
2020-10-18 22:52:53 +0200 <larou> for example, if i have a higher dimensional torus, then i can take a plane section through it in various ways that give bands along which elements can be inserted to preserve the shape (there needs to be 4 edges to neighbours for each vertex - so you cant just inert a verted at some point without messing up the edges)
2020-10-18 22:53:32 +0200alp(~alp@2a01:e0a:58b:4920:3c60:f5ab:1cfc:cd5)
2020-10-18 22:53:44 +0200 <larou> and eg, you could imagine adding or removing punctures to get higher genus manifolds, again with a correspondingly typed insertion opperator
2020-10-18 22:53:59 +0200ChanServ+o monochrom
2020-10-18 22:54:03 +0200monochrom+b *!*@gateway/web/cgi-irc/kiwiirc.com/ip.82.1.242.183
2020-10-18 22:54:03 +0200laroumonochromlarou
2020-10-18 22:54:10 +0200monochrom-o monochrom
2020-10-18 22:54:30 +0200 <koz_> Wait, were they fogging?
2020-10-18 22:54:34 +0200 <monochrom> (Don't hesitate to object, if you want them back.)
2020-10-18 22:54:49 +0200 <koz_> I didn't see.
2020-10-18 22:55:27 +0200 <monochrom> HIgh similarity to fogging, yeah.
2020-10-18 22:55:43 +0200 <monochrom> has been like that for days.
2020-10-18 22:56:14 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2020-10-18 22:56:22 +0200 <koz_> Yeah, that's definitely been a thing.
2020-10-18 22:56:37 +0200 <koz_> So what, it's now called 'larouing'?
2020-10-18 22:56:48 +0200steve__(~quassel@ool-18b99d28.dyn.optonline.net) (Ping timeout: 256 seconds)
2020-10-18 22:56:49 +0200steve_(~quassel@ool-18b99d28.dyn.optonline.net) (Ping timeout: 256 seconds)
2020-10-18 22:57:03 +0200 <monochrom> I think "fogging" it is. Like "xeroxing" even when you use a Canon. :)
2020-10-18 22:57:03 +0200steve_(~quassel@ool-18b99d28.dyn.optonline.net)
2020-10-18 22:57:03 +0200steve__(~quassel@ool-18b99d28.dyn.optonline.net)
2020-10-18 22:57:08 +0200dhil(~dhil@78.156.97.38) (Ping timeout: 272 seconds)
2020-10-18 22:57:27 +0200 <koz_> monochrom: Sure, can dig.
2020-10-18 22:57:56 +0200dftxbs3e(~dftxbs3e@unaffiliated/dftxbs3e)
2020-10-18 22:59:26 +0200ephemera_(~E@122.34.1.187) (Quit: No Ping reply in 180 seconds.)
2020-10-18 23:00:02 +0200chief19831(~chief1983@178.162.204.238) ()
2020-10-18 23:00:48 +0200 <Buntspecht> What does "fogging" refers to here?
2020-10-18 23:00:56 +0200ephemera_(~E@122.34.1.187)
2020-10-18 23:01:37 +0200 <monochrom> You would have to look through past IRC logs (eg the urls in the channel topic) and look for the nick "fog".
2020-10-18 23:02:07 +0200mananamenos__(~mananamen@vpn237-247.vpns.upv.es) (Ping timeout: 246 seconds)
2020-10-18 23:02:19 +0200 <monochrom> I guess TLDR they mistook #haskell for personal twitter/blog.
2020-10-18 23:02:34 +0200 <Uniaika> I another guy who does that
2020-10-18 23:02:42 +0200 <Uniaika> day-long monologues
2020-10-18 23:03:06 +0200 <Buntspecht> Oh, I thought it's a specifc term for some kind of bad activity :p
2020-10-18 23:03:07 +0200perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-10-18 23:03:09 +0200gioyik(~gioyik@190.67.155.46)
2020-10-18 23:03:13 +0200 <Buntspecht> like "spamming"
2020-10-18 23:03:18 +0200 <dolio> It is. :)
2020-10-18 23:03:29 +0200 <koz_> It's a specific form of spamming.
2020-10-18 23:03:34 +0200 <koz_> (a subtype, a dare say)
2020-10-18 23:03:40 +0200 <dolio> Named after the perpetrator.
2020-10-18 23:03:41 +0200 <koz_> s/a /I /
2020-10-18 23:04:17 +0200 <Rembane> I'm considering building a larou-fog-bot and putting it in a very lonely chat room.
2020-10-18 23:04:27 +0200xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 258 seconds)
2020-10-18 23:04:33 +0200machinedgod(~machinedg@24.105.81.50)
2020-10-18 23:05:00 +0200 <koz_> Rembane: Are you truly _that_ bored?
2020-10-18 23:05:04 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-10-18 23:06:31 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-10-18 23:06:43 +0200ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2020-10-18 23:07:22 +0200ski(~ski@nc-2504-30.studat.chalmers.se) (Ping timeout: 246 seconds)
2020-10-18 23:07:31 +0200 <Rembane> koz_: Not yet, but it struck me that it would be a baller Dr. Evil move.
2020-10-18 23:07:41 +0200 <koz_> Rembane: Yes, this.
2020-10-18 23:07:54 +0200 <Rembane> koz_: I want ... one. Million. Dollars!
2020-10-18 23:08:03 +0200hekkaidekapus}(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-10-18 23:08:08 +0200 <koz_> Rembane: *evil laughter*
2020-10-18 23:08:24 +0200gioyik(~gioyik@190.67.155.46) (Ping timeout: 260 seconds)
2020-10-18 23:08:28 +0200 <Rembane> ^^
2020-10-18 23:09:04 +0200gioyik(~gioyik@190.67.155.46)
2020-10-18 23:09:30 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de)
2020-10-18 23:09:43 +0200hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-10-18 23:10:20 +0200ech(~user@gateway/tor-sasl/ech)
2020-10-18 23:10:26 +0200contiver_(~contiver@84-115-64-62.wifi.dynamic.surfer.at) (Ping timeout: 265 seconds)
2020-10-18 23:11:07 +0200dhil(~dhil@195.213.192.122)
2020-10-18 23:12:25 +0200jsynacek(~jsynacek@ip-185-149-130-112.kmenet.cz) (Ping timeout: 240 seconds)
2020-10-18 23:12:53 +0200isovector1(~isovector@172.103.216.166) (Ping timeout: 258 seconds)
2020-10-18 23:13:59 +0200thir(~thir@p200300f27f2f0100d058ed1e9e148e98.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-10-18 23:14:18 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 246 seconds)
2020-10-18 23:15:22 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-10-18 23:18:25 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (Ping timeout: 240 seconds)
2020-10-18 23:20:54 +0200 <tomsmeding> the last IP that fog connected from is the same that larou has been connecting from this week
2020-10-18 23:20:59 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-10-18 23:21:38 +0200micahsovereign[m(micahsover@gateway/shell/matrix.org/x-fdcktwkiurzttdbm)
2020-10-18 23:21:49 +0200 <tomsmeding> though I don't know what the ip address in the origin string of kiwiirc means exactly, it might be the kiwiirc instance
2020-10-18 23:22:05 +0200eam1(~eam@185.244.214.216)
2020-10-18 23:22:37 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-10-18 23:27:15 +0200conal(~conal@64.71.133.70)
2020-10-18 23:27:22 +0200ransom(~c4264035@75-166-195-170.hlrn.qwest.net)
2020-10-18 23:32:08 +0200dwt(~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
2020-10-18 23:33:00 +0200mmkarakaya(b0584711@gateway/web/cgi-irc/kiwiirc.com/ip.176.88.71.17) (Quit: Connection closed)
2020-10-18 23:38:11 +0200hiroaki(~hiroaki@2a02:908:4b18:e20::e363) (Ping timeout: 272 seconds)
2020-10-18 23:38:21 +0200 <maerwald> IRC needs threads, like slack has
2020-10-18 23:38:56 +0200 <maerwald> then it would be one line instead of 1000
2020-10-18 23:39:57 +0200hackageFunGEn 1.1.1 - A lightweight, cross-platform, OpenGL-based game engine. https://hackage.haskell.org/package/FunGEn-1.1.1 (SimonMichael)
2020-10-18 23:41:38 +0200fendor(~fendor@77.119.130.12.wireless.dyn.drei.com)
2020-10-18 23:41:48 +0200Ariakenom(~Ariakenom@h-82-196-111-189.NA.cust.bahnhof.se) (Quit: Leaving)
2020-10-18 23:43:43 +0200Jeanne-Kamikaze(~Jeanne-Ka@68.235.43.102)
2020-10-18 23:48:09 +0200vicfred(~vicfred@unaffiliated/vicfred)
2020-10-18 23:51:06 +0200wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Quit: leaving)
2020-10-18 23:54:56 +0200novium(4e46a930@78-70-169-48-no110.tbcn.telia.com)
2020-10-18 23:55:39 +0200christo(~chris@81.96.113.213)
2020-10-18 23:55:48 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-10-18 23:57:53 +0200oisdk(~oisdk@2001:bb6:3329:d100:5538:baf2:3212:5e91)
2020-10-18 23:59:31 +0200tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)