Home freenode/#haskell: Logs Calendar

Logs on 2020-11-14 (freenode/#haskell)

00:00:01 × BluePass quits (~BluePass@185.163.110.116) ()
00:00:08 × electricityZZZZ quits (~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net) (Quit: Leaving)
00:00:52 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
00:02:40 jakalx joins (~jakalx@base.jakalx.net)
00:02:58 × PatrcikGrey quits (4d2d3763@77-45-55-99.sta.asta-net.com.pl) (Remote host closed the connection)
00:03:25 <sm[m]> does that look sane ? utcTimeToClockTime https://paste.tomsmeding.com/3lmo5ohU
00:06:13 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
00:06:23 × sagax quits (~sagax_nb@213.138.71.146) (Ping timeout: 260 seconds)
00:06:36 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
00:07:12 <sm[m]> approved by scientific ghci testing
00:09:25 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
00:09:28 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
00:09:34 jchia__ joins (~jchia@45.32.62.73)
00:10:35 × jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection)
00:10:57 jchia__ joins (~jchia@45.32.62.73)
00:11:08 MarcelineVQ joins (~anja@198.254.202.72)
00:12:08 × jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection)
00:12:30 Tario joins (~Tario@201.192.165.173)
00:12:38 jchia__ joins (~jchia@45.32.62.73)
00:13:10 <sm[m]> https://github.com/haskell/old-time/issues/11
00:13:35 × Ariakenom quits (~Ariakenom@h-82-196-111-82.NA.cust.bahnhof.se) (Quit: Leaving)
00:14:07 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
00:15:07 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
00:15:27 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
00:16:27 × jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection)
00:16:59 jchia__ joins (~jchia@45.32.62.73)
00:17:43 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
00:18:01 hackage polysemy-methodology-composite 0.1.3.0 - Functions for using polysemy-methodology with composite. https://hackage.haskell.org/package/polysemy-methodology-composite-0.1.3.0 (locallycompact)
00:19:00 × moet quits (~moet@mobile-166-170-42-250.mycingular.net) (Quit: leaving)
00:19:11 × alp quits (~alp@2a01:e0a:58b:4920:d528:e132:73d:7a39) (Ping timeout: 272 seconds)
00:20:00 <MarcelineVQ> surely there's a more constructive tagline for that than to repeat the package name
00:20:28 christo joins (~chris@81.96.113.213)
00:20:50 × jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection)
00:21:14 jchia__ joins (~jchia@45.32.62.73)
00:22:00 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
00:23:01 × jchia__ quits (~jchia@45.32.62.73) (Remote host closed the connection)
00:23:41 jchia__ joins (~jchia@58.32.37.146)
00:24:15 <sm[m]> I want to check if a file exists, and I don't want to ever get an IO error. I suppose that's not guaranteed by System.Directory.doesFileExist, right
00:24:34 <sm[m]> eg if filesystem disappeared or something
00:24:45 × christo quits (~chris@81.96.113.213) (Ping timeout: 240 seconds)
00:26:38 jakalx joins (~jakalx@base.jakalx.net)
00:28:11 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
00:29:35 hexreel joins (~h@2600:1700:28e2:14d0:bc82:864a:83e9:db71)
00:30:09 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
00:32:03 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
00:32:08 <monochrom> Expecting programmers to know how to describe a thing without using code or "meaningful" names? :)
00:33:05 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
00:34:12 <int-e> sm[m]: what if the FS disappears between the test and whatever you did the test for?
00:34:35 × hexreel quits (~h@2600:1700:28e2:14d0:bc82:864a:83e9:db71) (Quit: hexreel)
00:34:41 <int-e> . o O ( doesFileCertainlyExist _fn = return False )
00:35:45 burg_philo joins (~igloo@pool-100-33-61-227.nycmny.fios.verizon.net)
00:36:29 × burg_philo quits (~igloo@pool-100-33-61-227.nycmny.fios.verizon.net) (Remote host closed the connection)
00:37:05 <sm[m]> int-e: that's what I'm saying.. if I want to guard against such things I think I need to catch IOException, not just rely on it returning False
00:37:28 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 256 seconds)
00:37:44 <c_wraith> int-e: that's just a naming problem. a name like probablyExistedAtSomeTime lets it be more useful.
00:37:50 christo joins (~chris@81.96.113.213)
00:37:53 <sm[m]> oh.. well yes now you make things more difficult for me :)
00:38:22 Aquazi joins (uid312403@gateway/web/irccloud.com/x-lhuelelchcmoqnuu)
00:38:47 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
00:38:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
00:39:12 <int-e> sm[m]: I liked my function, because it's not going to throw an IO error. :P
00:40:39 <sm[m]> there's a fine line here and I think you have gone too far :)
00:40:40 <int-e> computers just have too many ways to fail
00:41:05 <sm[m]> main = exitFailure
00:41:26 burg_philo joins (~igloo@pool-100-33-61-227.nycmny.fios.verizon.net)
00:41:46 × burg_philo quits (~igloo@pool-100-33-61-227.nycmny.fios.verizon.net) (Remote host closed the connection)
00:41:49 <int-e> main = main -- partially correct; TODO: imrpove running time
00:42:30 hackage charter 0.1.1.0 - https://hackage.haskell.org/package/charter-0.1.1.0 (ChrisPenner)
00:42:40 <int-e> (though that joke doesn't quite work with blackhole detection)
00:43:42 <MarcelineVQ> then there's the case where something else entirely threw the IO error during your IO action
00:44:12 <bqv> sm[m]: technically, you should be catching IOException anyway, right?
00:44:32 <bqv> they can strike at any time!
00:44:37 <bqv> when you least expect it...
00:44:41 <bqv> except in pure code.
00:45:17 <sm[m]> bqv I suppose you're right, and in fact I only use this in the context of Yesod which does that
00:46:05 <sm[m]> so catching exceptions in here is probably trying too hard. I am also just afraid of anything exception related at this point, I feel it's going to bite me.
00:47:11 <bqv> heh
00:50:59 × nados quits (~dan@69-165-210-185.cable.teksavvy.com) (Quit: Leaving)
00:51:31 hackage charter 0.1.1.1 - https://hackage.haskell.org/package/charter-0.1.1.1 (ChrisPenner)
00:55:36 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
00:56:03 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
00:59:20 nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
00:59:45 × nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection)
01:00:22 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
01:01:15 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
01:01:48 × tmciver quits (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 260 seconds)
01:03:44 tmciver joins (~tmciver@cpe-172-101-40-226.maine.res.rr.com)
01:04:03 × leungbk` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Ping timeout: 260 seconds)
01:04:43 nbloomf joins (~nbloomf@76.217.43.73)
01:05:48 × AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Ping timeout: 256 seconds)
01:06:07 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
01:06:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
01:08:27 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
01:09:23 × Tuplanolla quits (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Ping timeout: 260 seconds)
01:11:02 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
01:11:33 sh9 joins (~sh9@softbank060116136158.bbtec.net)
01:12:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds)
01:19:13 conal joins (~conal@64.71.133.70)
01:20:49 × Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa)
01:22:20 × Beetstra1 quits (~Beetstra@178.162.212.214) ()
01:25:15 × crdrost quits (~crdrost@c-98-207-102-156.hsd1.ca.comcast.net) (Quit: This computer has gone to sleep)
01:25:43 leungbk` joins (~user@cpe-104-33-52-83.socal.res.rr.com)
01:27:36 fimp joins (~fimp@195.206.169.184)
01:28:41 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 256 seconds)
01:28:46 vacm joins (~vacwm@70.23.92.191)
01:29:43 Lord_of_Life_ joins (~Lord@46.217.218.118)
01:31:52 × Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds)
01:32:31 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
01:41:51 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
01:42:16 jess is now known as sandcat
01:44:54 × m0rphism quits (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 256 seconds)
01:52:31 hackage isbn 1.1.0.2 - ISBN Validation and Manipulation https://hackage.haskell.org/package/isbn-1.1.0.2 (charukiewicz)
01:52:31 × pjb quits (~t@2a01cb04063ec50054866239aff0100c.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
01:53:43 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
02:01:20 pjb joins (~t@2a01cb04063ec500886d37c8211c68f4.ipv6.abo.wanadoo.fr)
02:02:03 × nbloomf quits (~nbloomf@76.217.43.73) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:02:56 × hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
02:03:19 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
02:06:39 nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7)
02:07:05 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
02:08:00 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Client Quit)
02:09:06 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:09:23 × z0k quits (~user@101.50.68.94) (Ping timeout: 260 seconds)
02:11:39 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
02:12:10 sandcat is now known as jess
02:12:48 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
02:14:22 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
02:16:16 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
02:17:22 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
02:17:37 × xff0x quits (~fox@2001:1a81:53f2:4b00:f0ff:5175:9775:725d) (Ping timeout: 260 seconds)
02:18:14 xff0x joins (~fox@2001:1a81:53f2:4b00:facd:3f15:2b92:4dc6)
02:26:20 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
02:31:48 × mud quits (~mud@unaffiliated/kadoban) (Quit: bye)
02:34:46 mud joins (~mud@unaffiliated/kadoban)
02:41:33 HarveyPwca joins (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net)
02:43:42 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
02:44:01 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
02:45:13 × stree quits (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net) (Quit: Caught exception)
02:45:32 stree joins (~stree@50-108-72-205.adr01.mskg.mi.frontiernet.net)
02:46:04 × xsperry quits (~as@unaffiliated/xsperry) (Remote host closed the connection)
02:46:07 × xff0x quits (~fox@2001:1a81:53f2:4b00:facd:3f15:2b92:4dc6) (Ping timeout: 272 seconds)
02:47:27 xff0x joins (~fox@2001:1a81:522c:400:5e4f:911d:8651:d35d)
02:50:13 xsperry joins (~as@unaffiliated/xsperry)
02:50:31 Guest52652 joins (~ao2@178.162.212.214)
02:54:25 wei2912 joins (~wei2912@unaffiliated/wei2912)
02:56:10 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
02:58:54 × lucasb quits (uid333435@gateway/web/irccloud.com/x-oypdzthrgbpglsbk) (Quit: Connection closed for inactivity)
03:00:01 × fimp quits (~fimp@195.206.169.184) ()
03:03:07 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
03:07:11 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
03:13:28 × leungbk` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Ping timeout: 272 seconds)
03:17:04 × otulp quits (~otulp@ti0187q162-6038.bb.online.no) (Ping timeout: 240 seconds)
03:17:54 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
03:17:57 olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber)
03:18:09 <mtothem> How can i properly import a variable from a module? https://termbin.com/u31f It works like intended if i have it same scope (no module). But i get these errors when i import this module and try to use it. https://termbin.com/6y8p9
03:18:47 <glguy> mtothem, you need to export more stuff
03:18:59 <glguy> module Colorscheme ( gruvboxVoid, ColorScheme(..) ) where
03:19:39 <mtothem> Oh, do i need to include all the fields as well?
03:19:53 argent0 joins (~argent0@168.227.98.85)
03:20:41 leungbk` joins (~user@2605:e000:1315:706:5755:2410:79b9:d771)
03:21:12 <glguy> mtothem, If you put the (..) it will export the value constructor and field selectors
03:21:23 <glguy> without them it only exports the type constructor
03:22:20 <mtothem> That makes sense, thanks a lot glguy
03:22:36 rtpchan joins (~rtpchan@c-98-198-235-37.hsd1.tx.comcast.net)
03:29:38 falafel joins (~falafel@c-73-210-136-48.hsd1.il.comcast.net)
03:32:08 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
03:37:58 jmcarthur joins (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net)
03:38:23 joebobjoe joins (~joebobjoe@unaffiliated/joebobjoe)
03:38:30 <joebobjoe> does anybody have a problem with TOML
03:39:37 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Quit: WeeChat 2.9)
03:40:23 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
03:40:42 <joebobjoe> what is a better alternative
03:42:09 nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7)
03:44:07 Jeanne-Kamikaze joins (~Jeanne-Ka@66.115.189.189)
03:44:52 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
03:45:21 × leungbk` quits (~user@2605:e000:1315:706:5755:2410:79b9:d771) (Remote host closed the connection)
03:45:50 leungbk`` joins (~user@cpe-104-33-52-83.socal.res.rr.com)
03:47:10 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
03:48:23 <pavonia> joebobjoe: Better in what way?
03:48:39 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
03:48:49 <joebobjoe> I don't know, the language is not obvious to me
03:48:57 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
03:50:00 <glguy> For configuring my IRC client I made this: https://hackage.haskell.org/package/config-value
03:50:12 × jmcarthur quits (~jmcarthur@c-73-29-224-10.hsd1.nj.comcast.net) (Ping timeout: 256 seconds)
03:50:20 <joebobjoe> from the v1.0.0-rc.3 spec: "Dotted keys define everything to the left of each dot as a table."
03:50:26 <glguy> It has a sister library that handles defining schemas, generates documentation, produces error messages for missing fields, etc
03:50:39 × leungbk`` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Ping timeout: 260 seconds)
03:51:24 <joebobjoe> but you can make constructs like: [[a]] then [a.b] on the next line
03:51:31 jollygood2 joins (~bc8165ab@217.29.117.252)
03:51:40 <joebobjoe> thanks glguy I'll look
03:52:22 <glguy> *TOML> parseTOML "[a.b.c]\nd = 10\ne=20\n"
03:52:23 <glguy> Right [("a",Table [("b",Table [("c",Table [("d",Integer 10),("e",Integer 20)])])])]
03:52:29 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Ping timeout: 258 seconds)
03:54:12 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
03:54:58 <joebobjoe> *TOML> parseTOML "[[a]]\n[a.b]\n"
03:55:05 <joebobjoe> I thought it was a bot
03:55:38 <joebobjoe> maybe a.b is not a "key"?
03:55:47 <glguy> *TOML> parseTOML "[[a]]\n[b.c]\n"
03:55:48 <glguy> Right [("a",List [Table []]),("b",Table [("c",Table [])])]
03:55:57 <glguy> I'm just using a GHCi session to run those
03:56:03 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
03:56:16 daim2k5 joins (~daim2k5@84.39.116.180)
03:56:31 <joebobjoe> oops
03:56:47 <joebobjoe> you changed a.b to b.c
03:56:58 <glguy> yeah, what you wrote was invalid
03:57:05 × theDon quits (~td@muedsl-82-207-238-116.citykom.de) (Ping timeout: 258 seconds)
03:57:12 <glguy> *TOML Text> parseTOML (Text.unlines ["[[a]]", "x=1", "[[a]]", "y=2"])
03:57:12 <glguy> Right [("a",List [Table [("x",Integer 1)],Table [("y",Integer 2)]])]
03:57:22 lagothrix is now known as Guest85263
03:57:22 × Guest85263 quits (~lagothrix@unaffiliated/lagothrix) (Killed (moon.freenode.net (Nickname regained by services)))
03:57:23 dyeplexer joins (~lol@unaffiliated/terpin)
03:57:30 lagothrix joins (~lagothrix@unaffiliated/lagothrix)
03:57:44 <glguy> You can't define a to be both a list and a table
03:58:39 <joebobjoe> what is the error exactl?
03:58:58 theDon joins (~td@94.134.91.148)
03:59:11 <glguy> You tried to use 'a' as a list and as a table; you have to pick one or the other
03:59:38 <joebobjoe> try it
03:59:42 <joebobjoe> it works
04:00:01 <joebobjoe> and I was wrong
04:00:10 <joebobjoe> the a in the a.b is actually referring to a table
04:00:14 <joebobjoe> the spec is right
04:00:28 <joebobjoe> its just the last table in the array of tables whose last member was [[a]]
04:02:50 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
04:04:05 <glguy> Ah, I didn't know about that particular behavior
04:04:43 wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
04:05:41 <joebobjoe> non-obvious
04:05:49 <joebobjoe> obvious to Tom I guess
04:07:14 <jollygood2> is there any library in haskell for analyzing live video image [from a webcam]? I need to detect some relatively simple objects
04:09:23 z0k joins (~user@101.50.68.94)
04:10:25 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds)
04:11:05 sagax joins (~sagax_nb@213.138.71.146)
04:11:47 jonatanb joins (~jonatanb@83.24.155.27.ipv4.supernova.orange.pl)
04:12:25 <joebobjoe> glguy: how do I get into the same *TOML Text> environment as you?
04:13:02 <glguy> It's a library I made, but I'll have to fix it up for that case we were just talking about
04:13:16 <glguy> cabal repl --build-dep toml-parser
04:15:45 <jollygood2> I did some googling, and I could just find linux-only webcam packages
04:15:58 × jonatanb quits (~jonatanb@83.24.155.27.ipv4.supernova.orange.pl) (Ping timeout: 246 seconds)
04:16:25 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
04:23:49 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
04:26:22 × argent0 quits (~argent0@168.227.98.85) (Quit: leaving)
04:27:38 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
04:28:40 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
04:32:11 CMCDragonkai1 joins (~Thunderbi@124.19.3.250)
04:34:09 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
04:34:20 justsomeguy joins (~justsomeg@216.186.218.241)
04:34:20 × justsomeguy quits (~justsomeg@216.186.218.241) (Changing host)
04:34:20 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
04:37:38 × joebobjoe quits (~joebobjoe@unaffiliated/joebobjoe) (Quit: leaving)
04:37:55 × texasmynsted quits (~texasmyns@64.44.55.44) ()
04:39:23 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
04:41:32 × rtpchan quits (~rtpchan@c-98-198-235-37.hsd1.tx.comcast.net) (Quit: Leaving)
04:42:54 aarvar joins (~foewfoiew@50.35.43.33)
04:43:58 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
04:44:17 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
04:47:57 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
04:49:13 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
04:54:26 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
04:57:38 × polyphem quits (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 264 seconds)
04:59:15 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
05:00:15 × urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna)
05:00:58 Guest_30 joins (2a5b6f54@42.91.111.84)
05:01:39 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
05:01:45 × CMCDragonkai1 quits (~Thunderbi@124.19.3.250) (Ping timeout: 256 seconds)
05:02:01 <Guest_30> when I set up ghc, I met a problem: Make sure to clean up "/var/folders/zh/j3p4n0757pn_41f22p0hjzcm0000gn/T/ghcup-ivgyrr" afterwards. How could I do?
05:04:35 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
05:05:04 leungbk`` joins (~user@cpe-104-33-52-83.socal.res.rr.com)
05:05:36 × z0k quits (~user@101.50.68.94) (Quit: WeeChat 2.9)
05:05:50 × gxt quits (~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
05:06:31 gxt joins (~gxt@gateway/tor-sasl/gxt)
05:09:32 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
05:09:32 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
05:09:41 Tario joins (~Tario@201.192.165.173)
05:11:04 × falafel quits (~falafel@c-73-210-136-48.hsd1.il.comcast.net) (Ping timeout: 258 seconds)
05:15:12 falafel joins (~falafel@c-73-210-136-48.hsd1.il.comcast.net)
05:15:24 × s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Read error: Connection reset by peer)
05:18:02 × justanotheruser quits (~justanoth@unaffiliated/justanotheruser) (Ping timeout: 264 seconds)
05:23:43 Saukk joins (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
05:25:29 coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
05:25:52 howdoi joins (uid224@gateway/web/irccloud.com/x-iysoheblnnbktzye)
05:26:01 × sh9 quits (~sh9@softbank060116136158.bbtec.net) (Ping timeout: 264 seconds)
05:26:16 <bqv> I just did :t in a nix repl by accident
05:26:26 <bqv> and was surprised when it worked...
05:26:32 <bqv> Ish
05:27:10 PlasmaStrike joins (~mattplasm@38.73.141.198)
05:28:27 christo joins (~chris@81.96.113.213)
05:28:42 × falafel quits (~falafel@c-73-210-136-48.hsd1.il.comcast.net) (Ping timeout: 258 seconds)
05:28:42 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
05:28:45 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
05:28:55 × Aquazi quits (uid312403@gateway/web/irccloud.com/x-lhuelelchcmoqnuu) (Quit: Connection closed for inactivity)
05:29:58 × MarcelineVQ quits (~anja@198.254.202.72) (Read error: Connection reset by peer)
05:30:40 MarcelineVQ joins (~anja@198.254.202.72)
05:30:53 day_ joins (~Unknown@unaffiliated/day)
05:32:58 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 246 seconds)
05:33:39 christo joins (~chris@81.96.113.213)
05:34:16 × day quits (~Unknown@unaffiliated/day) (Ping timeout: 260 seconds)
05:34:16 day_ is now known as day
05:35:59 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 258 seconds)
05:36:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
05:37:11 hololeap joins (~hololeap@unaffiliated/hololeap)
05:38:01 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
05:38:26 × christo quits (~chris@81.96.113.213) (Ping timeout: 256 seconds)
05:41:40 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
05:41:47 sh9 joins (~sh9@softbank060116136158.bbtec.net)
05:42:15 ggole joins (~ggole@2001:8003:8119:7200:25f2:4cfe:81d3:cfb8)
05:43:31 hackage brick 0.57.1 - A declarative terminal user interface library https://hackage.haskell.org/package/brick-0.57.1 (JonathanDaugherty)
05:43:34 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds)
05:48:28 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
05:50:33 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Ping timeout: 260 seconds)
05:53:47 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
05:55:11 × jakob_ quits (~textual@p57b0eae0.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
05:58:40 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:00:01 × daim2k5 quits (~daim2k5@84.39.116.180) ()
06:01:33 × Guest_30 quits (2a5b6f54@42.91.111.84) (Remote host closed the connection)
06:03:40 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
06:06:32 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
06:07:47 × PlasmaStrike quits (~mattplasm@38.73.141.198) (Ping timeout: 260 seconds)
06:08:33 × Jeanne-Kamikaze quits (~Jeanne-Ka@66.115.189.189) (Quit: Leaving)
06:08:45 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:10:23 × hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
06:11:04 hekkaidekapus_ joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
06:11:30 justanotheruser joins (~justanoth@unaffiliated/justanotheruser)
06:12:51 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:13:18 × leungbk`` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Ping timeout: 260 seconds)
06:13:26 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
06:13:43 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
06:17:01 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Max SendQ exceeded)
06:17:59 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
06:18:17 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
06:18:17 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
06:18:52 × Rudd0 quits (~Rudd0@185.189.115.98) (Ping timeout: 260 seconds)
06:18:58 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:19:50 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 264 seconds)
06:22:04 PlasmaStrike joins (~mattplasm@107.72.99.67)
06:24:06 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds)
06:29:06 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:29:48 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
06:29:50 falafel joins (~falafel@c-73-210-136-48.hsd1.il.comcast.net)
06:32:44 <dsal> How relevant is recursion-schemes as a library? It seems like catamorphisms are covered really well by Foldable. Is there something similar for anamorphisms?
06:33:49 <MarcelineVQ> 12 relevant
06:34:09 keltono is now known as KF0CHQ
06:34:18 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
06:34:54 KF0CHQ is now known as keltono
06:35:31 <dsal> Heh. I have a cool data structure that's a functor, foldable, traversable, monoidal, etc... I guess trying to see if I can figure out the fixed point of it would be helpful.
06:36:11 <MarcelineVQ> it'd be the neutral value of the monoid yeah?
06:36:52 <dsal> I understand the goals a lot better than I understand the details at this point.
06:37:29 <MarcelineVQ> a fixed point is 'of' some operation, iiuc, so it'd depend anyway
06:37:42 <dsal> e.g., the base functor with an extra type is still still a bit confusing to me.
06:38:48 mmohammadi9812 joins (~mmohammad@185.186.245.158)
06:38:57 <MarcelineVQ> What's that? :>
06:39:12 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
06:39:41 takuan joins (~takuan@178-116-218-225.access.telenet.be)
06:39:56 <dsal> https://hackage.haskell.org/package/recursion-schemes-5.2.1/docs/Data-Functor-Base.html
06:40:10 <dsal> e.g., `data ListF a b` is the base functor for `[a]`
06:44:01 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
06:44:07 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
06:44:31 alp joins (~alp@2a01:e0a:58b:4920:a479:4d14:23b0:2e6f)
06:49:16 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
06:53:50 <MarcelineVQ> ah neato, abstracting the recursive structure to make it not-recurvise
06:54:01 ToBeFree joins (~ToBeFree@84.39.117.57)
06:54:49 <hololeap> dsal: the idea is that you can take a self-referencing recursive structure, like `data Stream a = Stream a (Stream a)`, and replace that self-reference with a type variable, e.g. `data StreamF a b = StreamF a b`
06:55:38 <hololeap> and thus `Fix (StreamF a)` = `Stream a`
06:56:26 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
06:56:45 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
06:58:48 <hololeap> anamorphims are covered by `unfold`-like functions
07:02:50 × Saukk quits (~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
07:03:52 <hololeap> dsal, is your data structure recursive?
07:06:42 × reallymemorable quits (~quassel@2601:180:8300:8fd0:c5df:6e57:bcff:c1bb) (Ping timeout: 260 seconds)
07:08:00 × cp- quits (~cp-@b157153.ppp.asahi-net.or.jp) (Quit: Disappeared in a puff of smoke)
07:08:46 <dsal> Yeah. I've got this: `data SubTree a = SubTree { subs :: Maybe a, children :: Map Filter (SubTree a) } deriving (Show, Eq, Functor, Traversable)`
07:09:26 cp- joins (~cp-@b157153.ppp.asahi-net.or.jp)
07:10:35 <dsal> I understand unfold is an anamorphism, I'm just wondering if there's a class for that.
07:13:43 <dsal> I had originally hand-written Functor and Traversable before I figured out ghc would just do it for me.
07:14:44 <dsal> Oh, `b` is just "me" there?
07:15:09 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
07:16:55 <bliminse> dsal: there's no Unfoldable class as far as I know, only thing close is the actual Corecursive class in the recursion-schemes package itself
07:17:00 <hololeap> more or less... it allows for an algebra (StreamF a b -> b) to be used for the catamorphism
07:17:05 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
07:17:16 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
07:17:20 <hololeap> and, dually, a coalgebra (b -> StreamF a b) to be used for the anamorphism
07:17:28 × cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
07:17:45 <dsal> Makes sense. I guess I should see if I can even implement this.
07:18:35 <hololeap> the problem that i see is that `SubTreeF a b` would need to be functorial in b, but it's wrapped in a Map
07:19:19 <hololeap> so, you might not be able to plug it into the recursion-schemes layout
07:19:38 <dsal> Yeah, I was noticing the lack of Map there.
07:20:13 <hololeap> still, it is very much possible to write a custom (cata/ana)morphism function for it
07:20:47 <hololeap> well, i can't guarantee it, since i haven't tried
07:20:58 jakalx joins (~jakalx@base.jakalx.net)
07:21:33 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
07:21:42 <dsal> Well, this type is "done" -- I'm just trying to understand recursion-types. This might not be the best place to start, but I don't have a lot of just like, proper data types.
07:22:04 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
07:23:57 <hololeap> wait, Map does have a Functor instance! i was thinking of SEt
07:25:07 × roconnor quits (~roconnor@host-184-164-7-99.dyn.295.ca) (Ping timeout: 256 seconds)
07:25:11 <dsal> Oh. I thought you meant something specific to recursion-schemes
07:25:23 × bidabong quits (uid272474@gateway/web/irccloud.com/x-plghuymdrvvlqwlm) (Quit: Connection closed for inactivity)
07:26:52 <sshine> with stack.yaml, is it possible to add an extra-deps package from github using a tag rather than a commit hash?
07:27:23 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
07:27:59 jakalx parts (~jakalx@base.jakalx.net) ("Disconnected: closed")
07:28:52 × falafel quits (~falafel@c-73-210-136-48.hsd1.il.comcast.net) (Ping timeout: 256 seconds)
07:30:20 <hololeap> dsal: so, yeah, you could experiment with something like this: https://dpaste.com/CEJU47SDL
07:30:23 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
07:30:44 jakalx joins (~jakalx@base.jakalx.net)
07:32:14 <dsal> Oh thanks, that's helpful. I was getting a little lost at the F
07:32:22 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
07:34:37 <dsal> Huh. I wonder why I wasn't deriving Foldable.
07:35:08 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
07:35:08 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
07:36:44 × alp quits (~alp@2a01:e0a:58b:4920:a479:4d14:23b0:2e6f) (Remote host closed the connection)
07:37:10 alp joins (~alp@2a01:e0a:58b:4920:ecdf:3150:4131:aec0)
07:37:33 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
07:42:52 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
07:43:26 <hololeap> you can even derive Recursive and Corecursive: https://dpaste.com/CWZDFZV4H
07:47:43 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
07:51:44 danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
07:53:24 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds)
07:55:42 × mmohammadi9812 quits (~mmohammad@185.186.245.158) (Ping timeout: 260 seconds)
07:56:09 mmohammadi9812 joins (~mmohammad@2.178.173.138)
07:56:23 Sanchayan joins (~Sanchayan@171.61.102.109)
07:58:04 × justsomeguy quits (~justsomeg@unaffiliated/--/x-3805311) ()
07:58:08 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
07:58:21 × alp quits (~alp@2a01:e0a:58b:4920:ecdf:3150:4131:aec0) (Ping timeout: 272 seconds)
08:03:17 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
08:04:47 chaosmasttter joins (~chaosmast@p200300c4a70f620115f0ead7b0e70c62.dip0.t-ipconnect.de)
08:04:58 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
08:07:02 isBEKaml joins (~isBEKaml@unaffiliated/isbekaml)
08:08:14 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
08:11:10 sord937 joins (~sord937@gateway/tor-sasl/sord937)
08:13:04 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
08:14:51 babygnu joins (~robert@gateway/tor-sasl/babygnu)
08:18:25 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
08:19:02 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
08:21:27 <dsal> I got this far tonight: Cofree is a functor from the category of functors to the category of comonads that is right adjoint to the forgetful functor from the category of comonads to the category of functors that forgets how to extract and duplicate, leaving you with only a Functor.
08:23:12 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
08:25:25 × kav quits (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Ping timeout: 258 seconds)
08:28:22 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Ping timeout: 260 seconds)
08:28:26 × isBEKaml quits (~isBEKaml@unaffiliated/isbekaml) (Ping timeout: 256 seconds)
08:29:31 britva joins (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
08:30:15 isBEKaml joins (~isBEKaml@unaffiliated/isbekaml)
08:31:00 × britva quits (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Client Quit)
08:31:26 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
08:33:07 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
08:36:13 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
08:37:57 mananamenos joins (~mananamen@84.122.202.215.dyn.user.ono.com)
08:39:39 britva joins (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
08:40:37 × isBEKaml quits (~isBEKaml@unaffiliated/isbekaml) (Quit: leaving)
08:43:39 xerox_ joins (~xerox@unaffiliated/xerox)
08:49:27 mputz1 joins (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
08:49:27 × mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Read error: Connection reset by peer)
08:49:33 kav joins (~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi)
08:51:43 christo joins (~chris@81.96.113.213)
08:51:46 mputz1 is now known as mputz
08:51:56 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
08:57:35 Franciman joins (~francesco@host-82-56-223-169.retail.telecomitalia.it)
08:57:51 × britva quits (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Quit: This computer has gone to sleep)
09:00:01 × ToBeFree quits (~ToBeFree@84.39.117.57) ()
09:04:36 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
09:12:55 bidabong joins (uid272474@gateway/web/irccloud.com/x-vfizlkdiqyjcevrq)
09:13:37 Tuplanolla joins (~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
09:14:28 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
09:17:02 raichoo joins (~raichoo@dslb-088-077-026-125.088.077.pools.vodafone-ip.de)
09:21:01 hackage jalaali 1.0.0.0 - Jalaali calendar systems https://hackage.haskell.org/package/jalaali-1.0.0.0 (behrang)
09:22:35 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
09:23:11 gribble1 joins (~gribble@184.75.221.43)
09:25:14 britva joins (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
09:26:14 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
09:26:38 × jollygood2 quits (~bc8165ab@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout))
09:27:23 bitmagie joins (~Thunderbi@200116b806cd09008041507575aa598a.dip.versatel-1u1.de)
09:27:31 × britva quits (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Client Quit)
09:30:55 × howdoi quits (uid224@gateway/web/irccloud.com/x-iysoheblnnbktzye) (Quit: Connection closed for inactivity)
09:32:27 × jchia_ quits (~jchia@58.32.37.146) (Remote host closed the connection)
09:32:47 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
09:35:09 × Sanchayan quits (~Sanchayan@171.61.102.109) (Quit: leaving)
09:36:36 linker joins (~linker@185.12.21.77)
09:37:34 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
09:39:09 Amras joins (~Amras@unaffiliated/amras0000)
09:42:17 × ruffy_ quits (~jonas@2a03:b0c0:3:d0::162e:a001) (Quit: WeeChat 2.9)
09:49:56 gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh)
09:57:02 × rprije quits (~rprije@124.148.131.132) (Ping timeout: 258 seconds)
09:59:54 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:02:34 Rudd0 joins (~Rudd0@185.189.115.108)
10:02:36 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Ping timeout: 272 seconds)
10:03:00 × hnOsmium0001 quits (uid453710@gateway/web/irccloud.com/x-tcyoqfqkxtjwjlrv) (Quit: Connection closed for inactivity)
10:03:20 jonatanb joins (~jonatanb@83.24.155.27.ipv4.supernova.orange.pl)
10:03:39 × wei2912 quits (~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
10:04:17 × mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Quit: mputz)
10:05:46 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
10:05:56 avdb joins (~avdb@ip-83-134-109-203.dsl.scarlet.be)
10:07:30 × hekkaidekapus_ quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus_)
10:08:13 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
10:09:15 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
10:09:21 son0p joins (~son0p@186.159.4.142)
10:09:31 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
10:10:16 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
10:12:14 × jonatanb quits (~jonatanb@83.24.155.27.ipv4.supernova.orange.pl) (Remote host closed the connection)
10:14:43 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
10:18:21 inkbottle joins (~inkbottle@aaubervilliers-654-1-5-80.w83-200.abo.wanadoo.fr)
10:18:49 × zebrag quits (~inkbottle@aaubervilliers-654-1-107-7.w86-212.abo.wanadoo.fr) (Ping timeout: 264 seconds)
10:19:14 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
10:20:47 × gribble1 quits (~gribble@184.75.221.43) (Ping timeout: 256 seconds)
10:20:53 solonarv joins (~solonarv@astrasbourg-653-1-156-155.w90-6.abo.wanadoo.fr)
10:20:57 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 260 seconds)
10:23:36 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
10:24:08 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
10:26:05 × avdb quits (~avdb@ip-83-134-109-203.dsl.scarlet.be) (Ping timeout: 240 seconds)
10:29:25 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
10:29:42 × son0p quits (~son0p@186.159.4.142) (Ping timeout: 256 seconds)
10:29:42 × Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
10:29:49 × Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection)
10:30:35 × bitmagie quits (~Thunderbi@200116b806cd09008041507575aa598a.dip.versatel-1u1.de) (Quit: bitmagie)
10:31:42 × chaosmasttter quits (~chaosmast@p200300c4a70f620115f0ead7b0e70c62.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
10:33:31 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
10:33:32 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
10:34:22 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
10:38:21 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
10:39:39 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
10:43:34 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
10:44:33 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
10:44:59 plutoniix joins (~q@node-ujy.pool-125-24.dynamic.totinternet.net)
10:45:27 kuribas joins (~user@ptr-25vy0i82x0ic2ow7do5.18120a2.ip6.access.telenet.be)
10:45:59 <kuribas> if I return (pure foo :: IO Foo), does foo get evaluated to WHNF?
10:46:29 <merijn> That does nothing to foo
10:47:26 × xff0x quits (~fox@2001:1a81:522c:400:5e4f:911d:8651:d35d) (Ping timeout: 264 seconds)
10:47:47 xff0x joins (~fox@2001:1a81:522c:400:49a5:3bcd:47e1:394e)
10:47:48 SweetAmy19 joins (~hey@45.133.182.164)
10:47:59 <kuribas> if I have "withFile fp mode $ \h -> foo", how do I ensure the result of foo is in WHNF
10:48:00 <kuribas> ?
10:48:38 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
10:48:51 <maerwald> why do you care?
10:48:57 <merijn> eh, with lots of pain and effort
10:49:05 <merijn> Allow me to recommen a better solution
10:49:12 <merijn> Don't use lazy IO so it doesn't matter
10:49:35 <kuribas> well it will work if the argument is in WHNF
10:49:45 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
10:49:45 SweetAmy19 19/f looking for older. This is me naked: https://imagetwist.com/c60gumtcigj7/nude5.jpg Do you like my pussy?
10:50:04 <merijn> It's that time of year where freenode gets spammed again?
10:50:23 <maerwald> Christmas is a lonely time
10:51:10 <hc> kuribas: could you give a bit more context? what are you trying to do?
10:51:23 <kuribas> hc: I am writing an xml parser on top of hexpat
10:52:30 <merijn> Just read the entire file strictly, presumably any (sane) XML file will be a few MB max anyway
10:52:43 SweetAmy19 19/f looking for older. This is me naked: https://imagetwist.com/c60gumtcigj7/nude5.jpg Do you like my pussy?
10:53:04 whatisRT joins (~whatisRT@ip5b416a33.dynamic.kabel-deutschland.de)
10:53:09 <merijn> @where ops
10:53:09 <lambdabot> byorgey Cale conal copumpkin dcoutts dibblego dolio edwardk geekosaur glguy jmcarthur johnw mniip monochrom quicksilver shachaf shapr ski
10:53:13 <kuribas> merijn: well, it's supposed to be a "streaming parser".
10:53:32 <SweetAmy19> 19/f looking for older. This is me naked: https://imagetwist.com/c60gumtcigj7/nude5.jpg Do you like my pussy?
10:53:35 <merijn> kuribas: Well, there's a reason conduit & co were invented
10:53:50 <kuribas> merijn: conduit will be supported as well :)
10:54:01 × SweetAmy19 quits (~hey@45.133.182.164) (Remote host closed the connection)
10:54:18 jonatanb joins (~jonatanb@83.24.155.27.ipv4.supernova.orange.pl)
10:54:25 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
10:54:29 Ariakenom joins (~Ariakenom@h-82-196-111-82.NA.cust.bahnhof.se)
10:57:45 <kuribas> merijn: what about pure $! foo ?
10:58:50 × plutoniix quits (~q@node-ujy.pool-125-24.dynamic.totinternet.net) (Quit: Leaving)
10:59:30 <kuribas> that should first evaluate foo no WHNF, then return it from the IO action.
10:59:53 xerox_ joins (~xerox@unaffiliated/xerox)
10:59:55 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
11:00:10 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
11:00:53 <kuribas> merijn: it can be still handy to parse a huge file in constant space. I know LazyIO is quick and dirty, but sometimes that's all you need :)
11:01:03 directhex1 joins (~directhex@139.28.218.148)
11:02:15 <kuribas> that seems to work: pure undefined >> pure 3 => 3
11:02:15 <kuribas>
11:02:24 <kuribas> (pure $! undefined) >> pure 3 => *** Exception: Prelude.undefined
11:04:31 shatriff joins (~vitaliish@176.52.219.10)
11:04:42 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
11:06:51 Varis joins (~Tadas@unaffiliated/varis)
11:08:30 <kuribas> merijn: note that my function is safe, because to ensure that the xml contains no errors it has to read the whole file. Well at least the portion that needs to be parsed.
11:08:52 <kuribas> merijn: so evaluating to WHNF will ensure a complete read.
11:09:36 AlterEgo- joins (~ladew@124-198-158-163.dynamic.caiway.nl)
11:10:04 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
11:14:58 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
11:16:02 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:19:56 × Guest52652 quits (~ao2@178.162.212.214) (Remote host closed the connection)
11:20:13 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
11:20:36 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 258 seconds)
11:21:07 HaskellYogi joins (~vivekrama@49.207.205.17)
11:22:45 × jonatanb quits (~jonatanb@83.24.155.27.ipv4.supernova.orange.pl) ()
11:25:25 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds)
11:25:54 <HaskellYogi> Hello all, I am unable to use the if statement given in the code here. https://pastebin.com/BvTCXhLr Can someone suggest an alternative
11:26:34 <kuribas> HaskellYogi: what's the value of total when flag is False?
11:26:42 alp joins (~alp@2a01:e0a:58b:4920:500f:4850:8bc3:6c93)
11:27:07 <kuribas> HaskellYogi: you need to invert it: let total |flag = ... | otherwise = ...
11:27:48 <kuribas> and modVal is indented wrong
11:27:51 <HaskellYogi> when false is false I want total = (modChr char) - (getKeyToInt key ) when true total = (modChr char) + (getKeyToInt key )
11:28:40 <HaskellYogi> @kuribas modval is part of let statement
11:28:40 <lambdabot> Unknown command, try @list
11:29:33 <kuribas> so let total | flag = (modChr char) + ... | otherwise = (modChr char) - ...
11:29:51 <kuribas> HaskellYogi: and put modVal on the same column as total
11:30:08 × Alleria_ quits (~AllahuAkb@2604:2000:1484:26:38df:6fa9:13ce:5626) (Quit: Textual IRC Client: www.textualapp.com)
11:30:18 <HaskellYogi> okay let me invert and see
11:30:26 <kuribas> HaskellYogi: alternatively let total = if flag then ... else ...
11:30:34 <kuribas> but I prefer guards
11:32:03 <kuribas> HaskellYogi: or a third way: total = (if flag then (+) else (-)) (modCHar char) (getKeyToInt key)
11:32:30 <kuribas> wether that's clearer is debatable
11:32:42 × todda7 quits (~torstein@ppp-2-84-17-169.home.otenet.gr) (Ping timeout: 260 seconds)
11:33:08 <HaskellYogi> Thanks a ton this works https://pastebin.com/dBj3F4m1 I learned something new today
11:34:11 <kuribas> HaskellYogi: indentation is a bit weird, but that should work
11:34:17 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
11:34:58 <HaskellYogi> why do you say @kuribas, can you please show me the right way, so that I can improve
11:36:47 <kuribas> there is not a "right way", but I prefer this: https://gist.github.com/kuribas/a5226405be7c9209bc1978236b93b660
11:36:47 <HaskellYogi> modval and total are in the same column
11:37:00 <kuribas> where is a bit more idiomatic IMO
11:37:19 chidy joins (~chidy@95.145.58.105)
11:37:36 <merijn> I would say that most (like, 90%) people only use let when they absolutely have to because "where" can't work
11:38:01 <merijn> Properly indenting let always becomes an ugly mess
11:38:31 <HaskellYogi> Ok got it, so where would have done, makes sense.
11:38:57 <kuribas> let is more lispy, or ocamly...
11:38:59 × Benzi-Junior quits (~BenziJuni@dsl-149-67-198.hive.is) (Ping timeout: 256 seconds)
11:39:02 × chidy quits (~chidy@95.145.58.105) (Remote host closed the connection)
11:39:07 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
11:39:25 <merijn> Also, note that the parenthesis are redundant
11:39:56 <merijn> function application *always* binds tighter than operators do, so "(modChr char) + (getKeyToInt key )" is the same as "modChr char + getKeyToInt key"
11:40:00 indolering joins (~indolerin@178.162.212.214)
11:40:09 <HaskellYogi> Thanks @kuribas and @merijn will take care in future
11:40:58 <HaskellYogi> I just use that, cause I read some where that it makes the intent clear to someone reading your code
11:41:40 <merijn> HaskellYogi: In cases where it's ambiguous (like mixing many operators) then it can be useful, yes
11:42:23 <merijn> But since function application always wins from operators it's best to just get used to that quickly :)
11:43:01 LKoen joins (~LKoen@9.253.88.92.rev.sfr.net)
11:43:55 <kuribas> I never know which of (>>=), (<$>), (<*>), binds more tightly
11:44:11 <kuribas> so there parens are more clear.
11:44:56 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
11:49:44 Feuermagier joins (~Feuermagi@213.178.26.41)
11:50:34 jakalx joins (~jakalx@base.jakalx.net)
11:50:58 <Feuermagier> how do I find the (integer in a list) closest to a (target integer) elegantly?
11:52:07 <merijn> Feuermagier: Do you care about it staying a list?
11:52:13 <Feuermagier> nope
11:52:39 × directhex1 quits (~directhex@139.28.218.148) (Remote host closed the connection)
11:52:57 <Feuermagier> i guess i can just brute force elements out of it and compare each time, then pass the so-far-best through recursively through
11:52:58 Alleria_ joins (~AllahuAkb@2604:2000:1484:26:b962:7f95:ab02:6d5a)
11:53:04 Lycurgus joins (~niemand@cpe-45-46-134-163.buffalo.res.rr.com)
11:53:11 <merijn> Feuermagier: Put it into a Set and use lookupLE and lookupGE? :)
11:53:26 <merijn> Feuermagier: https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Set.html#v:lookupLE
11:53:46 <merijn> Then it becomes a matter of checking which of those 2 items has the smallest difference from your target
11:54:01 hackage uusi 0.2.0.0 - Tweak dependencies in .cabal files https://hackage.haskell.org/package/uusi-0.2.0.0 (berberman)
11:54:01 × carlomagno quits (~cararell@148.87.23.6) (Remote host closed the connection)
11:54:52 carlomagno joins (~cararell@148.87.23.10)
11:54:52 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
11:57:12 <Feuermagier> merijn, very interesting - thx!
12:01:05 × nckx quits (~nckx@tobias.gr) (Ping timeout: 256 seconds)
12:02:14 <kuribas> :i <$!>
12:02:44 <kuribas> no strict fmap?
12:04:58 × olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 246 seconds)
12:05:31 <merijn> Feuermagier: That's O(log n) complexity too! (well, there's an initial O(n log n) for creating the set, but afterwards all queries are O(log n))
12:07:11 <Feuermagier> merijn, nice! - however i'm still unsure if haskell can actually be a productive language :)
12:08:15 <merijn> Whether it *can* be productive isn't really up for debate, since many people are productive in it :p The question is more whether *you* can be productive in Haskell :)
12:08:18 <kuribas> Feuermagier: it can be! If it will be for you depends on how eager you are to learn, and if the language suits you well.
12:08:24 × baidobz quits (2d56c95b@45.86.201.91) (Ping timeout: 245 seconds)
12:09:30 <kuribas> IMO in the beginning you are less productive than in other language, but after some threshold you become more productive.
12:11:19 <Feuermagier> merijn, thats a good point. choosing the right tool for the job i guess. right now i'm still in the learning phase. i hope to take concepts away for my other languages (like rust, which shares the majority of its functional part with haskell)
12:12:04 <merijn> I'm...not sure I agree with Rust sharing the majority :p
12:13:56 <int-e> merijn: majority(functional_part(rust)) subset Haskell
12:14:01 <int-e> is how I'd parse it
12:14:05 <Lycurgus> Feuermagier, you wholly misappraised haskell, it's far and away the premier functional language in this time in the strict sense
12:14:27 <merijn> Unrelatedly
12:14:41 <Lycurgus> you really shouldn't compare it to other langs since it's something of sui generis
12:15:17 <merijn> A few weeks ago there was a post on /r/haskell for exhaustive conversions between two types, but I forgot the name/URL. Anyone remember?
12:15:42 <merijn> Lycurgus: I disagree, there's a ton of languages you can easily compare Haskell with
12:16:18 <merijn> SML, Miranda, Clean, Lazy ML...
12:16:39 <Lycurgus> merijn, i didn say you couldn't I said you shouldn't
12:16:44 <merijn> It's not like Haskell was invented in a vacuum. Like a solid 2/3rd of the report are just straight up copied from other languages
12:17:27 <merijn> Let's not go put Haskell on a pedestal as some unique divine deliverance on programming >.>
12:18:11 <Lycurgus> nothing comes close in that set to the qualities of haskell in term of acceptance and development of a practical ecosystem, ocaml and the others in a second tier
12:18:31 <Lycurgus> *terms
12:18:55 <Feuermagier> right now I just can't identify that target "group of projects" I'd choose haskell for. But maybe I'll see that once I know it better.
12:19:15 <Lycurgus> but to Feuermagier's point, the time to become acculturated to the lang and that ecosys maybe prohibitive in some cases
12:19:28 <solonarv> heh, that's the situation I'm in regarding rust (and is why I have yet to properly learn it)
12:19:30 <Lycurgus> *may be
12:21:00 <merijn> Feuermagier: tbh, personally I'd choose Haskell for "everything that's not realtime/games/GUI" :p
12:21:26 <arahael> merijn: That makes me sad! Why not GUI?
12:21:34 <merijn> If I ever embarked on one of those categories I'd probably consider Rust
12:21:49 <merijn> arahael: So far none of the GUI things I've seen seem worth the hassle
12:21:50 <arahael> merijn: I mean, I haven't found a way to use Haskell well for GUI, but I'm still figuring this out.
12:21:54 <arahael> merijn: Yeah, same. :(
12:22:00 <arahael> merijn: But _why_. ;)
12:22:10 <Uniaika> never forget: https://www.reddit.com/r/rust/comments/5penft/parallelizing_enjarify_in_go_and_rust/dcsgk7n/
12:22:25 <merijn> I don't think nice Haskell gui stuff is impossible, it's just not been done yet
12:22:33 <merijn> And I don't wanna be the one that does it :p
12:22:43 Lycurgus 's spin https://eg.meansofproduction.biz/eg/index.php/Troika
12:22:44 <merijn> I'd rather writing a GUI in something simpler and then call Haskell from that :p
12:23:40 <arahael> merijn: "simpler". Honestly, I suspect that GUi should be done in "whatever" the native framework proposes, for various reasons.
12:25:05 <merijn> Anyway, back to solving *my* problems. I've got a bijection between my type and string/text, are there existing things for nicely encoding that, or should I hack something together using my own Map/typeclass?
12:25:39 <Lycurgus> i'd be surprised if there wasn't
12:25:58 <merijn> So would I, but the only stuff I've found has ugly TH death machines
12:26:04 <merijn> I was hoping something fairly lightweight
12:26:16 <Lycurgus> ur scared of th?
12:26:29 <merijn> No, but it slows down my built and is unnecessary
12:27:00 <Lycurgus> i c
12:27:34 <Feuermagier> merijn, the rust and the haskell compiler are equally aggeressive regarding types. (however since rust has no garbage collection the compiler will force you to RAII, whereas in haskell you don't have to worry about it)
12:27:38 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
12:28:48 <merijn> Feuermagier: For 95% of programs (possibly more...) GC isn't something to worry about it
12:29:08 jakalx joins (~jakalx@base.jakalx.net)
12:29:37 <merijn> I like Rust (conceptually, at least), but *in practice* the overhead of GC isn't a problem for stuff I write, therefore ownership and RAII does nothing but "make life more complicated" for no good reason
12:30:00 <Feuermagier> merijn, whats the state of haskell on multithreading?
12:30:08 <merijn> Easy-peasy
12:30:44 <Feuermagier> merijn, i assume races are impossible cause functional?
12:30:46 × Lycurgus quits (~niemand@cpe-45-46-134-163.buffalo.res.rr.com) (Quit: Exeunt)
12:31:31 <merijn> Since everything is immutable by default you can't have races unless you "opt-in" to them
12:31:52 <merijn> Feuermagier: There's a bunch of different mutable types you can use in concurrent code, some of which are racy
12:32:05 <merijn> But then you need to decide to explicitly include those racy types in your code
12:32:15 <merijn> (IORef is one example that's racy)
12:32:40 <merijn> And of course GHC has the best (only real?) software transactional memory implementation
12:32:40 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 258 seconds)
12:32:41 <Feuermagier> interesing. but I gess i'm not at that stage yet. maybe in a few weeks
12:32:56 <Feuermagier> merijn, what is that?
12:33:26 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 258 seconds)
12:34:06 <merijn> Feuermagier: Basically you get shared mutable variables with the ability to make atomic updates to them (like, not atomic on the invididual variable, but "this entire set of operations on multiple variables happens atomically")
12:34:13 <Ariakenom> i agree. haskell's concurrency is great
12:35:04 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
12:35:52 <merijn> Feuermagier: You should browse through the modules under Control.Concurrent in base: https://hackage.haskell.org/package/base-4.14.0.0 and the STM package: https://hackage.haskell.org/package/stm
12:36:08 <Feuermagier> thx!
12:36:09 <merijn> Feuermagier: The STM package should also have a link to the paper that explains it in detail
12:36:48 <merijn> Oh, and maybe stuff like
12:36:51 <merijn> @hackage async
12:36:51 <lambdabot> https://hackage.haskell.org/package/async
12:36:53 <Feuermagier> the more you guys explain the workings of this language, the more i like it :)
12:37:37 <int-e> . o O ( it's a trap! )
12:37:48 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
12:37:55 littleEngine joins (52500aba@bzq-80-10-186.static.bezeqint.net)
12:38:03 m0rphism joins (~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de)
12:38:21 <Ariakenom> "Parallel and Concurrent Programming in Haskell" is great. im not sure if you can just jump into the chapter on stm but I will link it
12:38:22 <Ariakenom> https://web.archive.org/web/20171114084950/http://chimera.labs.oreilly.com/books/1230000000929/ch10.html
12:38:34 jakalx joins (~jakalx@base.jakalx.net)
12:38:56 × coot quits (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Remote host closed the connection)
12:39:16 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
12:39:43 <Ariakenom> looks like its mostly readable on its own
12:40:01 <littleEngine> hey.. are there any ideas in the community about functional machine learning
12:41:06 coot joins (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
12:41:26 <littleEngine> i dont mean deep learning in haskell but more like genetically searching for some pure function
12:41:43 <merijn> bah...keeping my parser and pretty printer in sync feels like a solved problem, but I can't seem to figure out how to encode it
12:42:35 × HaskellYogi quits (~vivekrama@49.207.205.17) (Remote host closed the connection)
12:42:48 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
12:43:07 <Ariakenom> there's some on inferring a value (ex function) from its type. in contrast to inferring a type from a value like we do currently
12:44:39 <littleEngine> hmm.. seems impossible without some extra information on the function
12:44:55 <Ariakenom> forall a. a -> a
12:45:25 <littleEngine> id
12:45:33 <merijn> littleEngine: That sorta stuff is generally done on the AST level
12:47:01 <merijn> hmm...there's no real way to talk about constructors in a first class way, is there?
12:47:03 <Ariakenom> didnt we have a bot that does this?
12:47:17 <merijn> @free a -> a
12:47:17 <lambdabot> Extra stuff at end of line
12:47:20 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
12:47:21 <merijn> hmm
12:47:34 <merijn> wrong command maybe
12:47:44 kish` joins (~oracle@unaffiliated/oracle)
12:47:53 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
12:47:57 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
12:48:13 geekosaur joins (ac3a54da@172.58.84.218)
12:48:16 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
12:48:23 <Ariakenom> I found a link https://www.hedonisticlearning.com/djinn/
12:48:24 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
12:48:50 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
12:49:25 lucasb joins (uid333435@gateway/web/irccloud.com/x-cfrklqgkylyarqua)
12:49:46 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
12:49:49 <merijn> @djinn a -> a
12:49:49 <lambdabot> f a = a
12:50:01 <merijn> @djinn (a -> b) -> [a] -> [b]
12:50:01 <lambdabot> Error: Undefined type []
12:50:05 <merijn> bleh
12:50:38 HaskellYogi joins (~vivekrama@49.207.205.17)
12:50:45 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 240 seconds)
12:51:16 <littleEngine> im trying to make a learner for musical instruments where an instrumet is a composition of a deformation, an instrument_logic , and a Listen function
12:52:05 <littleEngine> Deform :: Player_state x Instrument_state --> instrument_state
12:52:17 __monty__ joins (~toonn@unaffiliated/toonn)
12:52:35 <littleEngine> Instrument_logic :: Instrument_state -> Instrument_State
12:52:53 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
12:53:03 <littleEngine> Listen :: InstrumentState -> Audio_chunk
12:54:06 <Feuermagier> how do i set a double to infinite?
12:54:27 <merijn> Same way as every language with IEEE-754
12:54:32 <merijn> > 1/0 :: Double
12:54:34 <lambdabot> Infinity
12:54:58 <Feuermagier> well, yes, but usually there's a static variable like "MAX_INTEGER"
12:55:02 <merijn> > -1/0 :: Double
12:55:04 <lambdabot> -Infinity
12:55:31 <ski> > maxBound :: Int
12:55:33 <lambdabot> 9223372036854775807
12:55:39 <merijn> There isn't one, currently. I usually just do "infty :: Double; infty = 1/0" in my code
12:55:41 skvidal joins (~skvidal@185.163.110.116)
12:55:44 <merijn> ski: That doesn't work for Double
12:55:47 <ski> yes
12:55:50 <merijn> > maxBound :: Double
12:55:52 <lambdabot> error:
12:55:52 <lambdabot> • No instance for (Bounded Double) arising from a use of ‘maxBound’
12:55:52 <lambdabot> • In the expression: maxBound :: Double
12:55:53 <carter> merijn: did you message me on ci ?
12:55:59 <merijn> carter: Yeah
12:56:07 <carter> Which channel?
12:56:21 <merijn> carter: Or rather, I replied on twitter
12:56:41 <carter> Derp
12:56:46 <merijn> but it was basically "no, this doesn't exist yet" :p
12:56:48 <Ariakenom> note that the conversions like realToFrac are broken on inf
12:57:08 <merijn> Ariakenom: Well, what could they possibly sensibly be?
12:57:32 <Ariakenom> fair. more broken than necessary. they should error
12:57:41 <carter> There’s some changes to fractional I need to flesh out
12:57:58 <merijn> ugh...why does dispatching on constructors gotta be impossible >.>
12:58:05 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
12:58:13 nckx joins (~nckx@tobias.gr)
12:58:24 <merijn> I'm gonna go make my own language! With first class constructors/patterns and booze. In fact, forget the language!
12:59:07 <int-e> merijn: how do you even type that
12:59:27 × dyeplexer quits (~lol@unaffiliated/terpin) (Ping timeout: 256 seconds)
12:59:31 <merijn> int-e: You "just" need a type level way of indicating constructor of a type X
12:59:53 <carter> merijn: what’s the thing g you wanna do ?
13:00:30 <carter> merijn: btw it seems like Travis ci is slow rolling oss repos and gh actions is way more reponsivr ?
13:00:31 <int-e> merijn: and how do you use the constructor in the end? aren't you in the variadic function business now?
13:00:40 <merijn> carter: link a parser and pretty printer together sensibly. But my type has constructors with differing arguments. You'd wanna do something like "Constructor X -> Parser X"
13:00:41 <carter> Dependent types ?
13:00:55 <merijn> But that doesn't work if your constructors have differing types
13:01:09 <merijn> int-e: I don't wanna use it directly
13:01:14 <merijn> I just wanna use it to dispatch
13:01:27 <merijn> carter: Travis has been slow for ages
13:02:02 <merijn> int-e: Basically I wanna select a pretty printing/parsing strategy "per constructor", but that doesn't work if you can't talk about constructors, only compound values
13:02:09 <merijn> (but I gotta run for a sec)
13:02:27 dyeplexer joins (~lol@unaffiliated/terpin)
13:02:28 <carter> Interesting point !
13:03:07 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
13:07:45 × littleEngine quits (52500aba@bzq-80-10-186.static.bezeqint.net) (Remote host closed the connection)
13:08:15 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
13:11:26 <int-e> carter: Travis got acquired by Idera in January 2019 and let a good number of developers go in February 2019... they're also getting rid of the free OSS plan in favour of their trial plan and possibly exceptions on a case by case basis... https://www.theregister.com/2020/11/02/travis_ci_pricng/
13:11:41 <Feuermagier> If I have datatype [(String, Int)] and do [(s, i)] on it, is "s" a list of strings then?
13:11:54 <int-e> Slow-rolling fits well into that picture.
13:12:16 <ski> no, `s' is a `String', if `[(s,i)]' has type `[(String,Int)]'
13:12:44 Zetagon joins (~leo@c151-177-52-233.bredband.comhem.se)
13:12:44 <Feuermagier> how do i get the list of strings out of that then?
13:13:09 <solonarv> well, there isn't exactly a list of strings "in there"
13:13:18 <solonarv> you would instead be constructing a new list
13:13:18 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
13:13:45 FreeBirdLjj joins (~freebirdl@101.228.42.108)
13:13:51 <ski> Feuermagier : list of strings out of what ?
13:14:12 <Feuermagier> just the strings in that tuple
13:14:16 <solonarv> assuming xs :: [(String, Int)] , here are some ways to do that: map fst xs , or: [ s | (s, _) <- xs ]
13:14:20 <Feuermagier> *list of tuples*
13:14:43 <ski> if `[(s,i)]' has type `[(String,Int)]', then `[s]' is a list of `String's. `[]' is also a list of `String's, as is `[s,s]'
13:15:10 <siraben> Anyone playing around with Linear Haskel + Nix?
13:15:13 <siraben> Haskell*
13:15:22 <siraben> linear-base doesn't seem to be in nixpkgs yet
13:15:30 <ski> if you have some list of type `[(String,Int)]', and you want to get the list of `String's from the first component of the pairs, then what solonarv said
13:18:16 <carter> int-e: yeah I guess I need to migrate all my crap to gh actions
13:18:22 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
13:20:01 hackage hakyll-convert 0.3.0.1 - Convert from other blog engines to Hakyll. https://hackage.haskell.org/package/hakyll-convert-0.3.0.1 (AlexanderBatischev)
13:20:24 Lycurgus joins (~niemand@cpe-45-46-134-163.buffalo.res.rr.com)
13:23:05 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
13:23:18 <merijn> carter: Sounds like you should write a GitHub Actions backend for haskell-ci, so I don't have to ;)
13:28:29 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
13:28:44 bitmagie joins (~Thunderbi@200116b806cd09008041507575aa598a.dip.versatel-1u1.de)
13:28:44 × bitmagie quits (~Thunderbi@200116b806cd09008041507575aa598a.dip.versatel-1u1.de) (Client Quit)
13:28:57 hoppfull joins (55e07432@c-3274e055.19-9-64736c10.bbcust.telenor.se)
13:31:46 francesco_ joins (~francesco@host-82-56-223-169.retail.telecomitalia.it)
13:32:14 jneira[m] joins (~jneira@192.red-2-137-106.dynamicip.rima-tde.net)
13:32:17 × berberman_ quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
13:32:48 berberman joins (~berberman@unaffiliated/berberman)
13:33:03 SquidDev8 joins (~SquidDev@autoclave.squiddev.cc)
13:33:14 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
13:33:29 <carter> The yaml wasn’t that hard
13:33:40 × SquidDev8 quits (~SquidDev@autoclave.squiddev.cc) (Client Quit)
13:33:49 sqrt2_ joins (~ben@unaffiliated/sqrt2)
13:33:51 jrm2 joins (~jrm@freebsd/developer/jrm)
13:33:56 fre_ joins (~freusque@104.238.190.229)
13:34:20 connrs- joins (~connrs@runciter.connrs.uk)
13:34:23 haasn` joins (~nand@mpv/developer/haasn)
13:34:24 oldsk00l_ joins (~znc@ec2-18-130-254-135.eu-west-2.compute.amazonaws.com)
13:34:28 maerwald_ joins (~maerwald@mail.hasufell.de)
13:34:31 jonge joins (jonge@kofferbomber.org)
13:34:49 × dyeplexer quits (~lol@unaffiliated/terpin) (*.net *.split)
13:34:49 × tromp quits (~tromp@dhcp-077-249-230-040.chello.nl) (*.net *.split)
13:34:49 × Franciman quits (~francesco@host-82-56-223-169.retail.telecomitalia.it) (*.net *.split)
13:34:49 × juri_ quits (~juri@178.63.35.222) (*.net *.split)
13:34:49 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (*.net *.split)
13:34:49 × pavonia quits (~user@unaffiliated/siracusa) (*.net *.split)
13:34:49 × jchia quits (~jchia@58.32.36.109) (*.net *.split)
13:34:49 × haasn quits (~nand@mpv/developer/haasn) (*.net *.split)
13:34:49 × fryguybob quits (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com) (*.net *.split)
13:34:49 × tabemann quits (~tabemann@172-13-49-137.lightspeed.milwwi.sbcglobal.net) (*.net *.split)
13:34:49 × MindlessDrone quits (~MindlessD@unaffiliated/mindlessdrone) (*.net *.split)
13:34:49 × arahael quits (~arahael@125-209-166-120.tpgi.com.au) (*.net *.split)
13:34:49 × TMA quits (tma@twin.jikos.cz) (*.net *.split)
13:34:49 × Kaivo quits (~Kaivo@104-200-86-99.mc.derytele.com) (*.net *.split)
13:34:49 × noecho quits (~noecho@static.143.42.203.116.clients.your-server.de) (*.net *.split)
13:34:49 × hpc quits (~juzz@ip98-169-35-13.dc.dc.cox.net) (*.net *.split)
13:34:49 × edwtjo quits (~edwtjo@fsf/member/edwtjo) (*.net *.split)
13:34:49 × tv quits (~tv@unaffiliated/tv) (*.net *.split)
13:34:49 × jdt quits (~jdt@208.85.233.130) (*.net *.split)
13:34:49 × fre quits (~freusque@104.238.190.229) (*.net *.split)
13:34:49 × adamCS quits (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split)
13:34:49 × dwt quits (~dwt@c-98-200-58-177.hsd1.tx.comcast.net) (*.net *.split)
13:34:49 × rotty quits (rotty@ghost.xx.vu) (*.net *.split)
13:34:49 × jrm quits (~jrm@freebsd/developer/jrm) (*.net *.split)
13:34:49 × Ranhir quits (~Ranhir@157.97.53.139) (*.net *.split)
13:34:50 × sajith_ quits (~sajith@fsf/member/nonzen) (*.net *.split)
13:34:50 × qz quits (~quetzal@li272-85.members.linode.com) (*.net *.split)
13:34:50 × pie_ quits (~pie_bnc]@unaffiliated/pie-/x-0787662) (*.net *.split)
13:34:50 × vancz quits (~vancz@unaffiliated/vancz) (*.net *.split)
13:34:50 × [exa] quits (exa@unaffiliated/exa/x-5381537) (*.net *.split)
13:34:50 × sqrt2 quits (~ben@unaffiliated/sqrt2) (*.net *.split)
13:34:50 × oldsk00l quits (~znc@ec2-18-130-254-135.eu-west-2.compute.amazonaws.com) (*.net *.split)
13:34:50 × maerwald quits (~maerwald@5.45.98.221) (*.net *.split)
13:34:50 × connrs_ quits (~connrs@runciter.connrs.uk) (*.net *.split)
13:34:50 × sujeet quits (sujeet@unaffiliated/freeboson) (*.net *.split)
13:34:50 × Papa quits (~papa@unaffiliated/papa) (*.net *.split)
13:34:50 × le_jonge quits (jonge@kofferbomber.org) (*.net *.split)
13:34:50 × mmaruseacph2 quits (~mihai@198.199.100.72) (*.net *.split)
13:34:50 × micro quits (~micro@unaffiliated/micro) (*.net *.split)
13:34:50 × hiredman quits (~hiredman@volyova.ec2.thelastcitadel.com) (*.net *.split)
13:34:50 × ViCi quits (daniel@10PLM.ro) (*.net *.split)
13:34:50 × {abby} quits (~{abby}@unaffiliated/demhydraz) (*.net *.split)
13:34:50 × SquidDev quits (~SquidDev@autoclave.squiddev.cc) (*.net *.split)
13:34:50 × aib quits (~aib@unaffiliated/aib42) (*.net *.split)
13:34:50 × pharaun quits (~pharaun@static.88-198-62-245.clients.your-server.de) (*.net *.split)
13:34:50 × Deewiant quits (~deewiant@de1.ut.deewiant.iki.fi) (*.net *.split)
13:34:50 × ring0` quits (~ringo@unaffiliated/ring0/x-8667941) (*.net *.split)
13:34:50 × e2 quits (e2@sponsored.by.bnc4you.xyz) (*.net *.split)
13:34:50 × asm89 quits (~asm89@unaffiliated/asm89) (*.net *.split)
13:34:50 × absence quits (tZ0t25MWsB@hildring.pvv.ntnu.no) (*.net *.split)
13:34:50 × abuss quits (~abuss@cryptarch.net) (*.net *.split)
13:34:50 × Chobbes quits (~Chobbes@unaffiliated/chobbes) (*.net *.split)
13:34:50 × chirpsalot quits (~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net) (*.net *.split)
13:34:50 × kqr quits (~kqr@vps.xkqr.org) (*.net *.split)
13:34:50 × rookie101 quits (~rookie@207.154.204.166) (*.net *.split)
13:34:50 × srk quits (sorki@unaffiliated/srk) (*.net *.split)
13:34:50 × hyperfekt quits (end@bnc.hyperfekt.net) (*.net *.split)
13:34:50 jrm2 is now known as jrm
13:34:56 micro joins (~micro@unaffiliated/micro)
13:34:58 Papa joins (~papa@unaffiliated/papa)
13:35:01 hyperfekt joins (end@bnc.hyperfekt.net)
13:35:03 fryguybob joins (~fryguybob@cpe-74-65-31-113.rochester.res.rr.com)
13:35:04 mmaruseacph2 joins (~mihai@198.199.100.72)
13:35:05 hpc joins (~juzz@ip98-169-35-13.dc.dc.cox.net)
13:35:06 sajith_ joins (~sajith@fsf/member/nonzen)
13:35:06 Deewiant joins (~deewiant@de1.ut.deewiant.iki.fi)
13:35:08 aib joins (~aib@unaffiliated/aib42)
13:35:09 noecho joins (~noecho@static.143.42.203.116.clients.your-server.de)
13:35:11 srk joins (sorki@unaffiliated/srk)
13:35:13 edwtjo joins (~edwtjo@fsf/member/edwtjo)
13:35:15 dyeplexer joins (~lol@unaffiliated/terpin)
13:35:16 tv joins (~tv@unaffiliated/tv)
13:35:17 pavonia joins (~user@unaffiliated/siracusa)
13:35:24 asm89 joins (~asm89@unaffiliated/asm89)
13:35:25 rookie101 joins (~rookie@207.154.204.166)
13:35:29 e2 joins (e2@sponsored.by.bnc4you.xyz)
13:35:33 MindlessDrone joins (~MindlessD@unaffiliated/mindlessdrone)
13:35:43 Chobbes joins (~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net)
13:35:45 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
13:35:46 <hoppfull> Hello, I'm studying mathematics in university (first year) and I'm not impressed by MATLAB. It's undoubtedly an excellent ecosystem but an ugly imperative language. Implementing algorithms in Haskell is usually a 1:1 correspondence to the mathematical equations which is impressive. I wonder if there are any good libraries that can replace MATLAB
13:35:47 <hoppfull> for an aspiring mathematician. It should have functions for working with linear optimization, differentiation and integrals and probably more stuff that I do not yet know about
13:35:49 SquidDev joins (~SquidDev@autoclave.squiddev.cc)
13:35:52 Kaivo joins (~Kaivo@104-200-86-99.mc.derytele.com)
13:35:56 dwt joins (~dwt@c-98-200-58-177.hsd1.tx.comcast.net)
13:35:57 abuss joins (~abuss@cryptarch.net)
13:35:59 hiredman joins (~hiredman@volyova.ec2.thelastcitadel.com)
13:36:00 absence joins (IfjEGObaTi@hildring.pvv.ntnu.no)
13:36:05 haasn` is now known as haasn
13:36:08 chirpsalot joins (~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net)
13:36:14 ViCi joins (daniel@10PLM.ro)
13:36:21 pharaun joins (~pharaun@static.88-198-62-245.clients.your-server.de)
13:36:25 pie_ joins (~pie_bnc]@unaffiliated/pie-/x-0787662)
13:36:56 vancz joins (~vancz@unaffiliated/vancz)
13:37:07 × amiri quits (~amiri@cpe-76-91-154-9.socal.res.rr.com) (Remote host closed the connection)
13:37:32 {abby} joins (~{abby}@unaffiliated/demhydraz)
13:37:43 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-pdkyglnyuzyuczpm) (*.net *.split)
13:37:43 × ComaGrayce[m] quits (commagrays@gateway/shell/matrix.org/x-nnbisshxdkkhfidp) (*.net *.split)
13:37:43 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-cvcnmgziczthsczq) (*.net *.split)
13:37:43 × hnOsmium0001[m] quits (hnosmium00@gateway/shell/matrix.org/x-yokgaxxacysfejtl) (*.net *.split)
13:37:43 × mikr[m] quits (mikrdavral@gateway/shell/matrix.org/x-botdfmrbdonncklk) (*.net *.split)
13:37:43 × chreekat[m] quits (chreekatma@gateway/shell/matrix.org/x-ndvsbnxnyzxiyeae) (*.net *.split)
13:37:43 × texasmynsted[m]1 quits (mmynstedko@gateway/shell/matrix.org/x-aplarrwfhrontyaw) (*.net *.split)
13:37:43 × Fernando-Basso[m quits (fernando-b@gateway/shell/matrix.org/x-mphbftzdgfzvvpfv) (*.net *.split)
13:37:43 × kadoban quits (kadobanmat@gateway/shell/matrix.org/x-jymgxfawqsikjoeo) (*.net *.split)
13:37:43 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-gqnjqsortrudzklr) (*.net *.split)
13:37:43 × feepo quits (sid28508@gateway/web/irccloud.com/x-akfduhrryrjwyhil) (*.net *.split)
13:37:43 × parisienne quits (sid383587@gateway/web/irccloud.com/x-tmgltsvzoxldmfky) (*.net *.split)
13:37:43 × higherorder quits (sid185221@gateway/web/irccloud.com/x-nmquvmgklsxevfcs) (*.net *.split)
13:37:43 × integral quits (sid296274@p3m/member/integral) (*.net *.split)
13:37:43 × terrorjack quits (~terrorjac@static.23.111.201.195.clients.your-server.de) (*.net *.split)
13:37:43 × Nascha quits (sid212230@gateway/web/irccloud.com/x-geweeqvbhzzqlkfi) (*.net *.split)
13:37:44 × agander_m quits (sid407952@gateway/web/irccloud.com/x-ctyuuwytdqmcprct) (*.net *.split)
13:37:44 × liszt_ quits (sid336875@gateway/web/irccloud.com/x-porgwtafmjhpigsw) (*.net *.split)
13:37:44 × zymurgy quits (~zymurgy@li607-220.members.linode.com) (*.net *.split)
13:37:44 × darthThorik quits (sid39589@gateway/web/irccloud.com/x-tegdxlrjfjitucof) (*.net *.split)
13:37:44 × `slikts quits (~nelabs@wikipedia/reinis) (*.net *.split)
13:37:44 × lexi-lambda quits (sid92601@gateway/web/irccloud.com/x-fanmypdregedhpxu) (*.net *.split)
13:37:44 × cvlad- quits (sid203065@gateway/web/irccloud.com/x-kgwwtdcwktijsmay) (*.net *.split)
13:37:44 × Wojciech_K quits (~wojciechk@2001:41d0:a:5be4::449) (*.net *.split)
13:37:44 × jjhoo quits (jahakala@dsl-trebng21-b048b5-171.dhcp.inet.fi) (*.net *.split)
13:37:44 × megaTherion quits (~therion@unix.io) (*.net *.split)
13:37:44 × suzu_ quits (~scaleuser@2001:bc8:1824:43f::1) (*.net *.split)
13:37:44 tromp joins (~tromp@dhcp-077-249-230-040.chello.nl)
13:37:44 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
13:37:44 jchia joins (~jchia@58.32.36.109)
13:37:44 arahael joins (~arahael@125-209-166-120.tpgi.com.au)
13:37:44 TMA joins (tma@twin.jikos.cz)
13:37:44 jdt joins (~jdt@208.85.233.130)
13:37:44 adamCS joins (~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
13:37:44 Ranhir joins (~Ranhir@157.97.53.139)
13:37:44 qz joins (~quetzal@li272-85.members.linode.com)
13:37:44 [exa] joins (exa@unaffiliated/exa/x-5381537)
13:37:44 ring0` joins (~ringo@unaffiliated/ring0/x-8667941)
13:37:44 kqr joins (~kqr@vps.xkqr.org)
13:37:46 × star_cloud quits (~star_clou@ec2-34-217-37-165.us-west-2.compute.amazonaws.com) (Ping timeout: 249 seconds)
13:38:11 × arahael quits (~arahael@125-209-166-120.tpgi.com.au) (Max SendQ exceeded)
13:38:14 sujeet joins (sujeet@unaffiliated/freeboson)
13:38:16 <Axman6> Feuermagier: Since it probably clear from the explanation you got, if you have xs :: [(String, Int)] and you pattern match on xs, say like case xs of [(s,i)] -> ... then you are matching on a string with exactly one tuple of a String and an Int. if uou want to extract all the strings from xs, you can use map :: (a -> b) -> [a] -> [b] with fst :: (a,b) -> a, or in your case fst has type (String, Int) -> String. so map fst :: [(a,b)] -> [a] or
13:38:16 <Axman6> [(String,Int)] -> [String]
13:38:25 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
13:39:07 amiri joins (~amiri@cpe-76-91-154-9.socal.res.rr.com)
13:39:07 arahael joins (~arahael@125-209-166-120.tpgi.com.au)
13:40:04 juri_ joins (~juri@178.63.35.222)
13:40:16 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
13:40:52 <Axman6> hoppfull: sadly there's no large cohesesive library which does that, but we do have a lot of the pieces to do it - things like hmatrixget you a lot of the linear algebra basics, massiv too I think (I've never used it, but have used Repa which I think inspired it quite a lot). it's usually not too hard to glue the pieces together. for differentiation we have the ad (automatic differentiation) package, not sure about integration but I'm sure yo
13:40:52 <Axman6> u can find something on hackage
13:40:59 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-pdkyglnyuzyuczpm)
13:40:59 ComaGrayce[m] joins (commagrays@gateway/shell/matrix.org/x-nnbisshxdkkhfidp)
13:40:59 jkaye[m] joins (jkayematri@gateway/shell/matrix.org/x-cvcnmgziczthsczq)
13:40:59 hnOsmium0001[m] joins (hnosmium00@gateway/shell/matrix.org/x-yokgaxxacysfejtl)
13:40:59 mikr[m] joins (mikrdavral@gateway/shell/matrix.org/x-botdfmrbdonncklk)
13:40:59 chreekat[m] joins (chreekatma@gateway/shell/matrix.org/x-ndvsbnxnyzxiyeae)
13:40:59 texasmynsted[m]1 joins (mmynstedko@gateway/shell/matrix.org/x-aplarrwfhrontyaw)
13:40:59 Fernando-Basso[m joins (fernando-b@gateway/shell/matrix.org/x-mphbftzdgfzvvpfv)
13:40:59 kadoban joins (kadobanmat@gateway/shell/matrix.org/x-jymgxfawqsikjoeo)
13:40:59 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-gqnjqsortrudzklr)
13:40:59 feepo joins (sid28508@gateway/web/irccloud.com/x-akfduhrryrjwyhil)
13:40:59 parisienne joins (sid383587@gateway/web/irccloud.com/x-tmgltsvzoxldmfky)
13:40:59 higherorder joins (sid185221@gateway/web/irccloud.com/x-nmquvmgklsxevfcs)
13:40:59 terrorjack joins (~terrorjac@static.23.111.201.195.clients.your-server.de)
13:40:59 integral joins (sid296274@p3m/member/integral)
13:40:59 Nascha joins (sid212230@gateway/web/irccloud.com/x-geweeqvbhzzqlkfi)
13:40:59 agander_m joins (sid407952@gateway/web/irccloud.com/x-ctyuuwytdqmcprct)
13:40:59 liszt_ joins (sid336875@gateway/web/irccloud.com/x-porgwtafmjhpigsw)
13:40:59 zymurgy joins (~zymurgy@li607-220.members.linode.com)
13:40:59 darthThorik joins (sid39589@gateway/web/irccloud.com/x-tegdxlrjfjitucof)
13:40:59 `slikts joins (~nelabs@wikipedia/reinis)
13:40:59 lexi-lambda joins (sid92601@gateway/web/irccloud.com/x-fanmypdregedhpxu)
13:40:59 cvlad- joins (sid203065@gateway/web/irccloud.com/x-kgwwtdcwktijsmay)
13:40:59 Wojciech_K joins (~wojciechk@2001:41d0:a:5be4::449)
13:40:59 jjhoo joins (jahakala@dsl-trebng21-b048b5-171.dhcp.inet.fi)
13:40:59 megaTherion joins (~therion@unix.io)
13:40:59 suzu_ joins (~scaleuser@2001:bc8:1824:43f::1)
13:41:02 <jpds> hoppfull: I think you're looking at either R/numpy, those are what are typically used in industry
13:41:06 pmikkelsen joins (~pmikkelse@vps1.pmikkelsen.com)
13:41:21 × hnOsmium0001[m] quits (hnosmium00@gateway/shell/matrix.org/x-yokgaxxacysfejtl) (Max SendQ exceeded)
13:41:21 × zymurgy quits (~zymurgy@li607-220.members.linode.com) (Max SendQ exceeded)
13:41:21 × terrorjack quits (~terrorjac@static.23.111.201.195.clients.your-server.de) (Max SendQ exceeded)
13:42:20 zymurgy joins (~zymurgy@li607-220.members.linode.com)
13:42:27 rotty joins (rotty@ghost.xx.vu)
13:42:28 terrorjack joins (~terrorjac@static.23.111.201.195.clients.your-server.de)
13:42:52 <hoppfull> Axman6: Alright, cool! :) Thank you!
13:43:12 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
13:43:52 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:44:05 × micahsovereign[m quits (micahsover@gateway/shell/matrix.org/x-iyzijdbfmtwefsgq) (Ping timeout: 244 seconds)
13:44:05 × lambdaclan quits (lambdaclan@gateway/shell/matrix.org/x-antkeesrwljpczwi) (Ping timeout: 244 seconds)
13:44:05 × jlv quits (jlvjustinl@gateway/shell/matrix.org/x-xwceaspbqgggodsf) (Ping timeout: 244 seconds)
13:44:09 × Amras quits (~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
13:44:10 × themsay[m] quits (themsaymat@gateway/shell/matrix.org/x-mdcfehwqhwbpuprk) (Ping timeout: 244 seconds)
13:44:10 × zerstroyer[m] quits (zerstroyer@gateway/shell/matrix.org/x-xljcymmxcrucfcub) (Ping timeout: 244 seconds)
13:44:10 × domenkozar[m] quits (domenkozar@NixOS/user/domenkozar) (Ping timeout: 244 seconds)
13:44:17 × jeffcasavant[m] quits (jeffcasava@gateway/shell/matrix.org/x-pdkyglnyuzyuczpm) (Ping timeout: 246 seconds)
13:44:18 × jkaye[m] quits (jkayematri@gateway/shell/matrix.org/x-cvcnmgziczthsczq) (Ping timeout: 246 seconds)
13:44:18 × mikr[m] quits (mikrdavral@gateway/shell/matrix.org/x-botdfmrbdonncklk) (Ping timeout: 246 seconds)
13:44:18 × chreekat[m] quits (chreekatma@gateway/shell/matrix.org/x-ndvsbnxnyzxiyeae) (Ping timeout: 246 seconds)
13:44:18 × texasmynsted[m]1 quits (mmynstedko@gateway/shell/matrix.org/x-aplarrwfhrontyaw) (Ping timeout: 246 seconds)
13:44:18 × loprakoa[m] quits (loprakoama@gateway/shell/matrix.org/x-ucmxwprtpwrnroam) (Ping timeout: 246 seconds)
13:44:18 × wanaks[m] quits (wanaksmatr@gateway/shell/matrix.org/x-jgmlthufkunjkidw) (Ping timeout: 246 seconds)
13:44:18 × berberman[T] quits (berberma4@gateway/shell/matrix.org/x-mqlzoneicnqzvtrn) (Ping timeout: 246 seconds)
13:44:18 × Fernando-Basso[m quits (fernando-b@gateway/shell/matrix.org/x-mphbftzdgfzvvpfv) (Ping timeout: 246 seconds)
13:44:18 × wrunt[m] quits (wruntmatri@gateway/shell/matrix.org/x-dotyyvisatydtdbs) (Ping timeout: 246 seconds)
13:44:18 × kadoban quits (kadobanmat@gateway/shell/matrix.org/x-jymgxfawqsikjoeo) (Ping timeout: 246 seconds)
13:44:25 × ttc quits (tomtauma1@gateway/shell/matrix.org/x-fasjiizskbulwgvs) (Ping timeout: 240 seconds)
13:44:25 × tersetears[m] quits (tersetears@gateway/shell/matrix.org/x-stularceaymqnnvm) (Ping timeout: 240 seconds)
13:44:25 × hsiktas[m] quits (hsiktasmat@gateway/shell/matrix.org/x-uilgovhyrcfxuyec) (Ping timeout: 240 seconds)
13:44:25 × psydruid quits (psydruidma@gateway/shell/matrix.org/x-dxoeoaxpehfltoxm) (Ping timeout: 240 seconds)
13:44:26 × maralorn quits (maralornma@gateway/shell/matrix.org/x-ekdgqqvxvlgaehfp) (Ping timeout: 240 seconds)
13:44:26 × PotatoHatsue quits (berbermanp@gateway/shell/matrix.org/x-etpsstufotvbopww) (Ping timeout: 240 seconds)
13:44:26 × jesser[m] quits (jessermatr@gateway/shell/matrix.org/x-kpkzimqipoxyjqkx) (Ping timeout: 240 seconds)
13:44:26 × drozdziak1 quits (drozdziak1@gateway/shell/matrix.org/x-seeblmwpgmfhrvly) (Ping timeout: 240 seconds)
13:44:26 × Ericson2314 quits (ericson231@gateway/shell/matrix.org/x-rxnlmzcqjnyxzrkj) (Ping timeout: 240 seconds)
13:44:28 mirrorbird joins (~psutcliff@176.227.57.79)
13:44:32 × Noughtmare[m] quits (naughtmare@gateway/shell/matrix.org/x-uhqcqnlnghllalgm) (Ping timeout: 260 seconds)
13:44:32 × siraben quits (sirabenmat@gateway/shell/matrix.org/x-asqcxknkldmvgjfs) (Ping timeout: 260 seconds)
13:44:32 × alexfmpe quits (alexfmpema@gateway/shell/matrix.org/x-jfbkqsostmhzbdiz) (Ping timeout: 260 seconds)
13:44:36 × dominicusin[m] quits (dominicusi@gateway/shell/matrix.org/x-itajzxotiwilhjzz) (Ping timeout: 244 seconds)
13:44:37 × betrion[m] quits (betrionmat@gateway/shell/matrix.org/x-cpbycklmuizuresy) (Ping timeout: 244 seconds)
13:44:37 × kaychaks_riot quits (kaychaksma@gateway/shell/matrix.org/x-cocoeyrzgbewonvs) (Ping timeout: 244 seconds)
13:44:37 × sureyeaah quits (shauryab98@gateway/shell/matrix.org/x-rvcuinjmcbcdntbq) (Ping timeout: 244 seconds)
13:44:37 × lnxw37d4 quits (lnxw37d4ma@gateway/shell/matrix.org/x-heyhrsscesydaaam) (Ping timeout: 244 seconds)
13:44:39 × theduke quits (thedukem1@gateway/shell/matrix.org/x-iglezslkrpviutsx) (Ping timeout: 246 seconds)
13:44:39 × unclechu quits (unclechuma@gateway/shell/matrix.org/x-xdmwignrvinnzuhj) (Ping timeout: 246 seconds)
13:44:39 × srid quits (sridmatrix@gateway/shell/matrix.org/x-vbiwkqubtijfqnix) (Ping timeout: 246 seconds)
13:44:41 × PotatoHatsue|T quits (berbermanm@gateway/shell/matrix.org/x-pdzgguoifsvvseqi) (Ping timeout: 244 seconds)
13:44:41 × fgaz quits (fgazmatrix@gateway/shell/matrix.org/x-sahnzspngbofktcq) (Ping timeout: 244 seconds)
13:44:41 × pqwy[m] quits (pqwymatrix@gateway/shell/matrix.org/x-xphghbuxqwifbrvq) (Ping timeout: 244 seconds)
13:44:42 kritzefitz joins (~kritzefit@212.86.56.80)
13:44:55 × michaelpj quits (michaelpjm@gateway/shell/matrix.org/x-msukwdbuzoesvqmv) (Ping timeout: 240 seconds)
13:44:56 × DeadComaGrayce[m quits (commagra1@gateway/shell/matrix.org/x-ybppbwirrexxdalc) (Ping timeout: 268 seconds)
13:44:56 × johnnyboy[m] quits (gifumatrix@gateway/shell/matrix.org/x-fmkdqdfzdofjlbwu) (Ping timeout: 268 seconds)
13:44:56 × jtojnar quits (jtojnarmat@gateway/shell/matrix.org/x-vqgiamgxvowxptlz) (Ping timeout: 268 seconds)
13:44:56 × falling-edge[m] quits (falling-ed@gateway/shell/matrix.org/x-yiekkkjicabtzpwl) (Ping timeout: 268 seconds)
13:44:56 × iinuwa quits (iinuwamatr@gateway/shell/matrix.org/x-przakolihymruduk) (Ping timeout: 268 seconds)
13:44:57 × sm[m] quits (simonmicma@gateway/shell/matrix.org/x-knicsrtsvshqasjh) (Ping timeout: 268 seconds)
13:45:07 × ThaEwat quits (thaewraptm@gateway/shell/matrix.org/x-edtnalreavczhuxd) (Ping timeout: 244 seconds)
13:45:12 × camlriot42 quits (camlriotma@gateway/shell/matrix.org/x-pemmgdjnwbrvtier) (Ping timeout: 244 seconds)
13:45:13 × agrif quits (~agrif@overviewer/dev/agrif) (Ping timeout: 264 seconds)
13:45:16 × Lycurgus quits (~niemand@cpe-45-46-134-163.buffalo.res.rr.com) (Quit: Exeunt)
13:45:46 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
13:46:26 agrif joins (agrif@rakeri.net)
13:46:26 × agrif quits (agrif@rakeri.net) (Changing host)
13:46:26 agrif joins (agrif@overviewer/dev/agrif)
13:46:33 × shatriff quits (~vitaliish@176.52.219.10) (Remote host closed the connection)
13:46:44 × dyniec[m] quits (dyniecmatr@gateway/shell/matrix.org/x-arwewhgpmrrxdvgw) (Ping timeout: 240 seconds)
13:46:44 × rednaZ[m] quits (r3dnazmatr@gateway/shell/matrix.org/x-gqnjqsortrudzklr) (Ping timeout: 246 seconds)
13:47:05 × ComaGrayce[m] quits (commagrays@gateway/shell/matrix.org/x-nnbisshxdkkhfidp) (Ping timeout: 246 seconds)
13:47:06 shatriff joins (~vitaliish@176.52.219.10)
13:47:11 × wi[m] quits (w1gzmatrix@gateway/shell/matrix.org/x-lrcmfkkxwhmoidej) (Ping timeout: 244 seconds)
13:47:11 × TekShifter[m] quits (tekshifter@gateway/shell/matrix.org/x-grtozfelazhxjdpr) (Ping timeout: 244 seconds)
13:47:54 <hoppfull> jpds: Thanks for your input.
13:48:18 × elpfen[m] quits (elpfenmatr@gateway/shell/matrix.org/x-rkpgoztnuhwgeecq) (Ping timeout: 244 seconds)
13:48:19 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
13:48:29 × miseenplace[m] quits (miseenplac@gateway/shell/matrix.org/x-oimoptkfbdgmzbhz) (Ping timeout: 246 seconds)
13:48:42 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
13:50:29 × alp quits (~alp@2a01:e0a:58b:4920:500f:4850:8bc3:6c93) (Ping timeout: 272 seconds)
13:52:24 <hoppfull> jpds: Gave me the idea to check and see if Haskell has R-interop and it seems like there is a library for it! :)
13:53:08 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
13:53:42 × kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 256 seconds)
13:54:21 Deide joins (~Deide@217.155.19.23)
13:55:27 isBEKaml joins (~isBEKaml@unaffiliated/isbekaml)
13:55:45 isBEKaml parts (~isBEKaml@unaffiliated/isbekaml) ()
13:55:59 Tario joins (~Tario@201.192.165.173)
13:56:01 hackage update-nix-fetchgit 0.2.5 - A program to update fetchgit values in Nix expressions https://hackage.haskell.org/package/update-nix-fetchgit-0.2.5 (jophish)
13:56:26 polyphem joins (~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
13:56:56 × Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 272 seconds)
13:58:45 Benzi-Junior joins (~BenziJuni@dsl-149-67-198.hive.is)
14:00:04 mputz joins (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
14:03:07 × hoppfull quits (55e07432@c-3274e055.19-9-64736c10.bbcust.telenor.se) (Remote host closed the connection)
14:05:25 × geekosaur quits (ac3a54da@172.58.84.218) (Remote host closed the connection)
14:05:34 Fernando-Basso[m joins (fernando-b@gateway/shell/matrix.org/x-wqwrqhbwxnrfqluo)
14:05:41 wildtrees joins (wildtrees@gateway/vpn/protonvpn/wildtrees)
14:05:52 DeadComaGrayce[m joins (commagra1@gateway/shell/matrix.org/x-azdmcqjbsmchjvtv)
14:06:10 mikr[m] joins (mikrdavral@gateway/shell/matrix.org/x-lqhlpqvzacftnkbu)
14:06:36 kadoban joins (kadobanmat@gateway/shell/matrix.org/x-kttvbwikdhecuywx)
14:06:43 × lep-delete quits (~lep@94.31.83.149) (Read error: Connection reset by peer)
14:06:57 lep-delete joins (~lep@94.31.83.149)
14:07:15 lep-delete is now known as test
14:07:16 jeffcasavant[m] joins (jeffcasava@gateway/shell/matrix.org/x-uqeetjdjsxvnlnzz)
14:07:34 berberman[T] joins (berberma4@gateway/shell/matrix.org/x-ktwvjhbxwxmijypf)
14:07:45 test is now known as Guest89775
14:07:46 domenkozar[m] joins (domenkozar@NixOS/user/domenkozar)
14:08:10 Guest89775 is now known as lep-delete
14:08:12 Ericson2314 joins (ericson231@gateway/shell/matrix.org/x-hlgbkoswcxilbeqd)
14:08:15 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
14:08:27 psydruid joins (psydruidma@gateway/shell/matrix.org/x-onpwsguylfwyjnoj)
14:08:48 texasmynsted[m]1 joins (mmynstedko@gateway/shell/matrix.org/x-byvrgcpdauyrpssk)
14:08:56 chreekat[m] joins (chreekatma@gateway/shell/matrix.org/x-hzsdhguuchtmbexg)
14:09:19 jkaye[m] joins (jkayematri@gateway/shell/matrix.org/x-rgucqpzlqszwinfz)
14:09:56 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
14:10:01 dominicusin[m] joins (dominicusi@gateway/shell/matrix.org/x-qrkglxioyiapvbuy)
14:10:46 micahsovereign[m joins (micahsover@gateway/shell/matrix.org/x-pdyvnptozmxbustx)
14:10:54 themsay[m] joins (themsaymat@gateway/shell/matrix.org/x-ioynzpwjpjzmejjh)
14:11:14 drozdziak1 joins (drozdziak1@gateway/shell/matrix.org/x-xyfuxdepxamenewg)
14:11:31 PotatoHatsue joins (berbermanp@gateway/shell/matrix.org/x-cjitwcshsbuodjyn)
14:11:40 PotatoHatsue|T joins (berbermanm@gateway/shell/matrix.org/x-uhyqtdfvkudrmunh)
14:11:50 unclechu joins (unclechuma@gateway/shell/matrix.org/x-guiiopktxpzvwhvz)
14:11:57 fgaz joins (fgazmatrix@gateway/shell/matrix.org/x-nhvyoqyawfdgtgqa)
14:11:59 <kuribas> wohoo! Just testing my xml parser library, and it seems to work the first time!
14:12:23 <kuribas> Just had to change the library to return the parse location when failing.
14:12:36 <kuribas> It seems that sometimes, "it works when it compiles", is true.
14:13:17 theduke joins (thedukem1@gateway/shell/matrix.org/x-gnkymjnxqweoqcmt)
14:14:26 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
14:14:40 pqwy[m] joins (pqwymatrix@gateway/shell/matrix.org/x-ywgcsarxvhxyblcm)
14:14:50 <kuribas> the more I do haskell, the more I think dynamic languages suck...
14:14:54 lambdaclan joins (lambdaclan@gateway/shell/matrix.org/x-hhpdgpqllhwmhgtm)
14:15:16 jlv joins (jlvjustinl@gateway/shell/matrix.org/x-gfijbqrqwhvwkgqs)
14:15:42 hsiktas[m] joins (hsiktasmat@gateway/shell/matrix.org/x-jpmuglwgcakxllmq)
14:15:53 lnxw37d4 joins (lnxw37d4ma@gateway/shell/matrix.org/x-gplzcqsrpqncxxzx)
14:16:49 sureyeaah joins (shauryab98@gateway/shell/matrix.org/x-mqricolhiyievodh)
14:16:50 siraben joins (sirabenmat@gateway/shell/matrix.org/x-ayxhmamsaxhvcaxs)
14:17:16 betrion[m] joins (betrionmat@gateway/shell/matrix.org/x-xwiqijmgzeynpvoj)
14:17:30 <Feuermagier> how do I go from [Int] to Map(int, amountThatIntOccuredInTheList)?
14:17:36 johnnyboy[m] joins (gifumatrix@gateway/shell/matrix.org/x-djygzhrhshoknqyz)
14:17:50 <Zetagon> kuribas: I'm dipping my toes in emacs-lisp, and I have to say that lisps are pretty cool :)
14:18:18 <kuribas> Zetagon: that sounds very postive, emacs-lisp is pretty much the worst lisp...
14:18:29 srid joins (sridmatrix@gateway/shell/matrix.org/x-vidxbchrzjfqulmd)
14:18:54 kaychaks_riot joins (kaychaksma@gateway/shell/matrix.org/x-csnlnomioxxbbnnm)
14:19:00 ttc joins (tomtauma1@gateway/shell/matrix.org/x-erbvcraxnugundnq)
14:19:06 × wildtrees quits (wildtrees@gateway/vpn/protonvpn/wildtrees) (Remote host closed the connection)
14:19:14 tersetears[m] joins (tersetears@gateway/shell/matrix.org/x-wmhwjlekxzvfgxue)
14:19:17 maralorn joins (maralornma@gateway/shell/matrix.org/x-dbfnqoxrhdjljtko)
14:19:17 <kuribas> Zetagon: you should have a look at scheme instead
14:19:27 <Zetagon> Yeah, the little I have written in it have used few data structures so those pain points haven't really affected me. It's mostly very interactive stuff, but I have just discovered the nice stuff about macros
14:19:41 wildtrees joins (wildtrees@gateway/vpn/protonvpn/wildtrees)
14:19:47 <Zetagon> but scheme doesn't have emacs with it :P
14:20:15 <Zetagon> But yeah I am curious about Racket, and turnstile which does some cool stuff with macros and types
14:20:16 <kuribas> very true :)
14:20:34 <kuribas> there was an effort to rewrite emacs in GUILE scheme, but it never took off.
14:20:49 <ski> @type M.fromList . map (head &&& length) . group . sort -- Feuermagier ?
14:20:50 <lambdabot> Ord a => [a] -> M.Map a Int
14:21:12 ski . o O ( Edwin )
14:21:13 alexfmpe joins (alexfmpema@gateway/shell/matrix.org/x-rqudkbffvwwbtfrf)
14:21:13 Noughtmare[m] joins (naughtmare@gateway/shell/matrix.org/x-srizjjooaoqrlgvr)
14:21:31 <Feuermagier> ski, interesting
14:21:54 <Feuermagier> what does (head &&& length) do?
14:22:07 <ski> > (head &&& length) "sssss"
14:22:09 <lambdabot> ('s',5)
14:22:12 <Zetagon> damn that is a neat solution
14:22:13 zerstroyer[m] joins (zerstroyer@gateway/shell/matrix.org/x-jrgpqmwjlqykhxer)
14:22:15 <Feuermagier> wow
14:22:38 jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-goezqreqcnfmgjgv)
14:22:48 <Feuermagier> what do the "." do?
14:22:55 <ski> function composition
14:23:16 <ski> > (sum . map (^ 2)) [0 .. 7]
14:23:18 <lambdabot> 140
14:23:24 <ski> > sum (map (^ 2) [0 .. 7])
14:23:25 <lambdabot> 140
14:23:35 loprakoa[m] joins (loprakoama@gateway/shell/matrix.org/x-uehnwgnrwlslrkww)
14:23:37 wanaks[m] joins (wanaksmatr@gateway/shell/matrix.org/x-hwcfdrwbfomwajud)
14:23:43 <ski> > sum (map (^ 2) [0 .. 7]) :: Expr
14:23:45 <lambdabot> 0 + 0 * 0 + 1 * 1 + 2 * 2 + 3 * 3 + 4 * 4 + 5 * 5 + 6 * 6 + 7 * 7
14:23:56 <Feuermagier> why do we group and sort?
14:23:58 <kuribas> @type M.fromListWithKey (const (+)) . map (,1)
14:23:59 <lambdabot> (Ord b, Num a) => [b] -> M.Map b a
14:24:04 wrunt[m] joins (wruntmatri@gateway/shell/matrix.org/x-fajabshtqlxbdigd)
14:24:05 <ski> > group "mississippi"
14:24:07 <lambdabot> ["m","i","ss","i","ss","i","pp","i"]
14:24:11 <ski> > (group . sort) "mississippi"
14:24:13 <lambdabot> ["iiii","m","pp","ssss"]
14:24:14 × taurux quits (~taurux@net-188-152-78-21.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in)
14:25:03 <Feuermagier> aaaah
14:25:52 × o1lo01ol1o quits (~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
14:26:29 <Zetagon> kuribas: emacs-lisp is far from a bad language. it has the advantage of being a lisp so a lot of things can be improved with libraries. It has borrowed a lot of functionality from common lisp for example with cl-lib. But yeah it's not the best language either
14:27:04 × ezzieyguywuf quits (~Unknown@unaffiliated/ezzieyguywuf) (Remote host closed the connection)
14:27:17 <kuribas> Zetagon: I find it aweful, because: no propper lexical scope, though that's fixed in later versions, no namespaces, one global interpreter thread, etc...
14:27:25 miseenplace[m] joins (miseenplac@gateway/shell/matrix.org/x-ywbimksbsmmywabw)
14:27:55 <Zetagon> Name spaces are done by prefixing the package name :P
14:28:05 ski idly notes "aweful" used to be a positive description
14:28:17 michaelpj joins (michaelpjm@gateway/shell/matrix.org/x-xcnlzlahcxbogqup)
14:28:30 ThaEwat joins (thaewraptm@gateway/shell/matrix.org/x-dfjdlbdjkbnyawpv)
14:28:41 <Zetagon> Actually it technically has two namespaces, one for functions and one for variables
14:28:49 iinuwa joins (iinuwamatr@gateway/shell/matrix.org/x-jxshhrkktrqfnuqi)
14:29:08 jtojnar joins (jtojnarmat@gateway/shell/matrix.org/x-xtyqemcpdpeklcda)
14:29:13 <kuribas> ski: isn't that awesome?
14:29:15 camlriot42 joins (camlriotma@gateway/shell/matrix.org/x-iyuyyccohcedziwd)
14:29:58 sm[m] joins (simonmicma@gateway/shell/matrix.org/x-lbfifyukhotihtyp)
14:30:01 falling-edge[m] joins (falling-ed@gateway/shell/matrix.org/x-gqfvjootjpkyvsru)
14:30:30 hnOsmium0001[m] joins (hnosmium00@gateway/shell/matrix.org/x-uzbrsqhjgvjvnext)
14:30:46 <kuribas> ski: or do you mean like a century ago?
14:30:57 <Zetagon> wiktionary seems to agree with ski
14:31:07 <ski> awful [..] 2. Exceedingly great; usually applied intensively. [..] 4. (now rare) Inspiring awe; filling with profound reverence or respect; profoundly impressive. 5. (now rare) Struck or filled with awe. [..] 7. Worshipful; reverential; law-abiding.
14:31:21 <ski> kuribas : or more, perhaps
14:32:54 dyniec[m] joins (dyniecmatr@gateway/shell/matrix.org/x-zwmchqxypgwrfvvf)
14:33:13 rednaZ[m] joins (r3dnazmatr@gateway/shell/matrix.org/x-gpnsxbbsvkfpdeul)
14:33:15 wi[m] joins (w1gzmatrix@gateway/shell/matrix.org/x-gkgxegvxecteylnk)
14:33:17 TekShifter[m] joins (tekshifter@gateway/shell/matrix.org/x-xtsbzpbdrwjrjwbu)
14:33:30 ComaGrayce[m] joins (commagrays@gateway/shell/matrix.org/x-dqibnbgwhohubrkt)
14:34:40 elpfen[m] joins (elpfenmatr@gateway/shell/matrix.org/x-drqtnjthyplttipt)
14:34:56 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Ping timeout: 272 seconds)
14:35:00 ezzieyguywuf joins (~Unknown@unaffiliated/ezzieyguywuf)
14:36:33 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
14:37:02 × tmciver quits (~tmciver@cpe-172-101-40-226.maine.res.rr.com) (Ping timeout: 260 seconds)
14:37:17 tmciver joins (~tmciver@cpe-172-101-40-226.maine.res.rr.com)
14:37:30 hackage hakyll-convert 0.3.0.2 - Convert from other blog engines to Hakyll. https://hackage.haskell.org/package/hakyll-convert-0.3.0.2 (AlexanderBatischev)
14:40:40 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
14:41:00 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 244 seconds)
14:41:58 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
14:42:18 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
14:43:03 alp joins (~alp@2a01:e0a:58b:4920:c402:b115:cf96:fa96)
14:44:30 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
14:44:43 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
14:44:44 vfaronov joins (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru)
14:44:45 × vfaronov quits (~vfaronov@broadband-95-84-210-78.ip.moscow.rt.ru) (Client Quit)
14:46:58 teardown joins (~user@gateway/tor-sasl/mrush)
14:50:18 urodna joins (~urodna@unaffiliated/urodna)
14:55:23 × texasmynsted_ quits (~texasmyns@99.96.221.112) (Ping timeout: 260 seconds)
14:59:48 o1lo01ol1o joins (~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
15:00:01 × skvidal quits (~skvidal@185.163.110.116) ()
15:04:14 × mirrorbird quits (~psutcliff@176.227.57.79) (Ping timeout: 264 seconds)
15:05:05 test joins (5806b690@144.red-88-6-182.staticip.rima-tde.net)
15:05:29 test is now known as Guest7066
15:05:58 × bitmapper quits (uid464869@gateway/web/irccloud.com/x-vehblmdtqrevxqug) (Quit: Connection closed for inactivity)
15:06:59 × Guest7066 quits (5806b690@144.red-88-6-182.staticip.rima-tde.net) (Remote host closed the connection)
15:09:20 jakalx joins (~jakalx@base.jakalx.net)
15:10:52 × darjeeling_ quits (~darjeelin@122.245.208.31) (Ping timeout: 260 seconds)
15:14:43 × babygnu quits (~robert@gateway/tor-sasl/babygnu) (Ping timeout: 240 seconds)
15:15:25 babygnu joins (~robert@gateway/tor-sasl/babygnu)
15:15:30 hackage hexpat-streamparser 0.0.1 - https://hackage.haskell.org/package/hexpat-streamparser-0.0.1 (KristofBastiaensen)
15:15:41 <kuribas> there you go :)
15:15:59 todda7 joins (~torstein@ppp-2-84-17-169.home.otenet.gr)
15:16:54 × Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer)
15:17:15 × alp quits (~alp@2a01:e0a:58b:4920:c402:b115:cf96:fa96) (Ping timeout: 272 seconds)
15:18:17 alp joins (~alp@2a01:e0a:58b:4920:1990:a633:1538:99c3)
15:18:30 hackage byte-count-reader 0.10.1.2 - Read strings describing a number of bytes like 2Kb and 0.5 MiB https://hackage.haskell.org/package/byte-count-reader-0.10.1.2 (danielrolls)
15:18:53 jakalx parts (~jakalx@base.jakalx.net) ("Disconnected: closed")
15:18:55 knupfer joins (~Thunderbi@87.123.206.158)
15:19:36 fendor__ is now known as fendor
15:20:23 × babygnu quits (~robert@gateway/tor-sasl/babygnu) (Ping timeout: 240 seconds)
15:20:26 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
15:21:01 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
15:21:56 <fendor> cabal does not like literate haskell files
15:21:59 <fendor> or is it ghc?
15:23:05 FunPika joins (~FunPika@92.223.89.101)
15:23:17 <kuribas> fendor: they do
15:23:24 <kuribas> fendor: did you name it .lhs?
15:24:19 <fendor> kuribas, but the error messages are not of the same quality. ghc just says:`unlit' failed in phase `Literate pre-processor'. pointing to the first line. Some lines above, you can read the actual errors
15:26:01 da39a3ee5e6b4b0d joins (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th)
15:27:19 <fendor> but it is rather hidden, compared to the rich error messages we usually get
15:27:54 Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas)
15:29:13 Tario joins (~Tario@201.192.165.173)
15:29:21 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
15:30:32 × FunPika quits (~FunPika@92.223.89.101) (Ping timeout: 256 seconds)
15:30:53 × kuribas quits (~user@ptr-25vy0i82x0ic2ow7do5.18120a2.ip6.access.telenet.be) (Quit: ERC (IRC client for Emacs 26.3))
15:32:41 × mtothem quits (~mtothem@h-213-180.A392.priv.bahnhof.se) (Quit: leaving)
15:33:03 roconnor joins (~roconnor@host-104-157-230-3.dyn.295.ca)
15:33:45 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
15:34:05 jakalx joins (~jakalx@base.jakalx.net)
15:34:16 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
15:34:25 × PlasmaStrike quits (~mattplasm@107.72.99.67) (Ping timeout: 240 seconds)
15:34:30 borne joins (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de)
15:36:05 <merijn> fendor: If you like literate programming: https://entangled.github.io/ :>
15:37:17 <Zetagon> or org-mode
15:37:23 jneira_ joins (~jneira@198.red-176-83-81.dynamicip.rima-tde.net)
15:37:33 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
15:38:22 <fendor> oh wow, that looks really cool. However, I don't really care for it, but there seems to be a cabal bug related to literate haskell files and I trying to get a minimal reproducible example
15:38:42 × pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!)
15:39:36 × jneira[m] quits (~jneira@192.red-2-137-106.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
15:39:53 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
15:40:48 christo joins (~chris@81.96.113.213)
15:41:56 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
15:44:09 darjeeling_ joins (~darjeelin@122.245.208.31)
15:44:46 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
15:46:24 × da39a3ee5e6b4b0d quits (~da39a3ee5@cm-171-98-105-4.revip7.asianet.co.th) (Ping timeout: 256 seconds)
15:50:01 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
15:50:13 × _ashbreeze_ quits (~mark@72-161-252-32.dyn.centurytel.net) (Read error: No route to host)
15:53:59 <Feuermagier> whats the difference between $ and . ?
15:54:34 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
15:54:57 <sm[m]> check their type signatures Feuermagier
15:55:17 <Feuermagier> OH, these are FUNCTIONS, lol
15:55:23 <sm[m]> once you've used them a bit it becomes clear. & is also useful
15:56:50 fendor_ joins (~fendor@178.165.130.155.wireless.dyn.drei.com)
15:59:34 × dolio quits (~dolio@haskell/developer/dolio) (Quit: ZNC 1.8.2 - https://znc.in)
15:59:48 × fendor quits (~fendor@178.115.130.14.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
16:00:06 × wi[m] quits (w1gzmatrix@gateway/shell/matrix.org/x-gkgxegvxecteylnk) (Quit: Idle for 30+ days)
16:00:21 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
16:00:24 luke joins (~luke@bitnomial/staff/luke)
16:01:16 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
16:02:20 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
16:04:38 isBEKaml joins (~isBEKaml@unaffiliated/isbekaml)
16:04:46 isBEKaml parts (~isBEKaml@unaffiliated/isbekaml) ()
16:05:06 × HaskellYogi quits (~vivekrama@49.207.205.17) (Remote host closed the connection)
16:05:06 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
16:05:47 HaskellYogi joins (~vivekrama@49.207.205.17)
16:06:07 _ashbreeze_ joins (~mark@72-161-252-32.dyn.centurytel.net)
16:06:19 dolio joins (~dolio@haskell/developer/dolio)
16:08:35 bitmapper joins (uid464869@gateway/web/irccloud.com/x-bqvxxtetbbtbyhwi)
16:09:12 × HaskellYogi quits (~vivekrama@49.207.205.17) (Remote host closed the connection)
16:09:26 invaser joins (~Thunderbi@31.148.23.125)
16:09:28 HaskellYogi joins (~vivekrama@49.207.205.17)
16:10:19 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:10:21 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
16:12:06 × heatsink quits (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
16:12:17 jamm_ joins (~jamm@unaffiliated/jamm)
16:12:20 fendor_ is now known as fendor
16:13:20 × luke quits (~luke@bitnomial/staff/luke) (Quit: sleep)
16:15:00 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 260 seconds)
16:15:02 × mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
16:15:05 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
16:15:48 cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
16:15:51 heatsink joins (~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
16:16:32 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
16:16:40 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:18:46 × Tario quits (~Tario@201.192.165.173) (Ping timeout: 256 seconds)
16:19:36 × Kaeipi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Remote host closed the connection)
16:19:50 Kaeipi joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
16:20:30 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
16:21:11 × raichoo quits (~raichoo@dslb-088-077-026-125.088.077.pools.vodafone-ip.de) (Quit: Lost terminal)
16:21:37 Tario joins (~Tario@201.192.165.173)
16:21:51 × raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 2.8)
16:22:57 Merfont joins (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net)
16:22:57 × Kaeipi quits (~Kaiepi@nwcsnbsc03w-47-55-225-82.dhcp-dynamic.fibreop.nb.bellaliant.net) (Read error: Connection reset by peer)
16:23:23 jmcarthur joins (~jmcarthur@2601:86:500:2a40:db56:5d66:5919:c95d)
16:23:52 × _ashbreeze_ quits (~mark@72-161-252-32.dyn.centurytel.net) (Ping timeout: 260 seconds)
16:24:22 raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
16:24:45 leungbk`` joins (~user@cpe-104-33-52-83.socal.res.rr.com)
16:25:46 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 272 seconds)
16:26:05 vacm joins (~vacwm@70.23.92.191)
16:26:30 hackage stack-clean-old 0.2.1 - Clean away old stack build artefacts https://hackage.haskell.org/package/stack-clean-old-0.2.1 (JensPetersen)
16:27:17 Lycurgus joins (~niemand@cpe-45-46-134-163.buffalo.res.rr.com)
16:28:49 jakalx parts (~jakalx@base.jakalx.net) ("Disconnected: closed")
16:29:38 <maerwald_> > head . take 2 [1..] -- Feuermagier
16:29:40 <lambdabot> error:
16:29:40 <lambdabot> • Couldn't match expected type ‘a -> [c]’ with actual type ‘[a0]’
16:29:40 <lambdabot> • Possible cause: ‘take’ is applied to too many arguments
16:29:58 <maerwald_> > head $ take 2 [1..]
16:30:00 <lambdabot> 1
16:30:40 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
16:31:15 christo joins (~chris@81.96.113.213)
16:31:21 s00pcan joins (~chris@075-133-056-178.res.spectrum.com)
16:32:01 jakalx joins (~jakalx@base.jakalx.net)
16:33:36 britva joins (~britva@31-10-157-156.cgn.dynamic.upc.ch)
16:35:43 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
16:35:47 × alp quits (~alp@2a01:e0a:58b:4920:1990:a633:1538:99c3) (Ping timeout: 272 seconds)
16:35:56 maerwald_ is now known as maerwald
16:36:13 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 246 seconds)
16:36:56 × britva quits (~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit)
16:36:59 orion joins (~orion@unaffiliated/orion)
16:37:10 _ashbreeze_ joins (~mark@72-161-252-32.dyn.centurytel.net)
16:38:16 <orion> Hi. I am tasked with implementing a voting system in Haskell for a "Moose lodge". Is there any prior art in this area?
16:39:36 <orion> As an academic exercise, I am leaning towards trying to define a DSL to describe any generic voting system, but that may be a bit ambitious.
16:40:29 <Zetagon> That sounds pretty cool though, it would make it easier to compare a bunch of systems right?
16:40:38 <merijn> Zetagon: Would it, though?
16:41:17 <Zetagon> I dunno, it would at least implementing different systems easier right? I have no idea how to actually do it
16:41:27 <merijn> I don't think it would
16:41:36 × xsarnik0 quits (xsarnik@gateway/shell/fi.muni.cz/x-sqicyawzroueowxj) (Quit: Ping timeout (120 seconds))
16:41:48 <merijn> You can't even really define a generic ballot without including "basically everything"
16:42:01 <systemfault> face
16:42:08 <systemfault> oops, wrong browser.
16:44:18 texasmynsted joins (~texasmyns@212.102.44.36)
16:44:30 hackage polysemy-methodology-composite 0.1.4.0 - Functions for using polysemy-methodology with composite. https://hackage.haskell.org/package/polysemy-methodology-composite-0.1.4.0 (locallycompact)
16:44:33 <orion> merijn: Hm, interesting. What do you mean by "basically everything"? Do you mean it in the spirit of the universal quantifier?
16:45:23 × knupfer quits (~Thunderbi@87.123.206.158) (Ping timeout: 265 seconds)
16:45:37 conal joins (~conal@64.71.133.70)
16:46:53 mananamenos_ joins (~mananamen@84.122.202.215.dyn.user.ono.com)
16:48:00 hackage ormolu 0.1.4.0 - A formatter for Haskell source code https://hackage.haskell.org/package/ormolu-0.1.4.0 (mrkkrp)
16:49:22 × mananamenos quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 256 seconds)
16:50:37 × conal quits (~conal@64.71.133.70) (Ping timeout: 264 seconds)
16:51:24 <Zetagon> I'm thinking that there are many different voting systems so it's hard/impossible to generalize over all
16:53:49 × Lycurgus quits (~niemand@cpe-45-46-134-163.buffalo.res.rr.com) (Quit: Exeunt)
16:54:01 <orion> Okay, that's a more precise of saying that I intended.
16:54:06 <orion> wat of*
16:54:10 jaspervdj joins (~jaspervdj@213.55.241.35)
16:54:10 <orion> way of**
16:54:17 <carter> merijn: so many prjects need to migrate off Travis ci .
16:55:45 xsarnik0 joins (xsarnik@gateway/shell/fi.muni.cz/x-hqlptmwsqmanredt)
17:01:47 <hekkaidekapus> orion: There is <https://hackage.haskell.org/package/hjugement-protocol> whose maintainer hangs out in another channel. If you are interested, I can bribe him so that he joins #haskell :)
17:02:37 × leungbk`` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Ping timeout: 264 seconds)
17:03:00 nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7)
17:05:49 <orion> hekkaidekapus: Thanks! The inspiration for this idea came from this podcast: https://www.cryptography.fm/4
17:07:33 <orion> It's an interesting coincidence that the package you mentioned is based in part on research done at INRIA. The aforementioned podcast episode is also based on research done at INRIA.
17:07:43 <hekkaidekapus> orion: I have no clue in voting systems, I’m afraid listening to that podcast would be a good use of time. Let’s see if I can drag said maintainer into here.
17:08:19 <hekkaidekapus> Since it’s the weekend, he might be slow to react, let’s see.
17:09:15 <orion> hekkaidekapus: The tl;dl of the podcast is that the same formal methods used to verify the Signal and TLS protocols have been used to verify the French tax code.
17:09:39 <carter> Huh
17:09:46 <orion> If formal methods can be used to verify the French tax code, surely they can be applied to a simple Moose-lodge style voting system.
17:11:34 <hekkaidekapus> I guess, yes.
17:11:58 × todda7 quits (~torstein@ppp-2-84-17-169.home.otenet.gr) (Ping timeout: 256 seconds)
17:12:00 <hekkaidekapus> (So French are screwed; no evasion possible, huh?)
17:12:42 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
17:13:01 hackage witch 0.0.0.0 - Convert values from one type into another. https://hackage.haskell.org/package/witch-0.0.0.0 (fozworth)
17:13:24 <orion> While tax evasion might be eliminated, it might also allow a citizen to provably compute the lowest amount of taxes possible.
17:14:03 <hekkaidekapus> I’m kidding, don’t mind me on the subject.
17:14:27 <orion> I have my own views on the nature of taxation, but it's probably out of scope for this channel. ;)
17:15:19 julm joins (~julm@revolt129.abo.ilico.org)
17:15:35 <hekkaidekapus> orion: The maintainer is julm
17:15:43 <julm> hi there :)
17:15:48 <hekkaidekapus> Hi, julm!
17:16:02 × HaskellYogi quits (~vivekrama@49.207.205.17) (Remote host closed the connection)
17:16:40 HaskellYogi joins (~vivekrama@49.207.205.17)
17:17:33 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:18:49 <orion> Hi julm. I have a task before me that I'd like to accomplish using Haskell. I am to implement a voting system for a "Moose-like" lodge. Members get to vote on other members, but it's not a simple majority.
17:19:23 asheshambasta joins (~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be)
17:19:33 <merijn> carter: Yeah, like all of mine, which is why you should fix github actions so I don't have to ;)
17:19:43 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
17:20:36 <orion> julm: I was inspired by this podcast episode: https://www.cryptography.fm/4 -- Researchers at INRIA used formal methods to verify the French tax code. hekkaidekapus told me about hjugement-protocol, which I also see is inspired from research done at INRIA.
17:21:25 × HaskellYogi quits (~vivekrama@49.207.205.17) (Ping timeout: 240 seconds)
17:21:47 <orion> So my thinking is, if the entire French tax code can be modeled/encoded in this way, certainly a simple lodge voting system can be modeled also.
17:21:59 <merijn> :ls
17:22:32 sord937 joins (~sord937@gateway/tor-sasl/sord937)
17:22:33 avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be)
17:22:51 HaskellYogi joins (~vivekrama@49.207.205.17)
17:23:09 <orion> My initial thinking is that a DSL may be appropriate. I have sought prior art in this area, and hekkaidekapus was very kind enough to point me to your package and connect us. :)
17:25:57 mirrorbird joins (~psutcliff@176.227.57.79)
17:26:11 leungbk`` joins (~user@cpe-104-33-52-83.socal.res.rr.com)
17:26:55 × indolering quits (~indolerin@178.162.212.214) (Remote host closed the connection)
17:27:38 × HaskellYogi quits (~vivekrama@49.207.205.17) (Ping timeout: 260 seconds)
17:28:29 HaskellYogi joins (~vivekrama@49.207.205.17)
17:29:00 <Feuermagier> how do i take the symmetric difference of two lists (all entries of list b who are not also in list a)?
17:29:02 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
17:30:34 <merijn> Feuermagier: You turns them into sets and use those instead ;)
17:30:35 <hekkaidekapus> > [1 .. 10] \\ [1 ..5] -- Feuermagier
17:30:37 <lambdabot> [6,7,8,9,10]
17:30:57 × leungbk`` quits (~user@cpe-104-33-52-83.socal.res.rr.com) (Remote host closed the connection)
17:31:07 <merijn> :t (\\)
17:31:07 <Feuermagier> hekkaidekapus, so many interesting operators :D
17:31:08 <lambdabot> Eq a => [a] -> [a] -> [a]
17:31:31 × asheshambasta quits (~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds)
17:31:34 <merijn> hekkaidekapus: Docs make no mention of symmetric different, though?
17:32:11 <hekkaidekapus> merijn: Nope. A principled solution is via Set as you said.
17:32:20 <julm> orion: ok, I've indeed initiated a few libraries on this topic, first https://hackage.haskell.org/package/hjugement implementing the voting method "Majority Judgment" designed by two mathematicians claiming it's the best one, and https://hackage.haskell.org/package/hjugement-protocol implementing the voting cryptographic protocol Helios-C, designed by several mathematicians and already implemented by Inria
17:32:20 <julm> in OCaml https://www.belenios.org/
17:32:21 <merijn> > [1 .. 10] \\ [5 .. 15]
17:32:25 <lambdabot> [1,2,3,4]
17:32:29 <merijn> That's wrong
17:32:54 <hpc> it's correct for the parenthetical part of the question
17:32:55 <merijn> @hackage containers -- Feuermagier
17:32:55 <lambdabot> https://hackage.haskell.org/package/containers -- Feuermagier
17:33:02 × HaskellYogi quits (~vivekrama@49.207.205.17) (Ping timeout: 264 seconds)
17:33:07 <merijn> hpc: Ah, right
17:33:39 <merijn> Feuermagier: If you wanna do anything other than "loop in sequence" with data, you probably want data structures from either containers or vector instead of lists :)
17:33:51 dabura joins (~pablo@aftr-62-216-208-95.dynamic.mnet-online.de)
17:34:11 HaskellYogi joins (~vivekrama@49.207.205.17)
17:34:26 <Feuermagier> merijn, if time complexity isnt relevant i can just use the version of hekkaidekapus, right?
17:34:50 <Feuermagier> that one is rather beautiful :P
17:34:56 todda7 joins (~torstein@ppp-2-84-17-169.home.otenet.gr)
17:35:07 <merijn> Feuermagier: Depends whether you want symmetric difference (as you said) or your instructions in the parenthesis (which are left-biased difference, rather than symmetric)
17:35:43 <merijn> Feuermagier: Set has the same exact operator, though :p https://hackage.haskell.org/package/containers-0.6.4.1/docs/Data-Set.html#v:-92--92-
17:35:45 × mmohammadi9812 quits (~mmohammad@2.178.173.138) (Read error: Connection reset by peer)
17:35:52 <julm> orion: the description/links of the packages should help a lot to figure out how all this work, though the meta fields of those packages are not up-to-date: you'll find the latest code on https://code.sourcephile.fr/judgmentphile.git
17:35:55 mmohammadi9812 joins (~mmohammad@185.186.245.158)
17:36:01 <Feuermagier> merijn, since i didn't know that there's a difference, now i'm concerned
17:36:26 <merijn> Feuermagier: difference is "everything in A that is not in B"
17:36:33 <Feuermagier> yes
17:36:41 <merijn> Feuermagier: Symmetric difference is "everything in A *and* B that is not in both"
17:36:45 <Feuermagier> whats left / symmetric then?
17:37:13 son0p joins (~son0p@186.159.4.142)
17:37:19 <julm> julm: there you'll also find that I've initiated a CLI tool and a Purescript Web client
17:37:30 <merijn> > let symmetricDiff xs ys = (xs \\ ys) ++ (ys \\ xs) in symmetricDiff [1..10] [5 .. 15]
17:37:32 <lambdabot> [1,2,3,4,11,12,13,14,15]
17:37:35 <hekkaidekapus> Feuermagier: left: first container; right: the second.
17:37:41 <julm> s/julm/orion/
17:37:50 <merijn> As opposed to
17:38:03 <merijn> > [1..10] \\ [5 .. 15]
17:38:07 <lambdabot> [1,2,3,4]
17:39:21 <orion> julm: Thank you for the information!
17:40:16 <julm> orion: however I've not worked on all this in 2020, the MJ lib is quite mature, the Helios-C lib is beta, the CLI is working but would need a refresh, the Purescript only implements cryptographic functions
17:40:19 × dabura quits (~pablo@aftr-62-216-208-95.dynamic.mnet-online.de) (Quit: leaving)
17:40:31 × mmohammadi9812 quits (~mmohammad@185.186.245.158) (Ping timeout: 256 seconds)
17:41:23 <orion> julm: This link on the hjudgement package README does not appear to be working: http://libgen.io/book/index.php?md5=BF67AA4298C1CE7633187546AA53E01D
17:41:59 britva joins (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
17:42:00 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
17:42:06 <orion> This too leads to a 404: https://www.lamsade.dauphine.fr/sites/default/IMG/pdf/cahier_377.pdf
17:42:31 <Uniaika> orion: it's libgen.is nowadays
17:42:31 <julm> yeah, libgen is dead, try https://sourcephile.fr/recherches/Jugement_Majoritaire/2011_-_Balinski_et_Laraki_-_Majority%20Judgment_-_Measuring%2C_Ranking%2C_and_Electing.MIT_Press.pdf
17:42:33 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
17:42:33 mmohammadi9812 joins (~mmohammad@2.178.173.138)
17:42:36 <dsal> Feuermagier: it's better not to think of "a lot of operators". They're just functions.
17:42:48 vacm joins (~vacwm@70.23.92.191)
17:42:49 <merijn> :t difference
17:42:50 <lambdabot> error:
17:42:50 <lambdabot> • Variable not in scope: difference
17:42:50 <lambdabot> • Perhaps you meant one of these:
17:43:02 <merijn> aww...there's no named version for lists?
17:44:04 <dsal> Occasionally you'll want to make a function you use a lot and give it a convenient name. If it doesn't have letters, it's infix by default, but you can apply any binary function infix or prefix.
17:44:20 × FreeBirdLjj quits (~freebirdl@101.228.42.108) (Remote host closed the connection)
17:44:26 <merijn> dsal: eh
17:44:39 <merijn> dsal: You can apply non-binary functions infix and/or as operator too :p
17:44:54 <dsal> > (\\) [1..10] [5..15]
17:44:57 <lambdabot> [1,2,3,4]
17:45:12 <merijn> dsal: I mean that you can use ternary functions as operator too
17:45:23 <merijn> (or anything else, really)
17:45:43 × HaskellYogi quits (~vivekrama@49.207.205.17) (Ping timeout: 260 seconds)
17:46:41 × HarveyPwca quits (~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
17:47:04 <dsal> Some folks try to learn Haskell by learning the exceptions to rules before rules. It's a uphill battle. I'm just coming in from the other angle. Operators don't exist, but there are a couple ways to call your function.
17:47:10 zule1 joins (~zule@188.126.89.41)
17:47:37 <merijn> operators aren't even exceptions to the rules...they're literally defined in the rules >.>
17:48:00 <merijn> An operator is just "any function whose name consists entirely of operator symbols"
17:48:18 <dsal> They're just functions is my point. Not another thing.
17:48:30 hackage witch 0.0.0.2 - Convert values from one type into another. https://hackage.haskell.org/package/witch-0.0.0.2 (fozworth)
17:48:35 <merijn> dsal: Except when they're constructors ;)
17:48:41 alp joins (~alp@2a01:e0a:58b:4920:d66:dc23:5051:7cda)
17:49:02 <merijn> (although, I suppose, you could argue constructors are merely a subset of functions...)
17:49:33 <dsal> Haha. Yeah. The more stuff that feels the same, the easier it all gets for me.
17:50:16 × avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb)
17:50:31 avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be)
17:50:35 <dsal> I like that + isn't special. Even in, like c++ where you can overload operators, + still feels special.
17:50:46 × pjb quits (~t@2a01cb04063ec500886d37c8211c68f4.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
17:50:48 × britva quits (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Quit: This computer has gone to sleep)
17:50:54 <merijn> operator overloading in C++ is a nightmare
17:51:13 hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net)
17:51:17 <dsal> I've abused Num horribly, but only in lambdabot
17:51:32 <merijn> tbf, + doesn't even have to involve Num
17:51:43 <merijn> > let 2 + 2 = 5 in 2 + 2
17:51:45 <lambdabot> 5
17:52:00 jakalx joins (~jakalx@base.jakalx.net)
17:52:07 britva joins (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
17:52:10 <dsal> Haha. Yeah. You just proved Haskell is a terrible language.
17:52:25 elliott__ joins (~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
17:52:42 <monochrom> It's gospel to me.
17:53:04 <merijn> monochrom: Lambda calculus is gospel, Haskell is apocrypha :p
17:53:19 <dsal> Any language that doesn't let you say 2+2=5 is restricting the way you're thinking.
17:53:27 <Rembane> merijn: Why does that let-expression work?
17:53:37 <hyperisco> that's why I prefer Ruby
17:53:48 <merijn> Rembane: It's define a new + function with a partial pattern
17:53:49 <monochrom> (+) being just another user-definable value name, therefore shadowable user-definable value name, means fewer things are second class in Haskell than in other languages.
17:53:52 <merijn> > let 2 + 2 = 5 in 2 + 3
17:53:54 <lambdabot> *Exception: <interactive>:3:5-13: Non-exhaustive patterns in function +
17:54:01 hackage flatbuffers 0.3.0.0 - Haskell implementation of the FlatBuffers protocol. https://hackage.haskell.org/package/flatbuffers-0.3.0.0 (dcastro)
17:54:19 <merijn> Rembane: Note the non-exhaustive pattern error :)
17:55:02 × jlamothe quits (~jlamothe@198.251.55.207) (Ping timeout: 256 seconds)
17:55:04 <Rembane> merijn: I completely missed that error. That's really nice! :D
17:55:04 <monochrom> There is no tenable philosophical reason to insist "alphabetical identifiers are user-definable, punctuation identifiers aren't" or "prefix is, infix isn't", apart from 1970 parsing couldn't handle it.
17:55:34 <dsal> > let _ + _ = "five" in 2 + 2
17:55:36 <lambdabot> "five"
17:55:58 × tsrt^ quits (tsrt@ip98-184-89-2.mc.at.cox.net) ()
17:56:41 <Rembane> ^^ I once saw two of my friends hacking away at something in ghci, and when one of them went to get candy or something the other one wrote let (-) = (+) in the repl and cleared the screen, hilarity ensued.
17:57:05 shah^ joins (shah@ip98-184-89-2.mc.at.cox.net)
17:57:45 <monochrom> I came from an older background, seeing all kinds of privileges that the language/compiler reserves for themselves and denying the user. So I enjoy these liberations a lot.
17:58:40 <dsal> Yeah, it's crazy how many things are just for smart language creators.
17:58:41 <hpc> Rembane: i once defined microwave numbers, where the value of a number is based on how many seconds it would be if you typed those digits in a microwave
17:58:42 <julm> orion: for the second link: https://sourcephile.fr/recherches/Jugement_Majoritaire/2017-02_-_Balinski_et_Laraki_-_Majority_Judgment_vs_Majority_Rule.LAMSADE_377.pdf
17:58:50 <hpc> so 160 == 200, 199 > 200, etc
17:59:09 <monochrom> Let's start with BASIC. There, even procedure/function names are not user-definable. They give you SIN() then you have SIN(). They give you PRINT then you have PRINT. You wanna write your own version? You're stuck with GOSUB, no name, only a line number, and no parameter, no return value, no nothing.
17:59:57 <monochrom> Then let's move on to Pascal. There, functions/procedures are mostly liberated, except writeln(), you could not have defined this polymorphic procedure yourself.
18:00:03 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
18:00:19 <monochrom> It's for that reason I really admire Haskell's type class.
18:00:36 <orion> julm: Thank you.
18:00:38 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 264 seconds)
18:01:47 <merijn> ugh
18:01:54 <merijn> Past me should've written more tests
18:02:33 dabura joins (~pablo@45.86.201.20)
18:03:01 <Rembane> hpc: Nice! :D That must be analogous to rotary dial numbers.
18:05:21 <monochrom> I take great pride in telling my students "in Haskell if the library didn't provide Bool, you could have defined it yourself, and it would be as optimized as the 'built-in' one".
18:05:36 <monochrom> You can't say this about a lot of other languages.
18:06:30 <monochrom> GHC takes one step further and makes even many code optimizations user-definable, i.e., rewrite rules.
18:07:10 <monochrom> Our vector library and its stream fusion, you cannot pull it off in Scala, not even close.
18:07:59 <Rembane> I like that, more power to the programmer.
18:08:24 × avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb)
18:08:39 avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be)
18:08:58 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Read error: Connection reset by peer)
18:09:44 <hekkaidekapus> As to custom rewrite rules, there is retrie which is lighter than stream fusion frameworks.
18:10:47 <monochrom> Control flow is another privilege that is liberated in Haskell and Scheme, though by different mechanisms. (laziness in haskell, macros in scheme)
18:10:47 × borne quits (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
18:10:55 Jeanne-Kamikaze joins (~Jeanne-Ka@66.115.189.179)
18:11:04 × hyperfekt quits (end@bnc.hyperfekt.net) (Quit: bouncer quit)
18:11:14 × son0p quits (~son0p@186.159.4.142) (Quit: Lost terminal)
18:11:24 <monochrom> Yes, in programming language topics I'm a social justice warrior.
18:11:27 cosimone joins (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
18:11:32 hyperfekt joins (end@bnc.hyperfekt.net)
18:11:35 <hekkaidekapus> heh
18:11:37 <Rembane> hekkaidekapus: https://hackage.haskell.org/package/retrie <- this one?
18:11:37 <monochrom> Don't worry, on many other topics I take conservative stances.
18:11:49 jlamothe joins (~jlamothe@198.251.55.207)
18:11:52 <hekkaidekapus> Rembane: yep.
18:12:03 <Rembane> hekkaidekapus: Cool, thanks
18:12:43 <monochrom> Also I'm not an extreme social justice warrior. I recognize that there are trade offs, you seek a good balance not "democratize everything".
18:12:57 <hekkaidekapus> Rembane: Not every weekend-haskeller can implement stream fusion, but with retrie one can get hands dirty with equational reasonning.
18:13:28 <Rembane> hekkaidekapus: That's really good.
18:17:06 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
18:18:24 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
18:19:09 Fuchs1 joins (~Fuchs@84.39.117.57)
18:19:23 × britva quits (~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Quit: This computer has gone to sleep)
18:20:08 mputz joins (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
18:21:00 × dyeplexer quits (~lol@unaffiliated/terpin) (Remote host closed the connection)
18:22:19 juuandyy joins (~juuandyy@90.166.144.65)
18:23:19 × avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb)
18:24:34 × dabura quits (~pablo@45.86.201.20) (Read error: Connection reset by peer)
18:25:00 vicfred_ joins (~vicfred@unaffiliated/vicfred)
18:25:30 jakalx joins (~jakalx@base.jakalx.net)
18:27:43 × vicfred quits (~vicfred@unaffiliated/vicfred) (Ping timeout: 260 seconds)
18:29:37 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
18:31:03 × alp quits (~alp@2a01:e0a:58b:4920:d66:dc23:5051:7cda) (Ping timeout: 272 seconds)
18:31:26 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
18:32:08 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Read error: Connection reset by peer)
18:33:08 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:34:39 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Ping timeout: 245 seconds)
18:38:56 avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be)
18:39:52 vacm joins (~vacwm@70.23.92.191)
18:41:16 jakalx parts (~jakalx@base.jakalx.net) ("Disconnected: closed")
18:41:44 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
18:42:32 × Dykam quits (Dykam@dykam.nl) (Quit: Dykam)
18:43:36 kritzefitz joins (~kritzefit@212.86.56.80)
18:45:03 × mirrorbird quits (~psutcliff@176.227.57.79) (Quit: Leaving)
18:45:19 jakalx joins (~jakalx@base.jakalx.net)
18:46:11 borne joins (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de)
18:46:40 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
18:53:05 nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7)
18:53:13 argent0 joins (~argent0@168.227.98.85)
18:53:18 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
18:53:26 pjb joins (~t@2a01cb04063ec5006d6abee34943d090.ipv6.abo.wanadoo.fr)
18:56:28 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
18:56:39 christo joins (~chris@81.96.113.213)
18:57:19 jamm_ joins (~jamm@unaffiliated/jamm)
18:57:35 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
18:57:53 jamm_ joins (~jamm@unaffiliated/jamm)
19:02:18 scasc joins (~szabi@213142096107.public.telering.at)
19:02:26 × acarrico quits (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 246 seconds)
19:03:02 × berberman quits (~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
19:03:36 vacm joins (~vacwm@70.23.92.191)
19:03:39 berberman joins (~berberman@unaffiliated/berberman)
19:04:14 × Jeanne-Kamikaze quits (~Jeanne-Ka@66.115.189.179) (Ping timeout: 256 seconds)
19:04:48 wroathe joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
19:05:10 <scasc> I need a quick heads-up. I can't quite figure out how to use `time` library's `iso8601ParseM ( https://hackage.haskell.org/package/time-1.9.2/docs/Data-Time-Format-ISO8601.html#v:iso8601ParseM ) to read and parse a date "2020-11-14"
19:05:34 <merijn> scasc: Which part gets you stuck?
19:05:35 × jneira_ quits (~jneira@198.red-176-83-81.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
19:05:56 jneira_ joins (~jneira@192.red-2-137-106.dynamicip.rima-tde.net)
19:07:59 geekosaur joins (82659a09@host154-009.vpn.uakron.edu)
19:08:33 <scasc> According to the `class ISO8601` documentation that format corresponds to the instance `ISO8601 Day`, so a concrete tpye of the function would be `(MonadFail Maybe, ISO8601 Day) => String -> Maybe Day.
19:09:03 × jmcarthur quits (~jmcarthur@2601:86:500:2a40:db56:5d66:5919:c95d) (Ping timeout: 272 seconds)
19:09:06 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:09:12 knupfer joins (~Thunderbi@87.123.206.158)
19:09:28 <scasc> However, while `Day` is defined in another module, it does not seem to be exported, so I cannot do `(iso8601ParseM "2020-01-01" ) :: Maybe Day`
19:09:52 vacm joins (~vacwm@70.23.92.191)
19:10:06 <merijn> Eh, it is exported? I'm pretty sure I use it in my code
19:10:07 <scasc> I'm pretty sure I'm overlooking something stupid. Or I'm too tired.
19:11:35 <merijn> Data.Time.Calendar.OrdinalDate has it
19:12:06 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:12:09 <merijn> Alternatively, you can extract the Day from a UTCTime
19:12:17 <scasc> Prelude Data.Time.Format.ISO8601 Data.Time.Calendar.OrdinalDate D> (iso8601ParseM "2020-01-01" ) :: Maybe Data.Time.Calendar.OrdinalDate.Day
19:12:43 <scasc> Not in scope:
19:12:43 <scasc> type constructor or class ‘Data.Time.Calendar.OrdinalDate.Day’
19:13:02 <merijn> eh, hold up
19:13:06 jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client")
19:13:07 <scasc> (GHCi, obviously)
19:13:11 <merijn> Which version of time are you using?
19:13:55 nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7)
19:14:33 <scasc> I thought 1.9.3
19:14:44 <scasc> Yeah, ghc-pkg tells me 1.9.3.
19:15:02 <merijn> OrdinalDate.Day only exists as of 1.11 :p
19:15:14 <merijn> There's a Day in Data.Time.Calendar in 1.9
19:15:38 × borne quits (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de) (Ping timeout: 264 seconds)
19:15:45 × knupfer quits (~Thunderbi@87.123.206.158) (Ping timeout: 240 seconds)
19:16:03 <merijn> (that Data.Time.Calendar.Day is also in 1.11, but appears to be *different* from OrdinalDate.Day and the 2nd is the only instance in 1.11)
19:16:16 <merijn> The changelog of time is a bit vague about why that happened, though
19:16:39 <scasc> Oof. Yeah, this happens when you just look at the latest documetation on hackage, but have an older GHC set with ghcup. :-/
19:17:05 <merijn> ah, no
19:17:23 <merijn> It appears (fortunately) that it's the same Day in 1.11
19:17:39 <merijn> So just import Data.Time.Calendar.Day
19:18:03 × teardown quits (~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
19:18:21 <merijn> scasc: time is separate from GHC and can be updated, so the version of time you use depends on your cabal file/dependencies, not GHC :p
19:18:57 <merijn> > Data.Time.Format.ISO8601.iso8601ParseM "2020-01-01" :: Maybe Data.Time.Calendar.Day
19:19:00 <lambdabot> error:
19:19:00 <lambdabot> Not in scope: ‘Data.Time.Format.ISO8601.iso8601ParseM’
19:19:00 <lambdabot> No module named ‘Data.Time.Format.ISO8601’ is imported.error:
19:19:00 hackage streamly-lmdb 0.2.0 - Stream data to or from LMDB databases using the streamly library. https://hackage.haskell.org/package/streamly-lmdb-0.2.0 (shlok)
19:19:04 <merijn> bleh
19:19:18 <merijn> That works on my machine with time 1.9, anyway
19:19:31 texasmyn_ joins (~texasmyns@212.102.44.36)
19:20:08 × Feuermagier quits (~Feuermagi@213.178.26.41) (Remote host closed the connection)
19:20:49 × texasmynsted quits (~texasmyns@212.102.44.36) (Ping timeout: 256 seconds)
19:21:13 × juuandyy quits (~juuandyy@90.166.144.65) (Ping timeout: 264 seconds)
19:23:08 hnOsmium0001 joins (uid453710@gateway/web/irccloud.com/x-gzipkezvyztkhjzy)
19:25:30 hackage crdt-event-fold 1.2.1.1 - Garbage collected event folding CRDT. https://hackage.haskell.org/package/crdt-event-fold-1.2.1.1 (rickowens)
19:25:36 teardown joins (~user@gateway/tor-sasl/mrush)
19:26:29 neiluj joins (~jco@91-167-203-101.subs.proxad.net)
19:26:29 × neiluj quits (~jco@91-167-203-101.subs.proxad.net) (Changing host)
19:26:29 neiluj joins (~jco@unaffiliated/neiluj)
19:28:29 conal joins (~conal@64.71.133.70)
19:29:36 × cosimone quits (~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
19:29:51 Sgeo joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
19:31:32 <sim590> I'm playing with fundamental notions in the haskell wikibook. I've just looked at foldMap (which I never really used before). I'm now understanding that it's sufficient to provide a definition of foldMap in order to make a type an instance of Foldable. I see how foldMap can be written in terms of foldr. However, the inverse is not feasible it seems. Am I right? We cannot write foldr in terms of
19:31:34 <sim590> foldMap since it would require foldr to have the requirement of Monoid in its signature. Therefore, how is foldMap sufficient to make an instance of Foldable, hence providing me a free implementation of foldr? I'm a bit puzzled. I must be missing something.
19:32:21 × fendor quits (~fendor@178.165.130.155.wireless.dyn.drei.com) (Remote host closed the connection)
19:32:23 <merijn> sim590: It helps to realise that the FOldable API is (basically) just "toList"
19:32:43 <merijn> sim590: So you can trivially implement anything by turning it into a list and then using the list version :p
19:32:50 fendor joins (~fendor@178.165.130.155.wireless.dyn.drei.com)
19:33:23 <merijn> foldr f z xs = Data.List.foldr f z (foldMap (\x -> [x]) xs)
19:34:21 <merijn> :t foldMap (\x -> [x])
19:34:22 <lambdabot> Foldable t => t a -> [a]
19:34:55 × scasc quits (~szabi@213142096107.public.telering.at) (Remote host closed the connection)
19:35:20 scasc joins (~szabi@213142096107.public.telering.at)
19:35:28 <merijn> That's dumb and inefficient, but it is "sufficient" :)
19:35:29 <sim590> Oh............................................................. I see.
19:35:29 banner joins (~banner@220.238.243.193)
19:35:29 × banner quits (~banner@220.238.243.193) (Client Quit)
19:35:37 <scasc> merijn: thanks
19:35:47 <scasc> (sorry, had to be AFK)
19:36:08 <merijn> scasc: When GHC says stuff isn't in scope and Haddock says it is, the first step is always "double check your version" ;)
19:36:49 <scasc> I just spun up ghci btw, without a cabal file or using cabal repl, so it took some (relatively) random library from the global package database, I guess?
19:37:09 jakalx joins (~jakalx@base.jakalx.net)
19:37:51 <merijn> scasc: Probably the one that ships with GHC (because GHC's dependencies and maybe Cabal's should be the only ones in the global package db)
19:38:12 <merijn> The rest should be in the global store
19:40:01 <sim590> merijn: So when we create an instance of Foldable with foldMap, does GHC actually has to make this implementation of foldr by converting to lists? Is it what GHC does? You mentionned that it is not so much efficient, so therefore it may be preferable to implement the Foldable instance with foldr directly instead?
19:40:12 howdoi joins (uid224@gateway/web/irccloud.com/x-ehddxpzdszkkwuzg)
19:40:20 <merijn> sim590: GHC doesn't do anything automatically
19:40:23 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
19:40:32 <merijn> sim590: But you can provide default implementations when defining a class
19:41:03 <merijn> sim590: For example: 'class Eq a where x == y = not (x /= y); x /= y = not (x == y)"
19:41:37 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 264 seconds)
19:41:39 <merijn> sim590: Note that those two functions call each other. Now, when you define "class Eq MyData where MyData x == MyData y = x == y", you're done
19:41:52 <merijn> Because /= will call ==, which you just defined and it works out
19:42:26 <merijn> sim590: So Foldable has default implementations writting using (for example) foldMap, so when you only define foldMap those default implementations get used
19:42:55 × aidecoe quits (~aidecoe@unaffiliated/aidecoe) (Remote host closed the connection)
19:42:56 <merijn> sim590: You can see this in the source: https://hackage.haskell.org/package/base-4.14.0.0/docs/src/Data.Foldable.html#Foldable
19:43:02 <scasc> "Probably the one that ships with GHC" -- that's what I was referring to when I referenced GHC version above :-) -- Anyway, as I thought it was something stupid: looking at the wrong documentation version
19:43:59 × jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection)
19:44:45 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 240 seconds)
19:45:05 × jaspervdj quits (~jaspervdj@213.55.241.35) (Quit: leaving)
19:46:03 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: Textual IRC Client: www.textualapp.com)
19:46:37 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
19:50:01 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
19:50:20 <tomjaguarpaw> How do I find out the number of bits in an Int?
19:50:28 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
19:50:51 <merijn> :t finiteBitSize
19:50:52 <lambdabot> FiniteBits b => b -> Int
19:51:04 <merijn> :t finiteBitSize (2 :: Int)
19:51:06 <lambdabot> Int
19:51:16 texasmyn_ is now known as texasmynsted
19:51:24 <tomjaguarpaw> Huh?
19:51:41 <tomjaguarpaw> How come lambdabot said Int?
19:51:43 <geekosaur> > finiteBitSize (2 :: Int)
19:51:43 <tomjaguarpaw> Anyway, thanks merijn!
19:51:46 <lambdabot> 64
19:51:46 <merijn> > finiteBitSize (2 :: Int)
19:51:48 <lambdabot> 64
19:51:49 <geekosaur> because he asked :t
19:51:53 <tomjaguarpaw> Oh :t
19:51:56 <tomjaguarpaw> I see, thanks.
19:52:03 <merijn> tomjaguarpaw: Because I'm tired and not paying attention :p
19:52:18 <tomjaguarpaw> Nor me, clearly :D
19:52:45 hidedagger joins (~nate@125.161.129.195)
19:52:51 <geekosaur> and I made my own (meta) dumb there so I guess that's three >.>
19:53:52 <merijn> Anyway, whenever your question is "something, something bits" the answer is, invariably "Data.Bits"
19:55:13 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
19:55:40 acarrico joins (~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
19:55:55 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
19:56:38 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
19:57:16 Entertainment joins (~entertain@104.246.132.210)
19:57:20 × mputz quits (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Quit: mputz)
19:57:49 × avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb)
19:57:57 mputz joins (~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
19:58:07 avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be)
20:00:18 <Entertainment> My ~/.stack directory is 10.9 GiB. What do people do to manage this?
20:00:35 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
20:00:54 <sim590> merijn: OK. So I realize that the more general approach is to reduce the signature (a -> b -> b) to (b -> b) by partially applying f to all elements of `t a`. Then, those functions (b -> b) are wrapped into a type Endo which is a Monoid with (<>) = (.). Then, by since we now have monoid, it can be used with foldMap and the result is consistent with what we'd expect to happen.
20:01:03 vacm joins (~vacwm@70.23.92.191)
20:01:17 × pfurla quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Quit: Textual IRC Client: www.textualapp.com)
20:01:25 × xerox_ quits (~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds)
20:02:10 <merijn> sim590:
20:02:21 <merijn> Entertainment: Nuke it once or twice a year? :p
20:02:31 <merijn> That's what I do with cabal-install's store, anyway
20:03:02 <geekosaur> there's some tools to manage it also, I saw one go by on hackage's feed a couple hours ago
20:03:12 <Entertainment> merijn: Thanks, seems simple enough. I've been learning Haskell for a year now so I gues it's time.
20:03:26 <merijn> There was a "work in progress" GC for cabal-install, but it's still a bit ad hoc
20:04:33 <merijn> Entertainment: Basically, for every LTS/snapshot you use stack installs a corresponding GHC and any libraries you use. But since there's no real way for stack to know which projects are on your filesystem that you still work on, there's no real way to effectively "garbage collect" old GHCs/packages (same problem for cabal-install)
20:05:06 <Entertainment> I have a CACHEDIR.TAG file in there to stop .stack from getting backed up, otherwise I think I would have noticed it before now.
20:05:19 <merijn> There's some effort into developing tools for that, but practically speaking you can usually just nuke the package database and let them recompile any dependencies you need as needed (I'm not entirely sure which exact directory to nuke for stack, though!)
20:05:37 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds)
20:05:43 <merijn> I assume .stack is safe, but maybe some stack user should chime in and confirm first :p
20:07:17 × avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb)
20:07:27 jakalx joins (~jakalx@base.jakalx.net)
20:07:33 pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net)
20:09:48 Beaver53 joins (4a823731@cpe-74-130-55-49.kya.res.rr.com)
20:10:10 × ggole quits (~ggole@2001:8003:8119:7200:25f2:4cfe:81d3:cfb8) (Quit: Leaving)
20:10:26 × Beaver53 quits (4a823731@cpe-74-130-55-49.kya.res.rr.com) (Remote host closed the connection)
20:10:47 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
20:14:42 × elliott_ quits (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
20:15:19 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
20:15:21 elliott_ joins (~elliott_@pool-108-51-141-12.washdc.fios.verizon.net)
20:16:14 avdb joins (~avdb@ip-62-235-188-19.dsl.scarlet.be)
20:16:15 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:17:41 cryptomonad joins (~cryptomon@2601:182:c901:6dc0:f6e6:bb00:40b0:6b8)
20:17:47 knupfer joins (~Thunderbi@200116b824501f003c1c9afffee0d241.dip.versatel-1u1.de)
20:17:49 <sm[m]> Entertainment, merijn : yeah the easy way is to rm -rf ~/.stack, but as with ~/.cabal you lose some config that way. Instead I run ncdu ~/.stack and just delete the big stuff (old installed GHCs and the haskell deps build for them)
20:18:06 <sm[m]> s/build/built/
20:18:58 × knupfer quits (~Thunderbi@200116b824501f003c1c9afffee0d241.dip.versatel-1u1.de) (Remote host closed the connection)
20:19:02 <merijn> sm[m]: With cabal you wanna nuke ~/.cabal/store/ghc-XXX nowadays
20:19:09 <merijn> sm[m]: Then you don't lose any config
20:19:12 knupfer joins (~Thunderbi@200116b824501f00ed681baaa5575dc9.dip.versatel-1u1.de)
20:19:28 <sm[m]> ok, similar with stack
20:20:12 <sm[m]> rm -rf ~/.stack/{programs,snapshots} will delete all installed ghcs and haskell deps
20:20:55 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
20:22:26 Sgeo_ joins (~Sgeo@ool-18b982ad.dyn.optonline.net)
20:22:51 SqueakyBeaver joins (~fjg-ltp@cpe-74-130-55-49.kya.res.rr.com)
20:22:54 cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net)
20:23:12 × SqueakyBeaver quits (~fjg-ltp@cpe-74-130-55-49.kya.res.rr.com) (Client Quit)
20:23:31 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
20:25:17 conal joins (~conal@64.71.133.70)
20:25:59 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
20:26:01 × Sgeo quits (~Sgeo@ool-18b982ad.dyn.optonline.net) (Ping timeout: 264 seconds)
20:26:58 × invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
20:27:10 taurux joins (~taurux@net-188-152-78-21.cust.dsl.teletu.it)
20:27:28 xerox_ joins (~xerox@unaffiliated/xerox)
20:29:16 pavonia joins (~user@unaffiliated/siracusa)
20:31:04 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
20:35:19 × fendor quits (~fendor@178.165.130.155.wireless.dyn.drei.com) (Remote host closed the connection)
20:36:13 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 264 seconds)
20:37:26 alp joins (~alp@2a01:e0a:58b:4920:c460:5fc4:5220:7588)
20:38:08 fendor joins (~fendor@178.165.130.155.wireless.dyn.drei.com)
20:40:22 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 272 seconds)
20:42:38 Feuermagier joins (~Feuermagi@213.178.26.41)
20:44:14 ransom joins (~c4264035@50-250-153-83-static.hfc.comcastbusiness.net)
20:44:19 × ransom quits (~c4264035@50-250-153-83-static.hfc.comcastbusiness.net) (Client Quit)
20:46:00 hackage criterion 1.5.8.0 - Robust, reliable performance measurement and analysis https://hackage.haskell.org/package/criterion-1.5.8.0 (ryanglscott)
20:47:23 × sord937 quits (~sord937@gateway/tor-sasl/sord937) (Ping timeout: 240 seconds)
20:48:52 fraktor joins (~walt@129.93.191.18)
20:50:33 jakalx joins (~jakalx@base.jakalx.net)
20:50:44 × nbloomf quits (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
20:52:35 ph88 joins (~ph88@2a02:8109:9e00:7e5c:64a6:6e00:3dc3:e56a)
20:53:32 × knupfer quits (~Thunderbi@200116b824501f00ed681baaa5575dc9.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
20:54:22 jakalx parts (~jakalx@base.jakalx.net) ()
20:54:44 jakalx joins (~jakalx@base.jakalx.net)
20:54:46 × lep-delete quits (~lep@94.31.83.149) (Read error: Connection reset by peer)
20:55:04 lep-delete joins (~lep@94.31.83.149)
20:56:40 nbloomf joins (~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7)
20:58:44 × avn quits (~avn@78-56-108-78.static.zebra.lt) (Ping timeout: 260 seconds)
20:59:12 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
20:59:30 hackage aspell-pipe 0.5 - Pipe-based interface to the Aspell program https://hackage.haskell.org/package/aspell-pipe-0.5 (JonathanDaugherty)
21:00:01 × Fuchs1 quits (~Fuchs@84.39.117.57) ()
21:00:07 <fraktor> I'm working on writing a Discord bot in haskell, but the library I'm using, discord-haskell, basically handles the event loop for me. Is there a good way to also be able to receive commands (either from a command-line program or a web frontend) that will update the configuration for the bot?
21:03:01 vacm joins (~vacwm@70.23.92.191)
21:04:04 <merijn> Put the configuration in an STM variable shared between threads?
21:04:31 <merijn> One thread runs the event loop, the other listens to stuff on the commandline or wherever
21:05:54 _noblegas joins (uid91066@gateway/web/irccloud.com/x-esdotnkhzzktjnof)
21:08:00 wroathe_ joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
21:08:01 × Khisanth quits (~Khisanth@166.sub-174-197-147.myvzw.com) (Ping timeout: 264 seconds)
21:08:10 × todda7 quits (~torstein@ppp-2-84-17-169.home.otenet.gr) (Ping timeout: 246 seconds)
21:08:39 × avdb quits (~avdb@ip-62-235-188-19.dsl.scarlet.be) (Quit: avdb)
21:09:49 × wroathe quits (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
21:10:34 borne joins (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de)
21:11:06 <fraktor> I'm not sure how I feel about introducing shared state...
21:11:22 <merijn> Well, how else would you possibly update anything?
21:11:58 <fraktor> What I would ideally like is to be able to accept either a Discord event or a message event, and then handle that accordingly, but I'm not sure if that's something I can do with this API.
21:12:07 <fraktor> (part of me was hoping that the author was in this channel and could help out lol)
21:12:13 <merijn> Alternatively, have a single Chan that has events (from the discord library and/or the commandline) and then you can have 1 thread from the discord event loop writing to the Chan and 1 thread listening to the commandline writing to the Chan
21:13:55 todda7 joins (~torstein@ppp-2-84-17-169.home.otenet.gr)
21:14:13 × LKoen quits (~LKoen@9.253.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
21:15:08 <fraktor> Oh that sounds neat
21:16:20 <fraktor> So I would wrap it in a type like "data Message = Discord DiscordMsg | CommandLine CommandMsg" or something like that?
21:18:02 × borne quits (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
21:18:24 <merijn> For example
21:18:48 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
21:19:00 <merijn> And then make "Chan Message" with 1 thread reading from (and handling) messages and 2 (or more) threads writing messages to that Chan
21:19:14 conal joins (~conal@64.71.133.70)
21:19:55 × conal quits (~conal@64.71.133.70) (Client Quit)
21:20:20 × vicfred_ quits (~vicfred@unaffiliated/vicfred) (Quit: Leaving)
21:20:22 conal joins (~conal@64.71.133.70)
21:20:42 × conal quits (~conal@64.71.133.70) (Client Quit)
21:21:15 Khisanth joins (~Khisanth@166.sub-174-197-147.myvzw.com)
21:22:03 conal joins (~conal@64.71.133.70)
21:23:54 × dequbed quits (~dequbed@2001:bc8:3f24:100::1) (Quit: Bye o/)
21:26:15 chaosmasttter joins (~chaosmast@p200300c4a70f620115f0ead7b0e70c62.dip0.t-ipconnect.de)
21:26:36 × hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 272 seconds)
21:26:44 <Feuermagier> how do i turn a list of 'a' into a list of (indexOfaInList, a)?
21:27:44 <Rembane> Feuermagier: zip [0..] listOfA
21:28:01 <Feuermagier> thx
21:28:13 <Rembane> np
21:30:09 Jeanne-Kamikaze joins (~Jeanne-Ka@66.115.189.199)
21:31:27 dequbed joins (~dequbed@yanduxian.paranoidlabs.org)
21:32:51 luke joins (~luke@bitnomial/staff/luke)
21:33:06 <Feuermagier> ok, so now I want to sort by a function applied on a, group all with the same result and return a list of only the indexes we just added from the first of our result group
21:33:38 <Rembane> Feuermagier: How much of that code do you already have ?
21:33:44 <Feuermagier> the sort :D
21:33:51 <Rembane> :D
21:34:31 <Feuermagier> thinking clear enough to write that sentence was already something :D
21:35:07 × Zetagon quits (~leo@c151-177-52-233.bredband.comhem.se) (Remote host closed the connection)
21:35:19 <Feuermagier> actually, I think I can get the group as well
21:35:50 <Feuermagier> and with a bit of luck the return... maybe
21:35:53 × geekosaur quits (82659a09@host154-009.vpn.uakron.edu) (Remote host closed the connection)
21:36:02 <Feuermagier> i think writing that sentence was indeed the hardest part
21:36:19 <hpc> Feuermagier: https://en.wikipedia.org/wiki/Rubber_duck_debugging ;
21:36:21 <hpc> ;)
21:37:26 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
21:39:03 wroathe_ is now known as wroathe
21:40:05 jakob_ joins (~textual@p200300f49f162200811420ff75ca5354.dip0.t-ipconnect.de)
21:40:51 × francesco_ quits (~francesco@host-82-56-223-169.retail.telecomitalia.it) (Quit: Leaving)
21:41:21 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
21:41:35 jneira joins (02896ac0@gateway/web/cgi-irc/kiwiirc.com/ip.2.137.106.192)
21:42:15 <Feuermagier> when exactly can I leave the variable passed to my function unnamed (I've seen variables passed never mentioned occasionally and just left implicitly at the end it seems)
21:42:25 × coot quits (~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
21:42:27 × luke quits (~luke@bitnomial/staff/luke) (Quit: sleep)
21:43:46 <Rembane> Pointfree style is good to look into
21:44:01 <Rembane> https://wiki.haskell.org/Pointfree
21:44:27 <c_wraith> You always *can*. It's just strongly recommended that you not do so.
21:45:34 <Rembane> I'm a strong proponent of pointfree style, but I hate readable code.
21:45:40 <c_wraith> Well. You always can if there's some sort of destructor available for any data types you might need to pull apart..
21:46:00 conal joins (~conal@64.71.133.70)
21:46:06 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
21:46:32 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:47:14 FreeBirdLjj joins (~freebirdl@101.228.42.108)
21:49:39 × Maxdamantus quits (~Maxdamant@unaffiliated/maxdamantus) (Quit: brb hopefully)
21:50:11 Amras joins (~Amras@unaffiliated/amras0000)
21:51:49 × FreeBirdLjj quits (~freebirdl@101.228.42.108) (Ping timeout: 264 seconds)
21:52:31 Tops2 joins (~Tobias@dyndsl-095-033-095-151.ewe-ip-backbone.de)
21:52:36 × howdoi quits (uid224@gateway/web/irccloud.com/x-ehddxpzdszkkwuzg) (Quit: Connection closed for inactivity)
21:53:27 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
21:53:53 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
21:55:32 StephenS1 joins (~StephenS@185.204.1.185)
21:57:27 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
21:57:47 × incognito9999 quits (~incognito@hwsrv-648981.hostwindsdns.com) (Quit: ZNC 1.7.2+deb3~bpo9+1 - https://znc.in)
21:59:02 <Feuermagier> ok, so the sortby turns out to be harder than expected. I want to sort a [(Int, [Int])] by the length of the ĺist in the tuples.
21:59:23 Tops21 joins (~Tobias@dyndsl-095-033-095-151.ewe-ip-backbone.de)
22:00:24 incognito9999 joins (~incognito@hwsrv-648981.hostwindsdns.com)
22:01:19 <Rembane> Feuermagier: You do not have a list in the tuple
22:01:22 Tops22 joins (~Tobias@dyndsl-095-033-095-151.ewe-ip-backbone.de)
22:01:57 <Feuermagier> Rembane, its a list of tuples. the tuples is of type (Int,[Int])
22:02:29 <Feuermagier> the 2nd position of the tuple is a Int list
22:02:53 × Tops2 quits (~Tobias@dyndsl-095-033-095-151.ewe-ip-backbone.de) (Ping timeout: 256 seconds)
22:04:26 × darjeeling_ quits (~darjeelin@122.245.208.31) (Ping timeout: 246 seconds)
22:04:28 × shah^ quits (shah@ip98-184-89-2.mc.at.cox.net) ()
22:04:32 <Rembane> Feuermagier: Sorry, I failed at reading.
22:04:32 × Tops21 quits (~Tobias@dyndsl-095-033-095-151.ewe-ip-backbone.de) (Ping timeout: 260 seconds)
22:04:36 fuzzypixelz joins (~fuzzypixe@236.53.85.79.rev.sfr.net)
22:04:43 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
22:04:48 <fuzzypixelz> anyone here uses emacs?
22:04:52 <Rembane> Feuermagier: sortBy (comparing snd) should do what you want
22:04:58 <Feuermagier> Rembane, np, you're helping me here :)
22:05:10 <Rembane> Feuermagier: ^^
22:05:21 <Feuermagier> Rembane, if I just compare snd, does it autotake length?
22:05:25 <fuzzypixelz> if so, can you please explain to me how to automagically infer the type of a haskell function?
22:05:26 tsrt^ joins (tsrt@ip98-184-89-2.mc.at.cox.net)
22:07:00 <Rembane> Feuermagier: No, it seems like I'm a bit tired, lets try that again: sortBy (comparing (length . snd))
22:07:04 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
22:07:54 <Feuermagier> thx again!
22:08:29 <Rembane> np
22:09:22 jakalx joins (~jakalx@base.jakalx.net)
22:12:09 × incognito9999 quits (~incognito@hwsrv-648981.hostwindsdns.com) (Quit: ZNC 1.7.2+deb3~bpo9+1 - https://znc.in)
22:12:24 <Feuermagier> Rembane, linter recommends "sortOn (length . snd) px"
22:13:42 <monochrom> sortOn is defined in terms of that combination of sortBy and comparing. So it depends on which one you prefer to memorize.
22:13:59 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 272 seconds)
22:14:42 <Rembane> Feuermagier: Use that instead, their semantics are equivalent. :)
22:14:56 <Feuermagier> excellent
22:15:00 hackage hascard 0.5.0.0 - A TUI for reviewing notes using 'flashcards' written with markdown-like syntax. https://hackage.haskell.org/package/hascard-0.5.0.0 (Yvee1)
22:16:20 × texasmynsted quits (~texasmyns@212.102.44.36) (Remote host closed the connection)
22:16:48 matias_ joins (~matias@201-42-174-21.dsl.telesp.net.br)
22:17:57 × matias_ quits (~matias@201-42-174-21.dsl.telesp.net.br) (Client Quit)
22:19:48 darjeeling_ joins (~darjeelin@122.245.208.31)
22:20:03 fendor_ joins (~fendor@91.141.0.18.wireless.dyn.drei.com)
22:20:12 × danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds)
22:21:12 × jakob_ quits (~textual@p200300f49f162200811420ff75ca5354.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
22:22:08 <Feuermagier> can I just groupBy in the same way? - groupBy (length . snd) x - doesn't seem to work
22:22:26 <Rembane> Feuermagier: Nope, wrong types
22:22:48 × fendor quits (~fendor@178.165.130.155.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
22:23:31 jakalx joins (~jakalx@base.jakalx.net)
22:25:30 hackage QuickCheck 2.14.2 - Automatic testing of Haskell programs https://hackage.haskell.org/package/QuickCheck-2.14.2 (NickSmallbone)
22:25:36 <Feuermagier> Rembane, how do i get the boolean out of that and merge on equal?
22:25:59 × fuzzypixelz quits (~fuzzypixe@236.53.85.79.rev.sfr.net) (Quit: Leaving)
22:26:56 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
22:27:13 × takuan quits (~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
22:29:28 × cryptomonad quits (~cryptomon@2601:182:c901:6dc0:f6e6:bb00:40b0:6b8) (Quit: cryptomonad)
22:31:52 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
22:36:47 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
22:36:50 × __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving)
22:37:40 × chaosmasttter quits (~chaosmast@p200300c4a70f620115f0ead7b0e70c62.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
22:38:14 × Entertainment quits (~entertain@104.246.132.210) (Quit: Leaving.)
22:38:24 × Ariakenom quits (~Ariakenom@h-82-196-111-82.NA.cust.bahnhof.se) (Quit: Leaving)
22:38:50 machinedgod joins (~machinedg@24.105.81.50)
22:41:16 × todda7 quits (~torstein@ppp-2-84-17-169.home.otenet.gr) (Ping timeout: 256 seconds)
22:42:12 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
22:42:34 × Benett quits (~Benett@unaffiliated/benett) (Remote host closed the connection)
22:43:45 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 240 seconds)
22:44:19 Benett joins (~Benett@unaffiliated/benett)
22:44:23 × fendor_ quits (~fendor@91.141.0.18.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
22:46:22 DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
22:47:05 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
22:49:09 dcoutts__ is now known as dcoutts
22:50:00 × christo quits (~chris@81.96.113.213) (Remote host closed the connection)
22:52:21 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
22:53:31 falafel joins (~falafel@c-73-210-136-48.hsd1.il.comcast.net)
22:57:16 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
22:58:14 × wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
22:58:18 wroathe_ joins (~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
22:59:01 × falafel quits (~falafel@c-73-210-136-48.hsd1.il.comcast.net) (Ping timeout: 264 seconds)
22:59:12 wroathe_ is now known as wroathe
22:59:50 conal joins (~conal@64.71.133.70)
23:02:23 × cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
23:02:30 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
23:02:39 × conal quits (~conal@64.71.133.70) (Client Quit)
23:03:23 conal joins (~conal@64.71.133.70)
23:03:45 × conal quits (~conal@64.71.133.70) (Client Quit)
23:05:33 robert___ joins (uid452915@gateway/web/irccloud.com/x-avvlothyweftrhzc)
23:06:21 × neiluj quits (~jco@unaffiliated/neiluj) (Remote host closed the connection)
23:07:42 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds)
23:07:43 × hekkaidekapus quits (~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
23:08:17 conal joins (~conal@64.71.133.70)
23:09:53 justsomeguy joins (~justsomeg@unaffiliated/--/x-3805311)
23:10:00 hekkaidekapus joins (~tchouri@gateway/tor-sasl/hekkaidekapus)
23:10:40 × scasc quits (~szabi@213142096107.public.telering.at) (Ping timeout: 246 seconds)
23:12:37 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
23:16:18 × gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
23:17:19 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
23:21:13 borne joins (~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de)
23:21:16 cameron joins (~cameron@cpe-74-138-57-121.kya.res.rr.com)
23:22:49 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
23:22:59 × Jeanne-Kamikaze quits (~Jeanne-Ka@66.115.189.199) (Quit: Leaving)
23:23:26 irc_user joins (uid423822@gateway/web/irccloud.com/x-shfvqjbimtcmmios)
23:23:49 × AlterEgo- quits (~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
23:24:33 jakalx joins (~jakalx@base.jakalx.net)
23:26:58 × aarvar quits (~foewfoiew@50.35.43.33) (Ping timeout: 260 seconds)
23:27:44 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
23:28:41 × vacm quits (~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
23:29:26 × jakalx quits (~jakalx@base.jakalx.net) (Ping timeout: 264 seconds)
23:29:43 Maxdamantus joins (~Maxdamant@unaffiliated/maxdamantus)
23:32:56 ensyde joins (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
23:33:46 × argent0 quits (~argent0@168.227.98.85) (Ping timeout: 246 seconds)
23:38:03 × ensyde quits (~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
23:38:47 knupfer joins (~Thunderbi@200116b824501f002426e4fffede5023.dip.versatel-1u1.de)
23:39:33 elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
23:39:42 × knupfer quits (~Thunderbi@200116b824501f002426e4fffede5023.dip.versatel-1u1.de) (Remote host closed the connection)
23:39:50 knupfer joins (~Thunderbi@200116b824501f00940301159f766acb.dip.versatel-1u1.de)
23:40:21 tabemann joins (~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
23:42:32 × mananamenos_ quits (~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 260 seconds)
23:42:37 × conal quits (~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
23:45:49 argent0 joins (~argent0@168.227.98.81)
23:46:42 christo joins (~chris@81.96.113.213)
23:50:22 × machinedgod quits (~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
23:50:29 × elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
23:51:01 hackage hakyll-filestore 0.1.8 - FileStore utilities for Hakyll https://hackage.haskell.org/package/hakyll-filestore-0.1.8 (aergus)
23:52:13 merijn joins (~merijn@83-160-49-249.ip.xs4all.nl)
23:55:05 × royal_screwup21 quits (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
23:55:30 royal_screwup21 joins (52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
23:56:07 × knupfer quits (~Thunderbi@200116b824501f00940301159f766acb.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
23:57:00 × merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)

All times are in UTC on 2020-11-14.