2021/04/03

2021-04-03 00:00:50 +0200 <hololeap> happy little tries
2021-04-03 00:02:16 +0200conal(~conal@64.71.133.70)
2021-04-03 00:02:44 +0200 <hololeap> dmj`: i'd like to see it when you publish it
2021-04-03 00:05:34 +0200 <dmj`> hololeap: here's an example of an instance
2021-04-03 00:06:06 +0200 <dmj`> https://gist.github.com/dmjio/b834954af8ff98a1bf04242d8d5a5b8c
2021-04-03 00:07:25 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection)
2021-04-03 00:08:17 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net)
2021-04-03 00:08:18 +0200ddellaco_(~ddellacos@ool-44c73afa.dyn.optonline.net) (Read error: Connection reset by peer)
2021-04-03 00:08:37 +0200fendor_(~fendor@77.119.130.232.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-04-03 00:14:22 +0200 <dmj`> hololeap: unless readers can point to any variable in the instance and tell its type, they might be fooling themselves into thinking they understand it
2021-04-03 00:15:26 +0200gienah(~mwright@gentoo/developer/gienah) (Quit: leaving)
2021-04-03 00:24:05 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 00:24:15 +0200natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-04-03 00:25:02 +0200crestfallen(~john@128.32.176.159)
2021-04-03 00:27:17 +0200 <justsomeguy> Heh, you just gave me the idea to write a hang-man style game for type signatures.
2021-04-03 00:28:16 +0200 <justsomeguy> ...but I'll probably never actually write it, since I'm lazy (not the good kind) and bad at programming.
2021-04-03 00:28:29 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 246 seconds)
2021-04-03 00:28:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 00:28:49 +0200HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net)
2021-04-03 00:30:35 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 246 seconds)
2021-04-03 00:30:55 +0200michalz(~user@185.246.204.43) (Remote host closed the connection)
2021-04-03 00:32:17 +0200Varis(~Tadas@unaffiliated/varis) (Read error: Connection reset by peer)
2021-04-03 00:34:36 +0200DTZUZU_(~DTZUZO@207.81.119.43)
2021-04-03 00:34:46 +0200natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-04-03 00:36:11 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 240 seconds)
2021-04-03 00:39:06 +0200Programmosaurusvv8
2021-04-03 00:41:55 +0200hexreel(~hr@2600:1700:28e2:14d0:44cc:3377:2281:bb1d)
2021-04-03 00:42:59 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-03 00:43:20 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:543a:a17f:f67d:8caf) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-03 00:45:34 +0200DavidEichmann(~david@47.27.93.209.dyn.plus.net) (Remote host closed the connection)
2021-04-03 00:48:27 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-04-03 00:48:41 +0200jneira(501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182)
2021-04-03 00:53:18 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 246 seconds)
2021-04-03 00:53:32 +0200conal__(~conal@64.71.133.70)
2021-04-03 00:56:09 +0200 <sim590> Is there a pointfree notation equivalent of this: (\ x y -> return $ x + y) ? I struggle to formulate it. For example: (return . (+)).
2021-04-03 00:56:13 +0200 <sim590> Doesn't work
2021-04-03 00:57:05 +0200 <hololeap> sim590: `liftM2 (+)` or `liftA2 (+)`
2021-04-03 00:57:13 +0200 <hololeap> oh, no nvm
2021-04-03 00:58:20 +0200 <sim590> @pl (\ x y -> return $ x + y)
2021-04-03 00:58:20 +0200 <lambdabot> (return .) . (+)
2021-04-03 00:58:25 +0200 <sim590> hmmmm
2021-04-03 00:58:37 +0200 <sim590> I just found out about @pl.
2021-04-03 00:59:07 +0200 <hololeap> although, methinks you writing things awkwardly if you have a pure function that has a Monad constraint
2021-04-03 00:59:29 +0200ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-04-03 01:01:10 +0200 <sim590> hololeap: It's complicated.
2021-04-03 01:01:13 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 01:01:49 +0200 <hololeap> honestly (\x y -> return (x+y)) is quite readable and the pointfree version is overly obfuscating
2021-04-03 01:02:05 +0200 <dcbdan> how about: curry (return . uncurry (+))
2021-04-03 01:02:24 +0200 <sim590> hololeap: yeah. I agree. I was just wondering about what I was doing wrong for making it happen.
2021-04-03 01:02:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-03 01:02:57 +0200nighmi(~felix@46.183.103.8)
2021-04-03 01:03:34 +0200 <hololeap> the rule of thumb is, don't lift things into a Monad for as long as possible
2021-04-03 01:03:58 +0200 <hololeap> it just adds unnecessary constraints to functions that could be used elsewhere
2021-04-03 01:04:09 +0200 <sim590> hololeap: If you're curious, I have a project which implements a Left Binary Search Tree: http://ix.io/2URe and all the functions on this data type take a BSPComputer which is a function that takes two nodes and executes inside the ChronicleT monad which takes care of logging for the sake of keeping the code easier to debug when there are wrong behaviour added to the code.
2021-04-03 01:05:06 +0200codygman__(~user@47.186.207.161)
2021-04-03 01:05:43 +0200 <sim590> BSPcomputer is the function which computes the parent of two nodes because in this data structure, all internal nodes are computed and not set.
2021-04-03 01:05:58 +0200 <ja> i have a Data.Map and i call splitRoot three times to obtain 4 chunks that i operate on with monad-par, but somehow that is slower than doing it in one go
2021-04-03 01:06:26 +0200 <ja> the map has 5000 elements and with monad-par it takes 25 sec
2021-04-03 01:06:40 +0200 <ja> and without parallelization it takes 5 sec
2021-04-03 01:07:01 +0200 <ja> if it takes so long, surely it cant be the overhead of setting up threads that bogs it down
2021-04-03 01:07:26 +0200 <ja> the splitRoot should be constant time, so i really don't understand how it can take so much longer...
2021-04-03 01:08:11 +0200 <hololeap> ja, what's the operation?
2021-04-03 01:08:53 +0200 <ja> the operation is just filtering on ByteStrings inside the members, using ByteString.isInfixOf or the stringsearch package
2021-04-03 01:09:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 01:10:11 +0200 <hololeap> well the first question is, did you compile it with --threaded and run it with `+RTS -N4` (or however many cores you have)
2021-04-03 01:10:14 +0200Tops2(~Tobias@dyndsl-095-033-020-180.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-04-03 01:10:16 +0200 <L29Ah> bgamari_: have you tested the hyborg thing on ghc master?
2021-04-03 01:10:39 +0200 <ja> hololeap: i just use -N and not the numeral, let me look up if that is right
2021-04-03 01:10:58 +0200 <hololeap> yeah that uses the maximum number of cores that GHC detects
2021-04-03 01:11:13 +0200 <monochrom> -N without a number automagically uses your # of cores for the number.
2021-04-03 01:11:14 +0200 <hololeap> or the runtime, rather
2021-04-03 01:14:38 +0200 <hololeap> the overhead is small, and it sounds like the operation is chunky enough to work well with parallelization, so i don't know why it would slow it down so much. maybe it's a GC thing
2021-04-03 01:15:24 +0200son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-04-03 01:17:15 +0200codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-04-03 01:17:23 +0200 <hololeap> you could use ekg or other profiling tools to debug it. ultimately you might want to read the book that was mentioned earlier since it explains all the details and shows examples of how to profile your application
2021-04-03 01:18:05 +0200 <L29Ah> ja: are you sure your map chunks are evaluated before you give them out to your workers?
2021-04-03 01:18:11 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-04-03 01:19:36 +0200 <ja> L29Ah: i use Data.IntMap.Strict , but i guess that is no guarantee that the map chunks are evaluated hmmm
2021-04-03 01:19:57 +0200 <hololeap> that's what deepseq's for
2021-04-03 01:19:57 +0200srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
2021-04-03 01:20:29 +0200crestfallen(~john@128.32.176.159) (Ping timeout: 265 seconds)
2021-04-03 01:20:49 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-03 01:20:55 +0200 <ja> hololeap: all right, i guess i must buy that book , thanks for the tips
2021-04-03 01:21:14 +0200srk(~sorki@gateway/tor-sasl/sorki)
2021-04-03 01:21:15 +0200hacxman(~hexo@gateway/tor-sasl/hexo)
2021-04-03 01:21:57 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds)
2021-04-03 01:21:57 +0200hexo(~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds)
2021-04-03 01:21:57 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Read error: Connection reset by peer)
2021-04-03 01:21:58 +0200hacxmanhexo
2021-04-03 01:23:33 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2021-04-03 01:23:40 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-ewczhxqgteqsbchn) (Quit: Connection closed for inactivity)
2021-04-03 01:23:54 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2021-04-03 01:24:40 +0200hexreel(~hr@2600:1700:28e2:14d0:44cc:3377:2281:bb1d) (Quit: Textual IRC Client: www.textualapp.com)
2021-04-03 01:25:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-04-03 01:25:57 +0200Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex) (Ping timeout: 240 seconds)
2021-04-03 01:28:04 +0200Chai-T-Rex(~ChaiTRex@gateway/tor-sasl/chaitrex)
2021-04-03 01:31:07 +0200alx741(~alx741@181.196.68.6)
2021-04-03 01:33:46 +0200ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-04-03 01:33:59 +0200natechan(~natechan@108-233-125-227.lightspeed.sntcca.sbcglobal.net)
2021-04-03 01:34:48 +0200Unhammer(~Unhammer@gateway/tor-sasl/unhammer)
2021-04-03 01:38:06 +0200nut(~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-03 01:38:27 +0200codygman__(~user@47.186.207.161)
2021-04-03 01:39:17 +0200neiluj(~jco@unaffiliated/neiluj) (Quit: leaving)
2021-04-03 01:41:05 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-04-03 01:43:13 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-03 01:44:43 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds)
2021-04-03 01:45:08 +0200 <bgamari_> L29Ah, not yet
2021-04-03 01:45:10 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:543a:a17f:f67d:8caf)
2021-04-03 01:45:15 +0200 <bgamari_> L29Ah, was dealing with 9.2 things today
2021-04-03 01:45:29 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-04-03 01:46:11 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2021-04-03 01:47:41 +0200DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 240 seconds)
2021-04-03 01:48:12 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-03 01:48:37 +0200olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-04-03 01:48:45 +0200gienah(~mwright@gentoo/developer/gienah)
2021-04-03 01:50:11 +0200__minoru__shirae(~shiraeesh@77.94.25.220) (Ping timeout: 240 seconds)
2021-04-03 01:52:45 +0200conal__(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-04-03 01:53:10 +0200conal(~conal@64.71.133.70)
2021-04-03 01:55:48 +0200conal(~conal@64.71.133.70) (Client Quit)
2021-04-03 01:57:03 +0200conal(~conal@64.71.133.70)
2021-04-03 01:59:38 +0200cheater(~user@unaffiliated/cheater) (Ping timeout: 265 seconds)
2021-04-03 01:59:51 +0200conal(~conal@64.71.133.70) (Client Quit)
2021-04-03 02:00:50 +0200conal(~conal@64.71.133.70)
2021-04-03 02:01:37 +0200fosterite(~fosterite@2600:6c46:7800:fecf:1dfc:d3e0:fc4:316c)
2021-04-03 02:03:02 +0200Tario(~Tario@201.192.165.173) (Ping timeout: 268 seconds)
2021-04-03 02:03:03 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-03 02:04:07 +0200conal(~conal@64.71.133.70) (Client Quit)
2021-04-03 02:04:37 +0200conal(~conal@64.71.133.70)
2021-04-03 02:04:38 +0200stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-03 02:06:00 +0200Tario(~Tario@200.119.187.142)
2021-04-03 02:06:14 +0200fosterite(~fosterite@2600:6c46:7800:fecf:1dfc:d3e0:fc4:316c) (Ping timeout: 258 seconds)
2021-04-03 02:08:46 +0200conal(~conal@64.71.133.70) (Ping timeout: 240 seconds)
2021-04-03 02:09:11 +0200kiweun(~kiweun@2607:fea8:2a62:9600:99c5:c9fe:37ac:7c1f)
2021-04-03 02:10:07 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-03 02:10:47 +0200conal(~conal@64.71.133.70)
2021-04-03 02:12:24 +0200ericsagn1(~ericsagne@2405:6580:0:5100:8e7d:1650:be7b:bbf2) (Ping timeout: 246 seconds)
2021-04-03 02:13:31 +0200kiweun(~kiweun@2607:fea8:2a62:9600:99c5:c9fe:37ac:7c1f) (Ping timeout: 258 seconds)
2021-04-03 02:15:52 +0200cheater(~user@unaffiliated/cheater)
2021-04-03 02:17:31 +0200kiweun(~kiweun@2607:fea8:2a62:9600:b854:1b9f:904d:9c7b)
2021-04-03 02:17:32 +0200Tario(~Tario@200.119.187.142) (Read error: Connection reset by peer)
2021-04-03 02:17:54 +0200Tario(~Tario@201.192.165.173)
2021-04-03 02:18:10 +0200stree(~stree@68.36.8.116)
2021-04-03 02:22:05 +0200Guest80407(~textual@mskresolve-a.mskcc.org) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-03 02:22:31 +0200codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-04-03 02:24:47 +0200ericsagn1(~ericsagne@2405:6580:0:5100:38ef:e5ed:8c96:cda5)
2021-04-03 02:25:16 +0200codygman__(~user@47.186.207.161)
2021-04-03 02:28:40 +0200Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-04-03 02:30:14 +0200hololeap(~hololeap@unaffiliated/hololeap) (Ping timeout: 260 seconds)
2021-04-03 02:30:35 +0200cheater1(~user@unaffiliated/cheater)
2021-04-03 02:31:18 +0200hololeap(~hololeap@unaffiliated/hololeap)
2021-04-03 02:32:38 +0200cheater(~user@unaffiliated/cheater) (Ping timeout: 268 seconds)
2021-04-03 02:32:40 +0200cheater1cheater
2021-04-03 02:34:25 +0200evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-04-03 02:34:26 +0200mkDoku(~TheMule@aftr-37-201-195-134.unity-media.net) (Ping timeout: 265 seconds)
2021-04-03 02:34:58 +0200zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-04-03 02:36:10 +0200evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-04-03 02:36:48 +0200zaquest(~notzaques@5.128.210.178)
2021-04-03 02:48:01 +0200Patrick333(0ecfcfa7@mx-ll-14.207.207-167.dynamic.3bb.co.th)
2021-04-03 02:49:26 +0200Patrick333(0ecfcfa7@mx-ll-14.207.207-167.dynamic.3bb.co.th) (Client Quit)
2021-04-03 02:51:14 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-03 02:51:47 +0200Tario(~Tario@201.192.165.173)
2021-04-03 02:58:20 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-04-03 02:59:11 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 03:02:08 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106)
2021-04-03 03:03:37 +0200conal(~conal@64.71.133.70)
2021-04-03 03:04:20 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Client Quit)
2021-04-03 03:06:19 +0200codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-04-03 03:10:23 +0200jajm1(~jajm@185.204.1.185) (Remote host closed the connection)
2021-04-03 03:11:25 +0200fosterite(~fosterite@2600:6c46:7800:fecf:1dfc:d3e0:fc4:316c)
2021-04-03 03:18:50 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 03:20:47 +0200nighmi(~felix@46.183.103.8) (Ping timeout: 252 seconds)
2021-04-03 03:23:16 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Ping timeout: 258 seconds)
2021-04-03 03:24:00 +0200Ariakenom(~Ariakenom@2001:9b1:efb:fc00:887c:d703:31b0:ee74) (Quit: Leaving)
2021-04-03 03:24:22 +0200fosterite(~fosterite@2600:6c46:7800:fecf:1dfc:d3e0:fc4:316c) ()
2021-04-03 03:24:46 +0200NieDzejkob(~quassel@195.149.98.3) (Ping timeout: 240 seconds)
2021-04-03 03:27:25 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106)
2021-04-03 03:27:29 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 03:33:40 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-04-03 03:33:51 +0200NieDzejkob(~quassel@195.149.98.3)
2021-04-03 03:34:06 +0200hololeap(~hololeap@unaffiliated/hololeap) (Ping timeout: 240 seconds)
2021-04-03 03:37:41 +0200Alleria_(~AllahuAkb@2603-7000-3040-0000-71b7-9570-ff4e-402c.res6.spectrum.com) (Read error: Connection reset by peer)
2021-04-03 03:37:55 +0200Alleria_(~AllahuAkb@2603-7000-3040-0000-e074-3699-e1b9-39a2.res6.spectrum.com)
2021-04-03 03:41:04 +0200psygate(~psygate@unaffiliated/psygate) (Quit: Leaving)
2021-04-03 03:41:05 +0200haritz(~hrtz@unaffiliated/haritz) (Remote host closed the connection)
2021-04-03 03:43:06 +0200codygman`(~user@209.251.131.98) (Ping timeout: 240 seconds)
2021-04-03 03:44:11 +0200waleee-cl(uid373333@gateway/web/irccloud.com/x-ooczpgovlvkkxvue) (Quit: Connection closed for inactivity)
2021-04-03 03:45:32 +0200DTZUZU_(~DTZUZO@207.81.119.43)
2021-04-03 03:46:42 +0200crestfallen(~john@128.32.176.159)
2021-04-03 03:47:37 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2021-04-03 03:47:37 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2021-04-03 03:47:37 +0200haritz(~hrtz@unaffiliated/haritz)
2021-04-03 03:47:39 +0200 <wroathe> I've got a data type that I want to be able to contain Strings, Bytestrings, and Text, and to have functions from that data type to the output string type. I see a ToString typeclass in a package that hardly seems used. Is there a common pattern for setting this up?
2021-04-03 03:47:41 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 240 seconds)
2021-04-03 03:48:19 +0200haritz(~hrtz@unaffiliated/haritz) (Remote host closed the connection)
2021-04-03 03:49:25 +0200xff0x_(~xff0x@2001:1a81:5382:2700:244e:f742:223c:2744)
2021-04-03 03:52:29 +0200 <wroathe> Actually, scratch that.
2021-04-03 03:52:36 +0200hololeap(~hololeap@unaffiliated/hololeap)
2021-04-03 03:52:50 +0200xff0x(~xff0x@port-92-195-84-124.dynamic.as20676.net) (Ping timeout: 260 seconds)
2021-04-03 03:58:06 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds)
2021-04-03 03:59:02 +0200haritz(~hrtz@62.3.70.206)
2021-04-03 03:59:02 +0200haritz(~hrtz@62.3.70.206) (Changing host)
2021-04-03 03:59:02 +0200haritz(~hrtz@unaffiliated/haritz)
2021-04-03 03:59:47 +0200 <wroathe> Ah. This is just fold.
2021-04-03 03:59:48 +0200 <wroathe> :t fold
2021-04-03 03:59:49 +0200 <lambdabot> (Foldable t, Monoid m) => t m -> m
2021-04-03 04:01:55 +0200FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-04-03 04:01:55 +0200finn_elijaGuest18666
2021-04-03 04:01:55 +0200FinnElijafinn_elija
2021-04-03 04:04:49 +0200carlomagno(~cararell@148.87.23.7) (Ping timeout: 265 seconds)
2021-04-03 04:05:33 +0200Guest18666(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
2021-04-03 04:10:10 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Quit: https://quassel-irc.org - Komfortabler Chat. Überall.)
2021-04-03 04:10:20 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106)
2021-04-03 04:10:26 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Client Quit)
2021-04-03 04:11:54 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106)
2021-04-03 04:15:35 +0200caef^(caef@ip98-184-89-2.mc.at.cox.net) ()
2021-04-03 04:20:22 +0200Achylles(~Achylles@2804:431:d725:7a65:e4bb:fb4:b1ea:8d3b) (Read error: Connection reset by peer)
2021-04-03 04:21:24 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-04-03 04:22:42 +0200MononcQc1(~MononcQc@139.28.218.148)
2021-04-03 04:23:38 +0200DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 240 seconds)
2021-04-03 04:23:57 +0200hololeapkicks mconcat
2021-04-03 04:25:05 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 04:26:26 +0200stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-04-03 04:29:41 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 240 seconds)
2021-04-03 04:33:17 +0200nighmi(~felix@46.183.103.8)
2021-04-03 04:33:40 +0200nighmiGuest15978
2021-04-03 04:34:11 +0200Georgia(c634aeb5@198.52.174.181)
2021-04-03 04:35:20 +0200 <Georgia> hey, I have the following function https://paste.tomsmeding.com/bQNEdRJ2 , could someone help me break down this list comprehension?
2021-04-03 04:35:34 +0200xaltsc(~xaltsc@unaffiliated/xaltsc) (Read error: Connection reset by peer)
2021-04-03 04:38:45 +0200drbean_(~drbean@TC210-63-209-201.static.apol.com.tw)
2021-04-03 04:39:14 +0200stree(~stree@68.36.8.116)
2021-04-03 04:42:50 +0200 <hololeap> yeah that's a tricky one
2021-04-03 04:44:06 +0200 <hololeap> you can write it out using a known `xs` and `n` start expanding it out
2021-04-03 04:44:26 +0200 <hololeap> like, draw [1..10] 2 = ...
2021-04-03 04:46:12 +0200andi-(~andi-@NixOS/user/andi-) (Remote host closed the connection)
2021-04-03 04:50:40 +0200andi-(~andi-@NixOS/user/andi-)
2021-04-03 04:51:09 +0200 <hololeap> :t tails [1..10]
2021-04-03 04:51:10 +0200 <lambdabot> (Num a, Enum a) => [[a]]
2021-04-03 04:51:14 +0200 <hololeap> > tails [1..10]
2021-04-03 04:51:15 +0200 <lambdabot> [[1,2,3,4,5,6,7,8,9,10],[2,3,4,5,6,7,8,9,10],[3,4,5,6,7,8,9,10],[4,5,6,7,8,9...
2021-04-03 04:51:36 +0200carlomagno(~cararell@148.87.23.10)
2021-04-03 04:52:46 +0200 <Georgia> Trying to run it through
2021-04-03 04:52:52 +0200 <Georgia> I'm confused by a few parts;
2021-04-03 04:53:08 +0200 <hololeap> it's taking the first item from each inner list as t0, then doing essentially a cartisian product with `tails t (n-1)` which then does a cartesian product with `tails t (n-2)`. these cartesian products are glued together with ':' forming a list of lists
2021-04-03 04:53:09 +0200 <Georgia> mostly this t@(t0:_) <- tails xs
2021-04-03 04:53:29 +0200 <hololeap> not sure i can explain it much better than that
2021-04-03 04:53:31 +0200howdoi(uid224@gateway/web/irccloud.com/x-qztqtupywnelzqgw) (Quit: Connection closed for inactivity)
2021-04-03 04:54:03 +0200 <hololeap> s/tails t/draw t/
2021-04-03 04:54:35 +0200 <Georgia> what does the t@(t0:_) refer to? each of the tails outputs?
2021-04-03 04:54:40 +0200 <Georgia> specifically the t
2021-04-03 04:55:37 +0200 <hololeap> > let t@(t0:_) = [1,2,3,4]
2021-04-03 04:55:39 +0200 <lambdabot> <no location info>: error:
2021-04-03 04:55:39 +0200 <lambdabot> not an expression: ‘let t@(t0:_) = [1,2,3,4]’
2021-04-03 04:56:10 +0200 <hololeap> > let t@(t0:_) = [1,2,3,4] in (t, t0)
2021-04-03 04:56:10 +0200 <hololeap> ?
2021-04-03 04:56:11 +0200 <lambdabot> ([1,2,3,4],1)
2021-04-03 04:56:25 +0200 <Georgia> <- does this arrow feed in each of the elements of the tails result?
2021-04-03 04:57:14 +0200theDon(~td@muedsl-82-207-238-162.citykom.de) (Ping timeout: 260 seconds)
2021-04-03 04:57:25 +0200 <Georgia> I'm not sure I understand how you came to the conclusion that it does a cartesian product of the two groups
2021-04-03 04:57:45 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-04-03 04:57:47 +0200 <hololeap> it takes a value from the list and applies it to the variable on the left side of <- and evaluates the expression. then it does this for every other element of the list on the right side of <-
2021-04-03 04:58:19 +0200 <Georgia> and it does this crossed with rest <- ...
2021-04-03 04:58:26 +0200 <Georgia> as per t0:rest
2021-04-03 04:58:34 +0200 <Georgia> hence the cartesian product?
2021-04-03 04:58:42 +0200theDon(~td@muedsl-82-207-238-112.citykom.de)
2021-04-03 04:59:00 +0200 <hololeap> hm, do you understand the list monad? this might be hard to grasp without understanding that
2021-04-03 04:59:34 +0200 <hololeap> list comprehensions are the same as a `do` block in the list monad
2021-04-03 04:59:39 +0200 <hololeap> here's an example
2021-04-03 04:59:57 +0200FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-04-03 04:59:57 +0200finn_elijaGuest22848
2021-04-03 04:59:57 +0200FinnElijafinn_elija
2021-04-03 05:00:22 +0200 <hololeap> > do x <- [1,2,3] ; y <- [4,5,6] ; return (x,y)
2021-04-03 05:00:23 +0200 <lambdabot> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]
2021-04-03 05:00:44 +0200 <hololeap> and the same thing as a list comprehension
2021-04-03 05:00:51 +0200 <hololeap> > [(x,y) | x <- [1,2,3], y <- [4,5,6]]
2021-04-03 05:00:52 +0200 <lambdabot> [(1,4),(1,5),(1,6),(2,4),(2,5),(2,6),(3,4),(3,5),(3,6)]
2021-04-03 05:01:03 +0200 <Georgia> I'm not very familiar with Haskell, which is why I cam here
2021-04-03 05:01:26 +0200 <Georgia> I see
2021-04-03 05:02:21 +0200 <hololeap> that function you're trying to understand is tricky because it is self-referencing
2021-04-03 05:02:33 +0200 <Georgia> But we get t from the tails xs call, so rest is derived from that as well?
2021-04-03 05:02:45 +0200 <Georgia> that and the recursive aspect are making it difficult for a beginner like myself
2021-04-03 05:03:06 +0200 <hololeap> i had to run it to understand how it functioned :)
2021-04-03 05:03:09 +0200Guest22848(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds)
2021-04-03 05:03:21 +0200 <hololeap> so it might not be the best thing to start out with
2021-04-03 05:03:39 +0200 <Georgia> It was part of a pretty simple iterative problem
2021-04-03 05:04:23 +0200 <Georgia> The problem was to derive the minimum number of coins that could be used to make change given an amount and coin values
2021-04-03 05:04:27 +0200hexfive(~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
2021-04-03 05:04:49 +0200 <Georgia> I tried using DP and found this solution, which is when I showed up here :p
2021-04-03 05:05:06 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net)
2021-04-03 05:05:22 +0200 <hololeap> what is DP?
2021-04-03 05:05:26 +0200 <Georgia> dynamic programming
2021-04-03 05:05:55 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-04-03 05:06:19 +0200 <Georgia> when you say it's self referencing do you mean the recursion?
2021-04-03 05:07:13 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-04-03 05:08:26 +0200dsrt^(dsrt@ip98-184-89-2.mc.at.cox.net)
2021-04-03 05:08:35 +0200conal(~conal@64.71.133.70)
2021-04-03 05:09:02 +0200 <hololeap> right, it calls `rest` from inside the definition of `rest`
2021-04-03 05:09:31 +0200 <hololeap> and it's leveraging the list monad, so it's kind of hard to grok
2021-04-03 05:09:32 +0200 <Georgia> did you mean draw from draw?
2021-04-03 05:09:42 +0200 <hololeap> sorry, yes i did mean that
2021-04-03 05:09:45 +0200 <Georgia> all good
2021-04-03 05:09:52 +0200 <Georgia> which part is "the list monad"
2021-04-03 05:10:03 +0200 <Georgia> I have to be honest and say I don't grok monads at all yet
2021-04-03 05:10:59 +0200 <Georgia> also at the base case of n = 0, we see that draw returns an empty array
2021-04-03 05:11:12 +0200 <Georgia> so nothing gets appended to the t0 at that point?
2021-04-03 05:11:43 +0200 <hololeap> t0 doesn't even get named in that case. it just returns [[]]
2021-04-03 05:12:10 +0200 <Georgia> Ah I meant in the case before it
2021-04-03 05:12:18 +0200 <hololeap> the list monad can combine elements of multiple lists and it behaves like a cartesian product
2021-04-03 05:12:32 +0200 <Georgia> inside of the list comprehension, we end once draw t (n-1) is called with n = 1
2021-04-03 05:12:36 +0200 <hololeap> for instance, earlier i gave the example of [(x,y) | x <- [1,2,3], y <- [4,5,6]]
2021-04-03 05:13:07 +0200 <hololeap> but i don't have to use (x,y) there, i could use any function on x and y and it would behave the way you would expect
2021-04-03 05:13:10 +0200 <Georgia> but there is some `tails xs` related to it right
2021-04-03 05:13:12 +0200 <Georgia> mhm
2021-04-03 05:13:52 +0200 <hololeap> in this case, the second list is computed from `draw xs (n-1)`
2021-04-03 05:14:50 +0200 <Georgia> yeah
2021-04-03 05:15:26 +0200 <hololeap> the first list ends up being just the list itself, since it is taking the first element from each inner list of `tails`
2021-04-03 05:15:55 +0200 <hololeap> but it is passing the list of lists that `tails` generates to `draw` as the variable `t`
2021-04-03 05:16:03 +0200 <Georgia> right
2021-04-03 05:16:03 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2021-04-03 05:16:18 +0200 <hololeap> therefore... it's confusing and i'm honestly having a bit of trouble with it
2021-04-03 05:16:21 +0200 <hololeap> :)
2021-04-03 05:16:21 +0200 <Georgia> and this keeps fragmenting out / breaking into more branches until we call draw _ 0
2021-04-03 05:16:33 +0200 <Georgia> at which point the empty list is returned
2021-04-03 05:16:39 +0200 <Georgia> or list of an empty list
2021-04-03 05:16:50 +0200 <Georgia> which is appended to each branch
2021-04-03 05:16:56 +0200 <Georgia> and we get a resulting string
2021-04-03 05:17:06 +0200 <Georgia> How on Earth did someone come up with this
2021-04-03 05:17:27 +0200 <hololeap> oh, no
2021-04-03 05:17:27 +0200 <Georgia> Thanks for the help
2021-04-03 05:17:31 +0200 <Georgia> Oh?
2021-04-03 05:17:40 +0200 <hololeap> t isn't the list of lists that `tails` generates
2021-04-03 05:17:48 +0200 <Georgia> t is an element from it
2021-04-03 05:17:59 +0200 <Georgia> and we call draw on each of those elements?
2021-04-03 05:18:12 +0200 <hololeap> right, it corresponds with the _current_ list that is currently being "pointed" to
2021-04-03 05:18:18 +0200 <Georgia> mhm
2021-04-03 05:18:25 +0200 <Georgia> so we have some branching
2021-04-03 05:19:07 +0200 <Georgia> for each "tail", we get the first element of the tail and then append the call to (draw tail, (n - 1))
2021-04-03 05:20:29 +0200 <Georgia> What I'm now trying to understand is why tails is called but only the first element is taken from it
2021-04-03 05:21:01 +0200 <Georgia> is that done to iterate over each element in the list??
2021-04-03 05:21:43 +0200 <Georgia> at the same time as calling draw on its tails, I guess
2021-04-03 05:27:10 +0200XorSwap(~me@wnpgmb016qw-ds01-123-1.dynamic.bellmts.net)
2021-04-03 05:29:22 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-04-03 05:29:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 05:30:47 +0200 <hololeap> take `draw [1,2,3] 2` for example
2021-04-03 05:30:59 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Read error: Connection reset by peer)
2021-04-03 05:31:09 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-03 05:31:36 +0200 <hololeap> it appends 1 to `draw [1,2,3] 1` which appends `1 : 1` to draw [1,2,3] 0` which ends up with [1,1]
2021-04-03 05:32:13 +0200 <hololeap> then it appends 1 to `draw [2,3] 1` which appends `1 : 2` to `draw [2,3] 0` which ends up being [1,2]
2021-04-03 05:32:24 +0200 <hololeap> and so on
2021-04-03 05:33:27 +0200 <hololeap> it starts over at `2 : draw [2,3] 1` at some point giving [2,2] and [2,3]
2021-04-03 05:34:43 +0200 <hololeap> finally starting over at `3 : draw [3] 1` giving the last result of [3,3]
2021-04-03 05:34:59 +0200carlomagno(~cararell@148.87.23.10) (Ping timeout: 252 seconds)
2021-04-03 05:35:01 +0200 <Georgia> I got it
2021-04-03 05:35:06 +0200 <Georgia> Drew it out on some paper
2021-04-03 05:35:10 +0200 <Georgia> thanks!
2021-04-03 05:35:21 +0200 <hololeap> np! like i said, tricky :)
2021-04-03 05:37:34 +0200ajc(~ajc@69.231.232.79) (Remote host closed the connection)
2021-04-03 05:37:58 +0200ajc(~ajc@69.231.232.79)
2021-04-03 05:40:37 +0200conal(~conal@64.71.133.70)
2021-04-03 05:42:19 +0200chenin(bab724b4@186.183.36.180)
2021-04-03 05:44:09 +0200ericsagn1(~ericsagne@2405:6580:0:5100:38ef:e5ed:8c96:cda5) (Ping timeout: 246 seconds)
2021-04-03 05:45:37 +0200Guest15978(~felix@46.183.103.8) (Quit: WeeChat 3.0.1)
2021-04-03 05:45:56 +0200carlomagno(~cararell@148.87.23.11)
2021-04-03 05:46:50 +0200tpefreedom(627dbde6@98.125.189.230)
2021-04-03 05:47:58 +0200crestfallen(~john@128.32.176.159) (Ping timeout: 240 seconds)
2021-04-03 05:53:08 +0200Georgia(c634aeb5@198.52.174.181) (Quit: Connection closed)
2021-04-03 05:55:46 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-03 05:57:21 +0200ericsagn1(~ericsagne@2405:6580:0:5100:d0a0:d77a:4eaa:16c)
2021-04-03 06:02:36 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2021-04-03 06:03:05 +0200jpds(~jpds@gateway/tor-sasl/jpds)
2021-04-03 06:04:09 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-04-03 06:26:30 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 06:29:23 +0200motilio(~motilio@189.162.152.162)
2021-04-03 06:29:27 +0200gienah(~mwright@gentoo/developer/gienah) (Read error: Connection reset by peer)
2021-04-03 06:30:25 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-04-03 06:31:17 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 268 seconds)
2021-04-03 06:32:23 +0200alx741(~alx741@181.196.68.6) (Quit: alx741)
2021-04-03 06:34:31 +0200virmaha(43a131fc@c-67-161-49-252.hsd1.ca.comcast.net)
2021-04-03 06:35:13 +0200chenin(bab724b4@186.183.36.180) ()
2021-04-03 06:36:11 +0200 <virmaha> Hello, I recently read few articles about functional programming and loved the ideas presented. I am primarily a c++ programmer and I was confused how to apply or think about functional logic
2021-04-03 06:36:38 +0200 <virmaha> in scenario like follows :
2021-04-03 06:37:48 +0200 <virmaha> I run a thread which pings all my classes every 1 minutes. On each ping, each class will run some logic. But at random intervals, I've to give "events" to these classes
2021-04-03 06:37:57 +0200 <virmaha> and the classes will respond to those events in their own way
2021-04-03 06:38:10 +0200 <virmaha> how to go about such dynamic scenarios? Can someone guide?
2021-04-03 06:39:37 +0200 <sm[m]> Probably you'd use the async package to manage your threads
2021-04-03 06:40:04 +0200 <virmaha> sm[m] : all my code is in c++ but I want high level ideas about formulating the logic/design
2021-04-03 06:42:36 +0200 <sm[m]> Your main thread forks a bunch of children ? Then loops sending one minute pings and random events to them all ?
2021-04-03 06:42:46 +0200dyeplexer(~lol@unaffiliated/terpin)
2021-04-03 06:45:14 +0200 <virmaha> currently, it holds instances of class in vector and iterates over them
2021-04-03 06:47:06 +0200stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-03 06:47:23 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 06:47:38 +0200vicfred_(vicfred@gateway/vpn/mullvad/vicfred)
2021-04-03 06:49:41 +0200solvr(57e3c46d@87.227.196.109)
2021-04-03 06:49:58 +0200vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Ping timeout: 240 seconds)
2021-04-03 06:50:56 +0200pie_(~pie_bnc]@unaffiliated/pie-/x-0787662) (Read error: Connection reset by peer)
2021-04-03 06:51:13 +0200vicfred_(vicfred@gateway/vpn/mullvad/vicfred) (Client Quit)
2021-04-03 06:51:59 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-04-03 06:52:04 +0200gienah(~mwright@gentoo/developer/gienah)
2021-04-03 06:53:13 +0200pie_(~pie_bnc]@unaffiliated/pie-/x-0787662)
2021-04-03 06:53:59 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-04-03 06:54:35 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-04-03 06:55:19 +0200bitmapper(uid464869@gateway/web/irccloud.com/x-nbhjseffckoxomyo) (Quit: Connection closed for inactivity)
2021-04-03 06:56:11 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-04-03 06:57:15 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-04-03 06:57:43 +0200vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-04-03 06:59:41 +0200stree(~stree@68.36.8.116)
2021-04-03 07:02:54 +0200solvr(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-04-03 07:03:04 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:543a:a17f:f67d:8caf) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-03 07:13:22 +0200Stuff(2f935245@47.147.82.69)
2021-04-03 07:13:38 +0200Stuff(2f935245@47.147.82.69) (Client Quit)
2021-04-03 07:15:01 +0200Poyo[m](stikynotha@gateway/shell/matrix.org/x-zqknqggecavokhat)
2021-04-03 07:15:23 +0200motilio(~motilio@189.162.152.162) (Remote host closed the connection)
2021-04-03 07:20:02 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Remote host closed the connection)
2021-04-03 07:23:27 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Quit: rcirc on GNU Emacs 27.2)
2021-04-03 07:24:14 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-04-03 07:29:18 +0200gienah(~mwright@gentoo/developer/gienah) (Read error: No route to host)
2021-04-03 07:31:20 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 07:31:20 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-03 07:31:50 +0200Tario(~Tario@201.192.165.173)
2021-04-03 07:33:45 +0200tpefreedom(627dbde6@98.125.189.230) ()
2021-04-03 07:35:53 +0200XorSwap(~me@wnpgmb016qw-ds01-123-1.dynamic.bellmts.net) (Quit: Leaving)
2021-04-03 07:37:16 +0200DTZUZU_(~DTZUZO@207.81.119.43)
2021-04-03 07:37:55 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-04-03 07:39:39 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 252 seconds)
2021-04-03 07:41:11 +0200gienah(~mwright@gentoo/developer/gienah)
2021-04-03 07:42:39 +0200kiweun(~kiweun@2607:fea8:2a62:9600:b854:1b9f:904d:9c7b) (Remote host closed the connection)
2021-04-03 07:44:31 +0200kiweun(~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
2021-04-03 07:45:47 +0200kiweun(~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Read error: Connection reset by peer)
2021-04-03 07:46:40 +0200kiweun(~kiweun@2607:fea8:2a62:9600:e46e:4237:b0fa:b308)
2021-04-03 07:47:22 +0200carlomagno(~cararell@148.87.23.11) (Quit: Leaving.)
2021-04-03 07:49:07 +0200Wuzzy(~Wuzzy@p57a2fb8a.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-04-03 07:51:14 +0200kiweun(~kiweun@2607:fea8:2a62:9600:e46e:4237:b0fa:b308) (Ping timeout: 258 seconds)
2021-04-03 07:53:28 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net) (Quit: leaving)
2021-04-03 07:54:11 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-04-03 07:56:41 +0200DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 240 seconds)
2021-04-03 07:56:45 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 07:57:57 +0200 <hololeap> virmaha: just because it's a different paradigm doesn't mean your program will be written automatically for you. you still have to write it.
2021-04-03 08:00:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 08:00:41 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 08:00:45 +0200 <hololeap> if you are looking for a library that handles that exact use case, i don't know of one. there are various libraries for writing concurrent programs. from low level ones like async, to higher level ones which require some training such as the frp libraries
2021-04-03 08:02:57 +0200 <koz_> It's also worth noting that there isn't a One True Way to do this in Haskell-land either.
2021-04-03 08:03:06 +0200 <koz_> Even among FRP there's considerable diversity of opinion.
2021-04-03 08:03:52 +0200danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009) (Quit: WeeChat 3.0)
2021-04-03 08:04:09 +0200danso(~dan@2001:1970:52e7:d000:96b8:6dff:feb3:c009)
2021-04-03 08:06:52 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 268 seconds)
2021-04-03 08:12:44 +0200 <hololeap> virmaha: you can set up the problem in types, which is higher level than what c++ allows. it would be necessary to understand the problem in greater detail in order to guide you further
2021-04-03 08:13:39 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-04-03 08:17:23 +0200 <hololeap> at the most basic level, i forsee something like: `data MyLogic logic = PeriodicEvent logic | RandomEvent (Event -> logic)` and then you program the logic when to run each branch separately
2021-04-03 08:21:04 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-03 08:25:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 08:25:42 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-04-03 08:26:21 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-04-03 08:26:45 +0200vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-04-03 08:29:07 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-04-03 08:30:54 +0200rdivyanshu(uid322626@gateway/web/irccloud.com/x-mnwzpqytfzkwgumq)
2021-04-03 08:32:35 +0200sMuNiX(~sMuNiX@lnsm2-montreal02-142-118-236-120.internet.virginmobile.ca) (Ping timeout: 265 seconds)
2021-04-03 08:34:15 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-04-03 08:34:42 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-04-03 08:38:02 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-04-03 08:39:57 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 08:43:38 +0200aryakirandate(31cf8fd5@49.207.143.213)
2021-04-03 08:43:58 +0200aryakirandate(31cf8fd5@49.207.143.213) (Client Quit)
2021-04-03 08:47:15 +0200__minoru__shirae(~shiraeesh@77.94.25.131)
2021-04-03 08:50:01 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Ping timeout: 268 seconds)
2021-04-03 08:52:26 +0200Tario(~Tario@201.192.165.173) (Ping timeout: 260 seconds)
2021-04-03 08:57:03 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Quit: Leaving)
2021-04-03 08:57:46 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-03 08:58:32 +0200solvr(57e3c46d@87.227.196.109)
2021-04-03 08:59:39 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 09:00:01 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-04-03 09:01:41 +0200motersen(~motersen@gateway/tor-sasl/motersen) (Remote host closed the connection)
2021-04-03 09:04:39 +0200Guest95177(~micro@a9.lence.net) (Quit: leaving)
2021-04-03 09:04:52 +0200micro(~micro@unaffiliated/micro)
2021-04-03 09:06:15 +0200micro(~micro@unaffiliated/micro) (Client Quit)
2021-04-03 09:07:46 +0200stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-04-03 09:10:16 +0200micro(~micro@unaffiliated/micro)
2021-04-03 09:10:16 +0200motersen(~motersen@gateway/tor-sasl/motersen)
2021-04-03 09:10:38 +0200Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 240 seconds)
2021-04-03 09:15:21 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-03 09:16:16 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 09:18:13 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Remote host closed the connection)
2021-04-03 09:21:02 +0200stree(~stree@68.36.8.116)
2021-04-03 09:23:20 +0200DTZUZU_(~DTZUZO@207.81.119.43)
2021-04-03 09:23:55 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2021-04-03 09:25:08 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 258 seconds)
2021-04-03 09:25:45 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 265 seconds)
2021-04-03 09:29:11 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-03 09:30:54 +0200dyeplexer(~lol@unaffiliated/terpin) (Quit: Leaving)
2021-04-03 09:32:30 +0200motersen(~motersen@gateway/tor-sasl/motersen) (Remote host closed the connection)
2021-04-03 09:32:38 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-04-03 09:32:45 +0200motersen(~motersen@gateway/tor-sasl/motersen)
2021-04-03 09:33:18 +0200jpds1(~jpds@gateway/tor-sasl/jpds)
2021-04-03 09:33:41 +0200__minoru__shirae(~shiraeesh@77.94.25.131) (Ping timeout: 240 seconds)
2021-04-03 09:33:57 +0200jpds(~jpds@gateway/tor-sasl/jpds) (Ping timeout: 240 seconds)
2021-04-03 09:35:45 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-04-03 09:39:01 +0200anandprabhu(~anand@94.203.250.121) (Quit: Konversation terminated!)
2021-04-03 09:40:15 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 265 seconds)
2021-04-03 09:42:27 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 09:44:06 +0200plutoniix(~q@ppp-223-24-92-147.revip6.asianet.co.th)
2021-04-03 09:45:10 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 09:46:17 +0200__minoru__shirae(~shiraeesh@77.94.25.131)
2021-04-03 09:47:37 +0200solvr(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-04-03 09:48:34 +0200pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-04-03 09:51:13 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-04-03 09:56:44 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2021-04-03 09:57:34 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-03 09:57:41 +0200Kaiepi(~Kaiepi@47.54.252.148) (Ping timeout: 240 seconds)
2021-04-03 10:00:16 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Quit: Leaving)
2021-04-03 10:02:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 10:02:16 +0200kiweun(~kiweun@2607:fea8:2a62:9600:a935:2150:7e71:3e8c)
2021-04-03 10:04:06 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 10:04:46 +0200__minoru__shirae(~shiraeesh@77.94.25.131) (Ping timeout: 260 seconds)
2021-04-03 10:05:35 +0200__minoru__shirae(~shiraeesh@77.94.25.131)
2021-04-03 10:06:07 +0200Kaiepi(~Kaiepi@47.54.252.148)
2021-04-03 10:06:55 +0200kiweun(~kiweun@2607:fea8:2a62:9600:a935:2150:7e71:3e8c) (Ping timeout: 258 seconds)
2021-04-03 10:07:26 +0200hendursa1(~weechat@gateway/tor-sasl/hendursaga)
2021-04-03 10:08:48 +0200Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-04-03 10:08:58 +0200plutoniix(~q@ppp-223-24-92-147.revip6.asianet.co.th) (Ping timeout: 260 seconds)
2021-04-03 10:09:33 +0200hendursaga(~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds)
2021-04-03 10:12:22 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 10:17:05 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 10:17:18 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-03 10:17:18 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 240 seconds)
2021-04-03 10:18:18 +0200 <molehillish> what's the difference between a and t as type variables?
2021-04-03 10:18:30 +0200 <olligobber> nothing
2021-04-03 10:18:41 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 10:18:54 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-04-03 10:19:22 +0200 <tomsmeding> one is called 'a', one is called 't' :)
2021-04-03 10:20:44 +0200plutoniix(~q@184.82.197.170)
2021-04-03 10:22:27 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 252 seconds)
2021-04-03 10:24:15 +0200fendor(~fendor@77.119.130.232.wireless.dyn.drei.com)
2021-04-03 10:25:00 +0200rajivr(uid269651@gateway/web/irccloud.com/x-zgtmdnbpyvmvjqtw)
2021-04-03 10:27:51 +0200virmaha(43a131fc@c-67-161-49-252.hsd1.ca.comcast.net) (Quit: Connection closed)
2021-04-03 10:31:31 +0200notzmv(~zmv@unaffiliated/zmv) (Read error: Connection reset by peer)
2021-04-03 10:31:56 +0200Narinas(~Narinas@187-178-93-112.dynamic.axtel.net)
2021-04-03 10:33:20 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-04-03 10:34:41 +0200__minoru__shirae(~shiraeesh@77.94.25.131) (Ping timeout: 240 seconds)
2021-04-03 10:35:03 +0200ania123(5e89ad7c@94.137.173.124)
2021-04-03 10:42:02 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-03 10:48:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-04-03 10:51:44 +0200jneira(501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182) (Quit: Connection closed)
2021-04-03 10:55:09 +0200DavidEichmann(~david@47.27.93.209.dyn.plus.net)
2021-04-03 10:59:53 +0200xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Ping timeout: 246 seconds)
2021-04-03 11:00:07 +0200shieru[m](shierualet@gateway/shell/matrix.org/x-xqebitkoctqsqrrq) (Quit: Idle for 30+ days)
2021-04-03 11:00:11 +0200rdivyanshu(uid322626@gateway/web/irccloud.com/x-mnwzpqytfzkwgumq) (Quit: Connection closed for inactivity)
2021-04-03 11:01:12 +0200xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
2021-04-03 11:02:28 +0200waleee-cl(uid373333@gateway/web/irccloud.com/x-hgimmdjguzsfapni)
2021-04-03 11:04:07 +0200coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl)
2021-04-03 11:05:47 +0200 <molehillish> why ghci uses different names for it?
2021-04-03 11:05:54 +0200Varis(~Tadas@unaffiliated/varis)
2021-04-03 11:06:45 +0200OCCASVS(~occasus@unaffiliated/occasvs)
2021-04-03 11:06:58 +0200 <Rembane> molehillish: Do you have an example?
2021-04-03 11:07:11 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Ping timeout: 240 seconds)
2021-04-03 11:07:41 +0200 <Uniaika> maerwald: your certificate has expired for https://files.hasufell.de/jule/abstract-filepath/AbstractFilePath.html
2021-04-03 11:08:01 +0200 <maerwald> so sad
2021-04-03 11:08:02 +0200 <tomsmeding> molehillish: ghc decides what type variable name to use based on heuristics. It tries to choose names that are similar to those used in the original source code, but due to collisions, or type inference, that can't always work
2021-04-03 11:09:55 +0200 <tomsmeding> so there is usually a reason why it chooses one type variable name over another, but that reason is usually, if not always, completely unimportant
2021-04-03 11:12:49 +0200dinciorip(~dincio@62.19.207.211)
2021-04-03 11:12:59 +0200dinciorip(~dincio@62.19.207.211) (Client Quit)
2021-04-03 11:13:14 +0200dinciorip(~dincio@62.19.207.211)
2021-04-03 11:14:18 +0200 <molehillish> this was from a haskell book
2021-04-03 11:14:31 +0200 <molehillish> swap (x,y) = (y,x)
2021-04-03 11:14:43 +0200 <molehillish> :t swap
2021-04-03 11:14:44 +0200 <lambdabot> (a, b) -> (b, a)
2021-04-03 11:14:49 +0200 <molehillish> swap :: (b, a) -> (a, b)
2021-04-03 11:15:03 +0200 <molehillish> then
2021-04-03 11:15:04 +0200 <molehillish> twice f x = f (f x)
2021-04-03 11:15:10 +0200 <molehillish> :t twice
2021-04-03 11:15:11 +0200 <lambdabot> error: Variable not in scope: twice
2021-04-03 11:15:20 +0200 <tomsmeding> > twice f x = f (f x)
2021-04-03 11:15:21 +0200 <molehillish> twice :: (t -> t) -> t -> t
2021-04-03 11:15:22 +0200 <lambdabot> <hint>:1:11: error: <hint>:1:11: error: parse error on input ‘=’
2021-04-03 11:15:23 +0200 <tomsmeding> :t twice
2021-04-03 11:15:24 +0200 <lambdabot> error: Variable not in scope: twice
2021-04-03 11:15:33 +0200 <tomsmeding> @def twice f x = f (f x)
2021-04-03 11:15:34 +0200 <lambdabot> Defined.
2021-04-03 11:15:34 +0200 <tomsmeding> :t twice
2021-04-03 11:15:35 +0200 <lambdabot> (t -> t) -> t -> t
2021-04-03 11:15:52 +0200 <tomsmeding> yeah that choice is completely arbitrary
2021-04-03 11:15:52 +0200 <Uniaika> maerwald: I'm going to send you an email with my feedback on AbstractFilePath
2021-04-03 11:16:04 +0200 <maerwald> cool
2021-04-03 11:16:09 +0200 <tomsmeding> :t (\(x,y) -> (y,x), \f x -> f (f x))
2021-04-03 11:16:10 +0200 <lambdabot> ((b, a) -> (a, b), (t -> t) -> t -> t)
2021-04-03 11:16:24 +0200 <tomsmeding> molehillish: makes no difference whatsoever
2021-04-03 11:16:57 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-03 11:17:10 +0200 <molehillish> but I'm wondering where in ghci does it decide "oh, Imma use t for that one"
2021-04-03 11:17:32 +0200 <molehillish> sorry, I know it's a trivial question
2021-04-03 11:20:21 +0200 <molehillish> double x = 2*x
2021-04-03 11:20:25 +0200 <molehillish> double 3
2021-04-03 11:20:34 +0200 <molehillish> :t double
2021-04-03 11:20:35 +0200 <lambdabot> Double -> Doc
2021-04-03 11:20:51 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Remote host closed the connection)
2021-04-03 11:21:49 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 11:22:19 +0200jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-04-03 11:27:41 +0200 <Uniaika> maerwald: email sent!
2021-04-03 11:27:47 +0200 <Uniaika> I picked the address on your GH profile
2021-04-03 11:28:53 +0200maerwaldlooks around frantically
2021-04-03 11:29:04 +0200 <Uniaika> :-D
2021-04-03 11:29:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 11:29:11 +0200stree(~stree@68.36.8.116) (Ping timeout: 252 seconds)
2021-04-03 11:29:39 +0200 <Uniaika> alright, time to remove "replying to maerwald" from my TODO list
2021-04-03 11:30:06 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 240 seconds)
2021-04-03 11:30:27 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Ping timeout: 265 seconds)
2021-04-03 11:30:38 +0200ania123(5e89ad7c@94.137.173.124) (Quit: Connection closed)
2021-04-03 11:32:34 +0200coot(~coot@37.30.55.131.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-04-03 11:38:17 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-04-03 11:41:40 +0200stree(~stree@68.36.8.116)
2021-04-03 11:42:36 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection)
2021-04-03 11:42:43 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 11:42:46 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 260 seconds)
2021-04-03 11:44:54 +0200doraemon(~doraemon@117.222.65.84)
2021-04-03 11:45:05 +0200jakalx(~jakalx@base.jakalx.net)
2021-04-03 11:45:59 +0200doraemonglaceon
2021-04-03 11:47:06 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-04-03 11:48:25 +0200mnrmnaugh(~mnrmnaugh@unaffiliated/mnrmnaugh)
2021-04-03 11:50:27 +0200idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Quit: Leaving)
2021-04-03 11:52:11 +0200mkDoku(~TheMule@aftr-37-201-195-134.unity-media.net)
2021-04-03 11:53:34 +0200jneira(501e65b6@gateway/web/cgi-irc/kiwiirc.com/ip.80.30.101.182)
2021-04-03 11:55:28 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-04-03 11:56:37 +0200son0p(~son0p@181.58.39.182)
2021-04-03 12:00:27 +0200Rudd0(~Rudd0@185.189.115.108)
2021-04-03 12:01:33 +0200ericsagn1(~ericsagne@2405:6580:0:5100:d0a0:d77a:4eaa:16c) (Ping timeout: 258 seconds)
2021-04-03 12:03:05 +0200kiweun(~kiweun@2607:fea8:2a62:9600:99a:3505:39db:7ed4)
2021-04-03 12:03:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-04-03 12:04:42 +0200vchlup(~vchlup@115.128.broadband17.iol.cz) (Ping timeout: 260 seconds)
2021-04-03 12:07:40 +0200kiweun(~kiweun@2607:fea8:2a62:9600:99a:3505:39db:7ed4) (Ping timeout: 258 seconds)
2021-04-03 12:13:21 +0200 <tomsmeding> :i double
2021-04-03 12:13:33 +0200ericsagn1(~ericsagne@2405:6580:0:5100:4487:11af:62b0:68c1)
2021-04-03 12:13:39 +0200 <tomsmeding> where even does lambdabot get that Doc function from
2021-04-03 12:14:20 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 12:14:22 +0200 <tomsmeding> template-haskell presumably
2021-04-03 12:14:30 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 12:19:05 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-04-03 12:21:04 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 12:24:18 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Client Quit)
2021-04-03 12:25:09 +0200Vazomi(~Vazomi@i100135.upc-i.chello.nl)
2021-04-03 12:25:24 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 12:26:37 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Client Quit)
2021-04-03 12:27:00 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 12:30:10 +0200Vazomi(~Vazomi@i100135.upc-i.chello.nl) ("Leaving")
2021-04-03 12:30:21 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 12:31:26 +0200proteusguy(~proteusgu@cm-58-10-155-117.revip7.asianet.co.th) (Ping timeout: 240 seconds)
2021-04-03 12:33:19 +0200notzmv(~zmv@unaffiliated/zmv)
2021-04-03 12:34:04 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 252 seconds)
2021-04-03 12:34:26 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2021-04-03 12:39:18 +0200geowiesnot(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-03 12:44:52 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-04-03 12:45:37 +0200proteusguy(~proteusgu@cm-58-10-155-117.revip7.asianet.co.th)
2021-04-03 12:47:47 +0200 <kaol> :t sum . (toList <=< toList <=< toList <=< toList) -- Just something I wrote in my code. A few Foldables.
2021-04-03 12:47:48 +0200 <lambdabot> error:
2021-04-03 12:47:48 +0200 <lambdabot> Ambiguous occurrence ‘toList’
2021-04-03 12:47:48 +0200 <lambdabot> It could refer to
2021-04-03 12:49:24 +0200MononcQc1(~MononcQc@139.28.218.148) (Remote host closed the connection)
2021-04-03 12:51:32 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 246 seconds)
2021-04-03 12:54:24 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net)
2021-04-03 12:55:45 +0200globulis(~globulis@5.169.37.150)
2021-04-03 13:00:23 +0200globulis(~globulis@5.169.37.150) (Ping timeout: 268 seconds)
2021-04-03 13:00:28 +0200Guest86(7816cef5@gateway/web/cgi-irc/kiwiirc.com/ip.120.22.206.245)
2021-04-03 13:00:47 +0200Guest86(7816cef5@gateway/web/cgi-irc/kiwiirc.com/ip.120.22.206.245) (Client Quit)
2021-04-03 13:01:07 +0200Guest86(7816cef5@gateway/web/cgi-irc/kiwiirc.com/ip.120.22.206.245)
2021-04-03 13:01:37 +0200Guest86(7816cef5@gateway/web/cgi-irc/kiwiirc.com/ip.120.22.206.245) (Client Quit)
2021-04-03 13:02:28 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-03 13:05:50 +0200Boarders(sid425905@gateway/web/irccloud.com/x-xqjyeydcfwqgozcn) (Quit: Connection closed for inactivity)
2021-04-03 13:15:06 +0200berberman_(~berberman@unaffiliated/berberman)
2021-04-03 13:15:40 +0200berberman(~berberman@unaffiliated/berberman) (Ping timeout: 246 seconds)
2021-04-03 13:16:38 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 240 seconds)
2021-04-03 13:16:57 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-04-03 13:18:23 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-03 13:18:37 +0200madjestic(~madjestic@86-88-72-244.fixed.kpn.net) (Remote host closed the connection)
2021-04-03 13:18:38 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-03 13:18:43 +0200__minoru__shirae(~shiraeesh@77.94.25.131)
2021-04-03 13:19:26 +0200acidjnk_new(~acidjnk@p200300d0c72b951985afe8c678129748.dip0.t-ipconnect.de)
2021-04-03 13:20:54 +0200stickrobot(5ac5e387@90.197.227.135)
2021-04-03 13:23:57 +0200justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 258 seconds)
2021-04-03 13:24:44 +0200stickrobot(5ac5e387@90.197.227.135) ()
2021-04-03 13:31:18 +0200conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2021-04-03 13:32:46 +0200perdent(~perdent@101.175.105.177)
2021-04-03 13:33:02 +0200geekosaur(ac3a5331@172.58.83.49)
2021-04-03 13:35:15 +0200drbean_(~drbean@TC210-63-209-201.static.apol.com.tw) (Read error: Connection reset by peer)
2021-04-03 13:36:35 +0200conal(~conal@64.71.133.70)
2021-04-03 13:38:14 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-03 13:39:02 +0200Tops2(~Tobias@dyndsl-095-033-091-175.ewe-ip-backbone.de)
2021-04-03 13:39:14 +0200 <L29Ah> is there a good alternative to the dead hayoo?
2021-04-03 13:39:39 +0200 <L29Ah> apparently hoogle sucks these days as it only searches through stackage
2021-04-03 13:40:45 +0200 <L29Ah> and stackage doesn't care about packages that are on hackage, compatible with the snapshot, but the maintainer didn't complete the github ritual to get the package in, even though hackage has all the info stackage asks the maintainer to provide
2021-04-03 13:41:08 +0200astroanax(~astroanax@cosmic.voyage) (Quit: WeeChat 3.1)
2021-04-03 13:41:34 +0200astroanax(~astroanax@cosmic.voyage)
2021-04-03 13:42:16 +0200timCF(~i.tkachuk@m91-129-99-43.cust.tele2.ee) (Quit: leaving)
2021-04-03 13:48:19 +0200dpl-(~dpl@ec2-18-133-105-122.eu-west-2.compute.amazonaws.com) (Quit: ZNC 1.8.1 - https://znc.in)
2021-04-03 13:48:51 +0200 <maerwald> it's a "curated" package set after all
2021-04-03 13:50:08 +0200stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-04-03 13:50:25 +0200__monty__(~toonn@unaffiliated/toonn)
2021-04-03 13:50:54 +0200mastarija(~mastarija@31.217.17.250)
2021-04-03 13:53:37 +0200 <L29Ah> i hereby permit stackage to curate their set w/o harrassing package maintainers with github BDSM
2021-04-03 13:53:48 +0200glaceon(~doraemon@117.222.65.84) ()
2021-04-03 13:53:52 +0200xff0x_(~xff0x@2001:1a81:5382:2700:244e:f742:223c:2744) (Ping timeout: 258 seconds)
2021-04-03 13:54:42 +0200xff0x_(~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2)
2021-04-03 13:55:11 +0200machinedgod(~machinedg@24.105.81.50)
2021-04-03 13:55:38 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-03 13:58:41 +0200mastarija(~mastarija@31.217.17.250) (Quit: Leaving)
2021-04-03 13:59:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 13:59:51 +0200Alleria(~textual@mskresolve-a.mskcc.org)
2021-04-03 14:00:14 +0200AlleriaGuest56580
2021-04-03 14:00:21 +0200 <int-e> :t toList
2021-04-03 14:00:22 +0200 <lambdabot> Foldable t => t a -> [a]
2021-04-03 14:01:49 +0200 <int-e> :t GHC.Exts.toList
2021-04-03 14:01:50 +0200 <lambdabot> GHC.Exts.IsList l => l -> [GHC.Exts.Item l]
2021-04-03 14:02:56 +0200stree(~stree@68.36.8.116)
2021-04-03 14:03:23 +0200 <int-e> (those two clashed before)
2021-04-03 14:03:47 +0200kiweun(~kiweun@2607:fea8:2a62:9600:582c:6250:a295:ddf4)
2021-04-03 14:04:18 +0200Aquazi(uid312403@gateway/web/irccloud.com/x-dxvbqpthgbajxgrt)
2021-04-03 14:04:24 +0200 <int-e> Oh that "GHC.Exts" is a white lie, the actual import is import qualified Lambdabot.Plugin.Haskell.Eval.Trusted as GHC.Exts (Constraint, IsList (..), IsString (..)), and the imported module re-exports those from GHC.Exts. GHC.Exts can't be imported safely.
2021-04-03 14:05:29 +0200 <kaol> I just found it amusing what my function ended up being like. I dread the thought of writing this in some other less capable language. Luckily I don't need to.
2021-04-03 14:05:55 +0200plutoniix(~q@184.82.197.170) (Quit: Leaving)
2021-04-03 14:06:12 +0200stree(~stree@68.36.8.116) (Client Quit)
2021-04-03 14:06:36 +0200stree(~stree@68.36.8.116)
2021-04-03 14:06:49 +0200antidisetablishm(df11d759@223.17.215.89)
2021-04-03 14:08:25 +0200kiweun(~kiweun@2607:fea8:2a62:9600:582c:6250:a295:ddf4) (Ping timeout: 258 seconds)
2021-04-03 14:09:13 +0200antidisetablishm(df11d759@223.17.215.89) ()
2021-04-03 14:09:56 +0200Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-04-03 14:10:17 +0200Kaiepi(~Kaiepi@47.54.252.148)
2021-04-03 14:11:14 +0200OCCASVS(~occasus@unaffiliated/occasvs) (Quit: New Gold Dream (34-38-82-06))
2021-04-03 14:13:18 +0200Wamanuz(~wamanuz@78-70-34-81-no84.tbcn.telia.com)
2021-04-03 14:18:21 +0200 <mniip> % :browse GHC.Exts
2021-04-03 14:18:24 +0200 <yahb> mniip: type IsList :: * -> Constraint; class IsList l where; type Item :: * -> *; type family Item l; fromList :: [Item l] -> l; fromListN :: Int -> [Item l] -> l; GHC.Exts.toList :: l -> [Item l]; {-# MINIMAL fromList, toList #-}; type SpecConstrAnnotation :: *; data SpecConstrAnnotation = NoSpecConstr | ForceSpecConstr; atomicModifyMutVar# :: MutVar# s a -> (a -> b) -> State# s -> (# State# s, c #); g
2021-04-03 14:18:28 +0200 <mniip> :P
2021-04-03 14:19:01 +0200hiroaki(~hiroaki@2a02:8108:8c40:2bb8:2c1c:a30c:e102:6594) (Ping timeout: 246 seconds)
2021-04-03 14:22:56 +0200Deide(~Deide@217.155.19.23)
2021-04-03 14:23:48 +0200mmohammadi9812(~mmohammad@91.185.156.212)
2021-04-03 14:29:15 +0200eam(~eam@185.169.233.10)
2021-04-03 14:29:42 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-03 14:31:08 +0200stree(~stree@68.36.8.116) (Quit: Caught exception)
2021-04-03 14:31:31 +0200hiroaki(~hiroaki@2a02:8108:8c40:2bb8:bf0d:f77b:ccaf:dfd1)
2021-04-03 14:31:35 +0200stree(~stree@68.36.8.116)
2021-04-03 14:33:31 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2021-04-03 14:33:51 +0200LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2021-04-03 14:34:08 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-04-03 14:37:26 +0200dpl(~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds)
2021-04-03 14:46:45 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-04-03 14:47:09 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 14:47:41 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Read error: Connection reset by peer)
2021-04-03 14:48:26 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 14:50:07 +0200perdent(~perdent@101.175.105.177) ()
2021-04-03 14:51:11 +0200francesco_(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 14:51:11 +0200francesco_(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Remote host closed the connection)
2021-04-03 14:51:24 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Read error: Connection reset by peer)
2021-04-03 14:51:29 +0200francesco_(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 14:51:35 +0200son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-04-03 14:52:03 +0200francesco_Franciman
2021-04-03 14:53:15 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 268 seconds)
2021-04-03 14:54:23 +0200dexterlb(~dexterlb@2a01:9e40:2:2::2) (Remote host closed the connection)
2021-04-03 14:59:04 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 15:00:59 +0200drbean_(~drbean@TC210-63-209-59.static.apol.com.tw)
2021-04-03 15:01:41 +0200sord937(~sord937@gateway/tor-sasl/sord937)
2021-04-03 15:04:26 +0200perdent1(~perdent@192.145.118.58)
2021-04-03 15:04:36 +0200zebrag(~inkbottle@aaubervilliers-651-1-244-162.w83-200.abo.wanadoo.fr)
2021-04-03 15:09:26 +0200gnumonic(~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 15:10:14 +0200dexterlb(~dexterlb@85.187.50.221)
2021-04-03 15:15:22 +0200son0p(~son0p@181.136.122.143)
2021-04-03 15:17:02 +0200 <zebrag> I stumbled on Bartosz Milewski Freyd's Adjoint Functor Theorem page: https://bartoszmilewski.com/2020/07/22/freyds-adjoint-functor-theorem/, LaTeX diagrams are breathtaking! Does anyone know what specific tools he has been using to create them?
2021-04-03 15:17:08 +0200 <zebrag> https://bartoszmilewski.files.wordpress.com/2020/07/fig5.png
2021-04-03 15:17:30 +0200 <zebrag> Isn't that amazing.
2021-04-03 15:19:02 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 15:19:45 +0200steerio(~steerio@aviv.kinneret.de)
2021-04-03 15:20:05 +0200 <steerio> hello, does anyone know of any way to restrict stack to ipv4 when downloading?
2021-04-03 15:20:26 +0200 <steerio> hoping there's some undocumented env variable or anything
2021-04-03 15:21:01 +0200Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-04-03 15:21:02 +0200 <hpc> i expect it uses ipv6 when it gets an AAAA record for wherever it's downloading from
2021-04-03 15:21:37 +0200 <steerio> _or_ alternatively where to put a downloaded ghci tarball where stack finds it
2021-04-03 15:22:37 +0200 <steerio> hpc: my router advertises v6, but there's no connectivity. chromium is smart to realize that, but stack will just try v6 and timeout
2021-04-03 15:22:51 +0200 <steerio> s/ghci/ghc/
2021-04-03 15:22:59 +0200usr25(~usr25@unaffiliated/usr25)
2021-04-03 15:23:16 +0200jluttine_(~jluttine@85-23-66-6.bb.dnainternet.fi) (Quit: WeeChat 3.0)
2021-04-03 15:23:46 +0200 <steerio> it took me a while to figure out the problem. I can download the file alright in a browser, but can't get stack to do the same for the above reasons.
2021-04-03 15:24:24 +0200 <steerio> maybe a squid proxy is the "quick" solution
2021-04-03 15:25:01 +0200 <steerio> I can't trick it into v4 with a hosts file entry
2021-04-03 15:25:02 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-03 15:26:11 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 240 seconds)
2021-04-03 15:27:45 +0200Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2021-04-03 15:30:19 +0200Lycurgus(~niemand@98.4.115.201)
2021-04-03 15:30:20 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-04-03 15:31:23 +0200slaterr(~bc8134e3@217.29.117.252)
2021-04-03 15:31:34 +0200jakalx(~jakalx@base.jakalx.net)
2021-04-03 15:32:04 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Quit: Leaving)
2021-04-03 15:32:37 +0200 <perdent1> Hi I have a crypto challenge for you all, let me know what you think of it and if you can solve it ! Good luck The more the merrier, right? We decided to mash two of the best cryptosytems together for the best product. Our new encryption scheme is up and running and this time it is unbreakable! To prove that, we have also released its source code and a test center where you can test it out! host: 139.59.178.146:31817 (flag is located on the server) ht
2021-04-03 15:34:04 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 15:34:34 +0200 <steerio> perdent1: your message was clipped, try splitting it up to multple ones. or to put your message on a web page and only share the link.
2021-04-03 15:35:00 +0200 <perdent1> Hi I have a crypto challenge for you all, let me know what you think of it and if you can solve it ! Good luck The more the merrier, right? We decided to mash two of the best cryptosytems together for the best product.
2021-04-03 15:35:01 +0200 <perdent1> Our new encryption scheme is up and running and this time it is unbreakable! To prove that, we have also released its source code and a test center where you can test it out! host: 139.59.178.146:31817 (flag is located on the server) https://gofile.io/d/mT3OLh
2021-04-03 15:35:09 +0200 <perdent1> steerio: better?
2021-04-03 15:35:22 +0200 <steerio> yep, now we see the URL :)
2021-04-03 15:35:57 +0200hexo(~hexo@gateway/tor-sasl/hexo) (Ping timeout: 240 seconds)
2021-04-03 15:35:57 +0200srk(~sorki@gateway/tor-sasl/sorki) (Ping timeout: 240 seconds)
2021-04-03 15:36:22 +0200 <Lycurgus> he got kicked in a few seconds out of #lisp
2021-04-03 15:36:40 +0200 <Lycurgus> fine demo of cultural differences
2021-04-03 15:37:15 +0200 <perdent1> Haha
2021-04-03 15:37:33 +0200 <Lycurgus> or moreso the channel igess, since #lisp has less than half the user and it was a very prestigious one that did the kick
2021-04-03 15:37:51 +0200 <Lycurgus> like edwardk did here but apples and oranges
2021-04-03 15:38:16 +0200 <steerio> Lycurgus: Paul Graham himself?
2021-04-03 15:38:40 +0200 <Lycurgus> the quicklisp guy
2021-04-03 15:39:09 +0200 <Lycurgus> can mess up ur distro is more powerful than I wrote the damn book
2021-04-03 15:39:20 +0200 <hpc> he posted the same thing in -offtopic, i suspect this is just spam
2021-04-03 15:39:25 +0200hexfive(~hexfive@50.35.83.177)
2021-04-03 15:39:34 +0200 <perdent1> Its not spam
2021-04-03 15:39:48 +0200 <perdent1> I just dont know which channel is best to post in
2021-04-03 15:39:57 +0200 <perdent1> Thats active
2021-04-03 15:40:21 +0200 <hpc> -offtopic is better if it doesn't have to do with haskell directly
2021-04-03 15:40:29 +0200 <steerio> perdent1: I'd try on Reddit tbh
2021-04-03 15:40:31 +0200 <pjb> perdent1: try: /msg alis list crypto
2021-04-03 15:40:42 +0200 <edwardk> Lycurgus: the guy from a few weeks ago?
2021-04-03 15:40:50 +0200 <hpc> (some non-haskell stuff is on-topic here if it's tightly related, like category theory)
2021-04-03 15:40:50 +0200 <pjb> perdent1: or: /msg alis list challenge
2021-04-03 15:41:44 +0200 <Lycurgus> edwardk, by your analog I meant xach beane
2021-04-03 15:41:58 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 268 seconds)
2021-04-03 15:42:08 +0200 <edwardk> i was asking more about the person who got kicked
2021-04-03 15:42:16 +0200 <mniip> lmfao
2021-04-03 15:42:21 +0200 <mniip> perdent1, so you come here?
2021-04-03 15:42:31 +0200 <Lycurgus> guess spj or somebody like that is here on occasion
2021-04-03 15:42:45 +0200 <edwardk> spj joined the channel one time in 12 years =)
2021-04-03 15:42:52 +0200 <Lycurgus> edwardk, oh that's perdent1
2021-04-03 15:43:03 +0200 <edwardk> jaffacake is more likely to come slumming.
2021-04-03 15:43:04 +0200 <pjb> perdent1: ain't this "prestigious one" unfriendly?
2021-04-03 15:43:10 +0200 <Lycurgus> so it's a live contrast
2021-04-03 15:43:18 +0200 <Uniaika> haha
2021-04-03 15:43:45 +0200dcbdan(~dcbdan@c-73-76-129-120.hsd1.tx.comcast.net) (Quit: leaving)
2021-04-03 15:43:55 +0200 <edwardk> 14 years actually. i think the last time he was in here was 2006.
2021-04-03 15:44:34 +0200dcbdan(~dcbdan@c-73-76-129-120.hsd1.tx.comcast.net)
2021-04-03 15:45:10 +0200 <Lycurgus> yeah i think that's when I first was here, albeit not with this nick
2021-04-03 15:45:27 +0200ChanServ+o mniip
2021-04-03 15:45:43 +0200 <Lycurgus> '05/06
2021-04-03 15:46:24 +0200globulis(~globulis@host-79-11-229-112.business.telecomitalia.it)
2021-04-03 15:46:35 +0200mniip+q-o *!*@192.145.118.58 mniip
2021-04-03 15:47:09 +0200neiluj(~jco@91-167-203-101.subs.proxad.net)
2021-04-03 15:47:09 +0200neiluj(~jco@91-167-203-101.subs.proxad.net) (Changing host)
2021-04-03 15:47:09 +0200neiluj(~jco@unaffiliated/neiluj)
2021-04-03 15:48:24 +0200jluttine(~jluttine@85-23-66-6.bb.dnainternet.fi)
2021-04-03 15:50:25 +0200jo[m]2(josefmat1@gateway/shell/matrix.org/x-eplsciljiwydqvjb)
2021-04-03 15:50:28 +0200geekosaur(ac3a5331@172.58.83.49) (Quit: Connection closed)
2021-04-03 15:51:55 +0200 <mniip> (this CTF is sourced from elsewhere and the rules forbid discussing solutions while a challenge is active, and I have reasons to believe that this is not the author)
2021-04-03 15:53:40 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 268 seconds)
2021-04-03 15:55:39 +0200drbean_(~drbean@TC210-63-209-59.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-04-03 15:57:01 +0200Lycurgus(~niemand@98.4.115.201) (Quit: Exeunt)
2021-04-03 16:02:24 +0200xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Quit: ZNC 1.8.2 - https://znc.in)
2021-04-03 16:04:39 +0200xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
2021-04-03 16:04:41 +0200kiweun(~kiweun@2607:fea8:2a62:9600:a8ef:cfab:27cf:7ae8)
2021-04-03 16:09:10 +0200kiweun(~kiweun@2607:fea8:2a62:9600:a8ef:cfab:27cf:7ae8) (Ping timeout: 258 seconds)
2021-04-03 16:09:36 +0200ericsagn1(~ericsagne@2405:6580:0:5100:4487:11af:62b0:68c1) (Ping timeout: 246 seconds)
2021-04-03 16:11:11 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-03 16:13:04 +0200slaterr(~bc8134e3@217.29.117.252) (Quit: quit)
2021-04-03 16:13:05 +0200xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Quit: ZNC 1.8.2 - https://znc.in)
2021-04-03 16:13:16 +0200globulis(~globulis@host-79-11-229-112.business.telecomitalia.it) (Quit: Quit)
2021-04-03 16:13:17 +0200haritz(~hrtz@unaffiliated/haritz) (Read error: Connection reset by peer)
2021-04-03 16:14:36 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2021-04-03 16:14:36 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2021-04-03 16:14:36 +0200haritz(~hrtz@unaffiliated/haritz)
2021-04-03 16:14:39 +0200__minoru__shirae(~shiraeesh@77.94.25.131) (Ping timeout: 265 seconds)
2021-04-03 16:15:14 +0200xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
2021-04-03 16:17:20 +0200dddddd(~dddddd@unaffiliated/dddddd) (Quit: dddddd)
2021-04-03 16:18:54 +0200usr25(~usr25@unaffiliated/usr25) ("Leaving")
2021-04-03 16:20:27 +0200Varis(~Tadas@unaffiliated/varis)
2021-04-03 16:20:37 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-04-03 16:21:28 +0200haritz(~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-04-03 16:21:59 +0200ericsagn1(~ericsagne@2405:6580:0:5100:7445:6b92:4b01:cfc6)
2021-04-03 16:22:41 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-03 16:26:05 +0200acidjnk_new(~acidjnk@p200300d0c72b951985afe8c678129748.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2021-04-03 16:30:19 +0200urodna(~urodna@unaffiliated/urodna)
2021-04-03 16:30:20 +0200asdfghjkl100(49336fc4@c-73-51-111-196.hsd1.il.comcast.net)
2021-04-03 16:30:23 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 16:37:54 +0200sedeki(~textual@unaffiliated/sedeki)
2021-04-03 16:39:47 +0200stree(~stree@68.36.8.116) (Ping timeout: 265 seconds)
2021-04-03 16:40:45 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 16:42:46 +0200petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-04-03 16:43:25 +0200petersen(~petersen@redhat/juhp)
2021-04-03 16:44:03 +0200xff0x_(~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2) (Ping timeout: 258 seconds)
2021-04-03 16:44:22 +0200xff0x_(xff0x@gateway/vpn/mullvad/xff0x)
2021-04-03 16:46:22 +0200 <sedeki> can someone explain to me why `fmap (+1) (4, 5)` is returning `(4, 6)`? how are pairs defined as functors?
2021-04-03 16:48:14 +0200 <zebrag> > fmap (+1) (4, 5)
2021-04-03 16:48:16 +0200 <lambdabot> (4,6)
2021-04-03 16:48:25 +0200 <Uniaika> sedeki: they are not :)
2021-04-03 16:48:32 +0200 <Uniaika> A Functor is defined on one element
2021-04-03 16:48:55 +0200 <pjb> Why the last of the pair?
2021-04-03 16:48:55 +0200 <Uniaika> so, how do you target one element of a data-structure that takes two parameters, like a pair?
2021-04-03 16:49:03 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection)
2021-04-03 16:49:04 +0200 <pjb> > fmap (+1) (1,2,3,4)
2021-04-03 16:49:06 +0200 <lambdabot> (1,2,3,5)
2021-04-03 16:49:13 +0200 <pjb> s/pair/tuple
2021-04-03 16:49:18 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-03 16:49:26 +0200 <sedeki> pjb yes, thanks
2021-04-03 16:49:31 +0200 <pjb> I would have used the first element of the tuple…
2021-04-03 16:49:53 +0200 <zebrag> > (4, 5) >>= \x -> return (x + 1)
2021-04-03 16:49:55 +0200 <lambdabot> error:
2021-04-03 16:49:55 +0200 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M520039120492...
2021-04-03 16:49:55 +0200 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2021-04-03 16:49:58 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-03 16:50:02 +0200 <Uniaika> you define the functor instance for the pair as 'instance Functor ((,) a)' sedeki
2021-04-03 16:50:41 +0200 <sedeki> i see. so it is a matter of definition in this case, in the sense that it was arbitrarily chosen
2021-04-03 16:51:24 +0200 <zebrag> > [3] >>= \x -> return (x + 1)
2021-04-03 16:51:25 +0200 <lambdabot> [4]
2021-04-03 16:51:30 +0200 <sedeki> it could have been `instance Functor (a (,))`
2021-04-03 16:51:30 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-04-03 16:51:34 +0200 <tomsmeding> sedeki: it kind of is, but also kind of isn't arbitrary: Functor takes a type with one argument, so if something is a functor it's always in its last type variable
2021-04-03 16:51:41 +0200haritz(~hrtz@62.3.70.206)
2021-04-03 16:51:41 +0200haritz(~hrtz@62.3.70.206) (Changing host)
2021-04-03 16:51:42 +0200haritz(~hrtz@unaffiliated/haritz)
2021-04-03 16:51:53 +0200 <tomsmeding> sedeki: if that would've been valid syntax, it would've meant the same :p
2021-04-03 16:52:10 +0200 <tomsmeding> it would have been nice if (,a) was allowed there, but unfortunately not
2021-04-03 16:52:48 +0200 <tomsmeding> > (Sum 4, 5) >>= \x -> return (x + 1)
2021-04-03 16:52:50 +0200 <lambdabot> (Sum {getSum = 4},6)
2021-04-03 16:52:56 +0200stree(~stree@68.36.8.116)
2021-04-03 16:52:59 +0200 <zebrag> > Right 3 >>= \x -> return (x + 1)
2021-04-03 16:53:00 +0200 <lambdabot> Right 4
2021-04-03 16:53:06 +0200 <tomsmeding> zebrag: (a,b) is only a monad if 'a' is a Monoid
2021-04-03 16:53:18 +0200 <zebrag> > Left 3 >>= \x -> return (x + 1)
2021-04-03 16:53:19 +0200 <lambdabot> Left 3
2021-04-03 16:53:24 +0200 <kaol> At least maps get converted easily to and from 2-tuples and in that context it's handy to have fmap touch the second element since I'm far more likely to want to operate on values and not keys.
2021-04-03 16:53:27 +0200 <sedeki> tomsmeding are you saying that "type arguments" must be applied in order, left to right?
2021-04-03 16:53:28 +0200 <zebrag> tomsmeding: thanks
2021-04-03 16:53:35 +0200 <tomsmeding> sedeki: yes
2021-04-03 16:53:43 +0200 <tomsmeding> haskell doesn't have type-level lambda expressions
2021-04-03 16:53:51 +0200 <sedeki> tomsmeding so on of these are invalid syntax? "Either Int a" vs "Either a Int" ?
2021-04-03 16:53:52 +0200 <tomsmeding> so you can only partially apply things in-order
2021-04-03 16:53:56 +0200 <sedeki> so one*
2021-04-03 16:54:06 +0200 <tomsmeding> sedeki: no those are both valid, both fully apply Either :p
2021-04-03 16:54:27 +0200 <e> there's no way to spell Either [hole] Int tho
2021-04-03 16:54:28 +0200 <tomsmeding> but the argument to 'Functor' must be of kind 'Type -> Type'
2021-04-03 16:54:45 +0200 <tomsmeding> as e says
2021-04-03 16:55:09 +0200 <sedeki> tomsmeding ok, makes sense
2021-04-03 16:55:11 +0200solvr(57e3c46d@87.227.196.109)
2021-04-03 16:55:17 +0200 <tomsmeding> you can do 'newtype MyEither a = MyEither (Either a Int)', but then you're making a new type -- which is the usual way of solving that problem
2021-04-03 16:55:49 +0200 <tomsmeding> and while you can write 'type MyEither' a = Either a Int' as well, you can't partially apply type synonyms so "instance Functor MyEither'" would be invalid
2021-04-03 16:56:14 +0200solvr(57e3c46d@87.227.196.109) (Client Quit)
2021-04-03 16:56:35 +0200_noblegas(uid91066@gateway/web/irccloud.com/x-qofejsurifxshhgi)
2021-04-03 16:56:57 +0200 <sedeki> but i would write it as `instance Functor MyEither' a"
2021-04-03 16:57:06 +0200 <sedeki> `
2021-04-03 16:57:18 +0200xff0x_(xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds)
2021-04-03 16:57:20 +0200 <sedeki> iirc
2021-04-03 16:57:42 +0200 <sedeki> anyway, i get the gist of it
2021-04-03 16:57:56 +0200 <sedeki> tomsmeding thanks
2021-04-03 16:58:10 +0200micro(~micro@unaffiliated/micro) (Remote host closed the connection)
2021-04-03 16:58:34 +0200 <sedeki> how do I look up e.g. functor definitions on ghci?
2021-04-03 16:59:07 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood)
2021-04-03 16:59:35 +0200xff0x_(~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2)
2021-04-03 17:00:22 +0200star_cloud(~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com)
2021-04-03 17:03:02 +0200viluon(uid453725@gateway/web/irccloud.com/x-ewlrlaksxsegzyhv)
2021-04-03 17:04:26 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-04-03 17:04:26 +0200 <tomsmeding> sedeki: :i Functor
2021-04-03 17:04:59 +0200 <tomsmeding> sedeki: you'd write e.g. `instance Functor Maybe where`
2021-04-03 17:05:09 +0200 <tomsmeding> so also `instance Functor (Either Int) where`
2021-04-03 17:05:13 +0200Whytebored(c634aeb5@198.52.174.181)
2021-04-03 17:05:20 +0200 <Whytebored> What does `=<<` mean?
2021-04-03 17:05:28 +0200 <tomsmeding> % :k Either Int -- sedeki
2021-04-03 17:05:28 +0200 <yahb> tomsmeding: * -> *
2021-04-03 17:05:36 +0200 <tomsmeding> (read * = Type)
2021-04-03 17:05:45 +0200 <sedeki> yeah i know
2021-04-03 17:05:47 +0200 <tomsmeding> :t (=<<) -- Whytebored
2021-04-03 17:05:48 +0200 <lambdabot> Monad m => (a -> m b) -> m a -> m b
2021-04-03 17:05:49 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:ed8c:ffe5:dbb3:49f5)
2021-04-03 17:05:56 +0200 <tomsmeding> :t (>>=)
2021-04-03 17:05:57 +0200 <lambdabot> Monad m => m a -> (a -> m b) -> m b
2021-04-03 17:06:06 +0200 <tomsmeding> Whytebored: (=<<) = flip (>>=)
2021-04-03 17:06:29 +0200 <sedeki> tomsmeding ":i Functor Maybe" just shows the top lines
2021-04-03 17:06:33 +0200 <tomsmeding> sedeki: so it wouldn't be `instance Functor MyEither' a` but `instance Functor MyEither'`, which is invalid :)
2021-04-03 17:06:55 +0200 <tomsmeding> sedeki: which info are you looking for
2021-04-03 17:06:58 +0200 <tomsmeding> the full instance definition?
2021-04-03 17:07:01 +0200 <sedeki> yes
2021-04-03 17:07:19 +0200 <tomsmeding> ghci won't show those
2021-04-03 17:07:28 +0200haritz(~hrtz@unaffiliated/haritz) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-04-03 17:07:28 +0200 <sedeki> ok
2021-04-03 17:07:30 +0200 <tomsmeding> in general that could be in compiled code that ghci doesn't have to source for
2021-04-03 17:07:36 +0200 <sedeki> right, ok.
2021-04-03 17:07:41 +0200 <tomsmeding> sedeki: https://hackage.haskell.org/package/base-4.14.0.0/docs/src/GHC.Base.html#line-987
2021-04-03 17:08:11 +0200Whytebored(c634aeb5@198.52.174.181) (Client Quit)
2021-04-03 17:08:11 +0200ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net)
2021-04-03 17:08:12 +0200 <tomsmeding> if you go to Functor or to Maybe in the haddocks, you can click the 'Source' link next to the instance to go there
2021-04-03 17:08:29 +0200 <sedeki> haddocks?
2021-04-03 17:08:39 +0200 <tomsmeding> haddock is ghc's documentation generator :p
2021-04-03 17:08:48 +0200 <tomsmeding> the reference documentation on hackage is what I meant
2021-04-03 17:09:17 +0200mmohammadi9812(~mmohammad@91.185.156.212) (Remote host closed the connection)
2021-04-03 17:09:23 +0200 <sedeki> ok
2021-04-03 17:09:58 +0200 <sedeki> tomsmeding thanks again. leaving
2021-04-03 17:10:00 +0200sedeki(~textual@unaffiliated/sedeki) (Quit: Textual IRC Client: www.textualapp.com)
2021-04-03 17:11:18 +0200mkDoku(~TheMule@aftr-37-201-195-134.unity-media.net) (Ping timeout: 260 seconds)
2021-04-03 17:13:54 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-04-03 17:18:26 +0200_ashbreeze_(~mark@64.85.214.234.reverse.socket.net) (Remote host closed the connection)
2021-04-03 17:20:51 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 17:21:16 +0200conal_(~conal@198.8.81.74)
2021-04-03 17:21:23 +0200conal(~conal@64.71.133.70) (Ping timeout: 246 seconds)
2021-04-03 17:22:29 +0200_ashbreeze_(~mark@64.85.214.234.reverse.socket.net)
2021-04-03 17:23:01 +0200Matthias1(~matthias@li890-22.members.linode.com) (Read error: Connection reset by peer)
2021-04-03 17:24:29 +0200Wuzzy(~Wuzzy@p57a2fb8a.dip0.t-ipconnect.de)
2021-04-03 17:24:33 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 17:25:03 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Read error: Connection reset by peer)
2021-04-03 17:25:25 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Quit: bb)
2021-04-03 17:25:32 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 17:25:33 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-04-03 17:25:47 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 17:27:39 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-03 17:29:17 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220)
2021-04-03 17:29:18 +0200haritz(~hrtz@2a02:8010:65b5:0:6009:6384:e3cb:2220) (Changing host)
2021-04-03 17:29:18 +0200haritz(~hrtz@unaffiliated/haritz)
2021-04-03 17:33:10 +0200ep1ctetus(~epictetus@ip72-194-215-136.sb.sd.cox.net) (Read error: Connection reset by peer)
2021-04-03 17:33:55 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Ping timeout: 265 seconds)
2021-04-03 17:36:13 +0200micro(~micro@unaffiliated/micro)
2021-04-03 17:39:41 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-04-03 17:40:59 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-04-03 17:42:50 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Remote host closed the connection)
2021-04-03 17:43:24 +0200v01d4lph4(~v01d4lph4@223.190.20.92)
2021-04-03 17:47:38 +0200v01d4lph4(~v01d4lph4@223.190.20.92) (Ping timeout: 240 seconds)
2021-04-03 17:53:56 +0200 <Uniaika> I'd like y'all opinion as Haskell users on https://github.com/ghc-proposals/ghc-proposals/pull/417
2021-04-03 17:54:30 +0200 <Uniaika> tomsmeding, int-e, mpickering, maerwald koz_ ^
2021-04-03 17:55:04 +0200tomsmedingis flustered
2021-04-03 17:59:05 +0200 <tomsmeding> Uniaika: when I currently do 'ghcup list', I get a 'latest' ghc version and a 'recommended' ghc version. I believe this is basically the latest and the next-to-latest. Are you proposing adding a third level?
2021-04-03 17:59:20 +0200nbloomf(~nbloomf@2600:1700:ad14:3020:ed8c:ffe5:dbb3:49f5) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-04-03 18:00:46 +0200 <Uniaika> tomsmeding: not necessarily, just have a whole month between the final release packaging in the package managers, and its official release
2021-04-03 18:01:10 +0200 <Uniaika> so that we make it available for people who need time before we ship it to users
2021-04-03 18:01:17 +0200 <tomsmeding> which would be for the ecosystem-central but non-boot libraries, I guess
2021-04-03 18:01:42 +0200 <Uniaika> yup'
2021-04-03 18:01:55 +0200 <Uniaika> those libraries whose development doesn't follow closely the GHC development
2021-04-03 18:02:01 +0200luke_(~luke@bitnomial/staff/luke)
2021-04-03 18:02:31 +0200luke_Luke
2021-04-03 18:02:39 +0200Lukeluke
2021-04-03 18:03:24 +0200 <tomsmeding> IIRC the ghc devs already have some trouble once in a while with busy maintainers delaying a new release of boot libs
2021-04-03 18:03:56 +0200 <tomsmeding> but I guess this would be more "strongly advised" instead of "required" for the release
2021-04-03 18:04:21 +0200 <maerwald> tomsmeding: there's also "prerelease" in ghcup
2021-04-03 18:04:25 +0200 <Uniaika> tomsmeding: yeah the ghc dev team has solidified the control and maintenance of ghc boot libs
2021-04-03 18:04:42 +0200 <tomsmeding> maerwald: very good point
2021-04-03 18:04:45 +0200 <Uniaika> yup I could totally see ghcup have this Maintainer Preview in "pre-release"
2021-04-03 18:05:12 +0200 <Uniaika> but the proposal is not about dictating how ghcup should bundle it, it's more of a schedule + communication thing
2021-04-03 18:05:17 +0200kiweun(~kiweun@2607:fea8:2a62:9600:28af:d168:c6d2:ab82)
2021-04-03 18:05:34 +0200 <Uniaika> and if you agree or disagree I'd like to ask you to reply to the Proposal thread 🙇
2021-04-03 18:05:44 +0200 <tomsmeding> I'm currently more of a casual/academic user of haskell, so probably not the right person to ask regarding this proposal :)
2021-04-03 18:05:59 +0200 <mpickering> I am not sure what problem this solves
2021-04-03 18:07:50 +0200carlomagno(~cararell@148.87.23.4)
2021-04-03 18:09:16 +0200 <Uniaika> mpickering: it's literally in the "Motivation" paragraph…
2021-04-03 18:09:56 +0200kiweun(~kiweun@2607:fea8:2a62:9600:28af:d168:c6d2:ab82) (Ping timeout: 258 seconds)
2021-04-03 18:11:26 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-03 18:13:48 +0200mkDoku(~TheMule@aftr-37-201-195-134.unity-media.net)
2021-04-03 18:17:02 +0200geekosaur(82650c7a@130.101.12.122)
2021-04-03 18:18:06 +0200petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-04-03 18:18:08 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr)
2021-04-03 18:18:23 +0200cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 265 seconds)
2021-04-03 18:18:28 +0200 <geekosaur> let's put it this way, we're already in 9.2 prerelease and there are ecosystem libs not yet updated for 9.0.1
2021-04-03 18:18:44 +0200petersen(~petersen@redhat/juhp)
2021-04-03 18:20:14 +0200 <Uniaika> geekosaur: that is indeed a fact
2021-04-03 18:21:48 +0200tpefreedom(~tpefreedo@98.125.189.230)
2021-04-03 18:22:46 +0200mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-04-03 18:22:46 +0200mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-04-03 18:22:46 +0200mouseghost(~draco@wikipedia/desperek)
2021-04-03 18:24:00 +0200son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-04-03 18:25:30 +0200 <Logio> who is the "final user" that needs to wait for things to be perfect, and how much are they paying package maintainers to make it so?
2021-04-03 18:25:47 +0200 <Uniaika> Logio: commercial adopters, end-users who develop applications?
2021-04-03 18:26:33 +0200 <Logio> why would they want to wait to get the newer compiler, compared to other users?
2021-04-03 18:26:48 +0200todda7(~torstein@athedsl-09242.home.otenet.gr)
2021-04-03 18:26:55 +0200 <Uniaika> IT'S LITERALLY WRITTEN IN THE PROPOSAL
2021-04-03 18:27:00 +0200 <Uniaika> READ IT
2021-04-03 18:27:15 +0200 <Uniaika> or pay me 50€ to spare you the burden of clicking two links.
2021-04-03 18:27:33 +0200 <Uniaika> because the ecosystem takes too much time to transition
2021-04-03 18:27:43 +0200 <Uniaika> because nobody has the energy to do things
2021-04-03 18:27:44 +0200 <Logio> I did read it, but I feel like it assumes a lot of things that I don't take as fact
2021-04-03 18:27:49 +0200 <Uniaika> Logio: such as?
2021-04-03 18:27:52 +0200ezrakilty(~ezrakilty@97-126-95-37.tukw.qwest.net)
2021-04-03 18:28:08 +0200 <maerwald> I can put it a bit more controversial: if hackage/haskell was a distro, it would be considered dysfunctional. But this is also a question of scope.
2021-04-03 18:28:27 +0200 <Logio> like the fact that having a waiting time would improve things in a meaningful way
2021-04-03 18:28:37 +0200 <Logio> also what maerwald said ^
2021-04-03 18:28:45 +0200 <Uniaika> maerwald: it's not controversial at all, as an ecosystem/language pair, Hackage/Haskell is widely dysfunctional
2021-04-03 18:28:56 +0200 <Uniaika> that's a fact
2021-04-03 18:29:25 +0200 <Uniaika> Logio: it's a "waiting time" only from an end-user point of view. It's still release management but for the ecosystem
2021-04-03 18:30:49 +0200Tario(~Tario@201.192.165.173)
2021-04-03 18:31:32 +0200 <Logio> I feel like that's the same as saying a fish is a dysfunctional bike rider
2021-04-03 18:31:45 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-04-03 18:32:20 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-04-03 18:32:22 +0200 <Uniaika> if you see as much relationship between a language and official library ecosystem as between a fish and a boat, this indeed explains quite a lot your point of view.
2021-04-03 18:32:24 +0200ezrakilty(~ezrakilty@97-126-95-37.tukw.qwest.net) (Ping timeout: 265 seconds)
2021-04-03 18:32:31 +0200 <Logio> there's a compiler and there's things that use a compiler, having a fixed working set composed of them is an independent proposition
2021-04-03 18:32:36 +0200 <Uniaika> s/boat/bike/
2021-04-03 18:32:54 +0200jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-04-03 18:33:08 +0200 <Uniaika> Logio: yet we have boot libs in GHC
2021-04-03 18:33:14 +0200 <Logio> I mean, the question is what you consider "official"
2021-04-03 18:33:31 +0200 <Uniaika> hackage
2021-04-03 18:34:10 +0200conal_(~conal@198.8.81.74) (Quit: Computer has gone to sleep.)
2021-04-03 18:34:16 +0200 <Uniaika> it's hosted by haskell.org, the code is under the haskell namespace on GitHub, it's whence Cabal fetches dependencies by default
2021-04-03 18:35:05 +0200ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-04-03 18:35:22 +0200 <lyxia> Well it seems true that currently when a new GHC version comes out, people are excited but most can't use it right away because libraries have yet to catch up, that's a shame, one might want to fix that, and that's what this proposal does.
2021-04-03 18:36:13 +0200 <tomsmeding> Uniaika: except nigh everybody can push to hackage?
2021-04-03 18:36:41 +0200alx741(~alx741@181.196.68.6)
2021-04-03 18:36:55 +0200 <Uniaika> tomsmeding: Hackage trustees already curate packages to help with migrations
2021-04-03 18:37:04 +0200 <tomsmeding> I think it's unrealistic to expect that ~the whole of hackage updates to a new ghc when a new one comes out
2021-04-03 18:37:15 +0200 <tomsmeding> but it might be realistic to reduce that to popular, core libraries
2021-04-03 18:37:33 +0200 <Uniaika> so there are numerous precedents of "official" Hackage trustees taking on their shoulders the burden of having everything hold together
2021-04-03 18:37:40 +0200 <fendor> I don't think any waiting time would have made the transition from 8.10 to 9.0 any easier. The required changes are huge, e.g. even a couple of months after the release, HLS does not support it (iirc), and they have a bunch of very motivated (and capable) developers such as jneira.
2021-04-03 18:37:44 +0200 <Uniaika> tomsmeding: it's unrealistic indeed, I shall put that in the proposition
2021-04-03 18:37:58 +0200 <maerwald> I think the solution is much more radical and there's too little excitement in that direction: redefining what hackage is.
2021-04-03 18:38:17 +0200 <Uniaika> maerwald: I didn't want to go down that road right away but indeed…
2021-04-03 18:38:21 +0200 <maerwald> without excitement, you can't bring about change, even if you have the right ideas
2021-04-03 18:38:39 +0200conal(~conal@64.71.133.70)
2021-04-03 18:38:39 +0200conal(~conal@64.71.133.70) (Client Quit)
2021-04-03 18:38:55 +0200 <Uniaika> fendor: I'm not dissing the maintainers of HLS, but not every library had such an enormous amount of work ahead of them
2021-04-03 18:38:56 +0200__minoru__shirae(~shiraeesh@77.94.25.131)
2021-04-03 18:39:03 +0200 <maerwald> ecosystem works for most ppl as is: ppl pin package versions via stack and nix or freeze files... almost no one does "rolling" anymore
2021-04-03 18:39:20 +0200 <Logio> Uniaika: It does feel like you want hackage to be stackage
2021-04-03 18:39:34 +0200 <Uniaika> Logio: it is not the case
2021-04-03 18:39:40 +0200 <Uniaika> that's maerwald's idea :P
2021-04-03 18:39:51 +0200conal(~conal@64.71.133.70)
2021-04-03 18:40:13 +0200 <fendor> Uniaika, I am rather arguing that this particular transition is really a lot of work, one where I believe no amount of prep time would have made a difference
2021-04-03 18:40:24 +0200maroloccio(~marolocci@pousada3ja.mma.com.br)
2021-04-03 18:41:15 +0200 <Uniaika> fendor: and I agree with you
2021-04-03 18:42:11 +0200 <maerwald> you have to create incentives for ppl to put in extra work to be compatible with newer GHCs... your package being dropped from hackage would be such an incentive
2021-04-03 18:42:25 +0200 <maerwald> but probably too radical
2021-04-03 18:42:34 +0200 <Logio> I get the idea of having release schedules aligned between developers in a single organization, I just don't see how that relates to hackage
2021-04-03 18:42:51 +0200 <sclv> i'm actually confused about how this "maintainer preview" is substantively different from the pre-releases that now exist
2021-04-03 18:43:02 +0200 <sclv> I think the proposal would need to explain the difference for anyone to understand
2021-04-03 18:43:22 +0200 <Logio> maerwald: I don't get that kind of thinking, why should someones package be removed from hackage if it still works with some version of GHC?
2021-04-03 18:43:33 +0200 <maerwald> pre-releases don't follow any process, they're done ad-hoc
2021-04-03 18:43:48 +0200 <maerwald> Logio: to create incentives, as said above
2021-04-03 18:43:54 +0200 <sclv> I don't agree we should redefine what hackage is, I do think we should finally get support for overlays and better CI reporting across hackage
2021-04-03 18:44:17 +0200 <sclv> I.e. packages need some Authoritative Place to live (all packages)
2021-04-03 18:44:18 +0200 <maerwald> better CI reporting across hackage IS redefining it
2021-04-03 18:44:22 +0200 <Logio> maerwald: that's a disincentive to rely on hackage in the first place
2021-04-03 18:44:37 +0200 <maerwald> Logio: yes, it was just an example
2021-04-03 18:44:37 +0200 <sclv> but providing good subsets and ensuring them should be easier to layer on top instead of needing only third party solutions
2021-04-03 18:45:23 +0200 <sclv> ok, so this proposal is just "formalize and define pre-release process more"? that seems fine
2021-04-03 18:46:22 +0200 <Uniaika> sclv: yes, it's not a technical change to the produced artifacts
2021-04-03 18:46:40 +0200 <sclv> ok and there is also a pre-release process that currently exists.
2021-04-03 18:46:45 +0200 <sclv> including head.hackage -- do you know about that?
2021-04-03 18:46:53 +0200 <sclv> https://ghc.gitlab.haskell.org/head.hackage/
2021-04-03 18:47:23 +0200 <Uniaika> I know about it indeed
2021-04-03 18:47:37 +0200 <Uniaika> again, it's not a technical proposal
2021-04-03 18:47:42 +0200 <Logio> for me the whole point of having a consistent distribution from the language side seems a bit odd in general, if we're considering end users
2021-04-03 18:47:49 +0200 <Logio> speaking as a gentoo user
2021-04-03 18:48:16 +0200 <maerwald> gentoo is 80% policies, workflows and 20% patches... compare that with haskell ecosystem
2021-04-03 18:48:32 +0200 <sclv> Uniaika: I get its not technical. I'm asking that even as a process proposal it would be good to specify how the process differs from the process now, where there is typically already an extended pre-release that various systems make available. I.e. if this proposal is accepted, what "action items" would have to be taken by what people to implement it?
2021-04-03 18:48:39 +0200 <Logio> the end-user packaging is always going to be dictated by distro package managers with different constraints than the language ecosystem
2021-04-03 18:48:39 +0200 <Uniaika> Logio: speaking as a Funtoo user, I can assure you that consistency is the key to a pleasing experience ;)
2021-04-03 18:48:47 +0200 <Uniaika> ask the Arch users how their migrations go
2021-04-03 18:49:04 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-03 18:49:38 +0200 <Uniaika> sclv: wait, before we continue, did you read the proposal?
2021-04-03 18:49:47 +0200zaquest(~notzaques@5.128.210.178) (Read error: Connection reset by peer)
2021-04-03 18:49:47 +0200 <sclv> yes
2021-04-03 18:50:13 +0200 <Logio> Uniaika: yes, but it feels to me that consistency in a language ecosystem is just duplication (or waste) of work, since the effort needs to be taken anyway at the distro level
2021-04-03 18:50:28 +0200zaquest(~notzaques@5.128.210.178)
2021-04-03 18:50:35 +0200 <Uniaika> sclv: what do the "Proposed change specification" and "operating costs" sections fail to answer?
2021-04-03 18:50:45 +0200 <Uniaika> let's focus on what is lacking from what I wrote
2021-04-03 18:50:55 +0200 <sclv> the proposed change section looks exactly like what already exists!
2021-04-03 18:51:11 +0200 <sclv> the pre-releases are published and put on various systems, and people are encouraged to use them and update their packages
2021-04-03 18:51:18 +0200 <Uniaika> sclv: we do not have any kind of efforts to actively prepare the ecosystem for the transition
2021-04-03 18:51:18 +0200 <sclv> the announcement email just has slightly different wording
2021-04-03 18:51:22 +0200 <Uniaika> that is a fact
2021-04-03 18:51:24 +0200 <geekosaur> Logio, distros package things for their needs, not those of developers. I don't think anyone but maybe C/C++ programmers relies on a distro for their language or packages
2021-04-03 18:51:32 +0200 <Uniaika> we do not mobilise any kind of volunteer teams
2021-04-03 18:51:50 +0200 <geekosaur> certainly all of perl, pythin, and js will tell you right off not to use a distro package for either
2021-04-03 18:51:56 +0200 <Uniaika> sclv: however I worded this badly, I'll correct
2021-04-03 18:51:57 +0200 <Uniaika> thanks
2021-04-03 18:52:02 +0200 <sclv> the proposal does not in the proposed section talk about mobilising a volunteer team
2021-04-03 18:52:12 +0200 <Logio> geekosaur: yeah, but that's my point; you don't need to stall releases to guard end users from bad experiences, that's the distro's job
2021-04-03 18:52:24 +0200 <sclv> a plan to have such a team would be good -- its just not there -- I'm not being negative, I'm trying to make sure we can pin down exactly what is different than before :-)
2021-04-03 18:52:39 +0200 <Uniaika> Logio: that's called having the package management strategy of C and C++, and it has failed
2021-04-03 18:53:20 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Remote host closed the connection)
2021-04-03 18:53:21 +0200 <Uniaika> sclv: I know you're not negative, and that is why I constantly ask you to be more specific, so that I can better address your remarks :)
2021-04-03 18:53:28 +0200petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-04-03 18:53:49 +0200 <sclv> Uniaika: one change that would be welcome, but I think would accomplish little is that the announcements (such as https://discourse.haskell.org/t/ghc-9-2-1-alpha1-now-available/2286) don't tend to have language specifically encouraging maintainers to test the pre-release against their libs and ensure compatibility, nor do they point to easy places to install the pre-release from
2021-04-03 18:54:04 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106)
2021-04-03 18:54:08 +0200petersen(~petersen@redhat/juhp)
2021-04-03 18:54:17 +0200 <maerwald> geekosaur: python can be reasonably well packaged on distro level, despite much higher overall complexity than C
2021-04-03 18:54:22 +0200 <sclv> note that we probably would need a second announcement for this, since the first announcement is what notifies the various install tools (ghcup etc) that they can provide the release at all
2021-04-03 18:54:22 +0200 <maerwald> haskell not
2021-04-03 18:54:34 +0200gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-04-03 18:55:22 +0200 <Uniaika> sclv: yes, good!
2021-04-03 18:55:24 +0200 <Uniaika> thank you
2021-04-03 18:55:32 +0200 <sclv> so its a "two phase" pre-release plan with ghchq doing what it normally does, and then the "release compat strike-force" making sure a good pre-release is avail in the Usual Ways, following which they announce "hey everyone, its easy to test your lib against this pre-release and head.hackage, here's how, please go for it"
2021-04-03 18:55:55 +0200 <Uniaika> yuup'
2021-04-03 18:55:56 +0200ericsagn1(~ericsagne@2405:6580:0:5100:7445:6b92:4b01:cfc6) (Ping timeout: 258 seconds)
2021-04-03 18:56:02 +0200 <sclv> (and arguably the alpha is too early for this anyway)
2021-04-03 18:56:05 +0200 <Uniaika> thanks for the wording
2021-04-03 18:56:13 +0200 <Uniaika> yeah that's why I'm talking about release candidates and stuff
2021-04-03 18:56:28 +0200 <sclv> :thumbsup:
2021-04-03 18:56:37 +0200luke(~luke@bitnomial/staff/luke) (Quit: sleep)
2021-04-03 18:57:06 +0200 <sclv> I do worry about emailing every maintainer.
2021-04-03 18:57:33 +0200 <sclv> if someone wants to be an active maintainer they'll surely follow at least some list where its announced, and if they're not, bugging them won't help much
2021-04-03 18:58:04 +0200__minoru__shirae(~shiraeesh@77.94.25.131) (Ping timeout: 268 seconds)
2021-04-03 18:58:25 +0200 <sclv> what the strikeforce needs is a CI tool to test a large-enough subset of Current Hackage (using maybe the matrix tools and head.hackage or the like) that they can figure out what the big roadblocks are
2021-04-03 18:58:34 +0200 <sclv> and some repo or place where they can organize and coordinate
2021-04-03 18:59:27 +0200 <sclv> (trustees used to do a lot more of this, but people burnt out on it, especially due to hostile maintainer responses -- having the strikeforce be community volunteers Without Special Ops Rights as distinct from trustees could help with this)
2021-04-03 19:00:06 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 240 seconds)
2021-04-03 19:00:41 +0200stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-03 19:00:48 +0200 <Uniaika> 👍
2021-04-03 19:01:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 19:01:22 +0200 <sclv> i.e. there's a trustees-maintained cookbook for fixing packages to be compat with new ghc releases, it could be taken over by a new team, or kept there but with more contributors or etc: https://github.com/haskell-infra/hackage-trustees/blob/master/cookbook.md
2021-04-03 19:01:23 +0200dyeplexer(~lol@unaffiliated/terpin)
2021-04-03 19:04:08 +0200 <Uniaika> sclv: I updated the proposal, tell what you think: https://github.com/Kleidukos/ghc-proposals/blob/patch-1/proposals/0000-ghc-maintainer-preview.md
2021-04-03 19:06:59 +0200 <sclv> a fw things -- I would mention head.hackage and the cookbook as resources the team could use, and also note that the team should help coordinate making ghc available through ghcup, the ppa, etc. And also note that the team may also seek to implement more CI infrastructure to ease the task of finding the incompat packages
2021-04-03 19:07:16 +0200 <sclv> but its definitely clearer
2021-04-03 19:07:46 +0200ericsagn1(~ericsagne@2405:6580:0:5100:1b1e:6b9b:245f:d5e2)
2021-04-03 19:07:54 +0200 <Uniaika> awesome, thanks
2021-04-03 19:08:01 +0200 <sclv> you may also want to note that rcs already exist but don't have a deliniated length of time, nor is there a coordinated effor to ensure their widespread availablility
2021-04-03 19:08:37 +0200 <sclv> so if i want to use a pre-release there's no One Place I can look now to find out "how do i install it most easily given my setup"
2021-04-03 19:09:13 +0200 <sclv> (back in the day in the day we used to have this via the haskell platform being the One True Method and it packaging up pre-releases as well. this led to burnout too... there's a pattern here, lol)
2021-04-03 19:09:33 +0200 <maerwald> I must also say I never received notification of imminent releases, unless I actively read #ghc, so ghcup always has a delay of a day or two.
2021-04-03 19:09:40 +0200__minoru__shirae(~shiraeesh@77.94.25.131)
2021-04-03 19:10:28 +0200 <Uniaika> yes, maerwald's suffering must end at once
2021-04-03 19:10:39 +0200 <maerwald> lol
2021-04-03 19:11:10 +0200 <geekosaur> the ghc wiki has a status page for each release that tracks these things
2021-04-03 19:11:29 +0200 <geekosaur> e.g. expected rc and release dates
2021-04-03 19:11:51 +0200 <maerwald> are you saying these are accurate? :D
2021-04-03 19:12:41 +0200Sheilong(uid293653@gateway/web/irccloud.com/x-wqegmyveynqiexyu)
2021-04-03 19:13:44 +0200 <geekosaur> they're generally updated as things slip
2021-04-03 19:13:45 +0200 <Uniaika> < sclv> so if i want to use a pre-release there's no One Place I can look now to find out "how do i install it most easily given my setup" // Yep I address this problem by saying "we make it available in ghcup and the ubuntu PPA"
2021-04-03 19:14:12 +0200stree(~stree@68.36.8.116)
2021-04-03 19:14:18 +0200 <maerwald> geekosaur: that doesn't work
2021-04-03 19:14:50 +0200 <maerwald> geekosaur: what works is notifying packagers etc of an imminent release, so when the announcement hits, some works has already been done and it can be shipped quicker.
2021-04-03 19:16:45 +0200 <maerwald> as in: longer period between uploading releases and bindists and actual announcement
2021-04-03 19:17:14 +0200 <maerwald> then things can be more in lock-step
2021-04-03 19:18:18 +0200 <sclv> Uniaika: sure, making it available there helps, but also the announcement email (maintainer preview one, not ghchq one) saying "hey everyone, here's where you can get it from!" is good
2021-04-03 19:18:29 +0200 <sclv> people need to be reminded of things constantly, or they forget
2021-04-03 19:19:04 +0200codygman__(~user@47.186.207.161)
2021-04-03 19:19:45 +0200 <codygman__> Does anyone know that SPJ quote that was like "languages pass the point of no return" or something? I think it was SPJ. Maybe from "Escaping the ivory tower" or "Haskell is useless"?
2021-04-03 19:20:22 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net)
2021-04-03 19:20:34 +0200 <Uniaika> sclv: yes, that's why the idea is to have people whose duties explicitly include "reaching out to the community"
2021-04-03 19:20:41 +0200aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net)
2021-04-03 19:20:49 +0200 <Uniaika> codygman__: ivory tower I think. We are now too big to fail :P
2021-04-03 19:21:07 +0200 <sclv> i'm just pointing out what could be more explicit in the proposal :-)
2021-04-03 19:22:15 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 19:24:23 +0200 <Uniaika> ok great
2021-04-03 19:24:49 +0200 <codygman__> Uniaika: Yep, https://youtu.be/re96UgMk6GQ :)
2021-04-03 19:24:55 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-04-03 19:25:01 +0200 <codygman__> err time: https://youtu.be/re96UgMk6GQ?t=736
2021-04-03 19:25:11 +0200heatsink(~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-04-03 19:25:43 +0200 <codygman__> "Threshold of immortality" I guess is what I was looking for
2021-04-03 19:28:20 +0200Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-04-03 19:28:25 +0200 <Uniaika> yus
2021-04-03 19:28:26 +0200 <Uniaika> thanks
2021-04-03 19:30:39 +0200 <codygman__> I needed that quote while talking about Git and Pijul in my roam notes for the curious: https://github.com/codygman/tech-roam/blob/master/20210403121246-why_is_git_so_popular.org
2021-04-03 19:31:20 +0200solvr(57e3c46d@87.227.196.109)
2021-04-03 19:31:57 +0200 <maerwald> pijul is unpopular, because the maintainer has had issues with open source ;)
2021-04-03 19:33:20 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 19:33:22 +0200 <codygman__> I'm not familiar with that... but that's sad if true since it seems good from the outside.
2021-04-03 19:33:32 +0200dpl(~dpl@77-121-78-163.chn.volia.net)
2021-04-03 19:33:41 +0200 <aldum> I don't think anything will rival git as long as it's only somewhat better
2021-04-03 19:34:40 +0200 <geekosaur> "the good is the enemy of the perfect"
2021-04-03 19:34:57 +0200 <aldum> yes, but that's not necessarily a bad thing
2021-04-03 19:35:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds)
2021-04-03 19:35:11 +0200 <codygman__> Oh man.. you're gonna make me write about worse is better vs better is better again
2021-04-03 19:35:23 +0200 <codygman__> there goes my saturday
2021-04-03 19:36:15 +0200 <codygman__> aldum: That assertion is exactly what led me on this web I'm currently weaving :) https://github.com/codygman/tech-roam/blob/master/20210403120704-pijul.org#could-pijul-ever-suppla…
2021-04-03 19:36:26 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 260 seconds)
2021-04-03 19:36:54 +0200 <codygman__> and to record the idea of git/pijul integration and whether that's feasible
2021-04-03 19:37:23 +0200 <codygman__> so like "git is annoying here, I also have this in pijul, let's use pijul and let it do the right git things after" for say a cherry-pick
2021-04-03 19:41:14 +0200geowiesnot(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 268 seconds)
2021-04-03 19:44:50 +0200rajivr(uid269651@gateway/web/irccloud.com/x-zgtmdnbpyvmvjqtw) (Quit: Connection closed for inactivity)
2021-04-03 19:45:00 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-04-03 19:45:42 +0200geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-04-03 19:47:43 +0200ja(janus@anubis.0x90.dk) ()
2021-04-03 19:48:45 +0200machinedgod(~machinedg@24.105.81.50)
2021-04-03 19:50:33 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-04-03 19:52:57 +0200xff0x_(~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2) (Quit: xff0x_)
2021-04-03 19:53:06 +0200xff0x(~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2)
2021-04-03 19:56:14 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-04-03 19:58:07 +0200mkDoku(~TheMule@aftr-37-201-195-134.unity-media.net) (Ping timeout: 252 seconds)
2021-04-03 19:58:50 +0200codygman__(~user@47.186.207.161) (Ping timeout: 260 seconds)
2021-04-03 19:58:55 +0200DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 265 seconds)
2021-04-03 19:59:13 +0200geekosaur(82650c7a@130.101.12.122)
2021-04-03 20:00:26 +0200puke(~vroom@217.138.252.196) (Read error: Connection reset by peer)
2021-04-03 20:03:31 +0200mkDoku(~TheMule@aftr-37-201-195-134.unity-media.net)
2021-04-03 20:05:00 +0200jpds1jpds
2021-04-03 20:05:08 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer)
2021-04-03 20:06:02 +0200kiweun(~kiweun@2607:fea8:2a62:9600:3972:833a:53d1:5cc2)
2021-04-03 20:10:30 +0200viluon(uid453725@gateway/web/irccloud.com/x-ewlrlaksxsegzyhv) (Quit: Connection closed for inactivity)
2021-04-03 20:10:41 +0200kiweun(~kiweun@2607:fea8:2a62:9600:3972:833a:53d1:5cc2) (Ping timeout: 258 seconds)
2021-04-03 20:13:14 +0200conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-04-03 20:15:47 +0200pavonia(~user@unaffiliated/siracusa)
2021-04-03 20:16:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 20:17:33 +0200dinciorip(~dincio@62.19.207.211) (Ping timeout: 252 seconds)
2021-04-03 20:17:48 +0200dcoutts(~duncan@94.186.125.91.dyn.plus.net) (Read error: Connection reset by peer)
2021-04-03 20:18:07 +0200dcoutts(~duncan@94.186.125.91.dyn.plus.net)
2021-04-03 20:18:57 +0200dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-04-03 20:21:23 +0200jluttine(~jluttine@85-23-66-6.bb.dnainternet.fi) (Quit: WeeChat 3.0)
2021-04-03 20:21:47 +0200Tops2(~Tobias@dyndsl-095-033-091-175.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2021-04-03 20:22:41 +0200jluttine(~jluttine@85-23-66-6.bb.dnainternet.fi)
2021-04-03 20:24:08 +0200egorbelibov(~65676f72@2001:8a0:5708:2a00:244f:2986:9fb8:5f81) (Remote host closed the connection)
2021-04-03 20:24:29 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-03 20:26:23 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 20:27:20 +0200solvr(57e3c46d@87.227.196.109) (Quit: Connection closed)
2021-04-03 20:28:25 +0200Sornaensis(~Sornaensi@185.192.69.50)
2021-04-03 20:29:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 20:31:26 +0200Sorny(~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 246 seconds)
2021-04-03 20:33:29 +0200jamm_(~jamm@unaffiliated/jamm)
2021-04-03 20:33:29 +0200conal(~conal@64.71.133.70)
2021-04-03 20:37:54 +0200jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 245 seconds)
2021-04-03 20:41:07 +0200maroloccio(~marolocci@pousada3ja.mma.com.br) (Quit: WeeChat 2.3)
2021-04-03 20:42:50 +0200ja(janus@anubis.0x90.dk)
2021-04-03 20:48:39 +0200 <zebrag> :t (2,3) >>= return . (+1)
2021-04-03 20:48:40 +0200 <lambdabot> (Monoid a, Num a, Num b) => (a, b)
2021-04-03 20:49:12 +0200 <zebrag> What does it want to do with the `Monoid` thing?
2021-04-03 20:50:10 +0200DavidEichmann(~david@47.27.93.209.dyn.plus.net) (Remote host closed the connection)
2021-04-03 20:50:47 +0200 <zebrag> > ([2],3) >>= return . (+1) -- Can I combine `[2]` with something?
2021-04-03 20:50:48 +0200 <lambdabot> ([2],4)
2021-04-03 20:51:07 +0200 <hpc> > (2, 3) >>= \_ -> (4, 10)
2021-04-03 20:51:09 +0200 <lambdabot> error:
2021-04-03 20:51:09 +0200 <lambdabot> • Ambiguous type variable ‘a0’ arising from a use of ‘show_M293951867439...
2021-04-03 20:51:09 +0200 <lambdabot> prevents the constraint ‘(Show a0)’ from being solved.
2021-04-03 20:51:23 +0200 <hpc> > (Sum 2, 3) >>= \_ -> (Sum 4, 10) -- bah
2021-04-03 20:51:25 +0200 <lambdabot> (Sum {getSum = 6},10)
2021-04-03 20:51:31 +0200 <hpc> it wants to combine them
2021-04-03 20:51:41 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2021-04-03 20:51:50 +0200 <zebrag> hum
2021-04-03 20:52:19 +0200 <hpc> for lists that's appending, for Sum it's adding, for Product it's multiplication, for Const it's picking one or the other, etc
2021-04-03 20:53:13 +0200 <zebrag> > ([2],3) >>= \x -> ([5], x+1) -- interesting
2021-04-03 20:53:15 +0200 <lambdabot> ([2,5],4)
2021-04-03 20:53:55 +0200ja(janus@anubis.0x90.dk) ()
2021-04-03 20:54:21 +0200minoru_shiraeesh(~shiraeesh@109.166.57.249)
2021-04-03 20:54:37 +0200__minoru__shirae(~shiraeesh@77.94.25.131) (Ping timeout: 268 seconds)
2021-04-03 20:54:44 +0200 <hpc> try applying the Monad laws to tuples and you'll find it naturally comes up
2021-04-03 20:54:58 +0200 <hpc> (or Applicative laws might be easier)
2021-04-03 20:57:18 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Remote host closed the connection)
2021-04-03 20:58:01 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106)
2021-04-03 21:00:19 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Remote host closed the connection)
2021-04-03 21:03:12 +0200dcoutts(~duncan@94.186.125.91.dyn.plus.net) (Ping timeout: 265 seconds)
2021-04-03 21:05:16 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-04-03 21:05:26 +0200sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-62.dsl.bell.ca) (Ping timeout: 240 seconds)
2021-04-03 21:05:53 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-04-03 21:07:49 +0200elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Client Quit)
2021-04-03 21:09:44 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 21:09:48 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Remote host closed the connection)
2021-04-03 21:09:48 +0200sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-62.dsl.bell.ca)
2021-04-03 21:10:15 +0200Pickchea(~private@unaffiliated/pickchea)
2021-04-03 21:15:19 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-04-03 21:15:40 +0200refusenick(~user@2601:644:8502:d700::8cfb)
2021-04-03 21:17:26 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 21:17:31 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 260 seconds)
2021-04-03 21:19:01 +0200xff0x(~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2) (Ping timeout: 250 seconds)
2021-04-03 21:21:04 +0200xff0x(xff0x@gateway/vpn/mullvad/xff0x)
2021-04-03 21:22:06 +0200stree(~stree@68.36.8.116) (Ping timeout: 240 seconds)
2021-04-03 21:25:15 +0200Feuermagier(~Feuermagi@213.178.26.41)
2021-04-03 21:26:16 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-04-03 21:26:23 +0200xff0x(xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 246 seconds)
2021-04-03 21:27:43 +0200sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-62.dsl.bell.ca) (Remote host closed the connection)
2021-04-03 21:27:57 +0200xff0x(~xff0x@2001:1a81:5382:2700:3e60:8ef5:8d8c:59f2)
2021-04-03 21:28:02 +0200sm2n(~sm2n@bras-base-hmtnon143hw-grc-13-70-54-76-62.dsl.bell.ca)
2021-04-03 21:31:39 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-04-03 21:34:27 +0200Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-04-03 21:34:39 +0200stree(~stree@68.36.8.116)
2021-04-03 21:39:21 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Remote host closed the connection)
2021-04-03 21:40:44 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 21:40:47 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Remote host closed the connection)
2021-04-03 21:41:20 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 21:41:52 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-04-03 21:45:37 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Ping timeout: 246 seconds)
2021-04-03 21:46:02 +0200Lord_of_Life_(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-04-03 21:47:06 +0200Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 240 seconds)
2021-04-03 21:47:50 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 21:48:19 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 21:48:49 +0200 <zebrag> `stack install HaTeX; wget .../tikz.hs; stack tikz.hs; lualatex tikz.tex; mupdf tikz.pdf`
2021-04-03 21:49:07 +0200Lord_of_Life_Lord_of_Life
2021-04-03 21:50:00 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Remote host closed the connection)
2021-04-03 21:50:33 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 21:50:42 +0200abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-04-03 21:51:50 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-04-03 21:52:26 +0200 <shalokshalom> Hi there
2021-04-03 21:52:58 +0200whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-04-03 21:53:25 +0200 <shalokshalom> I am someone who I new to the language and everywhere I read something about it, it seems like tons of features has been added, who were later regretted and now its considered 'harmful' doing it like that.
2021-04-03 21:54:15 +0200 <shalokshalom> It feels like there are trip wires all over the place and I hope its just possible to find documentation that simply equals to 'Haskell: The good parts'
2021-04-03 21:54:55 +0200 <koz_> shalokshalom: I don't think that this, even as a whole, is an agreed-upon sentiment.
2021-04-03 21:54:59 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Ping timeout: 250 seconds)
2021-04-03 21:55:03 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 268 seconds)
2021-04-03 21:55:05 +0200 <koz_> Much less what such 'regretted' things are specifically.
2021-04-03 21:55:11 +0200 <koz_> Can you give an example?
2021-04-03 21:55:41 +0200 <monochrom> "tons of features has been added" sounds more like C++ than Haskell
2021-04-03 21:55:58 +0200 <shalokshalom> I just read the Haskell wiki and on basically every article is some form of "dont do it that way" and "that way is dangerous too"
2021-04-03 21:56:02 +0200 <koz_> Also what monochrom said.
2021-04-03 21:56:06 +0200 <koz_> shalokshalom: Again, specifics please.
2021-04-03 21:56:15 +0200 <koz_> Your generalizations make it impossible to meaningfully comment.
2021-04-03 21:56:16 +0200 <monochrom> Don't read the Haskell wiki then.
2021-04-03 21:56:45 +0200 <shalokshalom> I am more interested into a solution and not into discussing this.
2021-04-03 21:56:59 +0200 <monochrom> This is what happens when technology enthusiasists, as opposed to education enthusiasists, dominate.
2021-04-03 21:57:15 +0200 <koz_> shalokshalom: Sure. What particular problem are you seeking to solve?
2021-04-03 21:57:22 +0200 <koz_> You're saying 'there are a bunch of problems'.
2021-04-03 21:57:28 +0200 <koz_> I'm responding 'what are they'.
2021-04-03 21:57:33 +0200 <koz_> You're responding 'dunno just solve em'.
2021-04-03 21:57:36 +0200 <koz_> Can you see the issue here?
2021-04-03 21:57:50 +0200 <koz_> Furthermore, your initial comment sounded like you wanted clarification/discussion, not solutions.
2021-04-03 21:57:53 +0200 <shalokshalom> If you dont see them, you are not the right person to solve them.
2021-04-03 21:58:22 +0200 <koz_> shalokshalom: I apologize for not being a digital mind-reader.
2021-04-03 21:58:39 +0200 <Rembane> shalokshalom: Are you trolling? Or is there anything we can do for you?
2021-04-03 21:58:43 +0200frozenErebus(~frozenEre@37.231.244.249)
2021-04-03 21:58:48 +0200petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-04-03 21:58:57 +0200 <shalokshalom> I hope its just possible to find documentation that simply equals to 'Haskell: The good parts'
2021-04-03 21:59:02 +0200 <maerwald> shalokshalom: it comes with the nature of experimentation and hype driven development that things are regretted later
2021-04-03 21:59:05 +0200 <monochrom> The "Haskell: the good parts" you're looking for are quality Haskell textbooks. Not wiki anything, as said.
2021-04-03 21:59:11 +0200 <maerwald> there are good and bad parts about it
2021-04-03 21:59:23 +0200 <shalokshalom> maerwald: I know
2021-04-03 21:59:28 +0200petersen(~petersen@redhat/juhp)
2021-04-03 21:59:31 +0200 <monochrom> See my http://www.vex.net/~trebla/haskell/learn-sources.html for a few that I think are OK.
2021-04-03 21:59:36 +0200 <shalokshalom> thanks
2021-04-03 22:00:40 +0200 <maerwald> I'm considering haskell prone to hype driven development, even in industry. That also has good sides (highly engaged engineers).
2021-04-03 22:00:46 +0200squidgle(c4f739ec@196.247.57.236)
2021-04-03 22:00:59 +0200 <maerwald> I'm not sure I need to solve this as a problem
2021-04-03 22:01:14 +0200 <maerwald> So I'll let you do it
2021-04-03 22:01:58 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-04-03 22:01:59 +0200 <geekosaur> hype driven development is an occupational / industry problem, not a language problem
2021-04-03 22:02:14 +0200 <maerwald> geekosaur: there is synergy
2021-04-03 22:02:22 +0200 <maerwald> industry users get their GHC extensions in
2021-04-03 22:02:30 +0200 <shalokshalom> https://www.snoyman.com/blog/2020/10/haskell-bad-parts-1/
2021-04-03 22:02:44 +0200 <maerwald> last I checked linear types are driven by Tweag? So they probably have some use case in mind
2021-04-03 22:02:45 +0200 <monochrom> I don't call that synergy, I call that hiidden variable. Human nature is the hidden variable.
2021-04-03 22:02:54 +0200 <geekosaur> note that not everyone agrees with snoyman about the supposed "bad parts"
2021-04-03 22:02:55 +0200 <maerwald> applicativeDo was a corner case of an industry user too
2021-04-03 22:03:00 +0200 <maerwald> and it's really bad
2021-04-03 22:03:14 +0200shalokshalom(~quassel@2a02:1748:dd5e:7f60:cf49:8384:7c93:3106) (Quit: https://quassel-irc.org - Komfortabler Chat. Überall.)
2021-04-03 22:03:26 +0200 <monochrom> Indeed I don't even fearmonger against existential types either.
2021-04-03 22:03:41 +0200 <maerwald> they actuall make sense
2021-04-03 22:04:00 +0200 <geekosaur> in the meantime our guest has left
2021-04-03 22:04:04 +0200 <maerwald> so sad
2021-04-03 22:04:07 +0200 <koz_> 'Guest'.
2021-04-03 22:04:16 +0200 <monochrom> It is not an anti-pattern, unless you're in the context of saying that all of OO is an anti-pattern, which could be true in most cases. >:)
2021-04-03 22:05:06 +0200petersen(~petersen@redhat/juhp) (Ping timeout: 240 seconds)
2021-04-03 22:05:30 +0200hypercube(~hypercube@2603-6011-f901-9e5b-0000-0000-0000-08cf.res6.spectrum.com)
2021-04-03 22:05:35 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-04-03 22:06:47 +0200kiweun(~kiweun@2607:fea8:2a62:9600:e938:55c9:2760:9dff)
2021-04-03 22:06:53 +0200 <pjb> monochrom: I fail to see how OO could be an anti-pattern; OO is basically modularity. When are the big-ball-of-mud or spaghetti-code the pattern of choice vs. OO?
2021-04-03 22:07:13 +0200petersen(~petersen@redhat/juhp)
2021-04-03 22:07:32 +0200 <monochrom> That's a loaded question.
2021-04-03 22:07:40 +0200eam(~eam@185.169.233.10) (Remote host closed the connection)
2021-04-03 22:09:13 +0200 <geekosaur> also, what style of OO?
2021-04-03 22:10:14 +0200dcoutts(~duncan@94.186.125.91.dyn.plus.net)
2021-04-03 22:10:42 +0200 <zebrag> o_O
2021-04-03 22:11:25 +0200kiweun(~kiweun@2607:fea8:2a62:9600:e938:55c9:2760:9dff) (Ping timeout: 258 seconds)
2021-04-03 22:11:33 +0200 <maerwald> I think it's a trap
2021-04-03 22:11:37 +0200 <monochrom> But consider the big ball of mud that was Java before generics in which, for example, the Map insert method was "insert(Object key, Object value)", and the lookup method was "Object lookup(Object key)".
2021-04-03 22:12:12 +0200 <monochrom> "every value is an object" is the same as "every value is a ball of mud".
2021-04-03 22:13:29 +0200 <monochrom> In those backward days, you had to choose between two balls of mud.
2021-04-03 22:13:36 +0200 <monochrom> And it was uphill both ways.
2021-04-03 22:13:44 +0200 <monochrom> Also always snowing.
2021-04-03 22:14:17 +0200 <maerwald> OO was about hiding context/state arguments to functions. We reinvented that in haskell with ReaderT and friends
2021-04-03 22:14:59 +0200 <monochrom> I am holding this issue dearer to my heart than usual because recently I finished drafting explaining parametricity to undergrads.
2021-04-03 22:15:22 +0200esp32_prog(esp32_prog@gateway/vpn/mullvad/esp32prog/x-46565127)
2021-04-03 22:15:57 +0200 <monochrom> And BTW modularity is not basically OO. Modularity is basically SML's parametrized modules.
2021-04-03 22:16:31 +0200 <monochrom> Or Modula-3 or Oberon or Ada to see it is not monopolized by FP.
2021-04-03 22:17:00 +0200fendor(~fendor@77.119.130.232.wireless.dyn.drei.com) (Remote host closed the connection)
2021-04-03 22:17:29 +0200kenran(~kenran@i59F67B83.versanet.de)
2021-04-03 22:17:47 +0200jess(jess@freenode/staff/jess) (Quit: updates)
2021-04-03 22:18:01 +0200squidgle(c4f739ec@196.247.57.236) (Quit: Connection closed)
2021-04-03 22:18:48 +0200 <monochrom> This also relates to an earlier conversation about good, perfect, popular.
2021-04-03 22:19:12 +0200 <monochrom> Networking effect trumps them all. Networking effect is better. Networking effect is more.
2021-04-03 22:20:00 +0200 <monochrom> Modula-3 etc solves the modularity problem people were having. OO solves it too, to be sure.
2021-04-03 22:20:23 +0200 <monochrom> But people have only heard of C++ and Java. They never heard of Modula-3 etc. That settled it.
2021-04-03 22:20:55 +0200 <maerwald> not our fault academics can't decide on one language
2021-04-03 22:21:43 +0200 <Clint> it's because borland didn't make a modula-3 compiler
2021-04-03 22:22:14 +0200fendor(~fendor@77.119.130.232.wireless.dyn.drei.com)
2021-04-03 22:22:18 +0200 <monochrom> :)
2021-04-03 22:22:37 +0200 <monochrom> But Borland made a Prolog compiler. That didn't fly either.
2021-04-03 22:22:39 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-03 22:22:48 +0200 <edwardk> clearly it is all jwiegley's fault for running the wrong team at borland
2021-04-03 22:23:29 +0200 <edwardk> monochrom: prolog was doomed once windows NT used it to calculate device driver loading order
2021-04-03 22:23:32 +0200 <edwardk> it peaked early
2021-04-03 22:23:47 +0200Tario(~Tario@201.192.165.173)
2021-04-03 22:24:01 +0200 <int-e> . o O ( prolog needed to be pure )
2021-04-03 22:24:04 +0200 <monochrom> Wait, so is that what systemd is doing now? >:)
2021-04-03 22:24:24 +0200 <int-e> monochrom: constraint solving is alive and well
2021-04-03 22:24:37 +0200 <int-e> it just tends to be hidden
2021-04-03 22:25:00 +0200machinedgod(~machinedg@24.105.81.50)
2021-04-03 22:27:56 +0200 <edwardk> int-e: i never did ask. are you named after the page fault interrupt or the one for the disk drive?
2021-04-03 22:29:12 +0200fendor_(~fendor@212095005119.public.telering.at)
2021-04-03 22:30:43 +0200fendor__(~fendor@212095005119.public.telering.at)
2021-04-03 22:30:43 +0200fendor__(~fendor@212095005119.public.telering.at) (Read error: Connection reset by peer)
2021-04-03 22:30:48 +0200fendor_(~fendor@212095005119.public.telering.at) (Read error: Connection reset by peer)
2021-04-03 22:31:05 +0200fendor__(~fendor@77.119.130.232.wireless.dyn.drei.com)
2021-04-03 22:33:06 +0200fendor(~fendor@77.119.130.232.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2021-04-03 22:33:39 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-04-03 22:35:18 +0200 <hpc> edwardk: are you named after the guy that uploads all those haskell packages?
2021-04-03 22:37:08 +0200 <maerwald> haha
2021-04-03 22:37:40 +0200 <int-e> edwardk: neither
2021-04-03 22:37:55 +0200sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-04-03 22:39:44 +0200dinciorip(~dincio@5.171.36.128)
2021-04-03 22:39:49 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-04-03 22:39:50 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Max SendQ exceeded)
2021-04-03 22:40:02 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-04-03 22:40:33 +0200 <edwardk> hpc: i met him once. it is more like a dread pirate roberts kind of thing. he showed up at my house, said 'here, this is how you upload packages' and then left.
2021-04-03 22:40:44 +0200 <edwardk> i've been trying to figure out what to do ever since.
2021-04-03 22:42:14 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it)
2021-04-03 22:43:09 +0200mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds)
2021-04-03 22:43:09 +0200 <hpc> he faded away like yoda?
2021-04-03 22:44:03 +0200 <geekosaur> vanished in a puff of higher-order logic?
2021-04-03 22:44:57 +0200 <int-e> but left behind a few Back to the Future puns?
2021-04-03 22:48:28 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-03 22:49:31 +0200geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-04-03 22:50:38 +0200 <int-e> (I'm still not over https://hackage.haskell.org/package/bifunctors-5.5.10/docs/Data-Bifunctor-Biff.html#t:Biff, https://hackage.haskell.org/package/bifunctors-5.5.10/docs/Data-Bifunctor-Tannen.html#t:Tannen)
2021-04-03 22:51:38 +0200alct(~alct@194.37.96.82)
2021-04-03 22:51:42 +0200 <hpc> that's almost as good as hasslich = unschoen
2021-04-03 22:52:11 +0200 <int-e> hässlich *ist* unschön :)
2021-04-03 22:54:45 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-04-03 22:54:46 +0200Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-04-03 22:55:06 +0200Tario(~Tario@201.192.165.173)
2021-04-03 22:55:50 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-04-03 23:00:17 +0200acidjnk_new(~acidjnk@p200300d0c72b95616541deb5a58528aa.dip0.t-ipconnect.de)
2021-04-03 23:00:45 +0200Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds)
2021-04-03 23:00:53 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-04-03 23:01:25 +0200petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-04-03 23:02:03 +0200petersen(~petersen@redhat/juhp)
2021-04-03 23:03:03 +0200kenran(~kenran@i59F67B83.versanet.de) (Remote host closed the connection)
2021-04-03 23:07:12 +0200Alias(2d90897b@45.144.137.123)
2021-04-03 23:07:57 +0200Alias(2d90897b@45.144.137.123) ()
2021-04-03 23:08:49 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com)
2021-04-03 23:09:00 +0200howdoi(uid224@gateway/web/irccloud.com/x-hncllipeficcbcan)
2021-04-03 23:09:11 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2021-04-03 23:12:54 +0200ezrakilty(~ezrakilty@97-126-95-37.tukw.qwest.net)
2021-04-03 23:14:43 +0200Alias(~Alias@45.144.137.123)
2021-04-03 23:15:37 +0200Alias(~Alias@45.144.137.123) (Client Quit)
2021-04-03 23:15:51 +0200Alias(~Alias@45.144.137.123)
2021-04-03 23:16:36 +0200HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Ping timeout: 265 seconds)
2021-04-03 23:17:17 +0200jess(jess@freenode/staff/jess)
2021-04-03 23:17:46 +0200fendor__fendor
2021-04-03 23:19:03 +0200frozenErebus(~frozenEre@37.231.244.249) (Ping timeout: 252 seconds)
2021-04-03 23:19:16 +0200kiweun(~kiweun@2607:fea8:2a62:9600:1064:5b4f:c9cd:bb5a)
2021-04-03 23:21:23 +0200asdfghjkl100(49336fc4@c-73-51-111-196.hsd1.il.comcast.net) (Ping timeout: 240 seconds)
2021-04-03 23:21:34 +0200Alias(~Alias@45.144.137.123) (Quit: Quit)
2021-04-03 23:21:54 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 23:23:40 +0200DTZUZU_(~DTZUZO@207.81.119.43)
2021-04-03 23:25:41 +0200DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 240 seconds)
2021-04-03 23:26:25 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3) (Ping timeout: 250 seconds)
2021-04-03 23:26:50 +0200neiluj(~jco@unaffiliated/neiluj) (Quit: leaving)
2021-04-03 23:28:40 +0200_xor(~xor@74.215.46.133) (Read error: Connection reset by peer)
2021-04-03 23:31:37 +0200_xor(~xor@74.215.46.133)
2021-04-03 23:32:38 +0200son0p(~son0p@181.136.122.143)
2021-04-03 23:35:10 +0200ericsagn1(~ericsagne@2405:6580:0:5100:1b1e:6b9b:245f:d5e2) (Ping timeout: 246 seconds)
2021-04-03 23:35:16 +0200fendor_(~fendor@178.165.129.178.wireless.dyn.drei.com)
2021-04-03 23:38:11 +0200fendor(~fendor@77.119.130.232.wireless.dyn.drei.com) (Ping timeout: 240 seconds)
2021-04-03 23:41:44 +0200petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-04-03 23:42:27 +0200petersen(~petersen@redhat/juhp)
2021-04-03 23:42:45 +0200motersen(~motersen@gateway/tor-sasl/motersen) (Ping timeout: 240 seconds)
2021-04-03 23:42:46 +0200stree(~stree@68.36.8.116) (Ping timeout: 260 seconds)
2021-04-03 23:43:33 +0200Franciman(~francesco@host-87-20-23-243.retail.telecomitalia.it) (Quit: Leaving)
2021-04-03 23:45:58 +0200motersen(~motersen@gateway/tor-sasl/motersen)
2021-04-03 23:47:47 +0200ericsagn1(~ericsagne@2405:6580:0:5100:4c29:bb07:9985:fb29)
2021-04-03 23:50:05 +0200machinedgod(~machinedg@24.105.81.50)
2021-04-03 23:50:51 +0200ADG1089(~aditya@223.235.216.238)
2021-04-03 23:51:41 +0200Guest56580(~textual@mskresolve-a.mskcc.org) (Ping timeout: 252 seconds)
2021-04-03 23:52:05 +0200petersen(~petersen@redhat/juhp) (Quit: petersen)
2021-04-03 23:52:42 +0200petersen(~petersen@redhat/juhp)
2021-04-03 23:53:29 +0200molehillish(~molehilli@2600:8800:8d06:1800:c5e2:b955:ecac:f7f3)
2021-04-03 23:54:37 +0200fendor_(~fendor@178.165.129.178.wireless.dyn.drei.com) (Read error: Connection reset by peer)
2021-04-03 23:56:00 +0200stree(~stree@68.36.8.116)