2022/03/06

2022-03-06 00:00:15 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 00:02:15 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 00:05:07 +0100gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net)
2022-03-06 00:05:17 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-03-06 00:07:08 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 268 seconds)
2022-03-06 00:08:38 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 00:09:21 +0100alphabeta(~kilolympu@31.205.200.235) (Ping timeout: 256 seconds)
2022-03-06 00:09:29 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 00:09:45 +0100kilolympus(~kilolympu@31.205.200.235)
2022-03-06 00:10:12 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 00:11:12 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 00:11:45 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-03-06 00:13:02 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 240 seconds)
2022-03-06 00:14:32 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 00:15:02 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 00:15:24 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 00:17:53 +0100Jeanne-Kamikaze(~Jeanne-Ka@static-198-54-134-90.cust.tzulo.com) (Remote host closed the connection)
2022-03-06 00:20:49 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 00:22:56 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-03-06 00:24:56 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 245 seconds)
2022-03-06 00:28:08 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 00:28:20 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 00:29:24 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-03-06 00:32:15 +0100 <polyphem> geekosaur: look what i found out on #hackage , https://summer.haskell.org/ideas.html#cabal-filter
2022-03-06 00:34:38 +0100deadmarshal_(~deadmarsh@95.38.115.28)
2022-03-06 00:35:54 +0100 <geekosaur> I saw
2022-03-06 00:36:23 +0100chenqisu1(~chenqisu1@183.217.201.47)
2022-03-06 00:36:47 +0100 <polyphem> geekosaur: its like everyone inventing the telephone at the same time ... hahaha
2022-03-06 00:38:17 +0100polezaivsani(~polezaivs@orangeshoelaces.net) (Ping timeout: 240 seconds)
2022-03-06 00:38:35 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 256 seconds)
2022-03-06 00:39:17 +0100deadmarshal_(~deadmarsh@95.38.115.28) (Ping timeout: 272 seconds)
2022-03-06 00:39:57 +0100ishutin(~ishutin@92-249-150-158.static.digikabel.hu) (Ping timeout: 240 seconds)
2022-03-06 00:41:00 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 00:41:18 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 00:41:49 +0100ishutin(~ishutin@92-249-193-47.pool.digikabel.hu)
2022-03-06 00:42:54 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-03-06 00:45:00 +0100Midjak(~Midjak@82.66.147.146) (Quit: This computer has gone to sleep)
2022-03-06 00:45:17 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 00:50:46 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 245 seconds)
2022-03-06 00:52:54 +0100waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2022-03-06 00:53:28 +0100wroathe(~wroathe@user/wroathe)
2022-03-06 00:56:28 +0100wolfshappen(~waff@irc.furworks.de) (Ping timeout: 268 seconds)
2022-03-06 01:01:15 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 01:03:17 +0100 <monochrom> Everyone invented computing at the same time. :)
2022-03-06 01:03:52 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 268 seconds)
2022-03-06 01:04:05 +0100chenqisu1(~chenqisu1@183.217.201.47) (Remote host closed the connection)
2022-03-06 01:04:30 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Ping timeout: 250 seconds)
2022-03-06 01:05:52 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 01:06:46 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 01:07:03 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 01:07:29 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 01:11:17 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 240 seconds)
2022-03-06 01:11:57 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 01:12:00 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 01:15:02 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.)
2022-03-06 01:16:32 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 01:17:22 +0100 <hpc> i read the othere day that we knew how to make computers before we realized what computing even was
2022-03-06 01:17:35 +0100 <hpc> babbage added a lot of complexity to his difference engine and analytical engine
2022-03-06 01:18:05 +0100 <hpc> from trying to build too-large registers and stuff like that
2022-03-06 01:18:34 +0100 <hpc> but if math had just advanced a little bit further, we could have had a mechanical computer in the 1800s
2022-03-06 01:18:39 +0100 <hpc> that was turing-complete
2022-03-06 01:18:45 +0100 <hpc> (babbage-complete?)
2022-03-06 01:18:46 +0100 <geekosaur> it's been argued that the jacquard loom was in some sense the first computer, or at least the first programmable device
2022-03-06 01:19:03 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 01:19:39 +0100 <hpc> that loom is also the origin of the term luddite
2022-03-06 01:20:02 +0100 <geekosaur> yep
2022-03-06 01:20:13 +0100 <hpc> it took a skilled industry and turned it into sweatshops, so a guy named ludd gathered support and destroyed those looms
2022-03-06 01:22:01 +0100machinedgod(~machinedg@24.105.81.50)
2022-03-06 01:23:17 +0100 <hpc> another great computing story is that lisp was created by accident
2022-03-06 01:23:54 +0100 <hpc> it was just supposed to be mathematical notation that was convenient for early computational research
2022-03-06 01:24:17 +0100 <hpc> some grad students took the definition of eval from the original paper and hand-compiled it
2022-03-06 01:25:27 +0100 <hpc> hmm, correction: it wasn't grad students
2022-03-06 01:25:52 +0100 <hpc> it was even better - the same guy that implemented lisp also made the first computer game
2022-03-06 01:26:02 +0100 <hpc> https://en.wikipedia.org/wiki/Steve_Russell_(computer_scientist)
2022-03-06 01:26:33 +0100DNH(~DNH@2a02:8108:1100:16d8:5900:7509:5d83:fce2) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-06 01:31:35 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 01:31:36 +0100pooryori1kpooryorick
2022-03-06 01:33:05 +0100 <dpratt> Trying to get a better understanding (again) of HN type inference, and I don't know why I struggle so much to interpret some of the rules. For example, one of the premises of the "Abs[traction]" rule will start something like "Γ, x : σ ⊢ ...". Now I think I understand that this is adding some information about the type of "x" to the context. But where did this information come from? Or am I entirely out in left field here?
2022-03-06 01:34:59 +0100 <hpc> it's like implication rules in logic, or function parameters
2022-03-06 01:35:42 +0100 <dpratt> oh, maybe I just figured it out...it's in the other premise?
2022-03-06 01:35:55 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2022-03-06 01:36:08 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 250 seconds)
2022-03-06 01:36:39 +0100 <dpratt> hpc: yeah, too bad I know about as much of that as I do this :)
2022-03-06 01:37:08 +0100 <dpratt> it's also really hard to type questions what with all the unicode :D
2022-03-06 01:38:06 +0100 <hpc> yeah, sometimes i wish someone had introduced variable names to math
2022-03-06 01:38:17 +0100 <dpratt> oh no, it's not in the other premise, I got abstraction and let rules mixed up
2022-03-06 01:38:18 +0100 <hpc> (environment, x :: t) -> ...
2022-03-06 01:39:40 +0100 <monochrom> Mathematicians already decided that juxtaposition meant multiplication (or even generally a monoid operation) so they were very afraid of multi-letter names.
2022-03-06 01:40:27 +0100neurocyte0917090(~neurocyte@IP-094016064020.dynamic.medianet-world.de)
2022-03-06 01:40:27 +0100neurocyte0917090(~neurocyte@IP-094016064020.dynamic.medianet-world.de) (Changing host)
2022-03-06 01:40:27 +0100neurocyte0917090(~neurocyte@user/neurocyte)
2022-03-06 01:40:38 +0100Guest98(~Guest98@072-239-219-016.res.spectrum.com)
2022-03-06 01:42:00 +0100 <hpc> just write variable names vertically
2022-03-06 01:42:17 +0100 <geekosaur> already taken by matrices :þ
2022-03-06 01:42:34 +0100 <hpc> put each letter in the same location on sequential pieces of paper
2022-03-06 01:42:44 +0100 <hpc> 3d math papers
2022-03-06 01:47:23 +0100Trattue-(~Trattue@152.70.182.158) (Quit: bye)
2022-03-06 01:48:20 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
2022-03-06 01:48:22 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-03-06 01:50:28 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 01:50:30 +0100Trattue(~Trattue@152.70.182.158)
2022-03-06 01:51:48 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 01:54:07 +0100 <dpratt> Ok, maybe I'm looking at this the wrong way. The thing I was describing above was a typing judgment (I think). So it would sort of inform type inference, but I think it's not right for me to think of it as describing type inference, at least in a "forward" way. In a type inference scenario, you might not "know" the premises up front, but they would be deducible. Right? Kinda sorta?
2022-03-06 01:56:02 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 01:56:42 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 01:58:18 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 01:59:57 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 02:05:07 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 02:13:25 +0100fockeriz1(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-03-06 02:16:12 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 02:17:46 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-03-06 02:19:58 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-03-06 02:20:17 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 02:30:58 +0100wolfshappen(~waff@irc.furworks.de)
2022-03-06 02:33:51 +0100Guest98(~Guest98@072-239-219-016.res.spectrum.com) ()
2022-03-06 02:36:26 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 02:37:10 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
2022-03-06 02:40:30 +0100vysn(~vysn@user/vysn)
2022-03-06 02:40:42 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 250 seconds)
2022-03-06 02:40:52 +0100wolfshappen_(~waff@irc.furworks.de)
2022-03-06 02:40:58 +0100wolfshappen(~waff@irc.furworks.de) (Ping timeout: 256 seconds)
2022-03-06 02:44:14 +0100wroathe(~wroathe@user/wroathe) (Quit: leaving)
2022-03-06 02:45:19 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 02:45:52 +0100wroathe(~wroathe@user/wroathe)
2022-03-06 02:49:50 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 02:50:16 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.4)
2022-03-06 02:50:36 +0100wolfshappen_(~waff@irc.furworks.de) (Ping timeout: 256 seconds)
2022-03-06 02:56:42 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 02:57:26 +0100j3r3my(~j3r3my@68-73-116-155.lightspeed.rlghnc.sbcglobal.net)
2022-03-06 03:02:24 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 03:02:31 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 256 seconds)
2022-03-06 03:06:29 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-03-06 03:07:13 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 03:07:19 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:11:49 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 03:12:57 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 03:14:08 +0100wolfshappen(~waff@irc.furworks.de)
2022-03-06 03:15:13 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-06 03:17:14 +0100soxen_(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-03-06 03:22:26 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 245 seconds)
2022-03-06 03:23:07 +0100kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-03-06 03:23:56 +0100ishutin(~ishutin@92-249-193-47.pool.digikabel.hu) (Ping timeout: 272 seconds)
2022-03-06 03:24:17 +0100AlexNoo_(~AlexNoo@178.34.160.24)
2022-03-06 03:24:57 +0100ishutin(~ishutin@193-110-63-27.cable-modem.hdsnet.hu)
2022-03-06 03:25:57 +0100Alex_test(~al_test@178.34.161.1) (Ping timeout: 250 seconds)
2022-03-06 03:26:12 +0100AlexZenon(~alzenon@178.34.161.1) (Ping timeout: 240 seconds)
2022-03-06 03:27:56 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:28:00 +0100AlexNoo(~AlexNoo@178.34.161.1) (Ping timeout: 256 seconds)
2022-03-06 03:28:11 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:28:18 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:28:33 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:28:40 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:28:45 +0100hyiltiz_(~quassel@31.220.5.250) (Quit: hyiltiz_)
2022-03-06 03:28:54 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:29:01 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:29:16 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:29:23 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:29:37 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:29:44 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:29:55 +0100hyiltiz(~quassel@31.220.5.250)
2022-03-06 03:29:59 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:30:06 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:30:24 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 03:30:31 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 03:30:40 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-06 03:31:45 +0100Alex_test(~al_test@178.34.160.24)
2022-03-06 03:31:59 +0100AlexZenon(~alzenon@178.34.160.24)
2022-03-06 03:33:45 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 03:34:05 +0100waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se) (Ping timeout: 272 seconds)
2022-03-06 03:37:34 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 03:38:02 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 260 seconds)
2022-03-06 03:39:00 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 03:39:05 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-03-06 03:40:43 +0100beka(~beka@104.193.170.240) (Ping timeout: 256 seconds)
2022-03-06 03:41:48 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Ping timeout: 240 seconds)
2022-03-06 03:42:59 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 03:44:19 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 03:45:18 +0100Erutuon(~Erutuon@user/erutuon)
2022-03-06 03:47:00 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 250 seconds)
2022-03-06 03:47:24 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 03:48:06 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 03:49:31 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 245 seconds)
2022-03-06 03:50:36 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2022-03-06 03:50:37 +0100neurocyte0917090(~neurocyte@user/neurocyte) (Ping timeout: 240 seconds)
2022-03-06 03:50:47 +0100aplainzetakind(~johndoe@captainludd.powered.by.lunarbnc.net) (Read error: Connection reset by peer)
2022-03-06 03:50:55 +0100aplainze1akind(~johndoe@captainludd.powered.by.lunarbnc.net)
2022-03-06 03:54:54 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 03:57:44 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-03-06 04:01:18 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 250 seconds)
2022-03-06 04:03:08 +0100xkuru(~xkuru@user/xkuru) (Ping timeout: 256 seconds)
2022-03-06 04:03:26 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-06 04:04:35 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net)
2022-03-06 04:05:47 +0100xkuru(~xkuru@user/xkuru)
2022-03-06 04:06:39 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 04:09:59 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-03-06 04:11:01 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Client Quit)
2022-03-06 04:11:05 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 04:12:12 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 04:12:28 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-06 04:12:41 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 04:16:12 +0100merijn(~merijn@c-001-002-007.client.esciencecenter.eduvpn.nl)
2022-03-06 04:16:46 +0100Batzy_Batzy
2022-03-06 04:17:11 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 04:21:31 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 04:28:12 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-03-06 04:35:15 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 04:37:28 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 04:42:28 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 04:44:26 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Remote host closed the connection)
2022-03-06 04:44:51 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net)
2022-03-06 04:48:13 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 04:50:25 +0100merijn(~merijn@c-001-002-007.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-03-06 04:53:14 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Remote host closed the connection)
2022-03-06 04:53:14 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 04:53:37 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net)
2022-03-06 04:58:17 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 04:58:27 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 05:02:53 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 05:06:25 +0100Unicorn_Princess(~Unicorn_P@46-54-248-191.static.kate-wing.si) (Quit: Leaving)
2022-03-06 05:07:41 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Remote host closed the connection)
2022-03-06 05:07:48 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 05:08:05 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net)
2022-03-06 05:12:32 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-03-06 05:13:05 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 05:16:48 +0100ishutin(~ishutin@193-110-63-27.cable-modem.hdsnet.hu) (Ping timeout: 256 seconds)
2022-03-06 05:17:35 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 05:18:18 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 05:18:19 +0100ishutin(~ishutin@178-164-207-239.pool.digikabel.hu)
2022-03-06 05:18:23 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 05:22:36 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 05:23:00 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 05:30:17 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 240 seconds)
2022-03-06 05:31:32 +0100tcard_(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp) (Quit: Leaving)
2022-03-06 05:36:10 +0100tcard(~tcard@p2878075-ipngn18701hodogaya.kanagawa.ocn.ne.jp)
2022-03-06 05:36:16 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 05:36:37 +0100j3r3my(~j3r3my@68-73-116-155.lightspeed.rlghnc.sbcglobal.net) (Quit: Leaving)
2022-03-06 05:37:07 +0100deadmarshal_(~deadmarsh@95.38.115.28)
2022-03-06 05:37:16 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-03-06 05:38:36 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 05:40:39 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 05:43:00 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 05:43:05 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 05:46:03 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 05:46:22 +0100mvk(~mvk@2607:fea8:5cc3:7e00::45ee) (Ping timeout: 260 seconds)
2022-03-06 05:46:46 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 05:47:11 +0100liz(~liz@217.146.92.242)
2022-03-06 05:48:23 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 05:48:36 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 05:50:48 +0100deadmarshal_(~deadmarsh@95.38.115.28) (Ping timeout: 256 seconds)
2022-03-06 05:52:31 +0100 <liz> hello everyone! i'm having a bit of a brain-block currently; i have a function solve :: String -> Int, and i want to do something like readFile "myfile.txt" >>= solve, but that'd require solve to be String -> IO Int instead. is there an obvious other way of doing this that i'm missing? i really feel like i'm missing something very obvious! i did make a function lift :: (Applicative f) => (a -> b) -> a -> f b so i could do readFile "myfile.txt" >>= lift solve,
2022-03-06 05:52:31 +0100 <liz> but this feels messy.
2022-03-06 05:54:04 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2022-03-06 05:54:06 +0100allbery_b(~geekosaur@xmonad/geekosaur)
2022-03-06 05:54:10 +0100allbery_bgeekosaur
2022-03-06 05:54:40 +0100 <monochrom> See my http://www.vex.net/~trebla/haskell/IO.xhtml#organization
2022-03-06 05:56:05 +0100 <liz> i'll have a look now, thank you!
2022-03-06 05:57:22 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 05:58:50 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 05:59:58 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-06 06:03:32 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 06:07:16 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-03-06 06:09:28 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 06:11:48 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-03-06 06:14:36 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 06:19:39 +0100img(~img@user/img)
2022-03-06 06:20:59 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 06:21:05 +0100gehmehgeh(~user@user/gehmehgeh)
2022-03-06 06:25:42 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 06:27:40 +0100mbuf(~Shakthi@110.225.225.117)
2022-03-06 06:30:30 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 06:30:55 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 06:31:38 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 06:34:36 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 06:36:00 +0100emf(~emf@2600:1700:19e0:5c80:463:c67:e6c7:c76)
2022-03-06 06:36:43 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 256 seconds)
2022-03-06 06:37:06 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 272 seconds)
2022-03-06 06:37:37 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 06:37:37 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-06 06:39:37 +0100emf(~emf@2600:1700:19e0:5c80:463:c67:e6c7:c76) (Remote host closed the connection)
2022-03-06 06:39:58 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 06:40:14 +0100emf(~emf@2620:10d:c090:400::5:12de)
2022-03-06 06:44:28 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-06 06:45:13 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 06:45:24 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 240 seconds)
2022-03-06 06:46:17 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 240 seconds)
2022-03-06 06:46:47 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 06:47:22 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 06:48:05 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 06:49:33 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 06:49:46 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-03-06 06:49:54 +0100iqubic(~iqubic@c-67-171-37-233.hsd1.wa.comcast.net)
2022-03-06 06:50:24 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-03-06 06:50:45 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 06:51:00 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-03-06 06:51:46 +0100emf(~emf@2620:10d:c090:400::5:12de) (Quit: emf)
2022-03-06 06:52:49 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2022-03-06 06:55:24 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 06:56:20 +0100liz(~liz@217.146.92.242) (Quit: Leaving)
2022-03-06 06:58:59 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 06:59:20 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-06 07:01:35 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection)
2022-03-06 07:02:09 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 07:04:24 +0100deadmarshal_(~deadmarsh@95.38.115.28)
2022-03-06 07:08:19 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-03-06 07:08:47 +0100bontaq(~user@ool-45779fe5.dyn.optonline.net) (Ping timeout: 272 seconds)
2022-03-06 07:10:45 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-03-06 07:10:59 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 07:11:56 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 07:12:39 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a)
2022-03-06 07:12:44 +0100agumonkey(~user@88.163.231.79) (Read error: Connection reset by peer)
2022-03-06 07:13:31 +0100agumonkey(~user@88.163.231.79)
2022-03-06 07:14:28 +0100ishutin(~ishutin@178-164-207-239.pool.digikabel.hu) (Ping timeout: 272 seconds)
2022-03-06 07:15:18 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 07:15:45 +0100ishutin(~ishutin@92-249-141-199.pool.digikabel.hu)
2022-03-06 07:15:56 +0100xkuru(~xkuru@user/xkuru)
2022-03-06 07:16:12 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 07:16:13 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-03-06 07:17:17 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a) (Ping timeout: 240 seconds)
2022-03-06 07:17:52 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 07:20:54 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-06 07:21:19 +0100Erutuon(~Erutuon@user/erutuon)
2022-03-06 07:21:26 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-03-06 07:22:00 +0100coot(~coot@213.134.190.95)
2022-03-06 07:22:12 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 07:24:13 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-03-06 07:25:14 +0100zebrag(~chris@user/zebrag)
2022-03-06 07:25:20 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 07:27:48 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 240 seconds)
2022-03-06 07:31:13 +0100gdown(~gavin@h69-11-149-231.kndrid.broadband.dynamic.tds.net) (Remote host closed the connection)
2022-03-06 07:33:38 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-03-06 07:35:06 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 07:35:49 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a)
2022-03-06 07:37:06 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a) (Remote host closed the connection)
2022-03-06 07:37:19 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 07:38:07 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 07:38:32 +0100fef(~thedawn@user/thedawn)
2022-03-06 07:39:01 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-03-06 07:40:44 +0100zebrag(~chris@user/zebrag)
2022-03-06 07:41:00 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-03-06 07:42:41 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 07:45:14 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-03-06 07:46:21 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-03-06 07:47:07 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 07:47:55 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 07:51:14 +0100gentauro(~gentauro@user/gentauro) (Read error: Connection reset by peer)
2022-03-06 07:52:07 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 07:52:36 +0100euandreh(~euandreh@2804:14c:33:9fe5:cfdc:46b6:d3d6:d388) (Ping timeout: 240 seconds)
2022-03-06 07:54:50 +0100euandreh(~euandreh@2804:14c:33:9fe5:c731:e273:a007:5879)
2022-03-06 07:57:08 +0100gentauro(~gentauro@user/gentauro)
2022-03-06 07:58:16 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 245 seconds)
2022-03-06 07:58:21 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 08:02:37 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 08:02:50 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 256 seconds)
2022-03-06 08:09:52 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-03-06 08:11:01 +0100beka(~beka@104-244-24-117.PUBLIC.monkeybrains.net) (Ping timeout: 256 seconds)
2022-03-06 08:11:49 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-03-06 08:13:16 +0100fef(~thedawn@user/thedawn) (Ping timeout: 240 seconds)
2022-03-06 08:13:26 +0100zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2022-03-06 08:16:01 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-06 08:18:40 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 08:23:14 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 08:23:19 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-03-06 08:24:59 +0100altern(~altern@altern.corbina.com.ua) (Remote host closed the connection)
2022-03-06 08:27:49 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-03-06 08:30:46 +0100Sgeo(~Sgeo@user/sgeo)
2022-03-06 08:33:38 +0100liz(~liz@217.146.92.242)
2022-03-06 08:35:48 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-03-06 08:38:43 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2022-03-06 08:39:18 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 08:41:37 +0100mbuf(~Shakthi@110.225.225.117) (Quit: Leaving)
2022-03-06 08:42:49 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi) (Read error: Connection reset by peer)
2022-03-06 08:42:59 +0100Vajb(~Vajb@hag-jnsbng11-58c3a8-176.dhcp.inet.fi)
2022-03-06 08:43:24 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 08:43:58 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 08:48:12 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 08:55:03 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2022-03-06 08:59:33 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 09:00:41 +0100`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net)
2022-03-06 09:01:17 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 09:03:56 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-06 09:04:29 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 09:04:40 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 09:05:37 +0100zaquest(~notzaques@5.130.79.72) (Remote host closed the connection)
2022-03-06 09:05:40 +0100AlexNoo_AlexNoo
2022-03-06 09:07:01 +0100zaquest(~notzaques@5.130.79.72)
2022-03-06 09:09:06 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 272 seconds)
2022-03-06 09:09:24 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 09:09:59 +0100acidjnk(~acidjnk@p200300d0c70d8c985c6dbece2fe5bbc5.dip0.t-ipconnect.de)
2022-03-06 09:10:08 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 09:10:56 +0100liz(~liz@217.146.92.242) (Quit: Leaving)
2022-03-06 09:14:48 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 09:17:19 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 09:19:17 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 09:19:25 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-03-06 09:22:12 +0100amazigh(~amirouche@user/amirouche) (Ping timeout: 240 seconds)
2022-03-06 09:24:38 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a)
2022-03-06 09:28:02 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl)
2022-03-06 09:28:17 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 09:32:36 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 09:34:13 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a) (Remote host closed the connection)
2022-03-06 09:38:52 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 09:39:44 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-03-06 09:44:12 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 240 seconds)
2022-03-06 09:46:46 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-03-06 09:46:58 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 09:48:31 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 09:51:24 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-06 09:51:36 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 09:52:37 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 09:56:12 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 10:00:31 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 10:02:16 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5)
2022-03-06 10:04:35 +0100 <worldhelloworld> I'm struggling a bit conceptualizing fold(s....r/l) when having arbitrary/lambda functions to be implemented (vs the usual *,+, those I kinda get) .......... does anyone know of good examples/material to get used to thinking about it correctly?
2022-03-06 10:06:31 +0100 <worldhelloworld> eg this problem : Select elements from a list while they satisfy a predicate: takeWhile :: (a -> Bool) -> [a] -> [a]
2022-03-06 10:06:31 +0100 <worldhelloworld> How do I go about conceptualizing/thinking about it?
2022-03-06 10:06:42 +0100 <worldhelloworld> to define that function
2022-03-06 10:08:46 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 10:09:30 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-03-06 10:13:14 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Remote host closed the connection)
2022-03-06 10:13:30 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi)
2022-03-06 10:13:42 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 10:13:57 +0100little_mac(~little_ma@2601:410:4300:3ce0:3499:893c:26f0:bcd0) (Ping timeout: 240 seconds)
2022-03-06 10:14:40 +0100DNH(~DNH@2a02:8108:1100:16d8:d9d2:7af1:5c0a:c9d9)
2022-03-06 10:18:09 +0100 <jackdk> worldhelloworld: http://data.tmorris.net/talks/list-folds/b30aa0fdff296c731bc5b1c824adf1d02b3b69d9/list-folds.pdf
2022-03-06 10:18:45 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 10:19:06 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 10:19:16 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:f999:2ecc:9c95:df5d)
2022-03-06 10:19:33 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer)
2022-03-06 10:20:45 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 10:23:16 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 245 seconds)
2022-03-06 10:29:01 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 10:30:09 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 10:31:13 +0100Pickchea(~private@user/pickchea)
2022-03-06 10:33:24 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 10:33:36 +0100 <worldhelloworld> thanks @jackdk - just trying to figure out how to conditionally traverse a list like in the above problem. More specifically how to form the lambda functions and their arguments/body wrt folds
2022-03-06 10:34:01 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 10:34:12 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 240 seconds)
2022-03-06 10:34:28 +0100 <jackdk> You know that takeWhile must work on an infinite list - that excludes foldl for reasons explained in the slides
2022-03-06 10:34:55 +0100 <jackdk> Therefore, we must use foldr, which tells us to formulate the problem in terms of constructor replacement
2022-03-06 10:35:41 +0100 <jackdk> Writing out the type signature and the arguments: `takeWhile' :: (a -> Bool) -> [a] -> [a]`; `takeWhile' f list = foldr ? ? ?`
2022-03-06 10:36:07 +0100 <jackdk> Can you answer the following questions: 1. On what list are we performing constructor replacement? 2. What do we replace `[]` with?
2022-03-06 10:36:39 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 10:37:47 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-03-06 10:38:25 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
2022-03-06 10:39:25 +0100 <worldhelloworld> Tbh, not really able to think in terms of fold .... so struggling
2022-03-06 10:40:46 +0100 <jackdk> What do you mean "think in terms of fold"? Did you read the slides? They are an excellent and IMHO underappreciated description of left and right folds, and I find them significantly clearer than the standard explanations
2022-03-06 10:41:01 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Quit: Laa shay'a waqi'un moutlaq bale kouloun moumkine)
2022-03-06 10:42:01 +0100 <worldhelloworld> I did, but maybe worked out examples would help me more, will try to re-read them though, hoping to understand
2022-03-06 10:42:35 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-03-06 10:42:46 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 10:42:50 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-03-06 10:43:57 +0100`2jt(~jtomas@210.red-88-24-179.staticip.rima-tde.net) (Ping timeout: 240 seconds)
2022-03-06 10:45:17 +0100 <jackdk> Let us work out `map` together, as that's one of the challenges in the slides. It challenges you to write `map` using `foldr`. That means you will need to decide 1. the list whose constructors we will be replacing; 2. what should we replace the [] constructor with; and 3. what we should replace the (:) constructor with. You can get clues for 2 and 3 by writing on a piece of paper some sample inputs and outputs to `map`.
2022-03-06 10:47:53 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 10:48:06 +0100 <jackdk> when writing a function, it's a good idea to start with the type signature and put holes where you don't know what goes where
2022-03-06 10:48:36 +0100lumberjack123(~alMalsamo@gateway/tor-sasl/almalsamo) (Ping timeout: 240 seconds)
2022-03-06 10:49:00 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 240 seconds)
2022-03-06 10:49:44 +0100 <jackdk> worldhelloworld: consider this - we know we are using foldr because that's part of the challenge, and the only list worth folding over is the one we've been given. GHC will then tell you the expected types for _func and _nil https://www.irccloud.com/pastebin/wiuP4XXp/MyMap.hs
2022-03-06 10:52:58 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-03-06 10:53:43 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-03-06 11:01:16 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a)
2022-03-06 11:03:01 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-03-06 11:03:03 +0100acidjnk(~acidjnk@p200300d0c70d8c985c6dbece2fe5bbc5.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2022-03-06 11:05:28 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 11:06:40 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 11:12:07 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:f999:2ecc:9c95:df5d) (Ping timeout: 256 seconds)
2022-03-06 11:12:47 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 11:14:29 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 11:15:32 +0100 <worldhelloworld> Hmmm, that makes sense - i've read about it using the concept of an accumulator
2022-03-06 11:16:02 +0100fockeriz1(~nut@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-03-06 11:16:37 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:f999:2ecc:9c95:df5d)
2022-03-06 11:17:40 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 11:17:43 +0100 <worldhelloworld> so in this case _nil would basically represent nothing/empty/zero/base case, right? I think I get that part, just more confused about how to handle arguments for _func_
2022-03-06 11:18:17 +0100Null_A(~null_a@2601:645:8700:2290:c864:fc8b:2d0b:834a) (Ping timeout: 240 seconds)
2022-03-06 11:18:48 +0100 <jackdk> foldr is a machine which takes three arguments: a function which will replace the cons `(:)` constructors in the input list; a value which will replace the `[]` constructor in the input list, and the list over which to fold
2022-03-06 11:19:43 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-06 11:20:23 +0100 <worldhelloworld> ok, that's clear - the part which confuses me is how will the (anonymous) function be defined and how are arguments handled ......... the list, and base case are clear
2022-03-06 11:20:39 +0100 <jackdk> What is the type of `_func`?
2022-03-06 11:21:05 +0100 <worldhelloworld> `a -> b` ?
2022-03-06 11:21:34 +0100 <jackdk> no. Have you put that snippet into GHC? It will tell you the type it is expecting there.
2022-03-06 11:21:48 +0100 <worldhelloworld> ok, let me try
2022-03-06 11:23:41 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 245 seconds)
2022-03-06 11:23:46 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 11:23:53 +0100 <worldhelloworld> doesn't compile - seems to be giving error about _func and _nil
2022-03-06 11:24:27 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 11:24:29 +0100 <jackdk> yes! those are called typed holes, and are a way for the programmer to ask GHC "what is the type of the thing which should go here?"
2022-03-06 11:25:46 +0100 <worldhelloworld> ah ok, so I guess that's because we haven't defined _func and _nil ? Nor type declaration nor definition
2022-03-06 11:26:27 +0100briandaed(~root@109.95.142.93.r.toneticgroup.pl)
2022-03-06 11:26:35 +0100 <jackdk> while _func and _nil are valid names that are not defined, an undefined symbol which starts with an _ is a typed hole, which is a way for the programmer to ask GHC "what is the type of the thing which should go here?"
2022-03-06 11:26:37 +0100dudek(~dudek@185.150.236.127)
2022-03-06 11:27:13 +0100 <jackdk> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/typed_holes.html
2022-03-06 11:27:33 +0100 <worldhelloworld> that's interesting - had no idea about it!
2022-03-06 11:30:37 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-06 11:31:20 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-03-06 11:34:17 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-03-06 11:35:04 +0100dudek(~dudek@185.150.236.127) (Quit: Leaving)
2022-03-06 11:37:37 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 11:38:49 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 11:42:41 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 11:42:57 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Ping timeout: 240 seconds)
2022-03-06 11:43:36 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 11:43:39 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 11:46:24 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-03-06 11:47:45 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-03-06 11:47:57 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 11:47:57 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 240 seconds)
2022-03-06 11:48:47 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 11:49:45 +0100dcoutts__(~duncan@host86-144-78-249.range86-144.btcentralplus.com) (Ping timeout: 256 seconds)
2022-03-06 11:51:13 +0100cheater(~Username@user/cheater) (Ping timeout: 250 seconds)
2022-03-06 11:52:06 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-06 11:53:00 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Read error: Connection reset by peer)
2022-03-06 11:54:31 +0100alMalsamo(~alMalsamo@gateway/tor-sasl/almalsamo)
2022-03-06 11:54:44 +0100cheater(~Username@user/cheater)
2022-03-06 11:57:51 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-03-06 11:58:41 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 11:59:46 +0100briandaed(~root@109.95.142.93.r.toneticgroup.pl) (Quit: leaving)
2022-03-06 12:01:26 +0100coot(~coot@213.134.190.95)
2022-03-06 12:01:58 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-03-06 12:03:30 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 12:04:47 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 12:05:34 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 12:06:52 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-03-06 12:08:20 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 12:08:54 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-03-06 12:12:46 +0100vglfr(~vglfr@coupling.penchant.volia.net) (Ping timeout: 272 seconds)
2022-03-06 12:13:33 +0100vglfr(~vglfr@coupling.penchant.volia.net)
2022-03-06 12:14:07 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 12:14:42 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 12:17:01 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-03-06 12:19:07 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 12:20:48 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 12:21:42 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 12:23:48 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 12:24:10 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 12:24:33 +0100 <Inst> @hecate
2022-03-06 12:24:33 +0100 <lambdabot> Unknown command, try @list
2022-03-06 12:25:19 +0100 <Inst> paid $10 for this:
2022-03-06 12:25:27 +0100jespada(~jespada@85.255.234.170) (Ping timeout: 272 seconds)
2022-03-06 12:25:53 +0100 <Inst> https://drive.google.com/drive/folders/1bGO8q5j1gpMjoBMExPA2EF1tb0aGerDv
2022-03-06 12:26:14 +0100shailangsa(~shailangs@host86-186-133-59.range86-186.btcentralplus.com) ()
2022-03-06 12:26:28 +0100 <Inst> https://drive.google.com/drive/folders/1bGO8q5j1gpMjoBMExPA2EF1tb0aGerDv
2022-03-06 12:27:09 +0100 <Inst> things have just been going on for so long, no progress, got into a (serious) fight with a friend and now I no longer have access to the artist that friend provided
2022-03-06 12:27:10 +0100 <Inst> https://drive.google.com/drive/folders/1bGO8q5j1gpMjoBMExPA2EF1tb0aGerDv
2022-03-06 12:27:18 +0100 <Inst> $200 down the drain
2022-03-06 12:27:49 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 12:28:05 +0100jespada(~jespada@148.252.129.201)
2022-03-06 12:28:43 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Read error: Connection reset by peer)
2022-03-06 12:28:51 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 12:30:30 +0100alp(~alp@user/alp)
2022-03-06 12:33:02 +0100jakalx(~jakalx@base.jakalx.net)
2022-03-06 12:34:49 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 12:40:17 +0100__monty__(~toonn@user/toonn)
2022-03-06 12:41:10 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 12:42:57 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 12:45:24 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 12:47:06 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-03-06 12:53:14 +0100random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
2022-03-06 12:54:08 +0100 <Hecate> hello
2022-03-06 12:56:16 +0100 <Rembane> Hi Hecate !
2022-03-06 12:58:43 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 12:58:58 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 260 seconds)
2022-03-06 12:59:17 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-03-06 13:04:49 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 13:07:16 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-03-06 13:08:12 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 13:09:01 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 13:09:44 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 13:10:09 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 13:10:48 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Remote host closed the connection)
2022-03-06 13:13:37 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 13:14:00 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-06 13:14:34 +0100cynomys(~cynomys@user/cynomys)
2022-03-06 13:15:38 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
2022-03-06 13:15:50 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 13:27:10 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 13:28:47 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
2022-03-06 13:29:46 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:f999:2ecc:9c95:df5d) (Ping timeout: 260 seconds)
2022-03-06 13:30:34 +0100zeenk(~zeenk@2a02:2f04:a30d:1300:51a3:bcfc:6cda:9fc5) (Quit: Konversation terminated!)
2022-03-06 13:31:13 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:f999:2ecc:9c95:df5d)
2022-03-06 13:32:46 +0100MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net)
2022-03-06 13:35:09 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-03-06 13:35:20 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-06 13:35:34 +0100coot(~coot@213.134.190.95)
2022-03-06 13:38:17 +0100MajorBiscuit(~MajorBisc@86-88-79-148.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 13:39:00 +0100MajorBiscuit(~MajorBisc@c-001-021-050.client.tudelft.eduvpn.nl)
2022-03-06 13:40:10 +0100coot(~coot@213.134.190.95) (Ping timeout: 272 seconds)
2022-03-06 13:41:02 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 13:44:56 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-03-06 13:45:17 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Ping timeout: 240 seconds)
2022-03-06 13:47:01 +0100kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it)
2022-03-06 13:49:03 +0100deadmarshal_(~deadmarsh@95.38.115.28) (Ping timeout: 272 seconds)
2022-03-06 13:50:35 +0100random-jellyfish(~random-je@user/random-jellyfish)
2022-03-06 13:50:57 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-06 13:51:52 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 13:51:54 +0100cynomys(~cynomys@user/cynomys) (Ping timeout: 256 seconds)
2022-03-06 13:56:17 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-03-06 13:57:07 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-03-06 13:57:30 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340) (Ping timeout: 252 seconds)
2022-03-06 13:59:23 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 14:01:47 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-03-06 14:05:02 +0100alp(~alp@user/alp) (Ping timeout: 240 seconds)
2022-03-06 14:06:44 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-03-06 14:10:10 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2022-03-06 14:12:51 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-03-06 14:14:54 +0100 <rembo10> Hey, I wonder if I can get some help on this function... I'm trying to write a simple thing that will split a vcf (vcards) file... but for some reason the second guard doesn't seem to be catching
2022-03-06 14:14:59 +0100 <rembo10> https://pastebin.com/43PWrAWS
2022-03-06 14:16:05 +0100 <rembo10> It's probably bad haskell but it's a first pass
2022-03-06 14:16:56 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 14:22:38 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-03-06 14:24:12 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 14:27:00 +0100Axma41360Axman6
2022-03-06 14:27:07 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-03-06 14:27:59 +0100 <rembo10> Whoops there was a little typo. This one compiles: https://pastebin.com/SGBbeRUH
2022-03-06 14:28:25 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-03-06 14:28:26 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Remote host closed the connection)
2022-03-06 14:28:48 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-03-06 14:29:57 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Remote host closed the connection)
2022-03-06 14:30:41 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-06 14:32:14 +0100c1utt4r(~c1utt4r@vmi275462.contaboserver.net)
2022-03-06 14:32:45 +0100 <rembo10> Oh maybe it's foldl vs foldr
2022-03-06 14:34:36 +0100Pickchea(~private@user/pickchea) (Ping timeout: 240 seconds)
2022-03-06 14:34:40 +0100 <rembo10> Yeah, I am dumb...
2022-03-06 14:35:02 +0100 <geekosaur> yeh
2022-03-06 14:35:17 +0100 <geekosaur> I pu ttraces on the lines and noted it was doing them in reverse order
2022-03-06 14:35:30 +0100 <geekosaur> changed foldr to foldl and flipped args to parseLine and it worked
2022-03-06 14:35:57 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds)
2022-03-06 14:37:04 +0100Midjak(~Midjak@82.66.147.146)
2022-03-06 14:37:52 +0100jespada(~jespada@148.252.129.201) (Ping timeout: 250 seconds)
2022-03-06 14:38:00 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Remote host closed the connection)
2022-03-06 14:41:38 +0100 <geekosaur> btw yiou're not handling the case of truncated data; you should catch when the final parser has inVCF set, it wouldhave warned you in this case that something was wrong
2022-03-06 14:42:11 +0100shailangsa(~shailangs@host86-186-133-59.range86-186.btcentralplus.com)
2022-03-06 14:42:12 +0100 <rembo10> That's a good point
2022-03-06 14:42:25 +0100 <rembo10> I just stuck with foldr for now and am parsing in reverse order
2022-03-06 14:42:35 +0100 <rembo10> Then I don't need to reverse the end result also
2022-03-06 14:43:17 +0100jespada(~jespada@85.255.234.169)
2022-03-06 14:46:36 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-03-06 14:52:01 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 14:55:27 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 14:57:34 +0100dextaa_(~dextaa@user/dextaa) (Remote host closed the connection)
2022-03-06 14:58:05 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 14:58:59 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Remote host closed the connection)
2022-03-06 15:01:21 +0100coot(~coot@213.134.190.95)
2022-03-06 15:02:36 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 15:04:29 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 15:05:06 +0100shailangsa(~shailangs@host86-186-133-59.range86-186.btcentralplus.com) (Remote host closed the connection)
2022-03-06 15:05:44 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Remote host closed the connection)
2022-03-06 15:05:56 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 15:07:16 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 15:09:11 +0100son0p(~ff@181.136.122.143) (Remote host closed the connection)
2022-03-06 15:13:24 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 15:13:45 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net) (Ping timeout: 256 seconds)
2022-03-06 15:14:16 +0100zer0bitz_(~zer0bitz@2001:2003:f74d:b800:c486:dc7e:8ce4:e6c9)
2022-03-06 15:15:12 +0100Unicorn_Princess(~Unicorn_P@46-54-248-191.static.kate-wing.si)
2022-03-06 15:18:02 +0100zer0bitz(~zer0bitz@2001:2003:f74d:b800:f999:2ecc:9c95:df5d) (Ping timeout: 260 seconds)
2022-03-06 15:18:21 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 272 seconds)
2022-03-06 15:22:50 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 15:24:52 +0100 <Hecate> Rembane: how are you doing? :)
2022-03-06 15:24:53 +0100DNH(~DNH@2a02:8108:1100:16d8:d9d2:7af1:5c0a:c9d9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-03-06 15:25:00 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-03-06 15:27:40 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 15:30:51 +0100coot(~coot@213.134.190.95) (Remote host closed the connection)
2022-03-06 15:31:15 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba)
2022-03-06 15:36:58 +0100bahamas(~lucian@84.232.140.52)
2022-03-06 15:42:27 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 15:43:07 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 15:46:37 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Ping timeout: 240 seconds)
2022-03-06 15:48:54 +0100soxen(~bob@pool-173-54-217-168.nwrknj.fios.verizon.net)
2022-03-06 15:49:12 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 15:50:20 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-03-06 15:55:26 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 15:56:25 +0100CiaoSen(~Jura@p5dcc0a70.dip0.t-ipconnect.de)
2022-03-06 15:57:01 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 15:57:35 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 15:59:05 +0100mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com) (Ping timeout: 256 seconds)
2022-03-06 15:59:27 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-03-06 16:01:01 +0100mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2022-03-06 16:01:25 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 16:03:48 +0100son0p(~ff@181.136.122.143)
2022-03-06 16:03:55 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-06 16:04:35 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 272 seconds)
2022-03-06 16:07:54 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 16:08:39 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-03-06 16:09:49 +0100TonyStone31(~TonyStone@2603-7080-8607-c36a-543d-a065-e6d9-3062.res6.spectrum.com)
2022-03-06 16:09:50 +0100TonyStone(~TonyStone@cpe-74-76-51-197.nycap.res.rr.com) (Quit: Leaving)
2022-03-06 16:10:57 +0100coot(~coot@2a02:a310:e241:1b00:ec1a:e9df:79ac:66ba) (Quit: coot)
2022-03-06 16:12:31 +0100unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2022-03-06 16:15:01 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-03-06 16:15:48 +0100 <unit73e> my xp3 archiver saga is going well. I managed to parse one item.
2022-03-06 16:16:06 +0100 <unit73e> so I just have to use something like many now
2022-03-06 16:16:23 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 16:16:57 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 240 seconds)
2022-03-06 16:17:01 +0100mvk(~mvk@2607:fea8:5cc3:7e00::45ee)
2022-03-06 16:19:27 +0100worldhelloworld(uid543174@id-543174.helmsley.irccloud.com) (Quit: Updating details, brb)
2022-03-06 16:19:35 +0100worldhelloworld1(uid543174@id-543174.helmsley.irccloud.com)
2022-03-06 16:20:03 +0100c1utt4rworldhelloworld
2022-03-06 16:21:37 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 16:24:39 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-03-06 16:27:46 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-06 16:32:27 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-03-06 16:32:29 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 16:36:57 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 16:38:04 +0100 <Rembane> Hecate: Tired, but not too unhappy. I released something today with a bug that asked the people who wanted to sign up for 10x the amount of money that it should have done. That was both hilarious and harrowing. How are you?
2022-03-06 16:38:46 +0100romesrf(~romes@44.190.189.46.rev.vodafone.pt)
2022-03-06 16:39:02 +0100 <romesrf> hello
2022-03-06 16:39:46 +0100 <Rembane> Hi romesrf !
2022-03-06 16:39:51 +0100shailangsa(~shailangs@host86-186-133-59.range86-186.btcentralplus.com)
2022-03-06 16:40:06 +0100 <romesrf> : )
2022-03-06 16:41:00 +0100 <romesrf> how could I encode to json a Float value with commas separating the decimal digits instead of dots
2022-03-06 16:41:21 +0100 <romesrf> toEncoding @Float 12.3 = "12,3"
2022-03-06 16:41:55 +0100 <romesrf> Rembane: what are you up to?
2022-03-06 16:42:10 +0100random-jellyfish(~random-je@user/random-jellyfish) (Ping timeout: 256 seconds)
2022-03-06 16:42:23 +0100 <Rembane> romesrf: I'm hacking away! :)
2022-03-06 16:42:27 +0100 <Rembane> romesrf: Are you using Aeson?
2022-03-06 16:42:33 +0100 <romesrf> yes I am
2022-03-06 16:42:45 +0100 <Rembane> Isn't JSON always writing floats with dots?
2022-03-06 16:43:15 +0100alp(~alp@user/alp)
2022-03-06 16:43:27 +0100 <romesrf> i think the default is dots indeed, and I'm trying to make it be ","
2022-03-06 16:43:32 +0100coot(~coot@213.134.190.95)
2022-03-06 16:43:33 +0100 <yushyin> it is not a valid json number, but it would be a valid string anyway
2022-03-06 16:43:34 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 16:43:50 +0100DNH(~DNH@2a02:8108:1100:16d8:d9d2:7af1:5c0a:c9d9)
2022-03-06 16:43:51 +0100geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca)
2022-03-06 16:44:03 +0100 <romesrf> Yeah I just need the string..
2022-03-06 16:44:19 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 16:44:28 +0100 <romesrf> perhaps the easiest way would be to do the normal float and try to replace "." w "," after
2022-03-06 16:44:52 +0100 <unit73e> romesrf, you can have a normal float and represent it as something else
2022-03-06 16:45:15 +0100 <unit73e> that's the common way to handle it afaik
2022-03-06 16:45:24 +0100 <romesrf> How do you mean?
2022-03-06 16:45:46 +0100 <unit73e> I mean parse it with "." but when you output you do it with ","
2022-03-06 16:45:59 +0100 <romesrf> That's what I'd like to do :)
2022-03-06 16:46:26 +0100 <unit73e> btw, is that money? because if it is don't use floats
2022-03-06 16:46:35 +0100 <romesrf> It's not hahaha
2022-03-06 16:46:49 +0100 <romesrf> But what should I use for money in haskell?
2022-03-06 16:47:13 +0100 <geekosaur> usually some variant of Fixed
2022-03-06 16:47:13 +0100 <unit73e> data.currency
2022-03-06 16:47:20 +0100 <romesrf> Cool
2022-03-06 16:47:24 +0100 <maerwald> @hackage safe-money
2022-03-06 16:47:24 +0100 <lambdabot> https://hackage.haskell.org/package/safe-money
2022-03-06 16:47:37 +0100 <geekosaur> you do *not* want floating point errors in money calculations
2022-03-06 16:47:37 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 16:47:44 +0100 <romesrf> geekosaur: yea hahaha
2022-03-06 16:48:00 +0100 <yushyin> https://hackage.haskell.org/package/format-numbers-0.1.0.1/docs/Data-Text-Format-Numbers.html
2022-03-06 16:49:00 +0100 <geekosaur> plus you want to be aware of things like bankers' rounding, because even with fixed point you can have rounding issues
2022-03-06 16:49:11 +0100 <romesrf> a library might be a good idea but I don't know if what I'm trying to do calls for an import like that
2022-03-06 16:49:22 +0100 <romesrf> geekosaur: interesting
2022-03-06 16:49:35 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Remote host closed the connection)
2022-03-06 16:50:15 +0100 <geekosaur> consider currency conversions, for one
2022-03-06 16:50:44 +0100machinedgod(~machinedg@24.105.81.50)
2022-03-06 16:51:09 +0100 <romesrf> I have an API that does something like ToJSON a => a -> IO b: IO that does an HTTP request and the body req depends on the instance of ToJSON. Now, I want it to be so that when i call that function with Float, the ToJSON representation uses "," instead of ".2
2022-03-06 16:51:24 +0100 <romesrf> should I overlap the ToJSON instance of Float in my library?
2022-03-06 16:52:16 +0100Joaquin(~Joaquin@14.red-83-51-143.dynamicip.rima-tde.net)
2022-03-06 16:52:40 +0100 <unit73e> I wouldn't because JSON expects floats to have "." but it depends on what the JSON is. you could have a string. what I would do is keep the JSON as is and the app itselfs outputs the naumers as something else.
2022-03-06 16:52:56 +0100 <unit73e> naumers/numbers
2022-03-06 16:53:59 +0100 <romesrf> however the HTTP requests done are to a place that always expects the numbers with a ","
2022-03-06 16:54:15 +0100 <romesrf> So I don't want to follow JSON conventions
2022-03-06 16:54:25 +0100 <romesrf> Would the overlap be good in that case?
2022-03-06 16:54:26 +0100 <geekosaur> noncompliant JSON. why am I not surprised
2022-03-06 16:54:31 +0100 <romesrf> geekosaur: ahahahaha
2022-03-06 16:55:06 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com)
2022-03-06 16:56:04 +0100 <unit73e> I guess in that case you have to have your JSON-Alternative :p
2022-03-06 16:56:17 +0100 <romesrf> unit73e: hahaha
2022-03-06 16:56:25 +0100 <romesrf> Okay. I'll attempt it
2022-03-06 16:56:29 +0100Everything(~Everythin@37.115.210.35)
2022-03-06 16:56:31 +0100 <romesrf> https://datatracker.ietf.org/doc/html/rfc7159
2022-03-06 16:56:44 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 16:56:46 +0100 <romesrf> > A fraction part is a decimal point followed by one or more digits.
2022-03-06 16:56:47 +0100 <lambdabot> <hint>:1:67: error:
2022-03-06 16:56:47 +0100 <lambdabot> parse error (possibly incorrect indentation or mismatched brackets)
2022-03-06 16:57:55 +0100 <unit73e> the > isn't quote in IRC but I get the confusion :\
2022-03-06 16:58:27 +0100 <unit73e> remember when # used to mean channel... well... now it's hashtag
2022-03-06 16:58:37 +0100 <geekosaur> "@"
2022-03-06 16:59:24 +0100zincy_(~zincy@host86-160-236-152.range86-160.btcentralplus.com) (Ping timeout: 240 seconds)
2022-03-06 16:59:25 +0100TonyStone31TonyStone
2022-03-06 17:00:03 +0100vysn(~vysn@user/vysn) (Ping timeout: 256 seconds)
2022-03-06 17:02:34 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 17:03:00 +0100 <unit73e> huh I just put 'many' in 'getItem' and surprisingly my xp3 parser didn't explode
2022-03-06 17:03:06 +0100 <unit73e> I was expecting to fail somewhere
2022-03-06 17:03:21 +0100niekvandepas(~niekvande@77.161.122.185)
2022-03-06 17:03:38 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 17:06:30 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 17:07:32 +0100niekvandepas(~niekvande@77.161.122.185) (Ping timeout: 240 seconds)
2022-03-06 17:09:11 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 272 seconds)
2022-03-06 17:10:42 +0100Pickchea(~private@user/pickchea)
2022-03-06 17:10:56 +0100 <Hecate> Rembane: well, I've been working a bit on Flora today, finished category tuning for packages, and the display on the package page https://twitter.com/flora_haskell/status/1500476775268331528
2022-03-06 17:11:20 +0100 <Hecate> and now my documentation duties call to me, so I have to spread a call for volunteers to help with Alex & Happy's manuals
2022-03-06 17:11:24 +0100 <Rembane> Hecate: Woop woop! Good stuff!
2022-03-06 17:11:54 +0100 <Franciman> is alex still developed?
2022-03-06 17:12:33 +0100 <Hecate> Franciman: it's still maintained
2022-03-06 17:12:47 +0100 <Hecate> I know it doesn't answer your question, but I wanted to clarify that it's not abandoned :)
2022-03-06 17:13:21 +0100 <Franciman> oh ok
2022-03-06 17:13:36 +0100 <Franciman> i was going to the old website. Thanks
2022-03-06 17:15:20 +0100 <Hecate> Franciman: to be fully honest, the websites deserve a revamp
2022-03-06 17:16:07 +0100 <Hecate> but I need someone to produce a clone of https://github.com/steveklabnik/rustbook with Hakyll and an appropriate theme :)
2022-03-06 17:16:47 +0100worldhelloworld(~c1utt4r@vmi275462.contaboserver.net) (Ping timeout: 272 seconds)
2022-03-06 17:18:31 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-03-06 17:18:47 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 17:23:01 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 17:23:16 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
2022-03-06 17:24:51 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 252 seconds)
2022-03-06 17:25:29 +0100rond_(~rond_@90.251.109.52)
2022-03-06 17:25:46 +0100Joaquin(~Joaquin@14.red-83-51-143.dynamicip.rima-tde.net) (Quit: Client closed)
2022-03-06 17:26:55 +0100 <romesrf> Hecate: Flora looks nice
2022-03-06 17:26:59 +0100 <romesrf> first time i'm hearing about it
2022-03-06 17:27:42 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Quit: mikoto-chan)
2022-03-06 17:27:46 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 260 seconds)
2022-03-06 17:28:17 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Ping timeout: 240 seconds)
2022-03-06 17:32:20 +0100 <Hecate> romesrf: thank you very much. I've taken the opportunity to create a beautiful web application alongside of it, especially when refactoring time isn't free, so I'd rather take my time for some things
2022-03-06 17:33:07 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 17:33:13 +0100 <Hecate> for example the db queries are in separate modules called "Model.<type>.Query" and "Model.<type>.Update", which means I can more easily see what goes where, and also use a read-replica of my database more easily
2022-03-06 17:34:31 +0100Pickchea(~private@user/pickchea) (Ping timeout: 272 seconds)
2022-03-06 17:34:40 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 250 seconds)
2022-03-06 17:34:48 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Remote host closed the connection)
2022-03-06 17:35:05 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-03-06 17:35:32 +0100sayola(~vekto@dslb-002-201-085-116.002.201.pools.vodafone-ip.de)
2022-03-06 17:36:50 +0100CiaoSen(~Jura@p5dcc0a70.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-03-06 17:37:21 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-03-06 17:38:10 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 17:43:09 +0100xff0x(~xff0x@dslb-094-222-029-254.094.222.pools.vodafone-ip.de) (Quit: xff0x)
2022-03-06 17:44:36 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-06 17:45:47 +0100xff0x(~xff0x@dslb-094-222-029-254.094.222.pools.vodafone-ip.de)
2022-03-06 17:47:23 +0100little_mac(~little_ma@2601:410:4300:3ce0:3499:893c:26f0:bcd0)
2022-03-06 17:48:50 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 17:50:53 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 17:51:22 +0100bahamas(~lucian@84.232.140.52)
2022-03-06 17:52:59 +0100coot(~coot@213.134.190.95) (Quit: coot)
2022-03-06 17:53:26 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 252 seconds)
2022-03-06 17:55:15 +0100waleee(~waleee@2001:9b0:213:7200:cc36:a556:b1e8:b340)
2022-03-06 17:56:08 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-03-06 17:56:42 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 256 seconds)
2022-03-06 17:57:39 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
2022-03-06 17:57:54 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 18:07:04 +0100bahamas(~lucian@84.232.140.52)
2022-03-06 18:08:38 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 18:09:01 +0100 <lechner_> Hi, should Debian strive to keep up with new versions on Hackage?
2022-03-06 18:13:09 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 18:15:39 +0100 <maerwald> new versions of what?
2022-03-06 18:16:17 +0100 <Taneb> lechner_: to a degree, I think. What other package sets do (thinking of nixpkgs in particular) is use a Stackage set, which is a sort-of curated set of recent versions of libraries.
2022-03-06 18:19:05 +0100 <unit73e> I just use cabal/stack and don't bother with package managers...
2022-03-06 18:19:38 +0100 <unit73e> though I get I should check nix at some point
2022-03-06 18:21:15 +0100Sgeo(~Sgeo@user/sgeo)
2022-03-06 18:23:17 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 18:23:50 +0100 <lechner_> maerwald: 1097 packages successfully tested for co-installability. 520 packages have newer versions on hackage
2022-03-06 18:24:35 +0100CiaoSen(~Jura@p200300c95737a2002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-03-06 18:24:39 +0100 <maerwald> lechner_: you should understand how PVP works and at least do non-breaking updates
2022-03-06 18:25:04 +0100 <maerwald> https://pvp.haskell.org/
2022-03-06 18:26:13 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 18:28:23 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 18:28:32 +0100 <lechner_> maerwald: thanks! does that meant it's probably safe to work on these 373 minor version updates? http://paste.debian.net/1233192/
2022-03-06 18:29:27 +0100 <maerwald> lechner_: well, safe if the maintainers did not mess up... it happens
2022-03-06 18:30:25 +0100jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2022-03-06 18:32:46 +0100 <lechner_> maerwald: thanks! does hackage track release-critical bugs?
2022-03-06 18:32:58 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 18:33:23 +0100 <maerwald> no, but there's a deprecate flag on hackage, not sure you can query that via cli
2022-03-06 18:33:42 +0100 <maerwald> https://hackage.haskell.org/package/aeson
2022-03-06 18:33:47 +0100 <maerwald> there are versions marked in red
2022-03-06 18:34:40 +0100 <lechner_> deprecated means old, though. i am looking for new, but defective
2022-03-06 18:35:10 +0100 <maerwald> no, deprecated here means "broken"
2022-03-06 18:35:46 +0100Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-03-06 18:35:56 +0100 <lechner_> also, i would like to make Haskell in Debian to be as easy to use as ghcup. do you have any words of advice?
2022-03-06 18:36:23 +0100 <maerwald> https://hackage.haskell.org/package/aeson/preferred
2022-03-06 18:37:04 +0100 <maerwald> lechner_: you allow installation of multiple GHC versions and then add that to update-alternatives
2022-03-06 18:37:11 +0100MajorBiscuit(~MajorBisc@c-001-021-050.client.tudelft.eduvpn.nl) (Quit: WeeChat 3.4)
2022-03-06 18:37:31 +0100 <maerwald> e.g. like https://launchpad.net/~hvr/+archive/ubuntu/ghc
2022-03-06 18:41:07 +0100 <maerwald> you probably want a "main" ghc version than, which is used for your libghc-<haskell-pkg> or you have to switch to lighc<ghcver>-<haskell-pkg>
2022-03-06 18:41:17 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 252 seconds)
2022-03-06 18:41:20 +0100 <lechner_> maerwald: without wishing to speak out of school, i'm a little embarrassed to see that implemented by hvr in a Ubuntu PPA.
2022-03-06 18:42:53 +0100 <maerwald> I'm not sure what policy debian has wrt static binary shipping, but I'd advise you get rid of all haskell libraries in the debian repos and only ship GHC and cabal/stack/pandoc as static binaries
2022-03-06 18:42:58 +0100 <sclv> i don't know the difference between debian packaging solutions. i do know the ppa is no longer maintained, but when it was, it seemed to be a solution a lot of people were very happy with
2022-03-06 18:43:31 +0100 <sclv> and if there were something that was continuously maintained (maybe in a way you thought was more suitable) and offered the same functionality, it would probably be well regarded and used
2022-03-06 18:43:42 +0100 <maerwald> dealing with haskell libraries in distro repos is time consuming and not very useful for actual haskell devs
2022-03-06 18:46:01 +0100 <lechner_> sclv: if needed, i can implement, and perhaps maintain, a Debian repo like it, but my preferencen would be to use the official build daemons
2022-03-06 18:46:19 +0100beka(~beka@104.193.170.240)
2022-03-06 18:46:44 +0100 <sclv> sure. providing the ability to switch between multiple ghc versions was really its biggest selling point. and also providing far newer ghcs than in the official debian distros
2022-03-06 18:47:07 +0100 <lechner_> maerwald: we need libraries to build executables, Build-Depends here: https://tracker.debian.org/media/packages/k/kickoff/control-0.1.1
2022-03-06 18:47:59 +0100 <maerwald> lechner_: you can link statically
2022-03-06 18:48:07 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2022-03-06 18:48:08 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 18:48:13 +0100 <maerwald> as I said... this depends on debian packaging policy
2022-03-06 18:48:25 +0100 <geekosaur> lechner_, historically having a large system package db has caused problems when one needs a different version of a dependency than is in the system package db, because packages can't be hidden properly by build tools (since it requires root)
2022-03-06 18:48:50 +0100 <geekosaur> so many experienced people will be wary of distro haskell packages
2022-03-06 18:48:51 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-03-06 18:49:36 +0100 <maerwald> lechner_: also note that GHC has extremely unstable ABI. Even within the same version it's not guaranteed to be stable. A different GHC build config can cause a different ABI
2022-03-06 18:49:46 +0100 <lechner_> maerwald: that was the idea you gave me a few days ago. the issue is that debian does not presently have a way to declare relationships between sources
2022-03-06 18:50:11 +0100 <sclv> this is one reason people like to use a development ghc completely different from the system toolchain. the latter installs whatever libs it wants to for the exes the system provides, etc
2022-03-06 18:50:26 +0100 <sclv> but the development toolchain doesn't share any of that and is used for fresh coding
2022-03-06 18:50:54 +0100 <maerwald> lechner_: you mean you need a single tarball?
2022-03-06 18:51:15 +0100 <lechner_> sclv: it works great, but Debian is also great for your deployment!
2022-03-06 18:51:49 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-03-06 18:51:51 +0100 <maerwald> Can't you have multiple sources for one package build?
2022-03-06 18:53:10 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 268 seconds)
2022-03-06 18:53:57 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c)
2022-03-06 18:53:59 +0100 <lechner_> maerwald: we have multiple tar ball source format, but it cannot be used to duplicate. that is why we currently ship many sources in installables, as in https://packages.debian.org/sid/all/golang-github-hanwen-go-fuse-dev/filelist
2022-03-06 18:54:16 +0100 <lechner_> i don't swear often, but ...
2022-03-06 18:54:49 +0100 <maerwald> Well, that sounds you could do the same for haskell
2022-03-06 18:55:02 +0100 <lechner_> that's what the current alternative is if we go the static route
2022-03-06 18:55:07 +0100 <maerwald> yes
2022-03-06 18:55:58 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 260 seconds)
2022-03-06 18:56:07 +0100 <lechner_> it is hated by our archive guys. maintainers are asked to double up modules using the multiple tar ball mechanism i mentioned earlier!
2022-03-06 18:56:28 +0100 <lechner_> there isn't even a word for that confusion
2022-03-06 18:56:57 +0100 <lechner_> the best way would be to declare relationships between sources
2022-03-06 18:57:10 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
2022-03-06 18:57:25 +0100 <lechner_> we make those available separately
2022-03-06 18:57:49 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Read error: Connection reset by peer)
2022-03-06 18:58:29 +0100 <lechner_> one advantage of shipping sources as installables is that we can run the tests
2022-03-06 18:58:32 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net)
2022-03-06 18:58:56 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-03-06 18:59:29 +0100 <lechner_> that's until the porters remind us that the package is arch-independent and has to be so marked, which disables many interesting tests
2022-03-06 19:00:37 +0100 <sclv> one possible solution could be to use ghc's fine grained control of packagedbs to put system packages in a special packagedb that's distinct from the default global one
2022-03-06 19:01:08 +0100 <lechner_> where do the dist packages go?
2022-03-06 19:01:29 +0100 <sclv> you mean the stuff built under `dist`?
2022-03-06 19:01:44 +0100 <lechner_> no, the libraries shipped as part of Debian
2022-03-06 19:01:46 +0100 <sclv> that gets installed by `ghc-pkg install` to a packagedb
2022-03-06 19:02:08 +0100 <sclv> oh i see you're asking in my proposal what would happen
2022-03-06 19:02:35 +0100 <sclv> i'm suggesting that every lib shipped as part of debian not go into the default global ghc packagedb but a `debian-dist` packagedb or something
2022-03-06 19:02:37 +0100 <lechner_> yes
2022-03-06 19:02:46 +0100 <lechner_> i am green behind the ears
2022-03-06 19:03:18 +0100 <sclv> so users can use a packagedb stack that includes it (and debian executables etc can link against it)
2022-03-06 19:03:26 +0100Null_A(~null_a@c-98-210-133-39.hsd1.ca.comcast.net) (Ping timeout: 260 seconds)
2022-03-06 19:03:29 +0100 <sclv> but also users can choose _not_ to use it when in a pure development mode
2022-03-06 19:03:30 +0100deadmarshal_(~deadmarsh@95.38.115.28)
2022-03-06 19:03:45 +0100 <sclv> the problem is if stuff goes into the systemwide global ghc packagedb, then there's no way to "sandbox" out of using it
2022-03-06 19:04:00 +0100 <lechner_> does that require setuid?
2022-03-06 19:04:09 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 19:04:14 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 19:04:44 +0100 <sclv> nope, just configuring the package setup https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/packages.html#package-databases
2022-03-06 19:05:35 +0100 <maerwald> sclv: hmm, I think it's possible to have the package `ghc` be the only one with a bloated package db and dynamic libaries and `ghc-<ver>` be packages that just ship with the boot libraries. Then you can basically switch between those package db's by update-alternatives
2022-03-06 19:05:51 +0100 <lechner_> system packages are those that come with GHC?
2022-03-06 19:06:03 +0100 <maerwald> boot libraries yeah
2022-03-06 19:06:30 +0100 <maerwald> so you could have `ghc` (version 8.8.4) and `ghc-8.8.4`, two distinct packages
2022-03-06 19:06:46 +0100 <maerwald> the former is the only one that's related to additional dynamic libraries
2022-03-06 19:06:53 +0100xkuru(~xkuru@user/xkuru)
2022-03-06 19:07:46 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Quit: mikoto-chan)
2022-03-06 19:07:56 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 19:08:19 +0100 <maerwald> so you can introduce new `ghc-<ver>` packages quickly, because it doesn't cause massive rebuilds
2022-03-06 19:08:29 +0100 <maerwald> and be more conservative with updating `ghc`
2022-03-06 19:09:15 +0100 <maerwald> and then somehow make this distinction clear to end-users (wiki page, package description, ...)
2022-03-06 19:09:24 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 19:10:34 +0100 <lechner_> and then someone wishing to use the newer ghc would simply run update-alternatives, but it would not affect the build machinery for everything else in the archive (which uses the unversioned'ghc')?
2022-03-06 19:10:44 +0100 <maerwald> yeah
2022-03-06 19:10:52 +0100 <lechner_> debian users already know about alternatives
2022-03-06 19:11:16 +0100 <maerwald> right, but I guess most packages are either completely unversioned or always versioned? So this might be new
2022-03-06 19:12:02 +0100Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com)
2022-03-06 19:12:30 +0100wroathe(~wroathe@50-205-197-50-static.hfc.comcastbusiness.net)
2022-03-06 19:12:30 +0100wroathe(~wroathe@50-205-197-50-static.hfc.comcastbusiness.net) (Changing host)
2022-03-06 19:12:30 +0100wroathe(~wroathe@user/wroathe)
2022-03-06 19:12:41 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 19:13:55 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Remote host closed the connection)
2022-03-06 19:14:04 +0100 <lechner_> not for gcc, llvm or openjdk, plus a few others (use browser's search) https://lintian.debian.org/sources
2022-03-06 19:14:20 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-06 19:14:38 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 19:15:43 +0100 <maerwald> well, you prolly wanna post that on some Debian ML and get a nice train of bikeshed xD
2022-03-06 19:16:01 +0100 <lechner_> i am not doing anything on my own
2022-03-06 19:16:15 +0100 <lechner_> other than be pushy
2022-03-06 19:16:44 +0100Null_A_(~null_a@2601:645:8700:2290:edbd:15d:262b:d392)
2022-03-06 19:16:55 +0100 <lechner_> that's not how hvr's Ubuntu PPA worked though, right?
2022-03-06 19:17:23 +0100 <maerwald> that ppa only has versioned GHCs
2022-03-06 19:17:34 +0100 <maerwald> and now haskell libraries packaged
2022-03-06 19:17:41 +0100 <maerwald> *no
2022-03-06 19:17:57 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 240 seconds)
2022-03-06 19:17:59 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 19:18:46 +0100 <lechner_> would your solution place two copies of the default GHC source into the Debian archive?
2022-03-06 19:18:52 +0100 <geekosaur> before using that as a reference you might consider that it's intended for Ubuntu-based CI setups
2022-03-06 19:19:57 +0100 <maerwald> lechner_: if `ghc` and `ghc-8.8.4` are the same version, then you have two copies yeah
2022-03-06 19:20:20 +0100 <maerwald> otherwise you have to play tricks with package db switching
2022-03-06 19:20:36 +0100Null_A(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Ping timeout: 240 seconds)
2022-03-06 19:24:57 +0100econo(uid147250@user/econo)
2022-03-06 19:27:15 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Ping timeout: 272 seconds)
2022-03-06 19:27:40 +0100 <Cheery> I'd want to somehow test some haskell code and verify that it 100% works.
2022-03-06 19:28:13 +0100 <Cheery> are there equipment to do this?
2022-03-06 19:29:00 +0100 <Cheery> oh. haskell has code coverage tool
2022-03-06 19:32:12 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 19:33:02 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 19:33:17 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-06 19:33:45 +0100 <geekosaur> code coverage and a number of test frameworks
2022-03-06 19:33:59 +0100 <geekosaur> (just because it compiles doesn't mean it's correct…)
2022-03-06 19:34:13 +0100 <dsal> Just because your tests pass doesn't mean it 100% works. That just means you can't figure out how it works.
2022-03-06 19:34:20 +0100 <dsal> If you want to know what's wrong with your code, you have to ask a user.
2022-03-06 19:35:17 +0100mvk(~mvk@2607:fea8:5cc3:7e00::45ee) (Ping timeout: 240 seconds)
2022-03-06 19:35:40 +0100 <dsal> QuickCheck is the standard for good testing. Hedgehog is popular in some circles. I just wrote a gigantic hedgehog thing at work so I know it enough to feel I can do many of the same things with it, but I'd still reach for QC in my own stuff at the moment.
2022-03-06 19:37:24 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 252 seconds)
2022-03-06 19:37:51 +0100barzo(~hd@31.155.65.151)
2022-03-06 19:38:16 +0100gehmehgeh(~user@user/gehmehgeh)
2022-03-06 19:40:09 +0100worldhelloworld(~c1utt4r@vmi275462.contaboserver.net)
2022-03-06 19:40:17 +0100barzo(~hd@31.155.65.151) (Client Quit)
2022-03-06 19:49:11 +0100 <maerwald> the only thing I really believe in is a) integration test and b) regression tests for every bug that's filed
2022-03-06 19:49:30 +0100 <maerwald> everything else is there to make you feel more like an "engineer" :p
2022-03-06 19:49:30 +0100 <romesrf> Cheery: there's also a cool video by rae using Tasty which brings together multiple testing tools such as QuickCheck + HUnit + ...
2022-03-06 19:50:07 +0100 <romesrf> maerwald: what's a good example of an integration test and regression test
2022-03-06 19:50:27 +0100 <lechner_> Hi, does anyone see a Haskell logo in the top left? https://pvp.haskell.org/
2022-03-06 19:50:30 +0100 <romesrf> Cheery: https://www.youtube.com/watch?v=dcEhpPob-wM
2022-03-06 19:50:42 +0100 <romesrf> lechner_: no logo
2022-03-06 19:50:48 +0100 <Cheery> romesrf: ok.
2022-03-06 19:51:06 +0100coot(~coot@213.134.190.95)
2022-03-06 19:51:08 +0100 <unit73e> lechner_, broken logo
2022-03-06 19:51:09 +0100 <romesrf> lechner_: img/logo 404 Not Found
2022-03-06 19:51:12 +0100 <Cheery> hcp is really good already, I can work through it. :)
2022-03-06 19:51:59 +0100 <geekosaur> https://www.haskell.org/img/logo.png is missing, yeh
2022-03-06 19:52:17 +0100 <unit73e> there's a favicon.ico that would work
2022-03-06 19:52:24 +0100 <unit73e> except it's not png
2022-03-06 19:52:45 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 19:52:51 +0100 <maerwald> romesrf: integration test tests workflows. For a cli that means invoking the binary with flags. For a standard backend that means sending HTTP requests, etc.
2022-03-06 19:52:59 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa)
2022-03-06 19:53:34 +0100 <maerwald> when you find a bug, you write a test that fails, then fix it, then check that it doesn't fail anymore
2022-03-06 19:53:52 +0100 <unit73e> lechner_, also noticed other errors you might want to check in chrome console
2022-03-06 19:54:05 +0100 <romesrf> I see. I'm doing the first currently but I'm missing some should-fail tests
2022-03-06 19:54:34 +0100shaprhops randomly
2022-03-06 19:54:47 +0100 <romesrf> It feels a bit loose, but at least I'm assured that the main interactions with the app works correctly
2022-03-06 19:55:39 +0100 <maerwald> is this a cli tool?
2022-03-06 19:56:48 +0100travisb_tabemann
2022-03-06 19:57:25 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 19:57:28 +0100 <romesrf> maerwald: it's a chat bot
2022-03-06 19:57:43 +0100 <romesrf> receives messages, communicates with external api, ..
2022-03-06 19:59:23 +0100 <romesrf> i'm basically testing "do 1, 2, 3 in that order: does it crash? if not the test is OK"
2022-03-06 20:00:20 +0100 <romesrf> It's not very rigorous, but at least I'm sure the main features are working when I update some things without having to interact with it manually
2022-03-06 20:02:14 +0100zincy_(~zincy@2a00:23c8:970c:4801:d43:5e37:69e3:551c) (Ping timeout: 260 seconds)
2022-03-06 20:05:54 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-03-06 20:06:49 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 20:07:31 +0100wroathe(~wroathe@50-205-197-50-static.hfc.comcastbusiness.net)
2022-03-06 20:07:31 +0100wroathe(~wroathe@50-205-197-50-static.hfc.comcastbusiness.net) (Changing host)
2022-03-06 20:07:31 +0100wroathe(~wroathe@user/wroathe)
2022-03-06 20:11:17 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 240 seconds)
2022-03-06 20:12:30 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 20:12:52 +0100Null_A_(~null_a@2601:645:8700:2290:edbd:15d:262b:d392) (Read error: Connection reset by peer)
2022-03-06 20:16:36 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 240 seconds)
2022-03-06 20:17:37 +0100deadmarshal_(~deadmarsh@95.38.115.28) (Ping timeout: 240 seconds)
2022-03-06 20:18:37 +0100mikoto-chan(~mikoto-ch@213.177.151.239)
2022-03-06 20:21:38 +0100Hanicef(~gustaf@81-229-9-108-no92.tbcn.telia.com) (Quit: leaving)
2022-03-06 20:22:59 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 272 seconds)
2022-03-06 20:27:24 +0100drdo(~drdo@roach0.drdo.eu) (Ping timeout: 240 seconds)
2022-03-06 20:31:09 +0100drdo(~drdo@roach0.drdo.eu)
2022-03-06 20:32:12 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 20:35:39 +0100xff0x(~xff0x@dslb-094-222-029-254.094.222.pools.vodafone-ip.de) (Ping timeout: 272 seconds)
2022-03-06 20:36:45 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 20:37:49 +0100mvk(~mvk@2607:fea8:5cc3:7e00::45ee)
2022-03-06 20:39:26 +0100xff0x(~xff0x@dslb-094-222-029-254.094.222.pools.vodafone-ip.de)
2022-03-06 20:46:35 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 20:49:31 +0100worldhelloworld(~c1utt4r@vmi275462.contaboserver.net) (Ping timeout: 245 seconds)
2022-03-06 20:50:09 +0100fendor(~fendor@91.141.40.111.wireless.dyn.drei.com)
2022-03-06 20:50:19 +0100zebrag(~chris@user/zebrag)
2022-03-06 20:54:25 +0100Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2022-03-06 20:55:17 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 272 seconds)
2022-03-06 20:56:34 +0100theproffesor(~theproffe@2601:282:8202:4a10::8622)
2022-03-06 20:57:11 +0100Lord_of_Life_Lord_of_Life
2022-03-06 21:00:44 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 21:05:16 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 250 seconds)
2022-03-06 21:11:30 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 21:13:40 +0100Erutuon(~Erutuon@user/erutuon)
2022-03-06 21:16:54 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net)
2022-03-06 21:17:08 +0100deadmarshal_(~deadmarsh@95.38.115.28)
2022-03-06 21:17:27 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 21:17:53 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-03-06 21:18:59 +0100kaph_(~kaph@net-109-116-124-149.cust.vodafonedsl.it)
2022-03-06 21:19:13 +0100bahamas(~lucian@84.232.140.52)
2022-03-06 21:19:37 +0100kaph(~kaph@net-109-116-124-149.cust.vodafonedsl.it) (Ping timeout: 240 seconds)
2022-03-06 21:20:08 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 256 seconds)
2022-03-06 21:21:53 +0100deadmarshal_(~deadmarsh@95.38.115.28) (Ping timeout: 272 seconds)
2022-03-06 21:24:06 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-03-06 21:30:21 +0100iqubic(~iqubic@c-67-171-37-233.hsd1.wa.comcast.net) ()
2022-03-06 21:32:15 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 21:32:34 +0100Pickchea(~private@user/pickchea)
2022-03-06 21:32:50 +0100 <lechner_> Hi, is there a replacement for Haskell Platform?
2022-03-06 21:33:01 +0100 <geekosaur> nope
2022-03-06 21:33:14 +0100 <lechner_> why was it needed?
2022-03-06 21:33:28 +0100 <geekosaur> because neither modern cabal nor stack existed
2022-03-06 21:33:51 +0100 <geekosaur> you could think of it as an early rendition of stackage
2022-03-06 21:34:06 +0100 <lechner_> it was that broad?
2022-03-06 21:34:22 +0100 <geekosaur> not quite as broad, but the ecosystem was also smaller back then
2022-03-06 21:34:41 +0100 <geekosaur> as it grew keeping HP up to date with the packages developers needed became more expensive
2022-03-06 21:35:09 +0100 <geekosaur> and it didn't offer multiple releases after the fashion of stackage LTSes
2022-03-06 21:35:24 +0100alMalsamolumberjack123
2022-03-06 21:36:08 +0100 <geekosaur> if you're building a package which needs older versions of things, with stack you can just point to the appropriate LTS; you didn't really have that option with HP
2022-03-06 21:36:17 +0100cjb(~cjb@user/cjb)
2022-03-06 21:36:19 +0100 <lechner_> on that note, why did the stackage folks roll their own instead of providing merely a cabal file for Hackage?
2022-03-06 21:37:00 +0100 <geekosaur> stack uses (the library version of) cabal underneath, and at the time cabal wasn't quite up to it
2022-03-06 21:37:05 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 21:37:21 +0100 <geekosaur> there was active work on getting cabal up to speed but it wasn't ready yet
2022-03-06 21:38:14 +0100 <lechner_> Could (or should) stackage.org eventually go away?
2022-03-06 21:38:19 +0100 <geekosaur> also, stackage *does* provide cabal files if you know where to look. they still don't have quite as much functionality as stack LTSes though
2022-03-06 21:38:32 +0100 <geekosaur> probably not. you saw the discussion in #hackage
2022-03-06 21:38:44 +0100 <lechner_> "Packages in Stackage are not patched: all package changes occur upstream in Hackage."
2022-03-06 21:38:55 +0100 <lechner_> https://github.com/commercialhaskell/stackage/blob/master/MAINTAINERS.md#adding-a-package
2022-03-06 21:39:07 +0100 <geekosaur> right, if you need an update you switch to a later LTS or use an override in stack.yaml
2022-03-06 21:40:18 +0100 <geekosaur> LTSes are package sets tested to work together reliably, patching them instead of making a new LTS release is kinda making the same mistake HP did in trying to serve everyone's needs with one "current" release
2022-03-06 21:40:59 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-03-06 21:41:05 +0100 <lechner_> in debian, we sucessfully distinguish between files in a pool and what we then publish as a distribution (which ties the different versions together and is more commonly called a release)
2022-03-06 21:41:35 +0100 <lechner_> why is hackage not that "pool"?
2022-03-06 21:41:39 +0100 <geekosaur> right. but hackage is rolling-release as it were
2022-03-06 21:41:52 +0100 <lechner_> old versions are available
2022-03-06 21:42:34 +0100 <geekosaur> hackage is a master package index, updated as new packages are released on their maintainers' timetables. it doesn't and can't make an attempt to ensure sets of packages work together
2022-03-06 21:42:43 +0100 <geekosaur> stackage does that (and it's a lot of work)
2022-03-06 21:43:12 +0100notzmv(~zmv@user/notzmv)
2022-03-06 21:43:42 +0100 <lechner_> i do not doubt it, but does stackage need to publish more than a map of the tested relationships?
2022-03-06 21:44:15 +0100 <hpc> hackage is like universe in ubuntu-speak
2022-03-06 21:44:22 +0100 <maerwald> lechner_: that's what it does
2022-03-06 21:44:26 +0100 <geekosaur> ^
2022-03-06 21:44:35 +0100 <lechner_> ok, sorry
2022-03-06 21:44:44 +0100 <hpc> all the versions of all the packages live there, and if you have say, ubuntu 1804, that's just a list of references into that
2022-03-06 21:44:48 +0100 <geekosaur> if you go digging under ~/.stack you will find that a stackage release is just such a map
2022-03-06 21:45:10 +0100 <maerwald> lechner_: that also has the side effect that stack doesn't need a dependency solver
2022-03-06 21:45:15 +0100 <geekosaur> and tht map points back to the appropriate hackage releases
2022-03-06 21:45:27 +0100 <lechner_> please allow me to rephrase: Sould 'stack' (the tool) eventually go away?
2022-03-06 21:45:52 +0100 <maerwald> lechner_: it's on life support anyway, although a new release is coming up soon
2022-03-06 21:46:20 +0100 <lechner_> maerwald: there are never alternative implementations for the same type?
2022-03-06 21:46:46 +0100 <geekosaur> that's a difficult question. as an interface to stackage it is useful, and stackage as a repository of tested sets of package versions is still quite useful
2022-03-06 21:46:55 +0100 <maerwald> lechner_: https://github.com/haskell/cabal/issues/7556
2022-03-06 21:47:12 +0100 <geekosaur> you'll find for example that, even if they use cabal instead of stack, a great many linux distributions start from stackage instead of hackage
2022-03-06 21:47:46 +0100 <geekosaur> to make their haskell packages
2022-03-06 21:48:01 +0100 <lechner_> i.e. debian
2022-03-06 21:49:28 +0100 <geekosaur> meanwhile the stackage maintainers are currently working to get aeson 2.0 integrated into a package set, and probably will integrate text 2.0 after that
2022-03-06 21:49:45 +0100 <lechner_> that's unicode?
2022-03-06 21:49:49 +0100 <geekosaur> which means working to get maintainers of dependent packages to catch up
2022-03-06 21:50:04 +0100 <geekosaur> the switch from utf16 to utf8 internally, yes
2022-03-06 21:50:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-03-06 21:50:57 +0100 <lechner_> speaking from experience, that is a very unfavorable position. how do the stackage folks motivate the upstream maintainers?
2022-03-06 21:51:17 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Read error: Connection reset by peer)
2022-03-06 21:51:35 +0100 <geekosaur> dropping their packages if they don't, which means they don't get seen or used by somewhere 50 and 70 percent of haskell developers any more
2022-03-06 21:51:36 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-03-06 21:51:45 +0100 <geekosaur> *somewhere between
2022-03-06 21:51:48 +0100 <lechner_> the whip
2022-03-06 21:53:10 +0100 <geekosaur> (what poercentage depends on the sector: it seems to be around 50-50 here in #haskell, but among commercial users it'scloser to 70%)
2022-03-06 21:53:17 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Remote host closed the connection)
2022-03-06 21:53:35 +0100tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2022-03-06 21:53:43 +0100 <lechner_> maybe debian and stackage should merge. debian has the infrastructure to test their sets, and also ships single versions
2022-03-06 21:54:03 +0100 <maerwald> lechner_: stackage is more ad-hoc than debian
2022-03-06 21:54:07 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 21:54:13 +0100 <maerwald> less process etc.
2022-03-06 21:54:15 +0100 <lechner_> that's where i come in
2022-03-06 21:54:23 +0100 <maerwald> most people don't know what distro work is like
2022-03-06 21:54:32 +0100 <sclv> i mean stackage just provides some subset of stuff that's all known to build together
2022-03-06 21:54:43 +0100geekosaurhas been there. it's a shitload of work
2022-03-06 21:54:47 +0100tzh_(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Remote host closed the connection)
2022-03-06 21:54:47 +0100 <sclv> so nix and other things start with a stackage release as a baseline
2022-03-06 21:54:53 +0100 <lechner_> it's exactly what i would like to do
2022-03-06 21:55:09 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-03-06 21:55:15 +0100 <geekosaur> haven't worked directly on a mainstream distro but did maintain a university internal distribution for a decade. that was bad enough even with alimited userbase
2022-03-06 21:55:45 +0100 <lechner_> geekosaur: i would deputize the stackage folks
2022-03-06 21:55:58 +0100 <maerwald> lechner_: the right person to talk to is snoyman, probably
2022-03-06 21:56:19 +0100 <lechner_> well, he is way above my pay grade
2022-03-06 21:56:40 +0100 <lechner_> it was just an idea anyway
2022-03-06 21:56:48 +0100 <lechner_> what os does he use?
2022-03-06 21:57:18 +0100dschrempf(~dominik@070-207.dynamic.dsl.fonira.net) (Quit: WeeChat 3.3)
2022-03-06 21:57:22 +0100 <sclv> lechner_: i'm not sure what exactly you're proposing or what the advantage is?
2022-03-06 21:57:41 +0100 <sclv> would it be fundamentally about helping stackage by letting it leverage debian's infrastructure?
2022-03-06 21:58:17 +0100 <lechner_> that would possibly be the advantage for them, yes
2022-03-06 21:58:24 +0100 <maerwald> I'd imagine that could create more coordination/communication issues than is worth for the stackage people
2022-03-06 21:59:15 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 21:59:42 +0100 <maerwald> it's a relatively small project compared to a distro and the investment isn't as high
2022-03-06 22:00:23 +0100 <lechner_> twenty-three release architectures!
2022-03-06 22:00:56 +0100kritzefitz(~kritzefit@debian/kritzefitz)
2022-03-06 22:01:31 +0100zer0bitz_(~zer0bitz@2001:2003:f74d:b800:c486:dc7e:8ce4:e6c9) (Read error: Connection reset by peer)
2022-03-06 22:01:40 +0100 <geekosaur> right, but you'll note stackage doesn't do per-architecture releases at all
2022-03-06 22:01:51 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 22:01:56 +0100 <sclv> most haskell code (except for bindings) doesn't really care about arch. if it builds on one arch it'll build on any arch
2022-03-06 22:01:56 +0100 <geekosaur> \which means a different set of tradeoffs. (also note that stackage thereby supports windows as well)
2022-03-06 22:01:58 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-03-06 22:02:19 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 256 seconds)
2022-03-06 22:02:42 +0100 <lechner_> neither does debian for unstable; only testing and stable release require advancement on all ports
2022-03-06 22:03:07 +0100 <geekosaur> stackage doesn't consider ports at all
2022-03-06 22:03:20 +0100cynomys(~cynomys@user/cynomys)
2022-03-06 22:03:46 +0100tzh_(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Ping timeout: 256 seconds)
2022-03-06 22:03:52 +0100 <lechner_> it may find bugs
2022-03-06 22:04:26 +0100 <maerwald> anything that's not C/C++ doesn't work too well on traditional package managers... some distros managed to get somewhat reasonable python support (which is already hard), but even less managed to get reasonable Haskell support
2022-03-06 22:04:35 +0100 <maerwald> and I think it's not worth it (wrt libraries at least)
2022-03-06 22:05:10 +0100 <geekosaur> especially since stack and cabal both are prone to ignore distribution libraries and use their own builds
2022-03-06 22:05:27 +0100 <geekosaur> thing is, this isn't actually that uncommon among languages other than C/C++
2022-03-06 22:05:37 +0100 <geekosaur> consider virtualenv and friends for python
2022-03-06 22:06:26 +0100 <geekosaur> developers often need to be more flexiblethan an OSdistribution can reasonably be
2022-03-06 22:08:19 +0100 <lechner_> that my be a myth. there is also a manpower issue.
2022-03-06 22:08:19 +0100 <maerwald> geekosaur: I dunno, I just got a bug report on ghcup issue tracker saying that it's non-idiomatic and *only* the package manager should install software xD
2022-03-06 22:10:11 +0100 <geekosaur> someone'sabout 2 decades behind the times
2022-03-06 22:10:24 +0100 <maerwald> "Just write normal packages. It’s much easier than this ugly hack."
2022-03-06 22:10:50 +0100 <dolio> Why aren't they?
2022-03-06 22:10:55 +0100 <maerwald> so at least there are different opinions :D
2022-03-06 22:10:56 +0100 <sclv> maerwald: respond "patches welcome"
2022-03-06 22:10:58 +0100cyphase(~cyphase@user/cyphase)
2022-03-06 22:11:02 +0100 <geekosaur> and has never written a normal package
2022-03-06 22:11:22 +0100 <geekosaur> or at least hasn't actually maintained it afterward
2022-03-06 22:11:47 +0100 <dolio> It doesn't even make sense to be a patch. It's just a completely different project.
2022-03-06 22:12:02 +0100 <sclv> thats-the-joke.gif
2022-03-06 22:12:16 +0100 <dolio> Oh sorry. :)
2022-03-06 22:12:45 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-03-06 22:13:20 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050) (Remote host closed the connection)
2022-03-06 22:13:51 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 22:15:14 +0100 <lechner_> Hi, how can I figure out which of these packages come with ghc, please? https://salsa.debian.org/haskell-team/hackage-tracker/-/blob/history/hackage-tracker.cabal#L25-34
2022-03-06 22:15:54 +0100 <sclv> https://gitlab.haskell.org/ghc/ghc/-/wikis/commentary/libraries/version-history
2022-03-06 22:16:09 +0100 <lechner_> or alternative, what does 'installed' mean here? https://www.stackage.org/lts-18.26/cabal.config
2022-03-06 22:16:43 +0100 <sclv> installed means "whatever version is already installed in the pkgdb"
2022-03-06 22:17:05 +0100 <maerwald> lechner_: `ghc-pkg list` on a "freshly installed GHC" also shows you the prepackaged libs.
2022-03-06 22:17:16 +0100 <geekosaur> but for the purposes of stackage means that those packages cannot be upgraded
2022-03-06 22:17:36 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao) (Ping timeout: 240 seconds)
2022-03-06 22:17:40 +0100 <geekosaur> which I believe only applies tobase, ghc, ghc-prim, and template-haskell
2022-03-06 22:17:51 +0100acidjnk(~acidjnk@p200300d0c70d8c985c6dbece2fe5bbc5.dip0.t-ipconnect.de)
2022-03-06 22:17:55 +0100 <geekosaur> because they're wired into the compiler
2022-03-06 22:18:53 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 22:18:53 +0100 <lechner_> because ghc ships what it uses itself?
2022-03-06 22:18:58 +0100 <sclv> stackage constrains a number of packages to "installed"
2022-03-06 22:19:20 +0100 <dolio> Does debian have a methodology for having multiple version sets for packages? Because that's what people do with stackage.
2022-03-06 22:19:25 +0100 <sclv> _however_ only some subset of those (a geeokosaur listed) are the ones that are actually non-upgradable
2022-03-06 22:19:31 +0100mikoto-chan(~mikoto-ch@213.177.151.239) (Ping timeout: 272 seconds)
2022-03-06 22:19:35 +0100LiaoTao(~LiaoTao@gateway/tor-sasl/liaotao)
2022-03-06 22:19:48 +0100 <dolio> One project might depend on a set with foo-X.Y, and another might depend on one with foo-X.Z.
2022-03-06 22:20:30 +0100 <dolio> And when a new set is released, not all projects upgrade at the same rate.
2022-03-06 22:20:36 +0100 <lechner_> dolio: we provide fixed version sets based on their stability. we call them releases
2022-03-06 22:20:48 +0100 <lechner_> but we have backports
2022-03-06 22:21:13 +0100alx741(~alx741@host-181-198-243-150.netlife.ec)
2022-03-06 22:21:24 +0100 <lechner_> as noted, that may not be flexible enough for development but it is great if you distribute
2022-03-06 22:21:36 +0100 <dolio> Yeah, but stack and cabal are for development.
2022-03-06 22:22:07 +0100 <lechner_> yes, but your work product may be intended for distribution
2022-03-06 22:22:53 +0100 <dolio> If someone were just using a Haskell program I might recommend that they get it from a distribution (unless it's out of date or something).
2022-03-06 22:23:01 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-03-06 22:23:59 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-03-06 22:24:13 +0100 <lechner_> Debian offers a lot more. you can configure graphically, or install system services and timers
2022-03-06 22:24:19 +0100 <lechner_> systemd
2022-03-06 22:24:23 +0100 <sclv> sure. nobody's saying this stuff replaces a distro
2022-03-06 22:24:25 +0100 <sclv> we all know that
2022-03-06 22:24:52 +0100 <sclv> we're just saying that devs want one workflow, and finished executables can then be built and packaged in a distribution in a different workflow
2022-03-06 22:24:54 +0100 <sclv> with different tools
2022-03-06 22:24:58 +0100 <sclv> and... its fine
2022-03-06 22:25:11 +0100 <lechner_> sorry, we were just chatting. it was not a pitch
2022-03-06 22:25:18 +0100 <maerwald> lechner_: most projects distribute either fully static haskell binaries (linked via musl on alpine) or use complicated nix configurations
2022-03-06 22:25:35 +0100 <sclv> i mean except for actual widely used open source haskell apps like pandoc
2022-03-06 22:25:35 +0100alx741(~alx741@host-181-198-243-150.netlife.ec) (Read error: Connection reset by peer)
2022-03-06 22:25:37 +0100 <dolio> Yeah, distros are great and valuable. They're just not designed to be build tools. And that's good, because they'd be a lot worse at their job then. :)
2022-03-06 22:25:38 +0100 <sclv> which distributions package just fine
2022-03-06 22:26:04 +0100 <lechner_> On Linode, Debian deploys in three seconds
2022-03-06 22:26:13 +0100 <lechner_> custom repo, and done
2022-03-06 22:26:26 +0100 <lechner_> no gpl required
2022-03-06 22:26:55 +0100 <lechner_> we are working on musl
2022-03-06 22:28:42 +0100coot(~coot@213.134.190.95) (Ping timeout: 256 seconds)
2022-03-06 22:29:31 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net)
2022-03-06 22:29:34 +0100 <lechner_> but i'll stop now. no need to antagonize you all. it just seemed like a synergy to me
2022-03-06 22:30:51 +0100 <geekosaur> you're not antagonizing, it's just that whilethere are some synergies, there are also a lot of differences
2022-03-06 22:32:18 +0100eggplantade(~Eggplanta@2600:1700:bef1:5e10:ddb1:758a:abd2:2050)
2022-03-06 22:32:29 +0100 <lechner_> i am always the most positive guy in the room
2022-03-06 22:33:22 +0100gehmehgeh(~user@user/gehmehgeh)
2022-03-06 22:33:34 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 22:33:48 +0100yauhsien(~yauhsien@61-231-30-36.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-03-06 22:35:43 +0100lbseale(~ep1ctetus@user/ep1ctetus)
2022-03-06 22:38:20 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 22:38:40 +0100rond_(~rond_@90.251.109.52) (Quit: Client closed)
2022-03-06 22:42:16 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd) (Ping timeout: 240 seconds)
2022-03-06 22:44:49 +0100dcoutts__(~duncan@host86-144-78-249.range86-144.btcentralplus.com)
2022-03-06 22:45:25 +0100 <maerwald> new stack release is out
2022-03-06 22:48:29 +0100lbseale(~ep1ctetus@user/ep1ctetus) (Read error: Connection reset by peer)
2022-03-06 22:48:52 +0100pavonia(~user@user/siracusa)
2022-03-06 22:49:27 +0100wyrd(~wyrd@gateway/tor-sasl/wyrd)
2022-03-06 22:51:22 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-03-06 22:55:23 +0100vorpuni(~pvorp@2001:861:3881:c690:1c84:d4a:1e89:fb0b) (Quit: bye)
2022-03-06 22:55:43 +0100pilipilihoho(~pilipilih@d154-20-227-112.bchsia.telus.net)
2022-03-06 22:56:08 +0100bahamas(~lucian@84.232.140.52)
2022-03-06 22:56:55 +0100vorpuni(~pvorp@2001:861:3881:c690:a9b4:7766:3796:4ab1)
2022-03-06 22:58:08 +0100son0p(~ff@181.136.122.143) (Remote host closed the connection)
2022-03-06 22:58:25 +0100pilipilihoho(~pilipilih@d154-20-227-112.bchsia.telus.net) (Client Quit)
2022-03-06 22:58:38 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 22:59:15 +0100son0p(~ff@181.136.122.143)
2022-03-06 22:59:25 +0100Pickchea(~private@user/pickchea) (Quit: Leaving)
2022-03-06 22:59:44 +0100 <ProfSimm> How to iterate the items in a set without suggesting a specific order of the items?
2022-03-06 23:01:00 +0100bahamas(~lucian@84.232.140.52) (Ping timeout: 256 seconds)
2022-03-06 23:03:16 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 23:03:16 +0100_ht(~quassel@231-169-21-31.ftth.glasoperator.nl) (Remote host closed the connection)
2022-03-06 23:04:53 +0100 <geekosaur> sets are inherently ordered
2022-03-06 23:05:10 +0100 <geekosaur> you may want a HashSet instead
2022-03-06 23:05:20 +0100 <geekosaur> look at the unordered-containers package
2022-03-06 23:06:06 +0100 <ProfSimm> geekosaur: how do we iterate unordered containers?
2022-03-06 23:06:18 +0100lavaman(~lavaman@98.38.249.169)
2022-03-06 23:06:51 +0100 <geekosaur> technically they are ordered but noassumption may be made about the ordering
2022-03-06 23:07:14 +0100 <geekosaur> (in this case it's underlain by a hash table and the ordering depends on the hash function for the type, which is opaque)
2022-03-06 23:08:00 +0100 <geekosaur> note that it is not a cryptographic hash, nor randomized
2022-03-06 23:08:37 +0100werneta_(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 256 seconds)
2022-03-06 23:08:46 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr)
2022-03-06 23:08:51 +0100 <ProfSimm> geekosaur: I'm trying to think of a way to reveal what items are in a set, without revealing any order, random or not
2022-03-06 23:08:59 +0100 <geekosaur> (in particular, while you aren't allowed ot rely on this, last I checked the hash function for an Int was modulus)
2022-03-06 23:09:26 +0100 <geekosaur> think really hard
2022-03-06 23:09:33 +0100 <ProfSimm> geekosaur: I am. Not helping.
2022-03-06 23:10:08 +0100gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2022-03-06 23:10:31 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-03-06 23:10:42 +0100vorpuni(~pvorp@2001:861:3881:c690:a9b4:7766:3796:4ab1) (Quit: bye)
2022-03-06 23:12:55 +0100 <geekosaur> the only way I can think of is a wrapper which randomizes the element order you get from the traversal
2022-03-06 23:13:18 +0100 <geekosaur> if it's really important to you then you'll want a crypto-strength random algorithm
2022-03-06 23:13:52 +0100 <geekosaur> because, no matter what, there will internally be *some* kind of order or it would be impossible to retrieve items from the set at all
2022-03-06 23:14:16 +0100 <ProfSimm> geekosaur: I'm thinking maybe some way to express a "parallel iterator" where it's impossible to discern in which order the handler of each item was executed
2022-03-06 23:15:23 +0100fendor(~fendor@91.141.40.111.wireless.dyn.drei.com) (Remote host closed the connection)
2022-03-06 23:17:00 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl)
2022-03-06 23:17:01 +0100 <geekosaur> that iis functionally the same as, but probably slower than, what I suggested
2022-03-06 23:18:45 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 23:18:49 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa) (Remote host closed the connection)
2022-03-06 23:21:58 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net) (Ping timeout: 256 seconds)
2022-03-06 23:22:04 +0100vorpuni(~pvorp@2001:861:3881:c690:6087:4839:e849:d145)
2022-03-06 23:23:40 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 256 seconds)
2022-03-06 23:25:18 +0100geranim0(~geranim0@modemcable242.171-178-173.mc.videotron.ca) (Quit: Leaving)
2022-03-06 23:25:26 +0100Inst(~delicacie@c-98-208-218-119.hsd1.fl.comcast.net)
2022-03-06 23:25:27 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-03-06 23:30:09 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com)
2022-03-06 23:31:06 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2022-03-06 23:31:17 +0100notzmv(~zmv@user/notzmv) (Ping timeout: 268 seconds)
2022-03-06 23:36:27 +0100 <jackdk> ProfSimm: consider the story of Sussman, Minsky, and the Tic-Tac-Toe neural net: https://foldoc.org/AI+koan
2022-03-06 23:38:10 +0100 <ProfSimm> geekosaur: randomness is not free either
2022-03-06 23:38:32 +0100 <ProfSimm> geekosaur: parallel execution can be simulated, just isolate the operator from the environment
2022-03-06 23:38:55 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 23:40:03 +0100 <ProfSimm> jackdk: I was enlightened, but the lesson seems to be "f*** you, there's always an order"
2022-03-06 23:40:17 +0100 <geekosaur> which is what I already told you
2022-03-06 23:40:29 +0100son0p(~ff@181.136.122.143) (Remote host closed the connection)
2022-03-06 23:40:40 +0100 <ProfSimm> geekosaur: I refuse!
2022-03-06 23:41:11 +0100 <ProfSimm> geekosaur: I'm thinking more along the lines of, let's take all set values, and xor them together, but now how to disentangle that :P
2022-03-06 23:41:18 +0100 <ski> the order can matter sometimes, and sometimes not matter
2022-03-06 23:41:45 +0100 <ProfSimm> ski: I want to ensure it's impossible to derive any order while getting the set contents, whether it matters or not
2022-03-06 23:42:01 +0100 <ProfSimm> ski: an API where no order can be derived, no matter significant or not
2022-03-06 23:42:13 +0100liz(~liz@2a00:23c5:9680:501:b62e:99ff:fee4:47fa)
2022-03-06 23:42:13 +0100 <lechner_> is that possible without randomization?
2022-03-06 23:42:37 +0100 <ProfSimm> We could aggregate the values using commutative operations, like + and xor, and so on, and provide that to the user.
2022-03-06 23:42:44 +0100 <ProfSimm> And somehow they should disentangle it
2022-03-06 23:42:46 +0100 <ProfSimm> :P
2022-03-06 23:43:05 +0100 <ProfSimm> So what commutative operations can there be that work for arbitrary symbols
2022-03-06 23:43:30 +0100mcgroin(~mcgroin@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 256 seconds)
2022-03-06 23:43:42 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-03-06 23:43:45 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 23:43:45 +0100 <ski> take unordered pairs over some type `A'. we can represent an unordered pair `{|x,y|}' by an ordered pair `(x,y)', such that, whenever you're trying to use (take apart) the unordered pair, with some function `f', so that you're computing `f (x,y)', you're only allowed to do this for a commutative `f', iow where `f (x,y) = f (y,x)'. that way, the representation of the unordered pair could involve a particular
2022-03-06 23:43:46 +0100 <ProfSimm> We can return all values of the set at once. And when you apply some argument to it, it's applies to all items in the set at once
2022-03-06 23:43:51 +0100 <ski> ordering, but you're not allowed to depend on that ordering
2022-03-06 23:43:58 +0100 <jackdk> ProfSimm: Exactly.
2022-03-06 23:44:09 +0100alp(~alp@user/alp) (Remote host closed the connection)
2022-03-06 23:44:29 +0100alp(~alp@user/alp)
2022-03-06 23:44:59 +0100 <ski> you can express this (`f' being commutative) with dependent types
2022-03-06 23:45:19 +0100 <ProfSimm> ski, gears are turning slowly but I'll probably fail you here
2022-03-06 23:45:58 +0100burnsidesLlama(~burnsides@rrcs-76-81-82-250.west.biz.rr.com) (Remote host closed the connection)
2022-03-06 23:46:08 +0100Tuplanolla(~Tuplanoll@91-159-69-98.elisa-laajakaista.fi) (Quit: Leaving.)
2022-03-06 23:46:08 +0100 <ski> (you should also make sure you distinguish between material sets and structural sets)
2022-03-06 23:46:13 +0100 <ProfSimm> ski: so the result of "f" should be the same regardless of argument order. OK but how would that function itself work
2022-03-06 23:46:28 +0100 <ski> that's up to the user of the unordered pair
2022-03-06 23:47:17 +0100 <ProfSimm> ski: I'm thinking what if the receiver of the set applies from a set of arbitrary "discriminators" until they get one result after a certain distriminator. Only then they can read the set value
2022-03-06 23:47:33 +0100 <ProfSimm> ski: this way the caller determines the order of reading, not the set or its implementation
2022-03-06 23:47:35 +0100 <ski> btw, one way to represent a (finite) multiset/bag of numbers is as a polynomial, that have those numbers as roots
2022-03-06 23:47:43 +0100vorpuni(~pvorp@2001:861:3881:c690:6087:4839:e849:d145) (Quit: bye)
2022-03-06 23:48:05 +0100 <ProfSimm> ah
2022-03-06 23:48:18 +0100 <ski> no idea what you mean by those "discriminators"
2022-03-06 23:48:20 +0100 <ProfSimm> yeah
2022-03-06 23:48:55 +0100 <ProfSimm> ski: filters of some sort, that would filter the set down and down until we get one value.
2022-03-06 23:49:07 +0100 <ProfSimm> ski: and do so deterministically and regardless of the order of the set
2022-03-06 23:49:46 +0100skistares blankly
2022-03-06 23:49:49 +0100 <lechner_> where is the "regardless" coming from?
2022-03-06 23:50:04 +0100 <romesrf> can anyone point me to literature on the `newtype`
2022-03-06 23:50:07 +0100 <romesrf> is it zero cost?
2022-03-06 23:50:40 +0100 <ProfSimm> lechner_: the regardless is coming from it being like a filter operation on every item of the set, not processing them in order
2022-03-06 23:51:35 +0100 <ski> romesrf : given `newtype Foo = MkFoo Bar', `MkFoo myBar' is represented in the same way as `myBar', yes
2022-03-06 23:51:58 +0100 <romesrf> ski: truly amazing :)
2022-03-06 23:51:59 +0100merijn(~merijn@c-001-001-005.client.esciencecenter.eduvpn.nl) (Ping timeout: 272 seconds)
2022-03-06 23:52:23 +0100 <ski> this means that `MkFoo' is strict (iow `MkFoo _|_ = _|_'), is a no-op, and matching on it is also a no-op
2022-03-06 23:52:35 +0100 <lechner_> ProfSimm: does a filter impose an order?
2022-03-06 23:53:01 +0100 <justsomeguy> What is the cost of creating a new datatype using the data keyword, anywys? Does it exist in memory, even if it isn't used?
2022-03-06 23:53:05 +0100 <ProfSimm> ski: in essense it's a function, that when given a set, can assign a cost to each value in the set, order it by that cost, and pick the item with highest cost
2022-03-06 23:53:29 +0100 <ProfSimm> ski: there "cost" is not anything meaningful, except that it should be computable from each individual item
2022-03-06 23:53:29 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Quit: ERC (IRC client for Emacs 27.1))
2022-03-06 23:53:37 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net)
2022-03-06 23:53:51 +0100 <ProfSimm> lechner_: it doesn't
2022-03-06 23:54:16 +0100 <lechner_> you just wrote it orders by cost
2022-03-06 23:54:36 +0100 <ski> (as opposed to `data Foo = MkFoo !Bar', where `MkFoo' is also strict, but matching on it is not a no-op)
2022-03-06 23:54:37 +0100 <ProfSimm> My problem is not an order in general. It's an order that comes from the set
2022-03-06 23:55:01 +0100 <geekosaur> justsomeguy, just declaring it costsonly some memory during compilation, and an info table at runtime which tells the garbage collector how to deal with any values of that type it finds
2022-03-06 23:55:13 +0100 <geekosaur> the info table is small and shared among all valuesof that type
2022-03-06 23:55:33 +0100 <ProfSimm> lechner_: let's imagine we have two parties here. Set and Caller (working with the set). I want the Set to reveal its members, but without any specific order. Then the Caller has to sort them for itself to iterate them,
2022-03-06 23:55:39 +0100 <ski> ProfSimm : what is a cost ?
2022-03-06 23:55:44 +0100 <ProfSimm> ski: some number
2022-03-06 23:55:52 +0100 <ski> integer ?
2022-03-06 23:55:55 +0100 <ski> real number ?
2022-03-06 23:56:17 +0100 <lechner_> ProfSimm: and do the relative costs not relate directly to the composition of each set?
2022-03-06 23:56:23 +0100 <ProfSimm> ski: well the odds of two items with the same cost should be basically 0. so doesn't matter if it's int or float, but it should be large enough
2022-03-06 23:56:42 +0100 <ski> ProfSimm : usually it'd be preferable (more efficient) not to insist on ordering
2022-03-06 23:56:52 +0100 <ProfSimm> lechner_: it's an absolute cost, not relative
2022-03-06 23:57:00 +0100jinsun__(~jinsun@user/jinsun)
2022-03-06 23:57:25 +0100 <ProfSimm> ski: yes but I have no way for a set to express its content without doing it in some order.
2022-03-06 23:57:45 +0100 <ski> why not what i sketched above ?
2022-03-06 23:58:18 +0100niekvandepas(~niekvande@77-161-122-185.fixed.kpn.net) (Ping timeout: 272 seconds)
2022-03-06 23:58:21 +0100 <ski> provide the elements in some order, while forbidding the consumer from depending on the particular ordering
2022-03-06 23:58:40 +0100 <ProfSimm> ski: well, the end goal is the consumer can understand what items are in the set
2022-03-06 23:58:46 +0100 <ski> ProfSimm : btw, real numbers do not have decidable ordering
2022-03-06 23:59:12 +0100 <ProfSimm> ski: let's make it a 128-bit hash integer then