2020/12/25

2020-12-25 00:01:14 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds)
2020-12-25 00:01:49 +0100Tops2(~Tobias@dyndsl-095-033-090-086.ewe-ip-backbone.de)
2020-12-25 00:02:27 +0100 <fuzzypixelz> c_wraith: how can count it right?
2020-12-25 00:02:56 +0100neiluj(~jco@unaffiliated/neiluj) (Ping timeout: 240 seconds)
2020-12-25 00:03:06 +0100 <fuzzypixelz> I thought that the outer nodes were the ones with a null list of branching nodes
2020-12-25 00:03:20 +0100 <c_wraith> you are counting exactly what you think you are
2020-12-25 00:03:27 +0100 <c_wraith> You are not counting what the problem asks you to count
2020-12-25 00:05:37 +0100Tops21(~Tobias@dyndsl-095-033-090-086.ewe-ip-backbone.de) (Ping timeout: 264 seconds)
2020-12-25 00:05:48 +0100pallas(~pallas@183.193.112.99)
2020-12-25 00:07:10 +0100 <fuzzypixelz> c_wraith: so for a give a "full depth" branch, I need to add not 1, but the the number of nodes in it?
2020-12-25 00:07:30 +0100 <c_wraith> no, that's irrelevant in part 1
2020-12-25 00:07:57 +0100coot(~coot@37.30.51.124.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-25 00:08:04 +0100Codaraxis__(~Codaraxis@91.193.4.10)
2020-12-25 00:08:09 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521)
2020-12-25 00:08:25 +0100 <c_wraith> the problem is asking you how many different colors can eventually contain a shiny gold bag. This is not the same as how many different colors can hold a shiny gold bag and can't be contained in another bag.
2020-12-25 00:08:29 +0100Fractalis(~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f)
2020-12-25 00:10:35 +0100Kerberos88(~Kerberos8@79.103.76.187.dsl.dyn.forthnet.gr) (Read error: Connection reset by peer)
2020-12-25 00:11:32 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-25 00:11:55 +0100 <fuzzypixelz> c_wraith: ok, so it's the number of distinct bag types, but at each level of my tree
2020-12-25 00:12:03 +0100 <c_wraith> yes
2020-12-25 00:12:08 +0100Codaraxis_(~Codaraxis@ip68-5-90-227.oc.oc.cox.net) (Ping timeout: 272 seconds)
2020-12-25 00:12:57 +0100fendor_(~fendor@178.115.130.212.wireless.dyn.drei.com) (Remote host closed the connection)
2020-12-25 00:14:07 +0100 <fuzzypixelz> c_wraith: so I think I can: map (function counting distinct elements of a list) (tail . levels $ tree)
2020-12-25 00:14:33 +0100 <fuzzypixelz> tail should be there to discard the root node
2020-12-25 00:14:54 +0100 <c_wraith> though, to be accurate - it isn't guaranteed to be a tree.
2020-12-25 00:15:10 +0100 <c_wraith> All you're guaranteed is a DAG
2020-12-25 00:15:18 +0100 <c_wraith> so be sure not to count duplicates
2020-12-25 00:16:24 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net) (Remote host closed the connection)
2020-12-25 00:16:53 +0100Fischmiep(~Fischmiep@biel.zbh.uni-hamburg.de)
2020-12-25 00:17:44 +0100Fischmiep(~Fischmiep@biel.zbh.uni-hamburg.de) (Client Quit)
2020-12-25 00:18:43 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving)
2020-12-25 00:18:57 +0100Fischmiep(~Fischmiep@biel.zbh.uni-hamburg.de)
2020-12-25 00:19:47 +0100Fischmiep(~Fischmiep@biel.zbh.uni-hamburg.de) (Client Quit)
2020-12-25 00:20:01 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 264 seconds)
2020-12-25 00:20:48 +0100Fischmiep(~Fischmiep@bari.zbh.uni-hamburg.de)
2020-12-25 00:22:29 +0100hackagepcre2 1.1.2 - Regular expressions via the PCRE2 C library (included) https://hackage.haskell.org/package/pcre2-1.1.2 (SShuck)
2020-12-25 00:23:27 +0100Fischmiep(~Fischmiep@bari.zbh.uni-hamburg.de) (Client Quit)
2020-12-25 00:23:43 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2020-12-25 00:29:18 +0100carthia(~carthia@gateway/tor-sasl/carthia) (Quit: carthia)
2020-12-25 00:31:41 +0100 <fuzzypixelz> c_wraith: I ended up passing my tree to `sum . map (length.nub) . tail . levels` but that gave 149 and the correct answer for me is 128 (ran merijn's solution, just ran it), so I overcounted
2020-12-25 00:32:13 +0100 <fuzzypixelz> c_wraith: I still don't understand how I'm only getting a dag
2020-12-25 00:32:48 +0100 <fuzzypixelz> it would imply that the rules allow bags to contain themselves
2020-12-25 00:32:59 +0100 <fuzzypixelz> c_wraith: but you were right :P
2020-12-25 00:35:27 +0100 <nshepperd> it's a dag in the sense that your tree contains duplicate subtrees
2020-12-25 00:35:47 +0100knupfer(~Thunderbi@200116b8242f5f00f599acd75e5790b0.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-12-25 00:36:21 +0100acidjnk_new(~acidjnk@p200300d0c704e766c945272cf742f08c.dip0.t-ipconnect.de)
2020-12-25 00:39:02 +0100Fractalis(~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f) (Ping timeout: 260 seconds)
2020-12-25 00:39:08 +0100kam1(~kam1@24.231.108.143)
2020-12-25 00:39:41 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
2020-12-25 00:39:42 +0100Fractalis(~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f)
2020-12-25 00:39:53 +0100 <nshepperd> iow, your tree is a.. traversal? tree-ization? of a dag
2020-12-25 00:40:18 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-12-25 00:40:53 +0100 <nshepperd> because bag A can contain both B and C which can both contain D
2020-12-25 00:41:04 +0100Foritus(~buggery@cpc91316-watf11-2-0-cust68.15-2.cable.virginm.net)
2020-12-25 00:41:19 +0100 <fuzzypixelz> nshepperd, c_wraith: so now I ended up with length . nub . concat . tail . levels $ tree
2020-12-25 00:42:16 +0100olligobber(~olligobbe@unaffiliated/olligobber)
2020-12-25 00:42:38 +0100 <fuzzypixelz> So after I get all my tree's levels, I concat them into one big list and then count the distinct bags _of that_
2020-12-25 00:42:48 +0100 <fuzzypixelz> and that gives the right answer
2020-12-25 00:42:55 +0100sgibber2018(~arch-gibb@208.85.237.137)
2020-12-25 00:43:06 +0100 <c_wraith> the logic sounds correct, too. Not just coincidentally giving you the right answer :)
2020-12-25 00:43:24 +0100 <fuzzypixelz> I can't believe how far I was from what the problem asked for
2020-12-25 00:43:44 +0100 <fuzzypixelz> c_wraith: what data structure would be better suited to represent "bag containess"
2020-12-25 00:43:53 +0100 <c_wraith> Take a look at Data.Graph
2020-12-25 00:45:05 +0100 <c_wraith> day 7 part 1 is two function calls on a Data.Graph that's been constructed to hold the whole thing
2020-12-25 00:45:17 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-12-25 00:45:49 +0100 <fuzzypixelz> c_wraith: btw, how did you solve it?
2020-12-25 00:46:36 +0100 <c_wraith> the worst way I could. :) Being smart would have been reversing the graph. Instead I just kept a reachable set and adding new things to it until I hit a fixed point
2020-12-25 00:47:32 +0100Kaiepi(~Kaiepi@47.54.252.148) (Ping timeout: 256 seconds)
2020-12-25 00:51:30 +0100hackagestripe-servant 0.1.0.0 - Unofficial Stripe servant types https://hackage.haskell.org/package/stripe-servant-0.1.0.0 (AlexanderThiemann)
2020-12-25 00:52:29 +0100hackagestripe-hs 0.1.0.0 - Unofficial Stripe client https://hackage.haskell.org/package/stripe-hs-0.1.0.0 (AlexanderThiemann)
2020-12-25 00:55:01 +0100 <fuzzypixelz> c_wraith: so it would be reachable and transpose? the graph would link bags to their containiner bags, I think
2020-12-25 00:55:22 +0100Fractalis(~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f) (Ping timeout: 260 seconds)
2020-12-25 00:55:35 +0100 <fuzzypixelz> reachable from the golden bag that is
2020-12-25 00:56:08 +0100 <c_wraith> yep, those do the job
2020-12-25 00:56:17 +0100 <nshepperd> i just had a recursive function to compute the transitive closure of any given bag
2020-12-25 00:56:30 +0100 <nshepperd> As a Data.Set
2020-12-25 00:56:48 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2020-12-25 00:57:58 +0100 <fuzzypixelz> nshepperd: I had I very vague idea of that but I just couldn't write it
2020-12-25 00:58:02 +0100jedws(~jedws@121.209.189.201)
2020-12-25 00:58:09 +0100 <fuzzypixelz> I miss my loops and statements
2020-12-25 01:00:28 +0100 <nshepperd> it's like a depth first traversal of your tree except the tree is implicit
2020-12-25 01:01:35 +0100jannee(52d18c9d@82-209-140-157.cust.bredband2.com) (Remote host closed the connection)
2020-12-25 01:03:13 +0100vexed__(~vexed__@178.162.212.214) (Ping timeout: 264 seconds)
2020-12-25 01:03:55 +0100machinedgod(~machinedg@24.105.81.50)
2020-12-25 01:07:32 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
2020-12-25 01:10:28 +0100 <glguy> I combined part 1 and 2 into the same transitive closure map: https://github.com/glguy/advent2020/blob/master/execs/Day07.hs
2020-12-25 01:12:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-25 01:13:31 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 246 seconds)
2020-12-25 01:14:04 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca)
2020-12-25 01:14:10 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
2020-12-25 01:14:47 +0100Thoralf(~Thoralf__@69.162.230.96)
2020-12-25 01:15:32 +0100 <Thoralf> Has anyone here experimented with proof verification systems?
2020-12-25 01:15:37 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-12-25 01:16:35 +0100 <glguy> Thoralf, are you asking about Haskell?
2020-12-25 01:17:23 +0100 <Thoralf> If there are haskell related proof verification systems, yes. If not, I realize this may not be the best channel.
2020-12-25 01:19:26 +0100 <Clint> do you mean like agda?
2020-12-25 01:20:13 +0100jollygood2(~bc8165ab@217.29.117.252)
2020-12-25 01:21:39 +0100Laat(~Laat@139.28.218.148)
2020-12-25 01:22:52 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-25 01:23:04 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Ping timeout: 272 seconds)
2020-12-25 01:24:14 +0100al3x27(~plovs@85.254.74.40) (Ping timeout: 260 seconds)
2020-12-25 01:25:27 +0100jedws(~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 01:26:00 +0100notzmv(~user@unaffiliated/zmv)
2020-12-25 01:28:07 +0100kam1(~kam1@24.231.108.143)
2020-12-25 01:28:40 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 01:31:10 +0100mbomba(~mbomba@bras-base-toroon2719w-grc-53-142-114-5-26.dsl.bell.ca) (Quit: WeeChat 3.0)
2020-12-25 01:32:24 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 260 seconds)
2020-12-25 01:32:46 +0100machinedgod(~machinedg@24.105.81.50)
2020-12-25 01:32:55 +0100 <Thoralf> Yes... basically I started learning a little Haskell so I could work more easily with algebraic data types and think about proofs about them. I have a background in math (MS) and code for a living (C#) and wanted to due some more mathy coding.
2020-12-25 01:33:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-25 01:35:16 +0100olligobber(~olligobbe@unaffiliated/olligobber) (Ping timeout: 240 seconds)
2020-12-25 01:35:52 +0100alx741(~alx741@186.178.110.248) (Ping timeout: 256 seconds)
2020-12-25 01:36:18 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net)
2020-12-25 01:38:18 +0100srk(~sorki@gateway/tor-sasl/sorki) (Remote host closed the connection)
2020-12-25 01:40:20 +0100srk(~sorki@gateway/tor-sasl/sorki)
2020-12-25 01:43:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 01:45:32 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 260 seconds)
2020-12-25 01:46:19 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-25 01:46:39 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2020-12-25 01:46:52 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Remote host closed the connection)
2020-12-25 01:47:17 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2020-12-25 01:48:44 +0100alx741(~alx741@181.196.69.246)
2020-12-25 01:48:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-25 01:51:30 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds)
2020-12-25 01:51:36 +0100dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 240 seconds)
2020-12-25 01:52:48 +0100dibblego(~dibblego@122-199-1-30.ip4.superloop.com)
2020-12-25 01:52:48 +0100dibblego(~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
2020-12-25 01:52:48 +0100dibblego(~dibblego@haskell/developer/dibblego)
2020-12-25 01:52:55 +0100 <__monty__> Thoralf Pierce's Software Foundations is great. Chlipala's Certified Programming with Dependent Types too.
2020-12-25 01:53:38 +0100xcmw(~textual@2601:541:4404:bb5c:383c:b842:edcb:4461) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 01:56:38 +0100Tario(~Tario@201.192.165.173)
2020-12-25 01:56:51 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-dkfzyfmbutdgutbh) (Quit: Connection closed for inactivity)
2020-12-25 02:00:23 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-25 02:00:33 +0100functional_noob(~suhas@45-30-150-65.lightspeed.dybhfl.sbcglobal.net)
2020-12-25 02:01:35 +0100err32(2d1e9641@45-30-150-65.lightspeed.dybhfl.sbcglobal.net)
2020-12-25 02:01:43 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 256 seconds)
2020-12-25 02:01:48 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection)
2020-12-25 02:07:15 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-25 02:07:17 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2020-12-25 02:08:41 +0100kupi(uid212005@gateway/web/irccloud.com/x-luozpabxvpomtxpu)
2020-12-25 02:09:17 +0100functional_noob(~suhas@45-30-150-65.lightspeed.dybhfl.sbcglobal.net) ("Leaving")
2020-12-25 02:12:07 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 02:12:18 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 02:15:41 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-25 02:17:00 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2020-12-25 02:17:25 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-12-25 02:17:32 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2020-12-25 02:17:46 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2020-12-25 02:18:25 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-25 02:18:27 +0100star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2020-12-25 02:19:39 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
2020-12-25 02:19:56 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2020-12-25 02:21:08 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-12-25 02:21:14 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-25 02:21:20 +0100xsperry(~as@unaffiliated/xsperry) (Ping timeout: 272 seconds)
2020-12-25 02:22:23 +0100jollygood2(~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Ping timeout))
2020-12-25 02:23:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 02:24:46 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2020-12-25 02:25:25 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 240 seconds)
2020-12-25 02:25:37 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-25 02:26:24 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-25 02:27:52 +0100Tario(~Tario@201.192.165.173)
2020-12-25 02:28:02 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-12-25 02:30:18 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) ()
2020-12-25 02:31:13 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2020-12-25 02:36:22 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 02:38:05 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-25 02:38:12 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 02:39:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection)
2020-12-25 02:40:45 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit)
2020-12-25 02:45:03 +0100AWizzArd(~code@unaffiliated/awizzard)
2020-12-25 02:45:34 +0100columbarius(~columbari@i5E86B3E4.versanet.de) (Ping timeout: 268 seconds)
2020-12-25 02:47:42 +0100columbarius(~columbari@87.123.198.131)
2020-12-25 02:50:42 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 02:54:47 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it) (Quit: cosimone)
2020-12-25 02:55:26 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 268 seconds)
2020-12-25 02:57:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-25 03:03:36 +0100Entertainment(~entertain@104.246.132.210) (Ping timeout: 240 seconds)
2020-12-25 03:05:42 +0100toorevitimirp(~tooreviti@117.182.181.108)
2020-12-25 03:06:22 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-25 03:07:07 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2020-12-25 03:08:01 +0100Mikagami(~MOSCOS@122.54.107.175) (Remote host closed the connection)
2020-12-25 03:08:27 +0100Mikagami(~MOSCOS@122.54.107.175)
2020-12-25 03:08:50 +0100 <Cale> byorgey: I don't know if you have anything to do with this at this point, but the Homework 1 from your edition of CIS194 seems to be missing
2020-12-25 03:11:19 +0100jedws(~jedws@121.209.189.201)
2020-12-25 03:19:19 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2020-12-25 03:22:34 +0100acidjnk_new(~acidjnk@p200300d0c704e766c945272cf742f08c.dip0.t-ipconnect.de) (Ping timeout: 268 seconds)
2020-12-25 03:23:06 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-25 03:23:49 +0100xcmw(~textual@2601:541:4404:bb5c:383c:b842:edcb:4461)
2020-12-25 03:27:14 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 03:28:04 +0100pallas(~pallas@183.193.112.99) (Ping timeout: 256 seconds)
2020-12-25 03:31:13 +0100tff^(tff@ip98-184-89-2.mc.at.cox.net) ()
2020-12-25 03:32:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-12-25 03:39:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 03:39:43 +0100fxg(~fxg@unaffiliated/fxg)
2020-12-25 03:42:43 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-25 03:42:57 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 03:44:01 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2020-12-25 03:45:00 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-170.cust.tzulo.com) (Ping timeout: 265 seconds)
2020-12-25 03:45:07 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 03:46:50 +0100fxg(~fxg@unaffiliated/fxg) (Quit: Leaving)
2020-12-25 03:47:51 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 03:48:12 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 03:50:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-12-25 03:50:28 +0100Thoralf(~Thoralf__@69.162.230.96) (Quit: Leaving)
2020-12-25 03:51:06 +0100machinedgod(~machinedg@24.105.81.50)
2020-12-25 03:52:51 +0100tsrt^(tsrt@ip98-184-89-2.mc.at.cox.net)
2020-12-25 03:53:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
2020-12-25 03:56:20 +0100err32(2d1e9641@45-30-150-65.lightspeed.dybhfl.sbcglobal.net) (Ping timeout: 245 seconds)
2020-12-25 03:57:37 +0100xff0x_(~fox@2001:1a81:5220:8900:a71f:c669:1430:24d7) (Ping timeout: 260 seconds)
2020-12-25 03:59:29 +0100xff0x_(~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124)
2020-12-25 04:03:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 04:04:12 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2020-12-25 04:06:26 +0100zebrag(~inkbottle@aaubervilliers-654-1-158-75.w86-212.abo.wanadoo.fr)
2020-12-25 04:06:40 +0100jedws(~jedws@121.209.189.201) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 04:10:36 +0100theDon(~td@94.134.91.70) (Ping timeout: 240 seconds)
2020-12-25 04:12:36 +0100theDon(~td@94.134.91.122)
2020-12-25 04:12:36 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 240 seconds)
2020-12-25 04:13:15 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 04:14:36 +0100kam1(~kam1@24.231.108.143)
2020-12-25 04:15:10 +0100Ariakenom_(~Ariakenom@2001:9b1:efb:fc00:d1a7:4f8d:6a93:cd27) (Quit: Leaving)
2020-12-25 04:16:47 +0100xirhtogal(~lagothrix@unaffiliated/lagothrix)
2020-12-25 04:16:47 +0100lagothrixGuest33303
2020-12-25 04:16:47 +0100Guest33303(~lagothrix@unaffiliated/lagothrix) (Killed (hitchcock.freenode.net (Nickname regained by services)))
2020-12-25 04:16:47 +0100xirhtogallagothrix
2020-12-25 04:21:04 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 04:21:30 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 04:24:59 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection)
2020-12-25 04:25:14 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-12-25 04:26:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-25 04:26:46 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 04:29:16 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 240 seconds)
2020-12-25 04:30:03 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2020-12-25 04:31:12 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 260 seconds)
2020-12-25 04:31:45 +0100unfixpoint(1f0a965a@31-10-150-90.cgn.dynamic.upc.ch) (Ping timeout: 245 seconds)
2020-12-25 04:33:02 +0100zaquest(~notzaques@5.128.210.178)
2020-12-25 04:37:30 +0100hackagearch-hs 0.6.1.0 - Distribute hackage packages to archlinux https://hackage.haskell.org/package/arch-hs-0.6.1.0 (berberman)
2020-12-25 04:37:42 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 04:37:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-25 04:38:23 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-25 04:41:20 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 04:43:54 +0100sand_dull(~theuser@62.182.99.39)
2020-12-25 04:45:52 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection)
2020-12-25 04:46:23 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 04:50:30 +0100Saukk(~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3)
2020-12-25 04:50:52 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection)
2020-12-25 04:51:23 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 04:51:24 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 04:53:38 +0100drbean(~drbean@TC210-63-209-143.static.apol.com.tw)
2020-12-25 04:58:31 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds)
2020-12-25 05:00:08 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2020-12-25 05:01:04 +0100nbloomf(~nbloomf@2601:285:401:7490:59cb:5937:686f:ce2a)
2020-12-25 05:01:47 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 05:06:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 05:06:38 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 05:07:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2020-12-25 05:07:14 +0100Tops2(~Tobias@dyndsl-095-033-090-086.ewe-ip-backbone.de) (Quit: Leaving.)
2020-12-25 05:11:08 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 260 seconds)
2020-12-25 05:11:31 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-12-25 05:11:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-25 05:12:13 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 246 seconds)
2020-12-25 05:12:51 +0100jedws(~jedws@121.209.189.201)
2020-12-25 05:13:42 +0100jedws(~jedws@121.209.189.201) (Client Quit)
2020-12-25 05:28:25 +0100Genius123(~jessiesgi@unaffiliated/sailorreality) (Read error: No route to host)
2020-12-25 05:31:14 +0100FreeBirdLjj(~freebirdl@101.87.168.174)
2020-12-25 05:31:31 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 05:35:35 +0100ransom_(~c4264035@8.47.12.52)
2020-12-25 05:35:37 +0100FreeBirdLjj(~freebirdl@101.87.168.174) (Ping timeout: 264 seconds)
2020-12-25 05:37:06 +0100solonarv(~solonarv@adijon-656-1-25-229.w90-13.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-12-25 05:38:03 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-25 05:38:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 05:39:56 +0100sand_dull(~theuser@62.182.99.39) (Read error: Connection reset by peer)
2020-12-25 05:42:04 +0100ericsagnes(~ericsagne@2405:6580:0:5100:d7e8:3126:b46e:67f2) (Ping timeout: 258 seconds)
2020-12-25 05:43:43 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Remote host closed the connection)
2020-12-25 05:43:46 +0100coot_(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-25 05:43:57 +0100ransom_(~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 05:45:08 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-25 05:47:40 +0100kupi(uid212005@gateway/web/irccloud.com/x-luozpabxvpomtxpu) (Quit: Connection closed for inactivity)
2020-12-25 05:48:10 +0100xcmw(~textual@2601:541:4404:bb5c:383c:b842:edcb:4461) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 05:48:27 +0100pdxleif(~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com) (Ping timeout: 260 seconds)
2020-12-25 05:49:10 +0100solonarv(~solonarv@adijon-656-1-25-229.w90-13.abo.wanadoo.fr)
2020-12-25 05:49:22 +0100hwabyong(~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (Ping timeout: 260 seconds)
2020-12-25 05:50:19 +0100vancz(~vancz@unaffiliated/vancz) (Ping timeout: 260 seconds)
2020-12-25 05:50:20 +0100pdxleif(~pdxleif@ec2-54-68-166-10.us-west-2.compute.amazonaws.com)
2020-12-25 05:50:32 +0100vancz(~vancz@unaffiliated/vancz)
2020-12-25 05:51:26 +0100poljar(~poljar@78-3-3-62.adsl.net.t-com.hr) (Read error: Connection reset by peer)
2020-12-25 05:51:57 +0100poljar(~poljar@78-3-3-62.adsl.net.t-com.hr)
2020-12-25 05:52:26 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 05:52:33 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net)
2020-12-25 05:53:35 +0100hwabyong(~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com)
2020-12-25 05:54:22 +0100ericsagnes(~ericsagne@2405:6580:0:5100:59e8:11f9:1fd3:c445)
2020-12-25 05:57:06 +0100Vulfe(~vulfe@75-28-176-196.lightspeed.evtnil.sbcglobal.net) (Ping timeout: 256 seconds)
2020-12-25 05:57:06 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-12-25 05:57:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
2020-12-25 05:58:13 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net)
2020-12-25 06:01:34 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 246 seconds)
2020-12-25 06:05:14 +0100jvanbure(~jvanbure@159.65.233.183) (Ping timeout: 260 seconds)
2020-12-25 06:05:30 +0100jvanbure(~jvanbure@159.65.233.183)
2020-12-25 06:09:07 +0100hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net) (Quit: i must go. my people need me.)
2020-12-25 06:11:07 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com)
2020-12-25 06:12:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-25 06:14:39 +0100emmanuel_erc(~user@2603-7000-9600-01c9-0000-0000-0000-0adc.res6.spectrum.com) (Ping timeout: 258 seconds)
2020-12-25 06:21:01 +0100Fractalis(~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f)
2020-12-25 06:26:09 +0100benjamingr__(uid23465@gateway/web/irccloud.com/x-ankgvusjjrkefawj) (Quit: Connection closed for inactivity)
2020-12-25 06:26:42 +0100bandali(bandali@fsf/emeritus/bandali) (Quit: ZNC - https://znc.in)
2020-12-25 06:27:29 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 06:29:56 +0100bandali(bandali@fsf/emeritus/bandali)
2020-12-25 06:30:28 +0100howdoi(uid224@gateway/web/irccloud.com/x-sgkmaldlngsmvshg) (Quit: Connection closed for inactivity)
2020-12-25 06:31:02 +0100chang(~textual@host-173-230-65-85.njjcmar.clients.pavlovmedia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 06:31:57 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 260 seconds)
2020-12-25 06:32:05 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 240 seconds)
2020-12-25 06:35:22 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-25 06:35:43 +0100matryoshka(~matryoshk@184.75.223.227)
2020-12-25 06:38:40 +0100iekfkk(~username@117.200.6.46) (Ping timeout: 268 seconds)
2020-12-25 06:40:27 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 06:40:39 +0100iekfkk(~username@117.200.6.46)
2020-12-25 06:43:41 +0100christo(~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8)
2020-12-25 06:45:11 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 06:45:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-25 06:50:19 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2020-12-25 06:53:07 +0100Fractalis(~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f) (Quit: Have a good one all, im out!)
2020-12-25 06:54:27 +0100coot_(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot_)
2020-12-25 06:55:33 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-25 06:55:49 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
2020-12-25 06:57:22 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 06:57:33 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-12-25 06:58:36 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-12-25 07:01:58 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 07:02:27 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 07:02:42 +0100ADG1089__(~aditya@122.163.239.116) (Read error: Connection reset by peer)
2020-12-25 07:03:05 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 07:03:15 +0100fengh(~haskeller@ip72-205-40-121.dc.dc.cox.net) (Ping timeout: 256 seconds)
2020-12-25 07:04:17 +0100eacameron(uid256985@gateway/web/irccloud.com/x-lhbgdftewugimdol) (Quit: Connection closed for inactivity)
2020-12-25 07:05:40 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-12-25 07:09:44 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492)
2020-12-25 07:10:41 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-25 07:12:21 +0100christo(~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8) (Remote host closed the connection)
2020-12-25 07:13:30 +0100shatriff_(~vitaliish@176-52-216-242.irishtelecom.com)
2020-12-25 07:14:26 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:fd32:3392:6fff:f492) (Ping timeout: 264 seconds)
2020-12-25 07:15:12 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com) (Ping timeout: 272 seconds)
2020-12-25 07:15:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 07:16:17 +0100christo(~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8)
2020-12-25 07:20:00 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 07:20:28 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 07:21:15 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 07:21:41 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 07:22:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 07:26:37 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 07:27:02 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 07:27:23 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds)
2020-12-25 07:30:31 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2020-12-25 07:32:42 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2020-12-25 07:37:24 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-12-25 07:37:47 +0100Tario(~Tario@201.192.165.173)
2020-12-25 07:43:04 +0100rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 256 seconds)
2020-12-25 07:46:53 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 07:49:58 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 07:50:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-25 07:50:22 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 07:51:07 +0100kori(~kori@2804:14c:85a3:9105::1001)
2020-12-25 07:51:07 +0100kori(~kori@2804:14c:85a3:9105::1001) (Changing host)
2020-12-25 07:51:07 +0100kori(~kori@arrowheads/kori)
2020-12-25 07:51:17 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds)
2020-12-25 07:52:03 +0100ransom_(~c4264035@8.47.12.52)
2020-12-25 07:52:09 +0100ransom_(~c4264035@8.47.12.52) (Client Quit)
2020-12-25 07:52:29 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 07:52:52 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 07:54:14 +0100fiddlerwoaroof(~fiddlerwo@unaffiliated/fiddlerwoaroof) (Remote host closed the connection)
2020-12-25 07:56:17 +0100ransom_(~c4264035@8.47.12.52)
2020-12-25 08:00:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 08:07:03 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 08:07:57 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2020-12-25 08:08:25 +0100ransom_(~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 08:11:42 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds)
2020-12-25 08:17:24 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 08:17:50 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 08:19:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 08:22:01 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-12-25 08:24:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-25 08:27:23 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 08:28:35 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 08:30:40 +0100Saukk(~Saukk@2001:998:ec:954:1c59:9bb5:b94c:3) (Remote host closed the connection)
2020-12-25 08:31:50 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 264 seconds)
2020-12-25 08:33:12 +0100qwerty(~tema@217.118.92.215)
2020-12-25 08:34:25 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 264 seconds)
2020-12-25 08:36:10 +0100ransom_(~c4264035@8.47.12.52)
2020-12-25 08:36:11 +0100matryoshka(~matryoshk@184.75.223.227) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-25 08:36:35 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809)
2020-12-25 08:39:12 +0100Laat(~Laat@139.28.218.148) (Remote host closed the connection)
2020-12-25 08:47:43 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 08:48:12 +0100 <_deepfire> are there any libraries that provide secure websockets (wss) servers, that don't involve webserver stacks, like warp etc.?
2020-12-25 08:52:11 +0100xsperry(~as@unaffiliated/xsperry)
2020-12-25 08:52:32 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds)
2020-12-25 08:57:20 +0100plutoniix(~q@ppp-27-55-66-145.revip3.asianet.co.th)
2020-12-25 08:59:43 +0100ironmarx(~ironmarx@84.39.117.57)
2020-12-25 09:11:23 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-12-25 09:14:36 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-25 09:23:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-25 09:27:03 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-25 09:29:54 +0100cheater(~user@unaffiliated/cheater)
2020-12-25 09:30:20 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 09:30:28 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-25 09:30:52 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection)
2020-12-25 09:31:15 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2020-12-25 09:32:18 +0100nbloomf(~nbloomf@2601:285:401:7490:59cb:5937:686f:ce2a) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 09:33:14 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-12-25 09:34:43 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 246 seconds)
2020-12-25 09:35:21 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 09:37:44 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Ping timeout: 260 seconds)
2020-12-25 09:38:14 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-12-25 09:39:42 +0100al3x27(~plovs@85.254.74.40)
2020-12-25 09:43:25 +0100drbean(~drbean@TC210-63-209-143.static.apol.com.tw) (Ping timeout: 264 seconds)
2020-12-25 09:45:25 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-25 09:47:26 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2020-12-25 09:49:36 +0100jamm(~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2020-12-25 09:51:59 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-12-25 09:52:43 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-25 09:54:15 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 09:55:43 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 09:56:52 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-12-25 09:58:34 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 10:00:14 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 10:00:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-25 10:03:07 +0100 <siraben> (aoc day 25 spoiler) is there a better way to write the semigroup instance for B? https://github.com/siraben/haoc-2020/blob/master/day25.hs
2020-12-25 10:03:20 +0100 <siraben> if I were to do instance Semigroup (Product B) I get overlapping instances
2020-12-25 10:11:06 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 10:14:43 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-25 10:15:24 +0100zhulikas(~derp@213.239.204.108)
2020-12-25 10:15:44 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 10:16:07 +0100zhulikas(~derp@213.239.204.108) (Client Quit)
2020-12-25 10:16:16 +0100zhulikas(~derp@213.239.204.108)
2020-12-25 10:17:33 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2020-12-25 10:20:51 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 10:24:26 +0100fiddlerwoaroof(~fiddlerwo@unaffiliated/fiddlerwoaroof)
2020-12-25 10:25:42 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-25 10:29:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 10:29:16 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-gekljygtchkukcbi) (Quit: Connection closed for inactivity)
2020-12-25 10:34:11 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2020-12-25 10:40:28 +0100styledash(~styledash@157.230.173.136) (Quit: Ping timeout (120 seconds))
2020-12-25 10:40:30 +0100 <gentauro> anybody know how (where?) to change colors for the `lsp-ui`? I really can't use it :) https://imgur.com/a/bAs2SQn
2020-12-25 10:40:36 +0100L29Ah(~L29Ah@unaffiliated/l29ah) (Ping timeout: 240 seconds)
2020-12-25 10:40:54 +0100styledash(~styledash@157.230.173.136)
2020-12-25 10:46:04 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-12-25 10:46:41 +0100 <gentauro> found it :)
2020-12-25 10:46:50 +0100 <gentauro> https://github.com/emacs-lsp/lsp-ui/issues/369#issue-544422242
2020-12-25 10:48:23 +0100 <siraben> gentauro: :D
2020-12-25 10:50:39 +0100banner(~banner@116-255-17-47.ip4.superloop.com)
2020-12-25 10:50:39 +0100banner(~banner@116-255-17-47.ip4.superloop.com) (Client Quit)
2020-12-25 10:51:55 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2020-12-25 10:52:04 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-25 10:55:43 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Ping timeout: 240 seconds)
2020-12-25 10:58:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 11:03:18 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 258 seconds)
2020-12-25 11:03:49 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-12-25 11:04:57 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Remote host closed the connection)
2020-12-25 11:05:12 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-12-25 11:11:20 +0100guest1222(~user@49.5.6.87) (Quit: ERC (IRC client for Emacs 27.1))
2020-12-25 11:11:42 +0100son0p(~son0p@181.58.39.182)
2020-12-25 11:19:02 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 11:19:21 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-aqakevzlgrrqrlmm)
2020-12-25 11:24:02 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 264 seconds)
2020-12-25 11:25:44 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2020-12-25 11:27:33 +0100DavidEichmann(~david@2a01:4b00:ea36:d800:7190:b601:9ea:6e3e)
2020-12-25 11:27:33 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-12-25 11:33:03 +0100kuribas(~user@ptr-25vy0ia20n5d17pacij.18120a2.ip6.access.telenet.be)
2020-12-25 11:33:17 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it)
2020-12-25 11:34:30 +0100hackagebishbosh 0.0.0.7 - Plays chess. https://hackage.haskell.org/package/bishbosh-0.0.0.7 (AlistairWard)
2020-12-25 11:35:45 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:9d10:f316:4709:bd2c)
2020-12-25 11:37:06 +0100asheshambasta(~user@ptr-e1lysaxt4bg7tmaahx1.18120a2.ip6.access.telenet.be)
2020-12-25 11:37:17 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 11:37:40 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 11:39:21 +0100__monty__(~toonn@unaffiliated/toonn)
2020-12-25 11:39:22 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 11:41:28 +0100christo(~chris@2a02:c7f:af23:fd00:cc40:5e09:41ba:68b8) (Remote host closed the connection)
2020-12-25 11:43:18 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:5526:7bff:8975:9331) (Ping timeout: 268 seconds)
2020-12-25 11:44:02 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds)
2020-12-25 11:44:13 +0100knupfer(~Thunderbi@mue-88-130-61-228.dsl.tropolys.de)
2020-12-25 11:45:49 +0100acidjnk_new(~acidjnk@p200300d0c704e768908e218c407fff58.dip0.t-ipconnect.de)
2020-12-25 11:46:22 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Quit: Nice weekend & Merry Christmas)
2020-12-25 11:46:42 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-25 11:49:20 +0100strawman2511(~strawman2@171.252.155.14)
2020-12-25 11:50:38 +0100 <xerox_> Merry Christmas #haskell!
2020-12-25 11:50:41 +0100 <strawman2511> I am new to programming and I really want to learn Haskell the effective way. Which book do you think I should take? This one https://haskellbook.com/
2020-12-25 11:52:16 +0100 <__monty__> Merry christmas, xerox_, peeps
2020-12-25 11:52:39 +0100 <__monty__> strawman2511: How much experience do you have with programming and functional languages?
2020-12-25 11:53:17 +0100 <strawman2511> I don't have any experience.
2020-12-25 11:53:37 +0100 <strawman2511> But I like Haskell
2020-12-25 11:53:46 +0100 <__monty__> Then that book's probably the way to go.
2020-12-25 11:53:53 +0100 <merijn> strawman2511: That one is decent. I've also heard that "Thinking Functionall With Haskell" by Richard Bird and "Programming in Haskell" by Graham Hutton are good
2020-12-25 11:54:08 +0100 <__monty__> Yeah, was going to recommend the latter too.
2020-12-25 11:55:20 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-25 11:55:29 +0100 <strawman2511> Are all of that book include a lastest version of Haskell?
2020-12-25 11:55:45 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-25 11:55:46 +0100avdb(~avdb@gateway/tor-sasl/avdb)
2020-12-25 11:55:58 +0100 <__monty__> Don't think any of them do. GHC 8.10.3 was released the day before yesterday : )
2020-12-25 11:56:11 +0100 <merijn> strawman2511: There isn't really a "latest version" (in any sense that matters) in the sense of python 2 vs 3
2020-12-25 11:56:45 +0100 <__monty__> But I wouldn't worry too much about that. This channel is a great place to ask about stuff that confuses you.
2020-12-25 11:57:03 +0100 <merijn> strawman2511: I mean, the latest Haskell spec is from 2010 and GHC's support for that has changed rather little. Of course the "standard" library has changed a bit, but not enough to worry about
2020-12-25 11:57:05 +0100 <__monty__> And you've already found it : )
2020-12-25 11:57:48 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 11:58:10 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 11:59:17 +0100berberman(~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-25 11:59:23 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 11:59:41 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-25 11:59:49 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:00:58 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:01:21 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:02:55 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:03:57 +0100strawman2511(~strawman2@171.252.155.14) (Quit: Leaving)
2020-12-25 12:05:56 +0100sgibber2018(~arch-gibb@208.85.237.137) (Ping timeout: 240 seconds)
2020-12-25 12:05:59 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:07:03 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:07:28 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:08:01 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:08:31 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:08:46 +0100rando25892(~rando2589@unaffiliated/mixfix41)
2020-12-25 12:09:11 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:09:36 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:12:39 +0100son0p(~son0p@181.58.39.182) (Quit: leaving)
2020-12-25 12:14:36 +0100asheshambasta(~user@ptr-e1lysaxt4bg7tmaahx1.18120a2.ip6.access.telenet.be) (Ping timeout: 258 seconds)
2020-12-25 12:14:48 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2020-12-25 12:15:16 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:15:36 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:15:39 +0100 <idnar> :t traverse
2020-12-25 12:15:41 +0100 <lambdabot> (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2020-12-25 12:16:46 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8)
2020-12-25 12:16:55 +0100 <idnar> @hoogle (Foldable t, Applicative f) => (a -> f b) -> t a -> f [b]
2020-12-25 12:16:56 +0100 <lambdabot> Data.Vector.Fixed.Generic mapMG :: (Vector v a, Vector w b, Dim w ~ Dim v, Monad m) => (a -> m b) -> v a -> m (w b)
2020-12-25 12:18:01 +0100 <idnar> :t (traverse .) . toList
2020-12-25 12:18:03 +0100 <lambdabot> error:
2020-12-25 12:18:03 +0100 <lambdabot> Ambiguous occurrence ‘toList’
2020-12-25 12:18:03 +0100 <lambdabot> It could refer to
2020-12-25 12:18:44 +0100 <idnar> :t (traverse .) . Data.Foldable.toList
2020-12-25 12:18:45 +0100 <lambdabot> error:
2020-12-25 12:18:45 +0100 <lambdabot> • Couldn't match type ‘[a]’ with ‘a1 -> a2 -> f b’
2020-12-25 12:18:45 +0100 <lambdabot> Expected type: t a -> a1 -> a2 -> f b
2020-12-25 12:19:20 +0100 <idnar> :t \f -> traverse f . Data.Foldable.toList
2020-12-25 12:19:22 +0100 <lambdabot> (Applicative f, Foldable t) => (a -> f b) -> t a -> f [b]
2020-12-25 12:19:54 +0100 <idnar> @pl \f -> traverse f . Data.Foldable.toList
2020-12-25 12:19:54 +0100 <lambdabot> (. Data.Foldable.toList) . traverse
2020-12-25 12:20:15 +0100 <idnar> ohh
2020-12-25 12:21:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 12:26:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-25 12:29:01 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:29:22 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:31:50 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in)
2020-12-25 12:31:56 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-25 12:32:59 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2020-12-25 12:34:27 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 12:34:43 +0100roconnor(~roconnor@host-45-78-199-13.dyn.295.ca) (Quit: Konversation terminated!)
2020-12-25 12:35:25 +0100fendor(~fendor@178.115.130.212.wireless.dyn.drei.com)
2020-12-25 12:35:30 +0100drbean(~drbean@TC210-63-209-18.static.apol.com.tw)
2020-12-25 12:36:11 +0100haritz(~hrtz@unaffiliated/haritz) (Ping timeout: 272 seconds)
2020-12-25 12:37:02 +0100haritz(~hrtz@62.3.70.206)
2020-12-25 12:37:03 +0100haritz(~hrtz@62.3.70.206) (Changing host)
2020-12-25 12:37:03 +0100haritz(~hrtz@unaffiliated/haritz)
2020-12-25 12:40:07 +0100Lscot22(~Lscot22@cpc101772-grth12-2-0-cust170.16-4.cable.virginm.net)
2020-12-25 12:41:52 +0100cosimone(~cosimone@2001:b07:ae5:db26:1fb3:ef3f:ece2:c6f8) (Quit: cosimone)
2020-12-25 12:43:20 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 12:43:49 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 12:44:52 +0100ulidtko(~ulidtko@194.54.80.38)
2020-12-25 12:45:07 +0100ulidtko(~ulidtko@194.54.80.38) (Remote host closed the connection)
2020-12-25 12:45:21 +0100ulidtko(~ulidtko@194.54.80.38)
2020-12-25 12:46:05 +0100Lscot22(~Lscot22@cpc101772-grth12-2-0-cust170.16-4.cable.virginm.net) ()
2020-12-25 12:47:40 +0100 <__monty__> idnar: Hmm, thought that might be a bird but closest I can get is `cardinal' . flip` and what's the point of birds if you need flip anyway : /
2020-12-25 12:53:26 +0100acidjnk_new(~acidjnk@p200300d0c704e768908e218c407fff58.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2020-12-25 12:57:27 +0100ironmarx(~ironmarx@84.39.117.57) (Remote host closed the connection)
2020-12-25 12:58:02 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-25 13:03:00 +0100 <int-e> flipping birds is traditional, I suppose
2020-12-25 13:05:42 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-25 13:09:03 +0100Mikagami(~MOSCOS@122.54.107.175) (Remote host closed the connection)
2020-12-25 13:09:27 +0100avdb(~avdb@gateway/tor-sasl/avdb) (Quit: avdb)
2020-12-25 13:09:42 +0100Mikagami(~MOSCOS@122.54.107.175)
2020-12-25 13:11:05 +0100juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 240 seconds)
2020-12-25 13:11:37 +0100 <idnar> birds?
2020-12-25 13:13:08 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 13:13:38 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 13:14:02 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:ac1c:ca8f:6bba:6ac5)
2020-12-25 13:15:42 +0100 <int-e> See https://en.wikipedia.org/wiki/To_Mock_a_Mockingbird
2020-12-25 13:16:11 +0100Entertainment(~entertain@104.246.132.210)
2020-12-25 13:19:00 +0100Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com)
2020-12-25 13:19:31 +0100solonarv(~solonarv@adijon-656-1-25-229.w90-13.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-12-25 13:22:13 +0100plutoniix(~q@ppp-27-55-66-145.revip3.asianet.co.th) (Quit: Leaving)
2020-12-25 13:27:40 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-25 13:27:48 +0100 <kuribas> merijn: I find the "traversal over a fold" explanation of clojure transducer not that satisfactory. Since filter comparers to filtering, which isn't a lawful traversal.
2020-12-25 13:27:53 +0100 <kuribas> :t filtering
2020-12-25 13:27:54 +0100 <lambdabot> error: Variable not in scope: filtering
2020-12-25 13:28:02 +0100 <kuribas> :t filtered
2020-12-25 13:28:04 +0100 <lambdabot> (Choice p, Applicative f) => (a -> Bool) -> Optic' p f a a
2020-12-25 13:28:23 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2020-12-25 13:30:40 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-25 13:30:43 +0100 <kuribas> merijn: With the streaming analogy you get: filter p = \a -> if p a then pure a else mempty
2020-12-25 13:32:14 +0100 <kuribas> however the transducer abstraction in clojure is quite *dirty*, since you need to use side-effectful state for some operations (like take), and actual short circuit termination needs to be checked in each transducer separately.
2020-12-25 13:33:37 +0100 <kuribas> Where it's automatic when using "SerialT (ExceptT IO) a" for example.
2020-12-25 13:34:13 +0100 <kuribas> it shows how the whole explanation of "dynamic types are more general since they have less restrictions" falls flat in practice.
2020-12-25 13:36:03 +0100kupi(uid212005@gateway/web/irccloud.com/x-ydcdmiqkfmdjfpug)
2020-12-25 13:36:07 +0100 <kuribas> In theory you can write more dynamic programs than statically typed programs, but in practice, without means for a language to properly create abstractions, layering and structuring abstractions becomes almost impossible.
2020-12-25 13:38:43 +0100 <kuribas> transducers in clojure seem rather easy to use, but tricky to implement properly.
2020-12-25 13:39:17 +0100 <kuribas> And the explanation is rather confusing.
2020-12-25 13:41:04 +0100berberman_(~berberman@unaffiliated/berberman)
2020-12-25 13:41:11 +0100Ariakenom(~Ariakenom@2001:9b1:efb:fc00:79fd:8fd5:a80e:11e2)
2020-12-25 13:42:08 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-12-25 13:42:53 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 13:44:14 +0100 <kuribas> hmm, I guess the side effects would make the type: IO (\a -> Streamly (ExceptT IO) b)
2020-12-25 13:44:31 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 13:44:37 +0100juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 264 seconds)
2020-12-25 13:44:42 +0100 <kuribas> hmm, is there a way to "hide state", without using IO and IORef?
2020-12-25 13:45:20 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 13:45:42 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 13:46:38 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 13:47:02 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 13:47:04 +0100metamod(uid478611@gateway/web/irccloud.com/x-rmjicccbfuhhydlz) (Quit: Connection closed for inactivity)
2020-12-25 13:47:57 +0100pavonia(~user@unaffiliated/siracusa)
2020-12-25 13:48:33 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 13:48:55 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 13:50:20 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 13:52:59 +0100ADG1089__(~aditya@122.163.239.116) (Remote host closed the connection)
2020-12-25 13:53:21 +0100ADG1089__(~aditya@122.163.239.116)
2020-12-25 13:54:29 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:9d10:f316:4709:bd2c) ()
2020-12-25 13:55:08 +0100tchoutri(~tchoutri@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr)
2020-12-25 13:55:14 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 264 seconds)
2020-12-25 13:55:14 +0100 <tchoutri> hello there
2020-12-25 13:56:09 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de)
2020-12-25 13:57:24 +0100Guest78853(~botro@178.239.168.171)
2020-12-25 13:57:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-25 13:58:14 +0100superstar64(6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net)
2020-12-25 13:59:06 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 14:00:42 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-25 14:01:48 +0100 <juri_> hallo!
2020-12-25 14:02:24 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-25 14:02:55 +0100 <kuribas> hey
2020-12-25 14:03:04 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-25 14:03:08 +0100 <kuribas> ah, this would hide the state: Transducer = forall s . Transducer s (a -> (\c -> Streamly (ExceptT a (StateT s IO) a)) ((s, a) -> b))
2020-12-25 14:10:40 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 14:15:04 +0100notzmv(~user@unaffiliated/zmv) (Ping timeout: 246 seconds)
2020-12-25 14:15:07 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds)
2020-12-25 14:15:54 +0100notzmv(~user@unaffiliated/zmv)
2020-12-25 14:17:53 +0100tchoutri(~tchoutri@i16-les04-th2-62-35-126-255.sfr.lns.abo.bbox.fr) (Quit: leaving)
2020-12-25 14:19:19 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 268 seconds)
2020-12-25 14:20:40 +0100Lycurgus(~niemand@cpe-45-46-137-210.buffalo.res.rr.com) (Quit: Exeunt)
2020-12-25 14:20:40 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds)
2020-12-25 14:21:27 +0100knupfer(~Thunderbi@mue-88-130-61-228.dsl.tropolys.de) (Quit: knupfer)
2020-12-25 14:23:34 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 14:24:41 +0100ADG1089_(~aditya@223.226.230.252)
2020-12-25 14:25:35 +0100dyeplexer(~lol@unaffiliated/terpin)
2020-12-25 14:27:06 +0100ADG1089__(~aditya@122.163.239.116) (Ping timeout: 256 seconds)
2020-12-25 14:28:22 +0100ADG1089_(~aditya@223.226.230.252) (Remote host closed the connection)
2020-12-25 14:28:28 +0100strawman2511(~strawman2@171.252.155.14)
2020-12-25 14:28:43 +0100todda7(~torstein@ppp-2-84-17-53.home.otenet.gr) (Ping timeout: 246 seconds)
2020-12-25 14:29:16 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 14:29:59 +0100ADG1089__(~aditya@223.226.230.252)
2020-12-25 14:30:28 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 14:30:48 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-12-25 14:32:48 +0100 <__monty__> kuribas: Isn't that what ST does?
2020-12-25 14:32:58 +0100 <kuribas> __monty__: yes
2020-12-25 14:33:07 +0100matryoshka(~matryoshk@2606:6080:1002:8:3285:30e:de43:8809) (Quit: ZNC 1.8.2 - https://znc.in)
2020-12-25 14:33:26 +0100 <kuribas> __monty__: I suppose using ST would be more efficient
2020-12-25 14:35:29 +0100 <kuribas> __monty__: I just wanted to know if it is possible without IO or ST
2020-12-25 14:36:30 +0100 <__monty__> If the state is transitive and self-contained you can sprinkle whatever amount of unsafe you need in there : )
2020-12-25 14:37:28 +0100 <kuribas> no need, an existential quantification can do it safely.
2020-12-25 14:37:48 +0100 <kuribas> as in the type I gave above
2020-12-25 14:40:00 +0100 <kuribas> then to compose states you can tuple both states.
2020-12-25 14:40:26 +0100 <kuribas> but I think a STRef is more efficient, as you don't need to destructure the tuples.
2020-12-25 14:41:08 +0100 <strawman2511> I am think about only "Programming in Haskell" and "Haskell Programming from First Principles" but which one is more easy to learn with?
2020-12-25 14:43:28 +0100ADG1089_(~aditya@27.58.161.118)
2020-12-25 14:44:14 +0100ADG1089__(~aditya@223.226.230.252) (Ping timeout: 272 seconds)
2020-12-25 14:44:32 +0100ADG1089_(~aditya@27.58.161.118) (Remote host closed the connection)
2020-12-25 14:47:49 +0100ADG1089__(~aditya@27.58.161.118)
2020-12-25 14:50:55 +0100ADG1089__(~aditya@27.58.161.118) (Remote host closed the connection)
2020-12-25 14:51:28 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:38c4:4e36:ea6c:80a4)
2020-12-25 14:52:05 +0100drbean(~drbean@TC210-63-209-18.static.apol.com.tw) (Ping timeout: 240 seconds)
2020-12-25 14:53:08 +0100 <superstar64> what properties does `!` from linear logic have? it forms a comonad right?
2020-12-25 14:53:19 +0100ADG1089__(~aditya@27.58.161.118)
2020-12-25 14:56:09 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:38c4:4e36:ea6c:80a4) (Ping timeout: 272 seconds)
2020-12-25 14:59:26 +0100 <dyeplexer> Can we say that interpreted haskell is dynamically typed by definition, since we are not compiling anything and about everything is done at run time?
2020-12-25 14:59:48 +0100strawman2511(~strawman2@171.252.155.14) (Quit: Leaving)
2020-12-25 15:00:08 +0100theelous3(~theelous3@unaffiliated/theelous3)
2020-12-25 15:00:17 +0100carthia(~carthia@gateway/tor-sasl/carthia)
2020-12-25 15:00:28 +0100 <kuribas> dyeplexer: no, because even when interpreted, the types are checked before any code is run.
2020-12-25 15:00:30 +0100 <superstar64> i wouldn't say so
2020-12-25 15:00:59 +0100 <kuribas> unless you turn on defer type errors.
2020-12-25 15:01:07 +0100 <kuribas> Then it's some weird hybrid.
2020-12-25 15:01:09 +0100son0p(~son0p@181.136.122.143)
2020-12-25 15:01:09 +0100 <dyeplexer> but aren't types checked only when a statement is executed in the case of an interpreter?
2020-12-25 15:01:19 +0100 <kuribas> dyeplexer: by default no
2020-12-25 15:01:39 +0100 <hpc> ghci isn't an interpreted full program
2020-12-25 15:01:51 +0100 <hpc> think of runghc instead
2020-12-25 15:02:26 +0100 <kuribas> dyeplexer: it is if you use the flag -fdefer-type-errors Which can be used when compiling also btw.
2020-12-25 15:02:37 +0100hvr(~hvr@haskell/developer/hvr) (Read error: Connection reset by peer)
2020-12-25 15:02:39 +0100 <kuribas> it has nothing to do with being interpreted.
2020-12-25 15:03:06 +0100hvr(~hvr@haskell/developer/hvr)
2020-12-25 15:04:06 +0100kadobanana(~mud@unaffiliated/kadoban)
2020-12-25 15:04:25 +0100mud(~mud@unaffiliated/kadoban) (Ping timeout: 264 seconds)
2020-12-25 15:04:54 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Remote host closed the connection)
2020-12-25 15:05:00 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948)
2020-12-25 15:05:39 +0100ADG1089__(~aditya@27.58.161.118) (Remote host closed the connection)
2020-12-25 15:06:29 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-12-25 15:07:05 +0100 <dyeplexer> Okay, I think I realised what I was missing. Let's say in a language like python the "initial pass" only checks for syntax errors and type checking is only done when a given function is called. In Haskell, however, the function bodies will be checked for type errors immediately.
2020-12-25 15:07:50 +0100 <dyeplexer> So yes. It is deferred in one case until a given function or block is called, and not in the other.
2020-12-25 15:08:24 +0100 <kuribas> yes
2020-12-25 15:09:07 +0100 <dyeplexer> thanks
2020-12-25 15:10:25 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2020-12-25 15:11:08 +0100 <merijn> dyeplexer: Also, ghci does compile
2020-12-25 15:11:13 +0100 <merijn> dyeplexer: It compiles to bytecode and runs that
2020-12-25 15:11:34 +0100 <dyeplexer> I see
2020-12-25 15:11:45 +0100 <siraben> How do I view the GHC core for a function?
2020-12-25 15:11:59 +0100 <merijn> dyeplexer: The real issue is that ghci is kind of a weird animal
2020-12-25 15:12:20 +0100 <merijn> dyeplexer: Where it kinda pretend as if you're writing everything into some pseudo-do-block, but you can also define things
2020-12-25 15:12:35 +0100 <merijn> siraben: You want one of the -d dump flags from the user guide
2020-12-25 15:12:55 +0100 <siraben> merijn: I used -ddump-simpl but get simplified core
2020-12-25 15:12:57 +0100 <siraben> for main
2020-12-25 15:13:06 +0100avdb(~avdb@gateway/tor-sasl/avdb)
2020-12-25 15:13:28 +0100 <merijn> There's roughly 20 gazillion dump flags, so I'm sure *one* of them does what you want ;)
2020-12-25 15:14:24 +0100mud(~mud@unaffiliated/kadoban)
2020-12-25 15:14:30 +0100L29Ah(~L29Ah@unaffiliated/l29ah)
2020-12-25 15:15:02 +0100kadobanana(~mud@unaffiliated/kadoban) (Ping timeout: 256 seconds)
2020-12-25 15:15:27 +0100ericsagnes(~ericsagne@2405:6580:0:5100:59e8:11f9:1fd3:c445) (Ping timeout: 260 seconds)
2020-12-25 15:17:05 +0100 <kuribas> siraben: https://www.stephendiehl.com/posts/ghc_03.html
2020-12-25 15:17:32 +0100 <kuribas> siraben: wait, you want core before simplifying?
2020-12-25 15:17:41 +0100 <kuribas> usually you want it after...
2020-12-25 15:18:57 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 272 seconds)
2020-12-25 15:19:03 +0100 <siraben> `ghci -ddump-simpl -dsuppress-idinfo -dsuppress-coercions -dsuppress-type-applications -dsuppress-uniques -dsuppress-module-prefixes` worked, haha
2020-12-25 15:19:41 +0100 <siraben> I was wondering why http://ix.io/2JuY typechecked
2020-12-25 15:21:18 +0100unfixpoint(1f0a965a@31-10-150-90.cgn.dynamic.upc.ch)
2020-12-25 15:22:03 +0100 <siraben> new bug report: https://gitlab.haskell.org/ghc/ghc/-/issues/19120
2020-12-25 15:22:22 +0100kenran(~kenran@mue-88-130-62-111.dsl.tropolys.de)
2020-12-25 15:25:24 +0100 <wz1000> siraben: is there some CSE going on in the core?
2020-12-25 15:26:46 +0100ericsagnes(~ericsagne@2405:6580:0:5100:ab2d:498c:8056:226d)
2020-12-25 15:28:08 +0100 <siraben> wz1000: even if there was, this should fail: http://ix.io/2Jv0
2020-12-25 15:30:20 +0100shatriff_(~vitaliish@176-52-216-242.irishtelecom.com) (Remote host closed the connection)
2020-12-25 15:30:56 +0100shatriff(~vitaliish@176-52-216-242.irishtelecom.com)
2020-12-25 15:31:20 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-25 15:32:03 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds)
2020-12-25 15:32:34 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f)
2020-12-25 15:35:11 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya)
2020-12-25 15:38:32 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-12-25 15:39:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 15:40:02 +0100kadobanana(~mud@unaffiliated/kadoban)
2020-12-25 15:40:12 +0100bitmagie(~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de)
2020-12-25 15:40:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 15:41:01 +0100mud(~mud@unaffiliated/kadoban) (Ping timeout: 264 seconds)
2020-12-25 15:41:21 +0100tick(3b639272@59.99.146.114)
2020-12-25 15:42:07 +0100tick(3b639272@59.99.146.114) (Remote host closed the connection)
2020-12-25 15:45:02 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 268 seconds)
2020-12-25 15:45:25 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
2020-12-25 15:47:55 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 15:48:26 +0100kish`(~oracle@unaffiliated/oracle) (Read error: Connection reset by peer)
2020-12-25 15:49:01 +0100kish`(~oracle@unaffiliated/oracle)
2020-12-25 15:50:13 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f)
2020-12-25 15:51:18 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Client Quit)
2020-12-25 15:53:40 +0100kadobanana(~mud@unaffiliated/kadoban) (Ping timeout: 268 seconds)
2020-12-25 15:55:48 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 15:57:42 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 258 seconds)
2020-12-25 16:00:44 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-12-25 16:01:24 +0100p8m(p8m@gateway/vpn/protonvpn/p8m)
2020-12-25 16:02:33 +0100toorevitimirp(~tooreviti@117.182.181.108) (Remote host closed the connection)
2020-12-25 16:02:39 +0100p8m_(p8m@gateway/vpn/protonvpn/p8m) (Ping timeout: 272 seconds)
2020-12-25 16:03:35 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Client Quit)
2020-12-25 16:04:35 +0100kupi(uid212005@gateway/web/irccloud.com/x-ydcdmiqkfmdjfpug) (Quit: Connection closed for inactivity)
2020-12-25 16:04:41 +0100kadobanana(~mud@unaffiliated/kadoban)
2020-12-25 16:05:02 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 16:07:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 16:07:12 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2020-12-25 16:08:11 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f)
2020-12-25 16:08:52 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521)
2020-12-25 16:11:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-25 16:13:01 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Client Quit)
2020-12-25 16:13:50 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 264 seconds)
2020-12-25 16:16:59 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 16:17:50 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 16:18:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2020-12-25 16:18:38 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 264 seconds)
2020-12-25 16:18:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 16:19:01 +0100Tario(~Tario@201.192.165.173)
2020-12-25 16:20:51 +0100xcmw(~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e)
2020-12-25 16:23:05 +0100fendor_(~fendor@77.119.130.68.wireless.dyn.drei.com)
2020-12-25 16:23:10 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-12-25 16:24:27 +0100 <kuribas> is this related to monadBaseControl? https://hackage.haskell.org/package/transformers-base-0.4.5.2/docs/Control-Monad-Base.html
2020-12-25 16:25:00 +0100superstar64(6ccefa7c@108-206-250-124.lightspeed.miamfl.sbcglobal.net) (Remote host closed the connection)
2020-12-25 16:25:07 +0100urodna(~urodna@unaffiliated/urodna)
2020-12-25 16:25:37 +0100fendor(~fendor@178.115.130.212.wireless.dyn.drei.com) (Ping timeout: 246 seconds)
2020-12-25 16:27:47 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f)
2020-12-25 16:30:03 +0100 <kuribas> is there a way to "map" an inner monad? Like (m a -> n a) -> t m a -> t n a
2020-12-25 16:30:06 +0100 <kuribas> ?
2020-12-25 16:30:30 +0100 <Uniaika> I see what you mean
2020-12-25 16:30:39 +0100 <Uniaika> but I don't think I could implement it
2020-12-25 16:30:46 +0100 <Uniaika> hmm
2020-12-25 16:31:12 +0100DavidEichmann(~david@2a01:4b00:ea36:d800:7190:b601:9ea:6e3e) (Remote host closed the connection)
2020-12-25 16:32:30 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-12-25 16:33:12 +0100machinedgod(~machinedg@24.105.81.50)
2020-12-25 16:33:28 +0100trafaret1(~user@178.206.114.251)
2020-12-25 16:34:58 +0100 <kuribas> maybe not even possible in general
2020-12-25 16:35:39 +0100 <MarcelineVQ> kuribas: hoist of mmorph
2020-12-25 16:36:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:112:182:27ad:b948) (Ping timeout: 260 seconds)
2020-12-25 16:36:56 +0100 <trafaret1> o/
2020-12-25 16:37:12 +0100 <kuribas> MarcelineVQ: neat, thanks :)
2020-12-25 16:38:34 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 16:38:35 +0100 <trafaret1> dear haskellers as a newbie want to know subtle difference between learning lisp and haskell?
2020-12-25 16:38:55 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-25 16:41:09 +0100son0p(~son0p@181.136.122.143) (Ping timeout: 268 seconds)
2020-12-25 16:42:31 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving)
2020-12-25 16:43:06 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-icexdirphumbtiyv)
2020-12-25 16:43:39 +0100 <kuribas> there is nothing subtle between lisp and haskell, they are totally different.
2020-12-25 16:45:31 +0100 <trafaret1> kuribas: for military purpose which one would be prefferable lisp or haskell. i.e. i want to create models of hyper speed missles and poisones for military purpose
2020-12-25 16:46:35 +0100 <kuribas> trafaret1: sounds like you want a CAD library, instead of a programming language.
2020-12-25 16:47:26 +0100 <kuribas> trafaret1: brl-cad was actually developed by the army
2020-12-25 16:48:28 +0100 <trafaret1> kuribas: hmm It's free like in freedom
2020-12-25 16:49:01 +0100 <kuribas> though it'd be nicer to use any of those for peaceful purposes.
2020-12-25 16:49:29 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 16:49:50 +0100 <Uniaika> kuribas: I'd be interested to see your implementation of hoist of mmorph :)
2020-12-25 16:50:21 +0100 <kuribas> Uniaika: for which class?
2020-12-25 16:50:30 +0100 <kuribas> which instance better?
2020-12-25 16:53:03 +0100 <Uniaika> hmm
2020-12-25 16:53:16 +0100infinity0(~infinity0@freenet/developer/infinity0) (Ping timeout: 246 seconds)
2020-12-25 16:53:31 +0100 <Uniaika> let's do something simple? IO [a]?
2020-12-25 16:54:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 16:54:38 +0100computerbernd(5cdabf52@ipservice-092-218-191-082.092.218.pools.vodafone-ip.de)
2020-12-25 16:55:09 +0100knupfer(~Thunderbi@200116b8248ff600885567758ef1158c.dip.versatel-1u1.de)
2020-12-25 16:55:30 +0100 <kuribas> IO is not a transfomer...
2020-12-25 16:55:42 +0100unlink2(~unlink2@p200300ebcf259600e4593ff5d42812d3.dip0.t-ipconnect.de)
2020-12-25 16:56:10 +0100xcmw(~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 16:56:30 +0100todda7(~torstein@ppp-2-84-17-53.home.otenet.gr)
2020-12-25 16:59:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-25 16:59:26 +0100 <kuribas> did you mean ListT?
2020-12-25 16:59:38 +0100 <kuribas> ListT is hardly simple. It's not even a proper transformer.
2020-12-25 16:59:41 +0100trafaret1(~user@178.206.114.251) ("ERC (IRC client for Emacs 26.3)")
2020-12-25 17:00:05 +0100aloiscochard[m](aloiscocha@gateway/shell/matrix.org/x-oybvygklfcvredwt) (Quit: Idle for 30+ days)
2020-12-25 17:00:29 +0100 <Uniaika> kuribas: dangit. ReaderT then?
2020-12-25 17:00:33 +0100 <Uniaika> and uh
2020-12-25 17:00:43 +0100 <Uniaika> hmm, I realise I don't stack Transformers that much
2020-12-25 17:00:57 +0100 <Uniaika> okay why not a simple WriterT + ReaderT?
2020-12-25 17:01:38 +0100 <computerbernd> heya, can anyone help me extract the Aeson Object from field "doc" and convert to type SensorData using Data.Aeson.Lens? https://pastebin.com/KFfhFe4D
2020-12-25 17:02:52 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-12-25 17:03:20 +0100 <kuribas> Uniaika: instance Hoist ReaderT where hoist f (ReaderT g) = ReaderT $ f . g
2020-12-25 17:03:59 +0100HarveyPwca(~HarveyPwc@2601:246:c180:a570:29df:3b00:ad0e:3a06)
2020-12-25 17:05:25 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-12-25 17:05:49 +0100cheater1(~user@unaffiliated/cheater)
2020-12-25 17:05:54 +0100ransom_(~c4264035@8.47.12.52) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 17:06:09 +0100 <kuribas> Uniaika: instance Hoist (WriterT w) where hoist f (WriterT m) = WriterT $ f m
2020-12-25 17:06:12 +0100 <Uniaika> kuribas: this awfully looks like Functor ((->) r), right?
2020-12-25 17:06:58 +0100 <kuribas> yeah
2020-12-25 17:08:00 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 272 seconds)
2020-12-25 17:08:04 +0100cheater1cheater
2020-12-25 17:09:30 +0100 <kuribas> so hoist is basically fmap . unwrap?
2020-12-25 17:10:15 +0100paintcan(~user@cpe-69-206-241-99.nyc.res.rr.com)
2020-12-25 17:10:20 +0100 <kuribas> well wrap . fmap . unwrap?
2020-12-25 17:10:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521)
2020-12-25 17:10:48 +0100 <kuribas> shame these aren't provided by default
2020-12-25 17:11:34 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392)
2020-12-25 17:12:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-12-25 17:12:41 +0100son0p(~son0p@181.136.122.143)
2020-12-25 17:12:53 +0100Rudd0(~Rudd0@185.189.115.108)
2020-12-25 17:13:13 +0100juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 246 seconds)
2020-12-25 17:14:29 +0100hackageincremental-parser 0.5.0.1 - Generic parser library capable of providing partial results from partial input. https://hackage.haskell.org/package/incremental-parser-0.5.0.1 (MarioBlazevic)
2020-12-25 17:15:04 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 268 seconds)
2020-12-25 17:19:19 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-138.cust.tzulo.com)
2020-12-25 17:20:23 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-aqakevzlgrrqrlmm) (Quit: Connection closed for inactivity)
2020-12-25 17:24:33 +0100santadaemonshadowdaemon
2020-12-25 17:26:06 +0100otulp(~otulp@ti0187q162-6038.bb.online.no)
2020-12-25 17:26:42 +0100 <nf> if i have a top-level m :: Nat , can i somehow use it like cyclicGroup @Integer @m ? (https://hackage.haskell.org/package/arithmoi-0.11.0.1/docs/Math-NumberTheory-Moduli-Singleton.html…)
2020-12-25 17:26:50 +0100 <nf> er, Natural
2020-12-25 17:28:39 +0100hexfive(~hexfive@50-47-142-195.evrt.wa.frontiernet.net)
2020-12-25 17:30:27 +0100kayprish(~kayprish@cable-188-2-151-212.dynamic.sbb.rs)
2020-12-25 17:30:48 +0100son0p(~son0p@181.136.122.143) (Quit: leaving)
2020-12-25 17:32:19 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-25 17:33:09 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2020-12-25 17:34:17 +0100bitmagie(~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de) (Quit: bitmagie)
2020-12-25 17:35:55 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-25 17:38:13 +0100bitmagie(~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de)
2020-12-25 17:39:36 +0100bitmagie(~Thunderbi@200116b806659c0004b8d0e2566ee58f.dip.versatel-1u1.de) (Client Quit)
2020-12-25 17:39:44 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-12-25 17:39:47 +0100hekkaidekapus{(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-12-25 17:41:19 +0100kayprish(~kayprish@cable-188-2-151-212.dynamic.sbb.rs) (Quit: Leaving)
2020-12-25 17:42:03 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-12-25 17:44:11 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-25 17:44:27 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 17:44:28 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it)
2020-12-25 17:46:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 17:47:02 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 17:47:10 +0100 <computerbernd> hi, i got this monster to parse some aeson Value, how do i get to a Data.Aeson.Lens one liner? https://pastebin.com/gk8wirBn
2020-12-25 17:47:54 +0100 <xerox_> nf: doesn't glguy's do that
2020-12-25 17:48:19 +0100 <nf> he uses a type Modulus :: Nat directly
2020-12-25 17:49:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2020-12-25 17:49:52 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Remote host closed the connection)
2020-12-25 17:49:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 17:49:58 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-25 17:50:04 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de)
2020-12-25 17:50:15 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392)
2020-12-25 17:50:19 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 272 seconds)
2020-12-25 17:51:32 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2020-12-25 17:52:37 +0100 <glguy> nf, you'll need to get it into a Some-variant
2020-12-25 17:52:48 +0100 <glguy> And then do the algorithm in a case statement
2020-12-25 17:52:53 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 17:52:58 +0100 <nf> but then can i use discreteLogarithm?
2020-12-25 17:53:52 +0100 <glguy> Yeah
2020-12-25 17:53:56 +0100 <glguy> https://hackage.haskell.org/package/base-4.12.0.0/docs/GHC-TypeNats.html#t:SomeNat
2020-12-25 17:54:50 +0100 <nf> but cyclicGroup :: forall a m. (Integral a, UniqueFactorisation a, KnownNat m) => Maybe (CyclicGroup a m)
2020-12-25 17:55:03 +0100 <nf> how do i get a KnownNat there
2020-12-25 17:56:56 +0100 <glguy> Case on the SomeNat
2020-12-25 17:57:29 +0100 <nf> oooh right, it has a KnownNat inside
2020-12-25 17:57:53 +0100 <nf> type-level stuff in haskell is so confusing *_*
2020-12-25 17:59:46 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 18:03:13 +0100 <monochrom> This is why I avoid non-trivial type-level techniques.
2020-12-25 18:03:40 +0100 <monochrom> encodings and emulations die die die.
2020-12-25 18:03:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 18:03:51 +0100neiluj(~jco@91-167-203-101.subs.proxad.net)
2020-12-25 18:03:57 +0100neiluj(~jco@91-167-203-101.subs.proxad.net) (Changing host)
2020-12-25 18:03:57 +0100neiluj(~jco@unaffiliated/neiluj)
2020-12-25 18:04:08 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 18:07:20 +0100jamm(~jamm@unaffiliated/jamm)
2020-12-25 18:08:42 +0100xff0x_(~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124) (Quit: xff0x_)
2020-12-25 18:08:49 +0100xff0x(~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124)
2020-12-25 18:09:05 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2020-12-25 18:11:08 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521)
2020-12-25 18:11:29 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net)
2020-12-25 18:14:59 +0100xcmw(~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e)
2020-12-25 18:16:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 260 seconds)
2020-12-25 18:16:15 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 18:16:56 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Remote host closed the connection)
2020-12-25 18:17:17 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 18:23:40 +0100ADG1089__(~aditya@27.58.161.118)
2020-12-25 18:24:08 +0100knupfer(~Thunderbi@200116b8248ff600885567758ef1158c.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-12-25 18:24:43 +0100knupfer(~Thunderbi@200116b8248ff6009cce3efffe09a09b.dip.versatel-1u1.de)
2020-12-25 18:24:43 +0100knupfer(~Thunderbi@200116b8248ff6009cce3efffe09a09b.dip.versatel-1u1.de) (Client Quit)
2020-12-25 18:24:50 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Remote host closed the connection)
2020-12-25 18:24:59 +0100knupfer(~Thunderbi@mue-88-130-61-228.dsl.tropolys.de)
2020-12-25 18:25:13 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 18:28:03 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 18:28:41 +0100Fischmiep(~Fischmiep@149.224.226.211)
2020-12-25 18:28:44 +0100juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 258 seconds)
2020-12-25 18:29:10 +0100 <kuribas> Uniaika: considering how easy they are to write, they should have been standard, like MonadTrans...
2020-12-25 18:29:33 +0100 <Uniaika> kuribas: awaiting your MR on GHC :)
2020-12-25 18:29:34 +0100 <Uniaika> :3
2020-12-25 18:29:49 +0100 <Uniaika> (joking, I think this would warrant a libraries proposal first)
2020-12-25 18:30:22 +0100 <nf> so... this works https://github.com/ncfavier/aoc/blob/master/src/2020/Day25.hs#L14
2020-12-25 18:30:33 +0100 <nf> but if i remove @Integer i get "Could not deduce (Integral a0) arising from a use of ‘isPrimitiveRoot’"
2020-12-25 18:30:52 +0100 <nf> seems like i'm doing exactly the same thing as glguy though o_O
2020-12-25 18:31:02 +0100 <nf> maybe some language extension
2020-12-25 18:31:42 +0100 <computerbernd> what does it mean that 'join (parseMaybe A.parseJSON <$> (r ^? nth 0 ^? key "doc"))' results in "No instance for (AsValue (Maybe Value)) arising from a use of ‘key’"?
2020-12-25 18:33:32 +0100 <nf> oh god, it's the monomorphism restriction
2020-12-25 18:34:36 +0100 <nf> ok i have no idea what's happening
2020-12-25 18:35:22 +0100 <kuribas> Uniaika: I don't mean just base, also monad transformers in libraries.
2020-12-25 18:35:39 +0100 <kuribas> Uniaika: but if it's in base, then libraries are more likely to implement them :)
2020-12-25 18:36:13 +0100 <Uniaika> kuribas: awaiting your email to libraries@ then :3
2020-12-25 18:36:24 +0100 <kuribas> where is that?
2020-12-25 18:36:54 +0100 <Uniaika> https://mail.haskell.org/mailman/listinfo/libraries kuribas
2020-12-25 18:37:00 +0100 <kuribas> ok, thanks
2020-12-25 18:39:32 +0100theelous3(~theelous3@unaffiliated/theelous3) (Read error: Connection reset by peer)
2020-12-25 18:39:41 +0100 <kuribas> Ah, I see some other nice discussions, like sum and product :)
2020-12-25 18:40:56 +0100xcmw(~textual@2601:541:4404:bb5c:1d4c:44fb:70ff:549e) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 18:41:06 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-12-25 18:41:33 +0100 <Uniaika> kuribas: always happy to bring the good stuff in base! o7
2020-12-25 18:41:59 +0100 <kuribas> it's about time...
2020-12-25 18:42:15 +0100 <alexfmpe> looking for a binary serialization library that lets me align values via padding on multi-word boundaries (e.g. left-pad to 4 bytes, right-pad to 8 bytes)
2020-12-25 18:42:15 +0100 <alexfmpe> binary and cereal have a `bytesRead :: Get Int64` but no `bytesWritten` equivalent, so it looks like I need to resort to `runPut` to look at the current size to compute padding size
2020-12-25 18:43:30 +0100 <dsal> computerbernd: do you have an example input you're trying to take apart?
2020-12-25 18:43:52 +0100 <dsal> That second ^? should probably be .
2020-12-25 18:44:38 +0100 <dsal> But it's weird that you're trying to parse json out of json
2020-12-25 18:46:09 +0100 <glguy> nf: I'll take a look, I don't know what's different. Separate issue: no.cabal project??
2020-12-25 18:46:46 +0100jamm(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-12-25 18:47:44 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 18:50:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-25 18:51:44 +0100texasmyn_(~texasmyns@ip-148-72-133-198.ip.secureserver.net) (Ping timeout: 256 seconds)
2020-12-25 18:51:45 +0100yammy3(43ab1202@c-67-171-18-2.hsd1.wa.comcast.net)
2020-12-25 18:52:25 +0100texasmynsted(~texasmyns@99.96.221.112) (Ping timeout: 264 seconds)
2020-12-25 18:55:50 +0100 <pie_> does anyone know if the (?) hslua author (?) is on irc https://github.com/tarleb
2020-12-25 18:56:35 +0100 <Uniaika> kuribas: sometimes we need to be the change we want to see in the world
2020-12-25 19:00:28 +0100 <glguy> nf, Did you *disable* the monomorphism restriction?
2020-12-25 19:09:16 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2020-12-25 19:09:33 +0100ransom_(~c4264035@8.47.12.52)
2020-12-25 19:09:34 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2020-12-25 19:11:00 +0100hackageatom-conduit 0.9.0.1 - Streaming parser/renderer for the Atom 1.0 standard (RFC 4287). https://hackage.haskell.org/package/atom-conduit-0.9.0.1 (koral)
2020-12-25 19:11:34 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 256 seconds)
2020-12-25 19:11:51 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521)
2020-12-25 19:12:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 19:12:59 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 19:16:19 +0100kam1(~kam1@24.231.108.143)
2020-12-25 19:16:23 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Ping timeout: 260 seconds)
2020-12-25 19:18:13 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 264 seconds)
2020-12-25 19:19:40 +0100computerbernd(5cdabf52@ipservice-092-218-191-082.092.218.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2020-12-25 19:22:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 19:23:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 19:25:07 +0100fendor_fendor
2020-12-25 19:25:53 +0100 <glguy> nf, you've convinced me to make the solver a bit more general: https://github.com/glguy/advent2020/blob/master/execs/Day25.hs
2020-12-25 19:26:20 +0100rando25892(~rando2589@unaffiliated/mixfix41) (Read error: Connection reset by peer)
2020-12-25 19:26:28 +0100 <nf> i don't like the monomorphism restriction
2020-12-25 19:28:50 +0100 <int-e> . o O ( pari/gp: p = 20201227; d = <door>; k = <key>; g = Mod(7,p); Mod(d,p)^znlog(Mod(k,p),g) )
2020-12-25 19:28:59 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-12-25 19:29:23 +0100 <glguy> nf, probably better to just learn it than introduce inefficiency avoiding it though
2020-12-25 19:29:48 +0100 <nf> i'd rather learn not to introduce inefficiency with it!
2020-12-25 19:30:12 +0100ransom_(~c4264035@8.47.12.52) (Read error: Connection reset by peer)
2020-12-25 19:30:19 +0100 <glguy> that's significantly more work
2020-12-25 19:30:28 +0100 <nf> maybe
2020-12-25 19:30:34 +0100 <glguy> and error prone
2020-12-25 19:31:57 +0100knupfer1(~Thunderbi@200116b8248ff60059cda9566e02c619.dip.versatel-1u1.de)
2020-12-25 19:31:57 +0100knupfer(~Thunderbi@mue-88-130-61-228.dsl.tropolys.de) (Read error: Connection reset by peer)
2020-12-25 19:31:57 +0100knupfer1knupfer
2020-12-25 19:32:30 +0100hackagesafe-json 1.1.1.1 - Automatic JSON format versioning https://hackage.haskell.org/package/safe-json-1.1.1.1 (nideco)
2020-12-25 19:32:40 +0100ransom_(~c4264035@2a09:bac0:72::82f:c34)
2020-12-25 19:34:17 +0100cosimone(~cosimone@93-47-228-249.ip115.fastwebnet.it)
2020-12-25 19:34:23 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-25 19:39:53 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-25 19:40:34 +0100ransom_(~c4264035@2a09:bac0:72::82f:c34) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 19:42:55 +0100Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-12-25 19:43:56 +0100orion(~orion@unaffiliated/orion) (Ping timeout: 240 seconds)
2020-12-25 19:44:38 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f)
2020-12-25 19:45:10 +0100iekfkk(~username@117.200.6.46) (Read error: Connection reset by peer)
2020-12-25 19:45:45 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
2020-12-25 19:45:49 +0100Lord_of_Life_Lord_of_Life
2020-12-25 19:45:56 +0100iekfkk(~username@117.200.9.174)
2020-12-25 19:46:31 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-25 19:48:10 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-12-25 19:49:20 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-lfotxvknswkvlalm)
2020-12-25 19:52:02 +0100MOSCOS(~MOSCOS@152.32.70.55)
2020-12-25 19:53:58 +0100texasmynsted(~texasmyns@138.199.52.75)
2020-12-25 19:54:01 +0100solonarv(~solonarv@astrasbourg-653-1-157-135.w90-6.abo.wanadoo.fr)
2020-12-25 19:54:45 +0100orion(~orion@unaffiliated/orion)
2020-12-25 19:55:03 +0100Mikagami(~MOSCOS@122.54.107.175) (Ping timeout: 256 seconds)
2020-12-25 19:55:25 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-25 19:55:30 +0100Mikagami(~MOSCOS@122.54.107.175)
2020-12-25 19:57:28 +0100MOSCOS(~MOSCOS@152.32.70.55) (Ping timeout: 265 seconds)
2020-12-25 19:58:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 19:59:09 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521)
2020-12-25 20:02:16 +0100texasmynsted(~texasmyns@138.199.52.75) (Ping timeout: 240 seconds)
2020-12-25 20:03:03 +0100 <gentauro> how to `mapM` (more like `mapConcurrently`) over the following type: `Either String [Guid]`?
2020-12-25 20:03:31 +0100berberman(~berberman@unaffiliated/berberman)
2020-12-25 20:03:42 +0100 <gentauro> if I use `<$>` (`fmap`) it will unwrap the `Either` type right?
2020-12-25 20:04:22 +0100 <Rembane> fmap will unwrap the Right-part of the Either.
2020-12-25 20:04:32 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-12-25 20:04:47 +0100 <Rembane> Or rather, it will let you apply a function to the Right-part of Either.
2020-12-25 20:05:10 +0100 <gentauro> Rembane: which in this case is `mapM / mapConcurrently`?
2020-12-25 20:06:19 +0100 <Rembane> gentauro: It's the Right-part too, if that's what you're asking. :)
2020-12-25 20:07:28 +0100 <gentauro> hmmm
2020-12-25 20:07:53 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Remote host closed the connection)
2020-12-25 20:08:10 +0100coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2020-12-25 20:08:47 +0100 <gentauro> The following extract the unique identified from the `parsed` entities: `fmap getGuid <$> parseEntities entities`
2020-12-25 20:09:03 +0100 <gentauro> which are of the type `Either String [Bytes]`
2020-12-25 20:09:28 +0100 <gentauro> so the `<$>` unwraps the Either type and the other `fmap` applys the function over the list of entities
2020-12-25 20:09:39 +0100 <gentauro> so I need to use both `fmap` and `<$>`
2020-12-25 20:09:42 +0100 <dsal> :t fmap . mapM
2020-12-25 20:09:44 +0100 <lambdabot> (Traversable t, Monad m, Functor f) => (a -> m b) -> f (t a) -> f (m (t b))
2020-12-25 20:10:19 +0100 <dsal> :t mapM . fmap
2020-12-25 20:10:21 +0100 <lambdabot> (Traversable t, Monad m) => (a -> b) -> t (m a) -> m (t b)
2020-12-25 20:11:59 +0100hackagechessIO 0.6.0.0 - Basic chess library https://hackage.haskell.org/package/chessIO-0.6.0.0 (mlang)
2020-12-25 20:12:32 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-icexdirphumbtiyv) (Quit: Connection closed for inactivity)
2020-12-25 20:12:39 +0100 <gentauro> `lsp` is really worse tha `intero`. Gosh I miss `intero` :(
2020-12-25 20:13:18 +0100 <dsal> > (fmap . mapM) (const [5]) $ Right [1,2,3]
2020-12-25 20:13:20 +0100 <lambdabot> Right [[5,5,5]]
2020-12-25 20:13:22 +0100 <dminuoso> nf: The MMR trades the rare type error (fixable by adding a type signature) for very hard to track down lack-of-sharing bugs that are, even to experienced Haskellers, hard to spot.
2020-12-25 20:14:03 +0100 <gentauro> is it normal if the project doesn't build that `lsp` "just give up?".
2020-12-25 20:14:39 +0100 <dminuoso> We recently had this example where we tried to figure out why a particular code path wouldn't share, with I think 5 experienced Haskellers in here not figuring out for nearly 30 minutes. The MMR is good and must stay. :)
2020-12-25 20:16:18 +0100 <gentauro> dminuoso: `MMR`? are you talking `dota2` now?
2020-12-25 20:16:23 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-25 20:16:31 +0100 <gentauro> oh, it's related to nf
2020-12-25 20:17:52 +0100yammy3(43ab1202@c-67-171-18-2.hsd1.wa.comcast.net) (Remote host closed the connection)
2020-12-25 20:19:17 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2020-12-25 20:21:12 +0100 <gentauro> 19:32 * hackage safe-json 1.1.1.1 - Automatic JSON format versioning https://hackage.haskell.org/package/safe-json-1.1.1.1 (nideco)
2020-12-25 20:21:19 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392)
2020-12-25 20:21:28 +0100 <gentauro> `Safe Haskell: None` (oh gosh)
2020-12-25 20:21:29 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Read error: Connection reset by peer)
2020-12-25 20:21:35 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392)
2020-12-25 20:22:00 +0100hackageimm 2.1.0.0 - Execute arbitrary actions for each item from RSS/Atom feeds https://hackage.haskell.org/package/imm-2.1.0.0 (koral)
2020-12-25 20:22:18 +0100 <gentauro> it reminds me of people when they try to misguide users with statements like: "Oh so you code in Haskell that is `pure`? Well this JS lib is in `pure` JS"
2020-12-25 20:22:24 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2020-12-25 20:22:24 +0100 <gentauro> what the heck is `pure` JS?
2020-12-25 20:23:57 +0100 <Rembane> pure JS is JAvascript that doesn't use jQuery
2020-12-25 20:24:22 +0100 <Rembane> ...or any other library
2020-12-25 20:24:30 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Remote host closed the connection)
2020-12-25 20:24:46 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 20:29:12 +0100ulidtko(~ulidtko@194.54.80.38) (Ping timeout: 256 seconds)
2020-12-25 20:30:54 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 20:31:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-12-25 20:35:43 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-12-25 20:37:38 +0100juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 272 seconds)
2020-12-25 20:38:18 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f)
2020-12-25 20:40:16 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-25 20:42:04 +0100neiluj(~jco@unaffiliated/neiluj) (Ping timeout: 272 seconds)
2020-12-25 20:51:42 +0100monoidcat`(~user@2001:984:35a2:1:5105:944b:675d:feb2)
2020-12-25 20:53:12 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 20:55:17 +0100xff0x(~fox@2001:1a81:5255:9e00:b16a:df42:6769:9124) (Ping timeout: 260 seconds)
2020-12-25 20:56:06 +0100monoidcat`(~user@2001:984:35a2:1:5105:944b:675d:feb2) ("ERC (IRC client for Emacs 27.1.50)")
2020-12-25 21:00:01 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0)
2020-12-25 21:00:19 +0100juuandyy(~juuandyy@90.166.144.65) (Ping timeout: 272 seconds)
2020-12-25 21:01:37 +0100xff0x(~fox@port-92-195-52-121.dynamic.as20676.net)
2020-12-25 21:06:01 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 21:07:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 21:08:12 +0100acidjnk_new(~acidjnk@p200300d0c704e768e5ab7a2f7255b0f1.dip0.t-ipconnect.de)
2020-12-25 21:11:07 +0100chidy(~chidy@95.145.57.166)
2020-12-25 21:11:19 +0100kenran(~kenran@mue-88-130-62-111.dsl.tropolys.de) (Quit: leaving)
2020-12-25 21:12:14 +0100chidy(~chidy@95.145.57.166) (Remote host closed the connection)
2020-12-25 21:12:30 +0100 <koz_> If I wanna draw graphs (vertices-and-edges, not charts) from Haskell, what should I use?
2020-12-25 21:12:30 +0100hackagecabal2nix 2.15.6 - Convert Cabal files into Nix build instructions. https://hackage.haskell.org/package/cabal2nix-2.15.6 (PeterSimons)
2020-12-25 21:12:49 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 21:13:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2020-12-25 21:13:51 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0) (Remote host closed the connection)
2020-12-25 21:14:16 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0)
2020-12-25 21:14:18 +0100juuandyy(~juuandyy@90.166.144.65)
2020-12-25 21:16:34 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 260 seconds)
2020-12-25 21:16:58 +0100 <koz_> maerwald: I'm getting this when I try to compile GHC 8.10.3 with ghcup: https://gist.github.com/kozross/670d6aed5de76f75ea00806dcf0f6c11
2020-12-25 21:20:28 +0100Vulfe_(~vulfe@2600:1702:31b0:34e0:9542:1a54:6ed5:1392) (Remote host closed the connection)
2020-12-25 21:21:08 +0100Feuermagier(~Feuermagi@213.178.26.41)
2020-12-25 21:21:46 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-25 21:24:40 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 21:26:12 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410) (Ping timeout: 260 seconds)
2020-12-25 21:27:26 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2020-12-25 21:27:47 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 21:32:41 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2020-12-25 21:33:26 +0100fuzzypixelz(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2020-12-25 21:33:42 +0100juuandyy(~juuandyy@90.166.144.65) (Quit: Konversation terminated!)
2020-12-25 21:33:43 +0100 <fuzzypixelz> where can I learn more about monads
2020-12-25 21:34:01 +0100 <fuzzypixelz> in a rather "concise" way
2020-12-25 21:34:01 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Read error: Connection reset by peer)
2020-12-25 21:34:06 +0100knupfer(~Thunderbi@200116b8248ff60059cda9566e02c619.dip.versatel-1u1.de) (Remote host closed the connection)
2020-12-25 21:34:13 +0100 <fuzzypixelz> preferably not a long book chapter
2020-12-25 21:34:15 +0100knupfer(~Thunderbi@200116b8248ff600b8e82c0882f29b26.dip.versatel-1u1.de)
2020-12-25 21:34:23 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-12-25 21:34:41 +0100 <fuzzypixelz> rather an example of practical use?
2020-12-25 21:35:01 +0100 <fuzzypixelz> I may be asking for too much haha
2020-12-25 21:35:52 +0100 <kuribas> fuzzypixelz: I'd say, first try to understand how IO works.
2020-12-25 21:35:58 +0100 <kuribas> and Maybe
2020-12-25 21:37:07 +0100 <kuribas> like, what does "do x <- Just 3; y <- Just 3; pure (x + y)" do?
2020-12-25 21:37:27 +0100 <kuribas> or "do x <- Just 3; y <- Nothing; pure (x + y)"
2020-12-25 21:37:58 +0100 <kuribas> fuzzypixelz: if you got an intuition for some instances, understand the whole pattern becomes trivial.
2020-12-25 21:38:05 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 240 seconds)
2020-12-25 21:38:19 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-138.cust.tzulo.com) (Ping timeout: 272 seconds)
2020-12-25 21:38:51 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-bguusmbctpsytvun)
2020-12-25 21:39:46 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Remote host closed the connection)
2020-12-25 21:40:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 21:40:13 +0100Tario(~Tario@200.119.187.28)
2020-12-25 21:40:14 +0100ChaiTRex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2020-12-25 21:41:25 +0100leothrix(~leothrix@elastic/staff/leothrix) (Quit: ZNC 1.7.5 - https://znc.in)
2020-12-25 21:44:02 +0100fcortesi(~fcortesi@78-66-245-190.fibertel.com.ar)
2020-12-25 21:44:19 +0100 <sm[m]> fuzzypixelz: just read code in some small projects
2020-12-25 21:44:34 +0100axeman-_(~axeman_@2a02:8109:86c0:1f98:1153:e96f:d711:7cc8)
2020-12-25 21:44:41 +0100gioyik(~gioyik@186.112.107.251)
2020-12-25 21:45:01 +0100 <sm[m]> Eg cli tools
2020-12-25 21:45:23 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Ping timeout: 240 seconds)
2020-12-25 21:46:04 +0100 <kuribas> fuzzypixelz: btw, thinking of a Monad as "configurable do notation" is a good start.
2020-12-25 21:46:19 +0100 <fuzzypixelz> sm[m]: do you any in mind?
2020-12-25 21:47:24 +0100 <sm[m]> no, just small ones on hackage, I think there's a category for them
2020-12-25 21:48:15 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:9470:bf5d:1f34:85b0) (Ping timeout: 268 seconds)
2020-12-25 21:48:22 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f)
2020-12-25 21:48:37 +0100kupi(uid212005@gateway/web/irccloud.com/x-svbzcydmccffkyhg)
2020-12-25 21:49:02 +0100 <kuribas> fuzzypixelz: did you try writing some IO with do notation?
2020-12-25 21:49:39 +0100 <fuzzypixelz> btw, in IO for example, I have a difficult time understanding why people say "writing a string to stdout is a side effect", is it just because it might fail? Can't we just say "let this function write a string to stdout and return 1 if it suceeds and 0 otherwise"
2020-12-25 21:50:07 +0100 <fuzzypixelz> kuribas: oh yes, mainly with readFile and putStr
2020-12-25 21:50:43 +0100knupfer(~Thunderbi@200116b8248ff600b8e82c0882f29b26.dip.versatel-1u1.de) (Ping timeout: 268 seconds)
2020-12-25 21:51:07 +0100 <fuzzypixelz> I understand how the bind, anonymous bind work and return work
2020-12-25 21:51:10 +0100 <kuribas> fuzzypixelz: the idea of a side-effect is that it's some desirable outcome, but which cannot be considered a value.
2020-12-25 21:52:44 +0100knupfer(~Thunderbi@200116b8248ff600c4f4ca64117d4161.dip.versatel-1u1.de)
2020-12-25 21:52:45 +0100 <fuzzypixelz> kuribas: can't we just agree on a value to assign to it?
2020-12-25 21:53:04 +0100 <kuribas> fuzzypixelz: for example a value cannot distinguish between a value which is written to my screen, or when you redirect to file. Those are clearly different.
2020-12-25 21:53:43 +0100 <kuribas> fuzzypixelz: the value 1 or 0 have nothing to do with writing to stdout.
2020-12-25 21:54:26 +0100 <kuribas> fuzzypixelz: think about this: the effect of writing to stdout can be different everytime.
2020-12-25 21:54:37 +0100 <kuribas> it's not just binary
2020-12-25 21:54:58 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 246 seconds)
2020-12-25 21:55:06 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 256 seconds)
2020-12-25 21:55:07 +0100Tario(~Tario@200.119.187.28) (Read error: Connection reset by peer)
2020-12-25 21:55:33 +0100 <fuzzypixelz> kuribas: so how does the IO monad handle this internally?
2020-12-25 21:55:34 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
2020-12-25 21:55:45 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-75.cust.tzulo.com)
2020-12-25 21:55:46 +0100infinity0(~infinity0@freenet/developer/infinity0)
2020-12-25 21:56:10 +0100Tario(~Tario@201.192.165.173)
2020-12-25 21:56:17 +0100 <fuzzypixelz> kuribas: when I use `putStrLn "Haskell"`, what information does the Monad I get back actually contain?
2020-12-25 21:56:33 +0100 <kuribas> fuzzypixelz: internally it's converted to a procedure.
2020-12-25 21:57:02 +0100 <kuribas> fuzzypixelz: the information you get is "write haskell to stdout".
2020-12-25 21:57:24 +0100 <kuribas> fuzzypixelz: think of it as a checklist.
2020-12-25 21:57:45 +0100 <kuribas> whatever you do with the checklist is handled somewhere else.
2020-12-25 21:58:00 +0100 <kuribas> you could throw the checklist in the bin, or go over it twice, ...
2020-12-25 21:58:15 +0100 <kuribas> or make 5000 copies of it.
2020-12-25 21:58:23 +0100 <kuribas> however the checklist itself does nothing.
2020-12-25 21:58:31 +0100 <kuribas> that's where main comes in
2020-12-25 21:58:47 +0100 <kuribas> main takes the checklist, and performs all actions in it.
2020-12-25 21:59:10 +0100 <kuribas> so, an IO action does nothing
2020-12-25 21:59:44 +0100 <kuribas> it's actually main (or the ghci repl), which does the action.
2020-12-25 21:59:56 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-75.cust.tzulo.com) (Ping timeout: 240 seconds)
2020-12-25 22:00:13 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 264 seconds)
2020-12-25 22:00:19 +0100 <fuzzypixelz> kuribas: Aha! I wasn't thinking of it that way! I thought it the monad did the action and returned something about wether it was succesfull or not
2020-12-25 22:00:57 +0100 <fuzzypixelz> kuribas: so how does main behave if some action in our checklist fails
2020-12-25 22:01:24 +0100 <fuzzypixelz> does it just throw an excetion?
2020-12-25 22:01:24 +0100 <kuribas> you mean an exception?
2020-12-25 22:01:42 +0100 <kuribas> depends on the definition of "fails"
2020-12-25 22:01:54 +0100 <kuribas> > error "foo"
2020-12-25 22:01:56 +0100 <lambdabot> *Exception: foo
2020-12-25 22:01:59 +0100 <fuzzypixelz> For example I tried to write to /etc/file
2020-12-25 22:02:31 +0100 <kuribas> that will throw an exception
2020-12-25 22:03:10 +0100 <fuzzypixelz> does the monad itself "return" an exception?
2020-12-25 22:03:27 +0100 <fuzzypixelz> no wait that doesn't make sense
2020-12-25 22:04:22 +0100kam1(~kam1@24.231.108.143)
2020-12-25 22:05:14 +0100 <fuzzypixelz> I still don't see why we need it to be a monad, is the IO monad anything more than a procedure?
2020-12-25 22:05:40 +0100ransom_(~c4264035@2a09:bac0:72::82f:c34)
2020-12-25 22:06:38 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 22:06:41 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 22:06:58 +0100 <fuzzypixelz> we certainly need bind and return so that we can work with functions returning monads, but it there anything else to it?
2020-12-25 22:07:03 +0100avdb(~avdb@gateway/tor-sasl/avdb) (Ping timeout: 240 seconds)
2020-12-25 22:07:31 +0100 <kuribas> fuzzypixelz: no, main does
2020-12-25 22:07:58 +0100 <kuribas> fuzzypixelz: essentially it's just a procedure
2020-12-25 22:08:31 +0100 <kuribas> fuzzypixelz: the main reason for having monads in haskell, is so you know which action comes first and which next.
2020-12-25 22:08:43 +0100 <kuribas> pure functions are lazy, so they can be executed in any order.
2020-12-25 22:09:01 +0100 <kuribas> monads ensure the action are executed in the order you want.
2020-12-25 22:09:11 +0100fcortesi(~fcortesi@78-66-245-190.fibertel.com.ar) (Quit: Lost terminal)
2020-12-25 22:09:14 +0100 <kuribas> And they have actually many other nice properties.
2020-12-25 22:09:39 +0100axeman-_(~axeman_@2a02:8109:86c0:1f98:1153:e96f:d711:7cc8) (Remote host closed the connection)
2020-12-25 22:09:40 +0100 <fuzzypixelz> kuribas: I thought the point was for functions to not have side effects
2020-12-25 22:10:18 +0100 <kuribas> the don't have side-effects.
2020-12-25 22:10:48 +0100 <solonarv> *side* effects are called that because they happen "on the side" and aren't called out explicitly
2020-12-25 22:11:10 +0100 <kuribas> so the only way to "observe" what a function does, is by using IO.
2020-12-25 22:11:54 +0100 <solonarv> also, the point is for *evaluating* things to not have side effects; that's still true for, say 'putStrLn "Haskell"', because evaluating that only means "figure out what all the items on the checklist say"
2020-12-25 22:12:05 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-62.cust.tzulo.com)
2020-12-25 22:12:44 +0100 <kuribas> right, evaluating a pure function that returns an action, will not actually perform the action.
2020-12-25 22:12:53 +0100 <fuzzypixelz> solonarv: what would be an example of a side effect for putStrLn
2020-12-25 22:13:00 +0100 <kuribas> hence will not perform side-effects.
2020-12-25 22:13:19 +0100nbloomf(~nbloomf@2601:285:401:7490:e08a:ffbc:d741:5f5f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 22:13:42 +0100 <exarkun> is `IO [a] -> [IO a]` possible with a big tangled mess?
2020-12-25 22:13:47 +0100 <fuzzypixelz> if performing the action is a side effect, then the main function is not pure is it??
2020-12-25 22:14:08 +0100 <exarkun> fuzzypixelz: But there is separation between the two
2020-12-25 22:14:21 +0100 <exarkun> fuzzypixelz: The main function is a pure function that *makes* the action
2020-12-25 22:14:35 +0100 <exarkun> fuzzypixelz: It does not perform the action
2020-12-25 22:14:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2020-12-25 22:14:47 +0100 <kuribas> fuzzypixelz: anything that alters the state of the computer or the outside world is considered a side-effect. The only side-effect that *evaluating* a pure function does, is increasin CPU load, and slighly heating up the transistors.
2020-12-25 22:15:23 +0100 <fuzzypixelz> well, at which point in my program is the action perfomed
2020-12-25 22:15:35 +0100 <exarkun> After main returns it to the runtime
2020-12-25 22:15:45 +0100 <exarkun> or when you explicitly call `unsafePerformIO` :)
2020-12-25 22:17:10 +0100neiluj(~jco@91-167-203-101.subs.proxad.net)
2020-12-25 22:17:10 +0100 <fuzzypixelz> so the Haskell program really is absolutely pure and will only do what I typed into it
2020-12-25 22:19:08 +0100 <fuzzypixelz> or rather, the Haskell program always returns the exact same set of instructions to the run-time and then that is executed
2020-12-25 22:19:31 +0100 <fuzzypixelz> assuming we give it the exact same input
2020-12-25 22:19:32 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-12-25 22:19:47 +0100ransom_(~c4264035@2a09:bac0:72::82f:c34) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-12-25 22:19:47 +0100 <fuzzypixelz> right?
2020-12-25 22:20:04 +0100Feuermagier(~Feuermagi@213.178.26.41) (Remote host closed the connection)
2020-12-25 22:20:35 +0100 <kuribas> if by Haskll program you mean a pure function, then yes.
2020-12-25 22:20:37 +0100Feuermagier(~Feuermagi@213.178.26.41)
2020-12-25 22:20:44 +0100 <kuribas> however main is considered part of a haskell program.
2020-12-25 22:21:21 +0100 <fuzzypixelz> kuribas: main is not a pure function? doesn't it just return a IO () ?
2020-12-25 22:21:28 +0100 <kuribas> main isn't a function
2020-12-25 22:22:05 +0100 <exarkun> Sorry, I said "main returns" above which was imprecise and incorrect.
2020-12-25 22:22:08 +0100 <fuzzypixelz> I mean it has type signature `main :: IO ()`
2020-12-25 22:22:33 +0100 <kuribas> the haskell runtime looks at the main IO action, and starts executing it.
2020-12-25 22:22:38 +0100 <exarkun> fuzzypixelz: Right. It _is_ the IO action.
2020-12-25 22:23:20 +0100 <kuribas> when it sees pure funtions it evaluates those (lazily, as needed), and if it finds other IO actions it performs them in order.
2020-12-25 22:24:33 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-12-25 22:25:17 +0100Vulfe(~vulfe@2600:1702:31b0:34e0:f0ca:b34:ab31:1410)
2020-12-25 22:26:24 +0100 <fuzzypixelz> kuribas: normaly the only IO actions are described in main right?
2020-12-25 22:26:31 +0100 <kuribas> yes
2020-12-25 22:27:07 +0100 <kuribas> you can *call* other actions from main though
2020-12-25 22:27:12 +0100 <dsal> I'm not sure IO is the easiest monad to understand, but it's important to understand different ones.
2020-12-25 22:27:43 +0100 <kuribas> I think the hard thing is to understand IO, not monads...
2020-12-25 22:27:59 +0100 <dsal> Yeah. IO is complicated for a variety of reasons.
2020-12-25 22:28:06 +0100 <dsal> Maybe is an easy Monad.
2020-12-25 22:28:15 +0100 <fuzzypixelz> kuribas: like I could make a funcion return an IO monad to print a string and then call that in main?
2020-12-25 22:28:19 +0100benjamingr__(uid23465@gateway/web/irccloud.com/x-ijdfrtykxmezfdmc)
2020-12-25 22:29:02 +0100 <dsal> % let f :: IO String; f = pure "hi" in putStrLn =<< f
2020-12-25 22:29:02 +0100 <yahb> dsal: hi
2020-12-25 22:29:14 +0100 <kuribas> fuzzypixelz: of course
2020-12-25 22:29:42 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-25 22:29:45 +0100 <fuzzypixelz> dsal: I see how maybe is useful. The Safe division problem convinced me, Maybe allows us to propagate any divisions by zero while evaluating an arbitrary expression
2020-12-25 22:30:18 +0100ADG1089__(~aditya@27.58.161.118) (Remote host closed the connection)
2020-12-25 22:30:26 +0100 <dsal> Yeah, but I mean understanding the Monad instance, not just Maybe values.
2020-12-25 22:31:43 +0100 <fuzzypixelz> dsal: by monad instance you mean Maybe + bind + return?
2020-12-25 22:32:41 +0100 <dsal> To be "A monad" a type must have an instance of the Monad class. Maybe does.
2020-12-25 22:33:39 +0100 <fuzzypixelz> dsal: what's an example use case of Maybe as a strict Monad?
2020-12-25 22:34:26 +0100 <dsal> I'm not good at coming up with examples. heh
2020-12-25 22:34:28 +0100 <dsal> > let mx = Just 2; mo = Just (*); my = Just 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) }
2020-12-25 22:34:30 +0100 <lambdabot> Just 6
2020-12-25 22:34:36 +0100 <dsal> > let mx = Just 2; mo = Nothing; my = Just 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) }
2020-12-25 22:34:38 +0100 <lambdabot> Nothing
2020-12-25 22:34:56 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de)
2020-12-25 22:35:37 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-12-25 22:35:48 +0100 <dsal> But in general, if you have Maybe values, you can work with them like they're not Maybe values.
2020-12-25 22:36:09 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51)
2020-12-25 22:36:42 +0100 <dsal> > let mx = Right 2; mo = Right (*); my = Right 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) }
2020-12-25 22:36:44 +0100 <lambdabot> Right 6
2020-12-25 22:36:49 +0100 <dsal> > let mx = Right 2; mo = Left "oh no"; my = Right 3 in do { x <- mx; o <- mo; y <- my; pure (x * y) }
2020-12-25 22:36:52 +0100 <lambdabot> Left "oh no"
2020-12-25 22:37:49 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-12-25 22:38:07 +0100ransom_(~c4264035@8.47.12.52)
2020-12-25 22:38:12 +0100 <dsal> (notice that do block didn't change. Same thing for IO or any other monad)
2020-12-25 22:40:10 +0100 <dsal> Maybe is the easiest thing to understand here. Basically bind will pass the Just value forward as a parameter to the next function, or in the case of Nothing, won't call any of the remaining code, and just return the Nothing value.
2020-12-25 22:40:26 +0100 <dsal> @undo do { x <- mx; o <- mo; y <- my; pure (x * y) }
2020-12-25 22:40:26 +0100 <lambdabot> mx >>= \ x -> mo >>= \ o -> my >>= \ y -> pure (x * y)
2020-12-25 22:40:27 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-12-25 22:40:49 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 22:41:08 +0100 <fuzzypixelz> dsal: I see what mean
2020-12-25 22:41:21 +0100 <fuzzypixelz> *you mean
2020-12-25 22:41:31 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Remote host closed the connection)
2020-12-25 22:41:48 +0100 <dsal> (Just x) >>= k = k x
2020-12-25 22:41:48 +0100 <dsal> Nothing >>= _ = Nothing
2020-12-25 22:42:04 +0100 <dsal> (I just plucked that out of the source)
2020-12-25 22:42:30 +0100 <fuzzypixelz> source code for Maybe?
2020-12-25 22:43:22 +0100 <dsal> Maybe's Monad instance in particular.
2020-12-25 22:44:07 +0100 <dsal> IO would be a little harder to reason about, but it's conceptually similar. You just end up having to learn about stuff like MonadFail and other messes.
2020-12-25 22:44:13 +0100hiroaki(~hiroaki@ip4d16fa3b.dynamic.kabel-deutschland.de) (Ping timeout: 265 seconds)
2020-12-25 22:46:31 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-12-25 22:48:00 +0100 <dsal> Hmm... I don't actually know how to find a case where I've used the Maybe monad because I did it implicitly.
2020-12-25 22:48:12 +0100bisickcor(~username@117.200.1.158)
2020-12-25 22:49:16 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51)
2020-12-25 22:49:34 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 246 seconds)
2020-12-25 22:49:54 +0100 <dsal> Heh. Looking through some of my code, I'm not even sure what monad I'm in just because it doesn't really matter.
2020-12-25 22:50:01 +0100Guess59061(4e01b525@unaffiliated/guess59061)
2020-12-25 22:50:02 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net) (Remote host closed the connection)
2020-12-25 22:50:16 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 22:50:23 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 22:50:26 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 22:50:37 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 22:50:45 +0100iekfkk(~username@117.200.9.174) (Ping timeout: 240 seconds)
2020-12-25 22:51:07 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Remote host closed the connection)
2020-12-25 22:51:34 +0100 <fuzzypixelz> dsal, kuribas, exarkun: thank you all!
2020-12-25 22:51:44 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51)
2020-12-25 22:52:23 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 22:52:28 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net) (Ping timeout: 258 seconds)
2020-12-25 22:53:36 +0100 <dsal> I don't know that I *would* write this this way, but you also get stuff like guard:
2020-12-25 22:53:37 +0100 <dsal> > let safeDiv mn md = do { n <- mn; d <- md; guard (d /= 0); pure (n `div` d) } in Just 30 `safeDiv` Just 3 `safeDiv` Just 5
2020-12-25 22:53:40 +0100 <lambdabot> Just 2
2020-12-25 22:53:41 +0100 <dsal> > let safeDiv mn md = do { n <- mn; d <- md; guard (d /= 0); pure (n `div` d) } in Just 30 `safeDiv` Just 0 `safeDiv` Just 5
2020-12-25 22:53:43 +0100 <lambdabot> Nothing
2020-12-25 22:55:01 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Client Quit)
2020-12-25 22:55:27 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 260 seconds)
2020-12-25 22:55:46 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 22:55:48 +0100axeman-_(~axeman_@2a09:bac0:48::82b:7a05)
2020-12-25 22:57:24 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-62.cust.tzulo.com) (Quit: Leaving)
2020-12-25 22:57:36 +0100 <dsal> fuzzypixelz: Oh, I found one of the cases! https://github.com/dustin/gopro/blob/master/src/GoPro/Commands/Backup.hs#L109-L114
2020-12-25 22:57:38 +0100Feuermagier(~Feuermagi@213.178.26.41) (Remote host closed the connection)
2020-12-25 22:57:39 +0100 <ddellacosta> so I'm reading this code that uses ContT heavily, and I think I get it, but I have a question: it's really just a syntactic convenience here, right? Otherwise we'd have to deal with piles and piles of indented withX blocks...?
2020-12-25 22:57:46 +0100 <ddellacosta> https://hackage.haskell.org/package/alsa-seq-0.6.0.7/src/examples/beat.hs
2020-12-25 22:57:53 +0100hiroaki(~hiroaki@ip4d168e73.dynamic.kabel-deutschland.de)
2020-12-25 22:58:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-12-25 22:58:08 +0100Feuermagier(~Feuermagi@213.178.26.41)
2020-12-25 22:58:22 +0100 <dsal> Here, I've got a JSON value and I'm extracting a bunch of values with lens to combine into something. If any of my lookups fail, then I don't have the thing I think, so I return Nothinig.
2020-12-25 22:58:36 +0100 <Guess59061> Why does `lucky 7 = "whatever"` need to have a member of the Eq typeclass as its parameter? Is it because whatever parameter is supplied, it'll internally be checked whether it's equal to 7?
2020-12-25 22:59:10 +0100aarvar(~foewfoiew@2601:602:a080:fa0:ac47:8893:80c1:4f6c)
2020-12-25 22:59:13 +0100 <dsal> Guess59061: I'm not sure what you're asking. It doesn't quite make sense.
2020-12-25 22:59:23 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Ping timeout: 272 seconds)
2020-12-25 22:59:29 +0100 <dsal> > let lucky 7 = "whatever" in lucky 7
2020-12-25 22:59:31 +0100 <lambdabot> "whatever"
2020-12-25 22:59:55 +0100 <merijn> Guess59061: Well, how else would you compare 7 to anything?
2020-12-25 23:00:04 +0100 <merijn> Guess59061: Keep in mind 7 is polymorphic
2020-12-25 23:00:13 +0100 <merijn> dsal: That'll infer as (Num a, Eq a)
2020-12-25 23:00:18 +0100 <Guess59061> merijn There's some kind of internal "if" I suppose then.
2020-12-25 23:00:24 +0100 <merijn> Guess59061: Yes
2020-12-25 23:00:30 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Quit: WeeChat 2.9)
2020-12-25 23:00:43 +0100 <merijn> :t \7 -> ()
2020-12-25 23:00:44 +0100 <lambdabot> (Eq a, Num a) => a -> ()
2020-12-25 23:00:46 +0100 <dsal> merijn: Sure, but I think there's information missing.
2020-12-25 23:01:04 +0100 <merijn> Guess59061: The question was "why is Eq there?"
2020-12-25 23:01:08 +0100 <merijn> eh
2020-12-25 23:01:16 +0100 <merijn> s/Guess59061/dsal
2020-12-25 23:01:27 +0100nbloomf(~nbloomf@2601:285:401:7490:80b2:6d6b:6d09:280)
2020-12-25 23:01:56 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51)
2020-12-25 23:02:38 +0100 <dsal> :t let lucky 7 = "whatever" in lucky -- you mean this Eq?
2020-12-25 23:02:39 +0100 <lambdabot> (Eq a, Num a) => a -> [Char]
2020-12-25 23:03:54 +0100 <dsal> OK, I didn't parse the question that way.
2020-12-25 23:04:32 +0100nbloomf(~nbloomf@2601:285:401:7490:80b2:6d6b:6d09:280) (Client Quit)
2020-12-25 23:05:14 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 23:05:20 +0100axeman-_(~axeman_@2a09:bac0:48::82b:7a05) (Ping timeout: 268 seconds)
2020-12-25 23:05:36 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 23:06:55 +0100natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2020-12-25 23:07:06 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2020-12-25 23:09:37 +0100sgibber2018(~arch-gibb@208.85.237.137)
2020-12-25 23:09:38 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 272 seconds)
2020-12-25 23:09:39 +0100cads(~cads@ip-64-72-99-232.lasvegas.net) (Ping timeout: 268 seconds)
2020-12-25 23:13:02 +0100Franciman(~francesco@host-82-49-79-73.retail.telecomitalia.it) (Quit: Leaving)
2020-12-25 23:15:39 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2020-12-25 23:16:06 +0100 <fuzzypixelz> what is an example of a monad where `return` is not `pure`?
2020-12-25 23:16:17 +0100 <glguy> there isn't one
2020-12-25 23:16:18 +0100 <merijn> none
2020-12-25 23:17:03 +0100 <glguy> So why does Monad have a return method? Because it predates the existence of Applicative
2020-12-25 23:18:15 +0100 <fuzzypixelz> :)
2020-12-25 23:18:25 +0100 <fuzzypixelz> glguy: beat me to it
2020-12-25 23:18:28 +0100 <merijn> By almost a decade, even
2020-12-25 23:18:38 +0100recursionIsGreat(4f81c10c@athedsl-4444444.home.otenet.gr)
2020-12-25 23:18:53 +0100 <merijn> And then another decade or something where Applicative existed, but wasn't a superclass of Monad
2020-12-25 23:18:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-12-25 23:19:13 +0100 <recursionIsGreat> https://www.reddit.com/r/haskell/comments/kk6ulv/need_some_help_with_backtracking_in_haskell/ any help would be appreciated
2020-12-25 23:19:18 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-12-25 23:19:51 +0100 <fuzzypixelz> merijn: glad to hear these abstractions weren't just dreamt out in a few months
2020-12-25 23:19:55 +0100 <glguy> recursionIsGreat, you'll have to re-ask here
2020-12-25 23:20:12 +0100 <fuzzypixelz> recursionIsGreat: your post is removed
2020-12-25 23:20:52 +0100recursionIsGreat(4f81c10c@athedsl-4444444.home.otenet.gr) (Remote host closed the connection)
2020-12-25 23:21:10 +0100Varis(~Tadas@unaffiliated/varis) (Quit: Leaving)
2020-12-25 23:21:18 +0100 <merijn> fuzzypixelz: The first version of Haskell didn't even have a monadic interface for IO (or even an IO type) :p
2020-12-25 23:22:08 +0100cads2(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 23:22:09 +0100cads(~cads@ip-64-72-99-232.lasvegas.net)
2020-12-25 23:22:11 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 23:22:28 +0100heatsink(~heatsink@2600:1700:bef1:5e10:49a9:d2cc:4eca:a521) (Remote host closed the connection)
2020-12-25 23:22:47 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-25 23:23:54 +0100benjamingr__(uid23465@gateway/web/irccloud.com/x-ijdfrtykxmezfdmc) (Ping timeout: 258 seconds)
2020-12-25 23:23:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-12-25 23:24:02 +0100davetapley(sid666@gateway/web/irccloud.com/x-awwgmkyqubhslzoc) (Ping timeout: 260 seconds)
2020-12-25 23:24:02 +0100 <fuzzypixelz> merijn: it was because functions are lazily evaluated and they couldn't have side effects? That's why monads were introduced, yes?
2020-12-25 23:24:18 +0100ReinH__(sid179972@gateway/web/irccloud.com/x-zzaluaokazkinfvl) (Ping timeout: 260 seconds)
2020-12-25 23:24:20 +0100Guest78853(~botro@178.239.168.171) (Remote host closed the connection)
2020-12-25 23:24:26 +0100 <merijn> fuzzypixelz: Well, not really. That was already the case from the beginning
2020-12-25 23:24:27 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
2020-12-25 23:24:32 +0100eruditass(uid248673@gateway/web/irccloud.com/x-xcgqqniunfnuqsoi) (Read error: Connection reset by peer)
2020-12-25 23:24:37 +0100natim87(sid286962@gateway/web/irccloud.com/x-vorfpnwdjimlpxrz) (Ping timeout: 260 seconds)
2020-12-25 23:24:37 +0100AndreasK(uid320732@gateway/web/irccloud.com/x-uktqzadfuhxfqwmf) (Ping timeout: 260 seconds)
2020-12-25 23:24:53 +0100joshmeredith(sid387798@gateway/web/irccloud.com/x-zkhaozfesfkitweq) (Ping timeout: 260 seconds)
2020-12-25 23:24:53 +0100totbwf(sid402332@gateway/web/irccloud.com/x-lstwvrpzhbbezavu) (Ping timeout: 260 seconds)
2020-12-25 23:25:00 +0100 <merijn> IO and it's monadic interface were introduced because the interface before it sucked and everyone agreed the current approach is infinitely better :p
2020-12-25 23:25:04 +0100banjiewen_(sid115913@gateway/web/irccloud.com/x-efwzmbigxjpyhyqn) (Ping timeout: 268 seconds)
2020-12-25 23:25:05 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt)
2020-12-25 23:25:10 +0100sand_dull(~theuser@c-73-149-95-105.hsd1.ct.comcast.net)
2020-12-25 23:25:11 +0100ebutleriv(sid217783@gateway/web/irccloud.com/x-nsyjifznvtdwqlor) (Read error: Connection reset by peer)
2020-12-25 23:25:13 +0100neiluj(~jco@91-167-203-101.subs.proxad.net) (Changing host)
2020-12-25 23:25:13 +0100neiluj(~jco@unaffiliated/neiluj)
2020-12-25 23:25:32 +0100 <monochrom> Laziness was actually a plus for the 1st I/O model.
2020-12-25 23:25:35 +0100ebutleriv(sid217783@gateway/web/irccloud.com/x-vuvhvprvfualywxv)
2020-12-25 23:25:35 +0100totbwf(sid402332@gateway/web/irccloud.com/x-vozoqtzcwltbknrs)
2020-12-25 23:25:37 +0100joshmeredith(sid387798@gateway/web/irccloud.com/x-fznswsrrgymxksrk)
2020-12-25 23:25:41 +0100benjamingr__(uid23465@gateway/web/irccloud.com/x-ddxcndlvmkcaysph)
2020-12-25 23:25:45 +0100ReinH__(sid179972@gateway/web/irccloud.com/x-gxvdlavauwivnxng)
2020-12-25 23:26:03 +0100benwr____(sid372383@gateway/web/irccloud.com/x-ylolloivjmxllmfb) (Ping timeout: 260 seconds)
2020-12-25 23:26:13 +0100eruditass(uid248673@gateway/web/irccloud.com/x-vskreoprzujwnjjs)
2020-12-25 23:26:18 +0100bradparker(sid262931@gateway/web/irccloud.com/x-oixqgvqtguzzzzhx) (Ping timeout: 268 seconds)
2020-12-25 23:26:18 +0100gOOgler(uid125351@gateway/web/irccloud.com/x-roypmjethenoxwzs) (Ping timeout: 268 seconds)
2020-12-25 23:26:18 +0100cemerick(sid54985@gateway/web/irccloud.com/x-jknlsyojitfopgjs) (Ping timeout: 268 seconds)
2020-12-25 23:26:38 +0100Fractalis(~Fractalis@2601:987:280:8d40:45d0:942f:6e60:692f)
2020-12-25 23:26:41 +0100davetapley(sid666@gateway/web/irccloud.com/x-twriwvvdmengoodi)
2020-12-25 23:26:43 +0100banjiewen_(sid115913@gateway/web/irccloud.com/x-cjhdsthtfayybebu)
2020-12-25 23:26:44 +0100 <monochrom> Imagine you have a simple ADT for I/O commands like "data Command = GetChar | PutChar Char | OpenFile String FileMode | ..."
2020-12-25 23:26:55 +0100cemerick(sid54985@gateway/web/irccloud.com/x-hvytxjnfgkcybten)
2020-12-25 23:26:57 +0100systemfault(sid267009@gateway/web/irccloud.com/x-dlmhkaandvmrncuu) (Ping timeout: 260 seconds)
2020-12-25 23:27:41 +0100AndreasK(uid320732@gateway/web/irccloud.com/x-hcwkkoekyeoydiqt)
2020-12-25 23:27:43 +0100 <monochrom> and you have another simple ADT for the computer's responses to your commands, "data Answer = OK | Error | HereBeChar Char | HereBeHandle Handle | ..."
2020-12-25 23:27:54 +0100benwr____(sid372383@gateway/web/irccloud.com/x-cmdybrasxgtsczal)
2020-12-25 23:28:10 +0100natim87(sid286962@gateway/web/irccloud.com/x-rsbfresybxjbdfwv)
2020-12-25 23:28:10 +0100gOOgler(uid125351@gateway/web/irccloud.com/x-vundpllovrkdofsh)
2020-12-25 23:28:27 +0100 <monochrom> Then you code up your main to this type: "main :: [Answer] -> [Command]". Important: I have no typo there.
2020-12-25 23:29:09 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 272 seconds)
2020-12-25 23:29:16 +0100 <fuzzypixelz> wait why, answer and then command?
2020-12-25 23:29:23 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-25 23:29:34 +0100davetapley(sid666@gateway/web/irccloud.com/x-twriwvvdmengoodi) (Max SendQ exceeded)
2020-12-25 23:29:34 +0100 <monochrom> The semantics: You produce a lazy list of commands, perhaps some later commands depend on some earlier answers. You receive a lazy list of answers.
2020-12-25 23:29:45 +0100 <merijn> fuzzypixelz: Well, if you read from disk you *presumably* want to be able to do something with that data, so it needs to be an input
2020-12-25 23:29:59 +0100lally(sid388228@gateway/web/irccloud.com/x-sahonvgrjrbzkxrq) (Read error: Connection reset by peer)
2020-12-25 23:30:00 +0100o1lo01ol1o(~o1lo01ol1@bl8-213-81.dsl.telepac.pt) (Remote host closed the connection)
2020-12-25 23:30:08 +0100 <glguy> fuzzypixelz, your program generates commands and consumes answers to those commands
2020-12-25 23:30:26 +0100 <monochrom> Think about it. The computer gives you answers. You give commands to the computer. From your POV, you output commands, input answers. Hence, [Answer] -> [Command]
2020-12-25 23:30:36 +0100systemfault(sid267009@gateway/web/irccloud.com/x-gdfwilpwbdeyfdvr)
2020-12-25 23:30:39 +0100lally(sid388228@gateway/web/irccloud.com/x-tfnobvqpeuxjovei)
2020-12-25 23:30:44 +0100 <monochrom> And if [] is super lazy, it can work, you can have later commands depend on earlier answers.
2020-12-25 23:30:55 +0100benwr____(sid372383@gateway/web/irccloud.com/x-cmdybrasxgtsczal) (Read error: Connection reset by peer)
2020-12-25 23:31:02 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-25 23:31:03 +0100benwr____(sid372383@gateway/web/irccloud.com/x-rfsfsfysohdtgikt)
2020-12-25 23:31:06 +0100eruditass(uid248673@gateway/web/irccloud.com/x-vskreoprzujwnjjs) (Max SendQ exceeded)
2020-12-25 23:31:09 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-12-25 23:31:14 +0100SrPx(sid108780@gateway/web/irccloud.com/x-xocntreqlornxygw) (Ping timeout: 268 seconds)
2020-12-25 23:31:41 +0100ReinH__(sid179972@gateway/web/irccloud.com/x-gxvdlavauwivnxng) (Ping timeout: 272 seconds)
2020-12-25 23:31:59 +0100son0p(~son0p@181.136.122.143)
2020-12-25 23:32:01 +0100 <monochrom> Of course if you code like "main (x:xs) = ..." that is wrong. The 1st answer isn't available until you issue your 1st command.
2020-12-25 23:32:02 +0100davetapley(sid666@gateway/web/irccloud.com/x-ionovhqqpktzqpxd)
2020-12-25 23:32:04 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Read error: Connection reset by peer)
2020-12-25 23:32:08 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-12-25 23:32:20 +0100ReinH__(sid179972@gateway/web/irccloud.com/x-gpfwmlgqwhiukqzi)
2020-12-25 23:32:25 +0100eruditass(uid248673@gateway/web/irccloud.com/x-zzmifhezrdakvmqp)
2020-12-25 23:32:29 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de)
2020-12-25 23:32:36 +0100natim87(sid286962@gateway/web/irccloud.com/x-rsbfresybxjbdfwv) (Ping timeout: 240 seconds)
2020-12-25 23:32:45 +0100 <monochrom> But this can work: "main xs = GetChar : (case xs of HereBeChar c : xt -> ...)"
2020-12-25 23:32:53 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 23:32:55 +0100SrPx(sid108780@gateway/web/irccloud.com/x-jqknpexcrnufpwgi)
2020-12-25 23:33:24 +0100 <nf> getting answers and giving commands means you're the one in control
2020-12-25 23:33:37 +0100bradparker(sid262931@gateway/web/irccloud.com/x-hkmwjhwvnriiibwj)
2020-12-25 23:34:05 +0100kam1(~kam1@24.231.108.143) (Ping timeout: 240 seconds)
2020-12-25 23:35:06 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-25 23:35:07 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:ac1c:ca8f:6bba:6ac5) (Ping timeout: 260 seconds)
2020-12-25 23:35:08 +0100 <Rembane> It sounds awfully lot like an interpreter.
2020-12-25 23:35:26 +0100axeman-_(~axeman_@2a09:bac0:48::82b:7a05)
2020-12-25 23:35:32 +0100Varis(~Tadas@unaffiliated/varis) (Max SendQ exceeded)
2020-12-25 23:35:37 +0100 <nf> that would be the other way around
2020-12-25 23:35:42 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-12-25 23:35:43 +0100heatsink(~heatsink@2600:1700:bef1:5e10:71b2:cc28:f79:2771)
2020-12-25 23:35:46 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2020-12-25 23:35:49 +0100Varis(~Tadas@unaffiliated/varis)
2020-12-25 23:36:27 +0100 <merijn> The main thing is: It sucked so hard it's been dead for over a quarter century :p
2020-12-25 23:37:26 +0100axeman-__(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51)
2020-12-25 23:37:27 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 260 seconds)
2020-12-25 23:37:45 +0100matryoshka(~matryoshk@184.75.223.227)
2020-12-25 23:38:14 +0100axeman-(~axeman_@ip5f5af023.dynamic.kabel-deutschland.de) (Read error: Connection reset by peer)
2020-12-25 23:40:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:71b2:cc28:f79:2771) (Ping timeout: 260 seconds)
2020-12-25 23:41:13 +0100axeman-_(~axeman_@2a09:bac0:48::82b:7a05) (Ping timeout: 260 seconds)
2020-12-25 23:41:15 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 265 seconds)
2020-12-25 23:42:00 +0100axeman-__(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Remote host closed the connection)
2020-12-25 23:43:21 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-25 23:43:22 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51)
2020-12-25 23:43:48 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:ac1c:ca8f:6bba:6ac5)
2020-12-25 23:44:30 +0100natim87(sid286962@gateway/web/irccloud.com/x-ryjfgihdwvppjeie)
2020-12-25 23:44:52 +0100lgedeon(~lgedeon@178.239.168.171)
2020-12-25 23:45:31 +0100kuribas(~user@ptr-25vy0ia20n5d17pacij.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
2020-12-25 23:47:57 +0100axeman-(~axeman_@2a02:8109:86c0:1f98:7400:45ca:c351:7a51) (Ping timeout: 260 seconds)
2020-12-25 23:48:12 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2020-12-25 23:49:03 +0100kam1(~kam1@24.231.108.143)
2020-12-25 23:51:06 +0100puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net) (Quit: killed)
2020-12-25 23:51:11 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2020-12-25 23:51:44 +0100puffnfresh(~puffnfres@119-17-138-164.77118a.mel.static.aussiebb.net)
2020-12-25 23:51:55 +0100xcmw(~textual@2601:541:4404:bb5c:c568:d02b:e892:a15e)
2020-12-25 23:52:41 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-12-25 23:53:24 +0100fcortesi(~fcortesi@78-66-245-190.fibertel.com.ar)
2020-12-25 23:53:31 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Read error: Connection reset by peer)
2020-12-25 23:53:53 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2)
2020-12-25 23:54:35 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)
2020-12-25 23:55:52 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius) (Remote host closed the connection)
2020-12-25 23:56:01 +0100t3xp4t(~texinwien@213162073014.public.t-mobile.at)
2020-12-25 23:56:26 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.0)
2020-12-25 23:58:55 +0100dandart(~Thunderbi@2a00:23c7:f5a6:d001:6056:da77:5ae:49a2) (Ping timeout: 272 seconds)
2020-12-25 23:59:40 +0100philopsos(~caecilius@gateway/tor-sasl/caecilius)