2020/11/14

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