2022/01/01

2022-01-01 00:04:02 +0100juri_(~juri@178.63.35.222) (Ping timeout: 240 seconds)
2022-01-01 00:07:37 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-01 00:08:26 +0100kotshie_(~kotshie@68.72.208.140)
2022-01-01 00:08:37 +0100res0nat0r0(~Fletch@dia.whatbox.ca)
2022-01-01 00:08:50 +0100iteratee_(~kyle@162.218.222.107)
2022-01-01 00:08:51 +0100wroathe_(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 00:08:55 +0100drdo8(~drdo@144.172.69.89)
2022-01-01 00:08:56 +0100mcglk_(~mcglk@131.191.49.120)
2022-01-01 00:09:56 +0100jrm2(~jrm@156.34.249.199)
2022-01-01 00:10:11 +0100zero(~z@user/zero)
2022-01-01 00:10:15 +0100Digitteknohippie(~user@user/digit)
2022-01-01 00:10:25 +0100hexeme(~hexeme@user/hexeme)
2022-01-01 00:10:40 +0100hgolden_(~hgolden2@cpe-172-114-81-123.socal.res.rr.com)
2022-01-01 00:11:12 +0100psudosphere(~quassel@31.220.5.250)
2022-01-01 00:11:17 +0100turlando_(~turlando@93-42-250-112.ip89.fastwebnet.it)
2022-01-01 00:11:48 +0100ianon(~igloo@c-68-83-22-43.hsd1.nj.comcast.net)
2022-01-01 00:11:50 +0100ianon(~igloo@c-68-83-22-43.hsd1.nj.comcast.net) (Client Quit)
2022-01-01 00:12:01 +0100eco_(~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com)
2022-01-01 00:12:05 +0100werneta_(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-01-01 00:12:10 +0100opqdonut_(opqdonut@pseudo.fixme.fi)
2022-01-01 00:12:11 +0100qwedfg(~qwedfg@user/qwedfg)
2022-01-01 00:12:12 +0100bliminse_(~bliminse@host86-186-17-7.range86-186.btcentralplus.com)
2022-01-01 00:12:31 +0100Maxdaman1us(~Maxdamant@user/maxdamantus)
2022-01-01 00:12:42 +0100exarkun_(~exarkun@user/exarkun)
2022-01-01 00:12:42 +0100ezzieygu1wuf(~Unknown@user/ezzieyguywuf)
2022-01-01 00:12:43 +0100xdej_(~xdej@quatramaran.salle-s.org)
2022-01-01 00:12:48 +0100Hawker_(~pi@user/hawker)
2022-01-01 00:12:53 +0100WzC(~Frank@77-162-168-71.fixed.kpn.net)
2022-01-01 00:12:55 +0100xff0x_(~xff0x@2001:1a81:52ba:da00:768d:77e:35d:d86a)
2022-01-01 00:13:00 +0100w1gz_(~do@159.89.11.133)
2022-01-01 00:13:25 +0100mstksg(~jle`@cpe-23-240-75-236.socal.res.rr.com)
2022-01-01 00:14:16 +0100lechner_(~lechner@debian/lechner)
2022-01-01 00:14:47 +0100fjmorazan_(~quassel@user/fjmorazan)
2022-01-01 00:15:33 +0100infinity0_(~infinity0@occupy.ecodis.net)
2022-01-01 00:15:37 +0100infinity0(~infinity0@occupy.ecodis.net) (Killed (calcium.libera.chat (Nickname regained by services)))
2022-01-01 00:15:37 +0100infinity0_infinity0
2022-01-01 00:16:01 +0100otherwise(~otherwise@2601:602:880:90f0:45d:4609:aef0:450a)
2022-01-01 00:16:04 +0100dka_(~code-is-a@ns3059207.ip-193-70-33.eu)
2022-01-01 00:16:10 +0100cyphase_eviltwin(~cyphase@user/cyphase)
2022-01-01 00:17:28 +0100wroathe(~wroathe@user/wroathe) (*.net *.split)
2022-01-01 00:17:28 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (*.net *.split)
2022-01-01 00:17:28 +0100juhp(~juhp@128.106.188.82) (*.net *.split)
2022-01-01 00:17:28 +0100antanananananas(~textual@78-63-84-180.static.zebra.lt) (*.net *.split)
2022-01-01 00:17:28 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (*.net *.split)
2022-01-01 00:17:28 +0100Akiva(~Akiva@user/Akiva) (*.net *.split)
2022-01-01 00:17:28 +0100python476(~user@88.160.31.174) (*.net *.split)
2022-01-01 00:17:28 +0100vglfr(~vglfr@88.155.60.141) (*.net *.split)
2022-01-01 00:17:28 +0100kotshie(~kotshie@68.72.208.140) (*.net *.split)
2022-01-01 00:17:28 +0100cyphase(~cyphase@user/cyphase) (*.net *.split)
2022-01-01 00:17:28 +0100slowButPresent(~slowButPr@user/slowbutpresent) (*.net *.split)
2022-01-01 00:17:28 +0100Tuplanolla(~Tuplanoll@91-159-69-90.elisa-laajakaista.fi) (*.net *.split)
2022-01-01 00:17:28 +0100drdo(~drdo@144.172.69.89) (*.net *.split)
2022-01-01 00:17:28 +0100xff0x(~xff0x@port-92-195-29-230.dynamic.as20676.net) (*.net *.split)
2022-01-01 00:17:28 +0100zmt00(~zmt00@user/zmt00) (*.net *.split)
2022-01-01 00:17:28 +0100cheater(~Username@user/cheater) (*.net *.split)
2022-01-01 00:17:28 +0100ezzieyguywuf(~Unknown@user/ezzieyguywuf) (*.net *.split)
2022-01-01 00:17:28 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (*.net *.split)
2022-01-01 00:17:28 +0100tomku(~tomku@user/tomku) (*.net *.split)
2022-01-01 00:17:28 +0100kmein(~weechat@user/kmein) (*.net *.split)
2022-01-01 00:17:28 +0100foul_owl(~kerry@94.140.8.106) (*.net *.split)
2022-01-01 00:17:28 +0100hyiltiz(~quassel@31.220.5.250) (*.net *.split)
2022-01-01 00:17:28 +0100x88x88x(~x88x88x@149.28.53.172) (*.net *.split)
2022-01-01 00:17:28 +0100fjmorazan(~quassel@user/fjmorazan) (*.net *.split)
2022-01-01 00:17:28 +0100AlexZenon(~alzenon@94.233.241.181) (*.net *.split)
2022-01-01 00:17:28 +0100qwedfg_(~qwedfg@user/qwedfg) (*.net *.split)
2022-01-01 00:17:28 +0100jle`(~jle`@cpe-23-240-75-236.socal.res.rr.com) (*.net *.split)
2022-01-01 00:17:28 +0100bliminse(~bliminse@host86-186-17-7.range86-186.btcentralplus.com) (*.net *.split)
2022-01-01 00:17:28 +0100obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl) (*.net *.split)
2022-01-01 00:17:28 +0100turlando(~turlando@user/turlando) (*.net *.split)
2022-01-01 00:17:28 +0100xlei(~akans@pool-68-129-84-118.nycmny.fios.verizon.net) (*.net *.split)
2022-01-01 00:17:28 +0100sim590(~simon@modemcable090.207-203-24.mc.videotron.ca) (*.net *.split)
2022-01-01 00:17:28 +0100Digit(~user@user/digit) (*.net *.split)
2022-01-01 00:17:28 +0100Inoperable(~PLAYER_1@fancydata.science) (*.net *.split)
2022-01-01 00:17:28 +0100lechner(~lechner@debian/lechner) (*.net *.split)
2022-01-01 00:17:28 +0100L29Ah(~L29Ah@wikipedia/L29Ah) (*.net *.split)
2022-01-01 00:17:28 +0100dka(~code-is-a@ns3059207.ip-193-70-33.eu) (*.net *.split)
2022-01-01 00:17:28 +0100lambdabot(~lambdabot@haskell/bot/lambdabot) (*.net *.split)
2022-01-01 00:17:28 +0100dextaa(~DV@user/dextaa) (*.net *.split)
2022-01-01 00:17:28 +0100mcglk(~mcglk@131.191.49.120) (*.net *.split)
2022-01-01 00:17:28 +0100Maxdamantus(~Maxdamant@user/maxdamantus) (*.net *.split)
2022-01-01 00:17:28 +0100lambdap(~lambdap@static.167.190.119.168.clients.your-server.de) (*.net *.split)
2022-01-01 00:17:28 +0100finsternis(~X@23.226.237.192) (*.net *.split)
2022-01-01 00:17:28 +0100iteratee(~kyle@162.218.222.107) (*.net *.split)
2022-01-01 00:17:28 +0100Noinia(~Frank@77-162-168-71.fixed.kpn.net) (*.net *.split)
2022-01-01 00:17:28 +0100adamCS(~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split)
2022-01-01 00:17:28 +0100dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net) (*.net *.split)
2022-01-01 00:17:28 +0100hgolden(~hgolden2@cpe-172-114-81-123.socal.res.rr.com) (*.net *.split)
2022-01-01 00:17:28 +0100zzz(~z@user/zero) (*.net *.split)
2022-01-01 00:17:28 +0100acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net) (*.net *.split)
2022-01-01 00:17:28 +0100rookie101(~rookie@165.232.121.13) (*.net *.split)
2022-01-01 00:17:28 +0100w1gz(~do@159.89.11.133) (*.net *.split)
2022-01-01 00:17:28 +0100Hawker(~pi@user/hawker) (*.net *.split)
2022-01-01 00:17:28 +0100int-e(~noone@int-e.eu) (*.net *.split)
2022-01-01 00:17:28 +0100Taneb(~Taneb@runciman.hacksoc.org) (*.net *.split)
2022-01-01 00:17:28 +0100exarkun(~exarkun@user/exarkun) (*.net *.split)
2022-01-01 00:17:28 +0100jrm(~jrm@156.34.249.199) (*.net *.split)
2022-01-01 00:17:28 +0100maerwald(~maerwald@mail.hasufell.de) (*.net *.split)
2022-01-01 00:17:28 +0100wz1000(~zubin@static.11.113.47.78.clients.your-server.de) (*.net *.split)
2022-01-01 00:17:29 +0100opqdonut(~opqdonut@91.105.251.154) (*.net *.split)
2022-01-01 00:17:29 +0100Typedfern(~Typedfern@75.red-88-22-25.staticip.rima-tde.net) (*.net *.split)
2022-01-01 00:17:29 +0100res0nat0r(~Fletch@dia.whatbox.ca) (*.net *.split)
2022-01-01 00:17:29 +0100xdej(~xdej@quatramaran.salle-s.org) (*.net *.split)
2022-01-01 00:17:29 +0100eco(~ubuntu@ec2-54-201-230-197.us-west-2.compute.amazonaws.com) (*.net *.split)
2022-01-01 00:17:29 +0100ldlework(~hexeme@user/hexeme) (*.net *.split)
2022-01-01 00:17:29 +0100joeyh(~joeyh@kitenet.net) (*.net *.split)
2022-01-01 00:17:29 +0100Clint(~Clint@user/clint) (*.net *.split)
2022-01-01 00:17:29 +0100canta(~canta@user/canta) (*.net *.split)
2022-01-01 00:17:29 +0100drewolson(~drewolson@user/drewolson) (*.net *.split)
2022-01-01 00:17:29 +0100PigDude(~PigDude@159.203.16.199) (*.net *.split)
2022-01-01 00:17:29 +0100hrdl(~hrdl@mail.hrdl.eu) (*.net *.split)
2022-01-01 00:17:29 +0100niko(~niko@libera/staff/niko) (*.net *.split)
2022-01-01 00:17:29 +0100nisstyre(~wes@user/nisstyre) (*.net *.split)
2022-01-01 00:17:29 +0100jrm2jrm
2022-01-01 00:17:34 +0100drdo8drdo
2022-01-01 00:17:39 +0100adamCS(~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
2022-01-01 00:18:41 +0100In0perable(~PLAYER_1@fancydata.science)
2022-01-01 00:20:17 +0100otherwise(~otherwise@2601:602:880:90f0:45d:4609:aef0:450a) (Ping timeout: 240 seconds)
2022-01-01 00:20:25 +0100AlexZenon(~alzenon@94.233.241.181)
2022-01-01 00:20:25 +0100finsternis(~X@23.226.237.192)
2022-01-01 00:20:25 +0100tomku(~tomku@user/tomku)
2022-01-01 00:20:25 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-01 00:20:25 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-01-01 00:20:25 +0100python476(~user@88.160.31.174)
2022-01-01 00:20:25 +0100vglfr(~vglfr@88.155.60.141)
2022-01-01 00:20:25 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-01-01 00:20:25 +0100zmt00(~zmt00@user/zmt00)
2022-01-01 00:20:25 +0100cheater(~Username@user/cheater)
2022-01-01 00:20:25 +0100kmein(~weechat@user/kmein)
2022-01-01 00:20:25 +0100foul_owl(~kerry@94.140.8.106)
2022-01-01 00:20:25 +0100x88x88x(~x88x88x@149.28.53.172)
2022-01-01 00:20:25 +0100obfusk(~quassel@a82-161-150-56.adsl.xs4all.nl)
2022-01-01 00:20:25 +0100xlei(~akans@pool-68-129-84-118.nycmny.fios.verizon.net)
2022-01-01 00:20:25 +0100sim590(~simon@modemcable090.207-203-24.mc.videotron.ca)
2022-01-01 00:20:25 +0100lambdabot(~lambdabot@haskell/bot/lambdabot)
2022-01-01 00:20:25 +0100dextaa(~DV@user/dextaa)
2022-01-01 00:20:25 +0100lambdap(~lambdap@static.167.190.119.168.clients.your-server.de)
2022-01-01 00:20:25 +0100dtman34(~dtman34@c-73-62-246-247.hsd1.mn.comcast.net)
2022-01-01 00:20:25 +0100acowley(~acowley@c-68-83-22-43.hsd1.nj.comcast.net)
2022-01-01 00:20:25 +0100int-e(~noone@int-e.eu)
2022-01-01 00:20:25 +0100Taneb(~Taneb@runciman.hacksoc.org)
2022-01-01 00:20:25 +0100maerwald(~maerwald@mail.hasufell.de)
2022-01-01 00:20:25 +0100wz1000(~zubin@static.11.113.47.78.clients.your-server.de)
2022-01-01 00:20:25 +0100Typedfern(~Typedfern@75.red-88-22-25.staticip.rima-tde.net)
2022-01-01 00:20:25 +0100joeyh(~joeyh@kitenet.net)
2022-01-01 00:20:25 +0100Clint(~Clint@user/clint)
2022-01-01 00:20:25 +0100canta(~canta@user/canta)
2022-01-01 00:20:25 +0100drewolson(~drewolson@user/drewolson)
2022-01-01 00:20:25 +0100PigDude(~PigDude@159.203.16.199)
2022-01-01 00:20:25 +0100hrdl(~hrdl@mail.hrdl.eu)
2022-01-01 00:20:25 +0100niko(~niko@libera/staff/niko)
2022-01-01 00:20:25 +0100nisstyre(~wes@user/nisstyre)
2022-01-01 00:20:27 +0100finsternis(~X@23.226.237.192) (Max SendQ exceeded)
2022-01-01 00:20:44 +0100finsternis(~X@23.226.237.192)
2022-01-01 00:21:50 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-01-01 00:24:09 +0100rookie101(~rookie@165.232.121.13)
2022-01-01 00:24:52 +0100Tuplanolla(~Tuplanoll@91-159-69-90.elisa-laajakaista.fi)
2022-01-01 00:24:58 +0100Akiva(~Akiva@user/Akiva)
2022-01-01 00:25:02 +0100bollu_(uid233390@id-233390.helmsley.irccloud.com)
2022-01-01 00:25:59 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-01-01 00:26:06 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 00:26:12 +0100azimut(~azimut@gateway/tor-sasl/azimut) (Ping timeout: 276 seconds)
2022-01-01 00:31:35 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 00:31:36 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2022-01-01 00:35:16 +0100 <ProfSimm> What would be the functional expression of a relational database I wonder
2022-01-01 00:35:31 +0100 <ProfSimm> Also happy new year, and yes this is what I most care about right now
2022-01-01 00:40:18 +0100 <EvanR> http://blog.ezyang.com/2010/06/databases-are-categories/
2022-01-01 00:41:12 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-01 00:41:44 +0100 <hpc> no https :(
2022-01-01 00:42:31 +0100 <hpc> oh, relational algebra might also be good to read up on
2022-01-01 00:42:49 +0100otherwise(~otherwise@c-71-231-39-206.hsd1.wa.comcast.net)
2022-01-01 00:43:20 +0100 <hpc> then a query is a function (table -> table)
2022-01-01 00:43:24 +0100 <hpc> plus or minus joins
2022-01-01 00:43:33 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2022-01-01 00:43:33 +0100 <EvanR> very relational https://free.cofree.io/2019/07/31/beautiful-bridges/
2022-01-01 00:43:48 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-01 00:43:51 +0100zincy_(~zincy@2a00:23c8:970c:4801:b868:7e50:825e:321f)
2022-01-01 00:44:12 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-01 00:44:36 +0100neurocyte0132889(~neurocyte@IP-045136168007.dynamic.medianet-world.de)
2022-01-01 00:44:36 +0100neurocyte0132889(~neurocyte@IP-045136168007.dynamic.medianet-world.de) (Changing host)
2022-01-01 00:44:36 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2022-01-01 00:44:44 +0100acidjnk(~acidjnk@p200300d0c7271e281077e1a745617169.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-01-01 00:44:44 +0100acidjnk_new(~acidjnk@p200300d0c7271e281077e1a745617169.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2022-01-01 00:47:01 +0100Jing(~hedgehog@2604:a840:3::1013) (Remote host closed the connection)
2022-01-01 00:47:55 +0100Jing(~hedgehog@2604:a840:3::1013)
2022-01-01 00:48:23 +0100otherwise(~otherwise@c-71-231-39-206.hsd1.wa.comcast.net) ()
2022-01-01 00:48:48 +0100 <EvanR> >In fact, a database upgrade (schema and data), or in fact an arbitrary transition from one format to another, is merely a natural transformation!
2022-01-01 00:57:24 +0100 <ProfSimm> I dislike the separation of type and value. Can't we somehow combine both in one expression. So we could pass type parameters same as we pass normal parameters
2022-01-01 00:57:41 +0100 <geekosaur> that's coming soon
2022-01-01 00:57:52 +0100 <ProfSimm> Is it?
2022-01-01 00:58:05 +0100 <geekosaur> foo :: forall t -> Bar -> ...
2022-01-01 00:58:24 +0100 <ProfSimm> I mean, why even need the :: operator
2022-01-01 00:58:26 +0100 <geekosaur> there will be some limits because Haskell is still not a dependently typed language
2022-01-01 00:58:31 +0100 <ProfSimm> I wanna somehow remove the barrier
2022-01-01 00:58:39 +0100 <geekosaur> if that's what you are looking for, try Idris
2022-01-01 00:59:42 +0100 <geekosaur> you cannot "simply" remove the barrier, dependent Haskell is still somewhere in the far-ish future
2022-01-01 00:59:52 +0100 <geekosaur> Idris is as close as you can get currently
2022-01-01 01:00:18 +0100 <EvanR> as an example of how idris streamlines things, the type level pair, type level list is not a promoted datakind, it's literally the pair and list that you would use on values
2022-01-01 01:01:07 +0100__monty__(~toonn@user/toonn) (Quit: leaving)
2022-01-01 01:01:07 +0100lavaman(~lavaman@98.38.249.169) (Read error: Connection reset by peer)
2022-01-01 01:01:40 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 01:02:07 +0100________________(~textual@node-1w7jr9qkwjp05lc932j6d6xa7.ipv6.telus.net) (Quit: Textual IRC Client: www.textualapp.com)
2022-01-01 01:02:09 +0100 <monochrom> @quote monochrom poor.*dependent
2022-01-01 01:02:10 +0100 <lambdabot> monochrom says: dynamic type is poor man's dependent type, they are so poor they can't buy a theorem prover.
2022-01-01 01:02:12 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293)
2022-01-01 01:02:22 +0100 <ProfSimm> The way I imagine it is that you assign a type directly to a variable, and it has this abstract constraint now. From that point on you can only assign a more constrained type on it until it gets assigned a specific value
2022-01-01 01:02:54 +0100 <hpc> idris 2 also has linear types, which is pretty cool too
2022-01-01 01:03:20 +0100 <EvanR> you can 'assign' types to variables in idris, as if they were values
2022-01-01 01:03:54 +0100 <EvanR> they are allowed in the same places as values, as long as their types match up (types have types)
2022-01-01 01:03:58 +0100 <geekosaur> although the notion of assigning more and more constraining types until you reach values sounds more like "gradual typing" to me
2022-01-01 01:05:15 +0100zincy_(~zincy@2a00:23c8:970c:4801:b868:7e50:825e:321f) (Remote host closed the connection)
2022-01-01 01:05:19 +0100 <geekosaur> one problem with doing that in Haskell is that a type is what you promise to others, whereas a value is what you actually do
2022-01-01 01:05:59 +0100 <monochrom> Hee hee why write programs if we expect proof erasure anyway >:)
2022-01-01 01:06:00 +0100 <geekosaur> this has crucial differences when what you promise to others is that you will accept "any X such that…"
2022-01-01 01:06:44 +0100 <geekosaur> you are not in this case refining a type, you are implementing a contract
2022-01-01 01:07:53 +0100DNH(~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403)
2022-01-01 01:08:10 +0100hexemeldlework
2022-01-01 01:08:19 +0100 <geekosaur> how you implement it is your business as long as you obey the terms of the contract
2022-01-01 01:10:58 +0100 <geekosaur> it'd actually make more sense if the contract were passed in, as opposed to "refining assignment" as you're thinking of
2022-01-01 01:11:21 +0100 <geekosaur> that is, the contract comes from the caller, the implementation is the callee
2022-01-01 01:15:12 +0100esoca123(uid534098@id-534098.tinside.irccloud.com)
2022-01-01 01:15:13 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-01 01:17:29 +0100 <geekosaur> actually I guess that's backwards. the type (contract) goes out, the implementation goes in
2022-01-01 01:19:25 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 240 seconds)
2022-01-01 01:20:57 +0100wroathe_(~wroathe@206-55-188-8.fttp.usinternet.com) (Ping timeout: 240 seconds)
2022-01-01 01:20:57 +0100 <ProfSimm> I wonder can we do something to combine assignment and comparison for equality in one operator and action
2022-01-01 01:21:08 +0100the_proffesor(~theproffe@2601:282:847f:8010::85ac)
2022-01-01 01:21:08 +0100the_proffesor(~theproffe@2601:282:847f:8010::85ac) (Changing host)
2022-01-01 01:21:08 +0100the_proffesor(~theproffe@user/theproffesor)
2022-01-01 01:21:32 +0100 <ProfSimm> I mean if something is unassigned, then you assign it 5, it equals 5. So.
2022-01-01 01:21:43 +0100 <ProfSimm> The comparison is true automaticlaly
2022-01-01 01:21:43 +0100 <EvanR> if it were C it would be spelled ===
2022-01-01 01:21:57 +0100theproffesor(~theproffe@user/theproffesor) (Ping timeout: 240 seconds)
2022-01-01 01:22:19 +0100 <EvanR> and pronounced, equaliquals
2022-01-01 01:22:21 +0100 <geekosaur> you seem to be looking for a lot of not-Haskell
2022-01-01 01:22:32 +0100 <geekosaur> I mean, the whole concept of that goes against immutable data
2022-01-01 01:23:46 +0100theproffesor_(~theproffe@2601:282:847f:8010::85ac)
2022-01-01 01:23:48 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2022-01-01 01:23:55 +0100the_proffesor(~theproffe@user/theproffesor) (Remote host closed the connection)
2022-01-01 01:25:21 +0100 <EvanR> haskell doesn't feature "unassigned" variables
2022-01-01 01:26:00 +0100 <EvanR> they are always bound to something, even if sometimes it is an error value or something
2022-01-01 01:26:26 +0100theproffesor_(~theproffe@2601:282:847f:8010::85ac) (Read error: Connection reset by peer)
2022-01-01 01:26:45 +0100theproffesor_(~theproffe@2601:282:847f:8010::85ac)
2022-01-01 01:28:24 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2022-01-01 01:28:35 +0100 <EvanR> s/feature/bug/
2022-01-01 01:32:27 +0100Jing(~hedgehog@2604:a840:3::1013) (Remote host closed the connection)
2022-01-01 01:32:29 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 01:32:29 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 01:32:29 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 01:34:13 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 240 seconds)
2022-01-01 01:36:15 +0100max22-(~maxime@2a01cb0883359800912ec9454e10c944.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-01-01 01:36:17 +0100Jing(~hedgehog@2604:a840:3::1013)
2022-01-01 01:36:20 +0100 <EvanR> too bad lambdabot doesn't have Data.Time so we can play with the date
2022-01-01 01:36:48 +0100 <monochrom> Wait, what do you want to play with the date?
2022-01-01 01:37:16 +0100 <geekosaur> % import Data.Time
2022-01-01 01:37:16 +0100 <yahb> geekosaur:
2022-01-01 01:37:21 +0100 <geekosaur> go nuts
2022-01-01 01:37:28 +0100max22-(~maxime@2a01cb08833598005a78fa8a594f3623.ipv6.abo.wanadoo.fr)
2022-01-01 01:37:45 +0100 <EvanR> % fromGregorian 2021 12 31
2022-01-01 01:37:45 +0100 <yahb> EvanR: 2021-12-31
2022-01-01 01:37:50 +0100 <EvanR> cewl
2022-01-01 01:39:07 +0100 <EvanR> % addDays 1 it
2022-01-01 01:39:07 +0100 <yahb> EvanR: 2022-01-01
2022-01-01 01:39:25 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds)
2022-01-01 01:39:30 +0100 <geekosaur> anyway I could imagine languages which did either, but they won't in much of any sense be Haskell
2022-01-01 01:43:05 +0100retroid_(~retro@05412d78.skybroadband.com)
2022-01-01 01:45:34 +0100retro_(~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds)
2022-01-01 01:46:40 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-01 01:48:25 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 01:49:09 +0100mastarija(~mastarija@2a05:4f46:e0e:5000:bc70:8f18:1f10:57e1) (Quit: Leaving)
2022-01-01 01:50:24 +0100Everything(~Everythin@37.115.210.35)
2022-01-01 01:51:28 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 01:56:13 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds)
2022-01-01 01:57:39 +0100ksqsf(~user@134.209.106.31)
2022-01-01 01:59:37 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 240 seconds)
2022-01-01 02:01:37 +0100doyougnu(~doyougnu@c-73-25-202-122.hsd1.or.comcast.net) (Ping timeout: 268 seconds)
2022-01-01 02:07:46 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 02:10:14 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-01 02:10:55 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-01 02:11:02 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-01 02:11:05 +0100DNH(~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-01 02:12:44 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds)
2022-01-01 02:12:56 +0100sabhrd33(~shawna@76.14.56.206)
2022-01-01 02:14:10 +0100ProfSimm(~ProfSimm@87.227.196.109) (Remote host closed the connection)
2022-01-01 02:14:19 +0100sabhrd33(~shawna@76.14.56.206) (Remote host closed the connection)
2022-01-01 02:15:27 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Ping timeout: 256 seconds)
2022-01-01 02:17:04 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-01 02:18:44 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 02:18:44 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 02:18:44 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 02:21:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2022-01-01 02:23:42 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-01-01 02:25:05 +0100python476(~user@88.160.31.174) (Ping timeout: 256 seconds)
2022-01-01 02:25:47 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 02:26:18 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Quit: The Lounge - https://thelounge.chat)
2022-01-01 02:34:57 +0100DNH(~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403)
2022-01-01 02:36:11 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds)
2022-01-01 02:42:19 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 268 seconds)
2022-01-01 02:43:29 +0100DNH(~DNH@2a02:8108:1100:16d8:4942:7271:af20:a403) (Quit: Textual IRC Client: www.textualapp.com)
2022-01-01 02:45:00 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-01-01 02:46:08 +0100max22-(~maxime@2a01cb08833598005a78fa8a594f3623.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2022-01-01 02:47:51 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 02:48:17 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-01-01 02:49:13 +0100 <EvanR> hpc, I took the bait and went for the dang Applicative instance and ... the bind operation was only 3 lines xD https://paste.tomsmeding.com/41JicFe6
2022-01-01 02:50:19 +0100 <EvanR> i guess i could use a library instead
2022-01-01 02:51:00 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 02:51:32 +0100Tuplanolla(~Tuplanoll@91-159-69-90.elisa-laajakaista.fi) (Quit: Leaving.)
2022-01-01 02:52:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-01 02:55:53 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds)
2022-01-01 02:59:49 +0100foul_owl(~kerry@94.140.8.106) (Quit: WeeChat 2.3)
2022-01-01 03:00:37 +0100InternetCitizen(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 240 seconds)
2022-01-01 03:00:59 +0100kaction(~kaction@pool-71-191-91-40.washdc.fios.verizon.net)
2022-01-01 03:01:16 +0100 <kaction> Does anybody know how to suppress error messages "unable to decommit memory" due madvice returning ENOSYS? Would it be considered GHC bug that it keeps saying it again and again?
2022-01-01 03:01:25 +0100xff0x_(~xff0x@2001:1a81:52ba:da00:768d:77e:35d:d86a) (Ping timeout: 268 seconds)
2022-01-01 03:01:38 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 03:02:05 +0100xff0x_(~xff0x@2001:1a81:52ba:da00:be6d:6461:7f7a:de65)
2022-01-01 03:02:33 +0100 <lechner_> Hi, could someone please explain how, in rel8, I can tie the Data.SemVer type to the postgresql-semver extension, please? Thanks! It's something like this https://hackage.haskell.org/package/rel8-1.2.1.0/docs/src/Rel8.Type.html#typeInformation
2022-01-01 03:02:37 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds)
2022-01-01 03:02:51 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2022-01-01 03:03:33 +0100otherwise(~otherwise@2601:602:880:90f0:b87e:64be:1874:bae6)
2022-01-01 03:05:08 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-01 03:05:44 +0100 <lechner_> kaction: thanks for blazing the trail on this https://salsa.debian.org/lechner/dh-haskell
2022-01-01 03:08:13 +0100n3rdy1(~n3rdy1@2600:1700:4570:3480:1b88:50f:dae0:9293) (Ping timeout: 240 seconds)
2022-01-01 03:09:33 +0100 <kaction> lechner_: you are welcome :)
2022-01-01 03:09:33 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 03:12:04 +0100 <lechner_> kaction: did you get the same reaction years ago? https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1002296#19
2022-01-01 03:12:44 +0100mcglk_(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2022-01-01 03:14:20 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds)
2022-01-01 03:14:26 +0100mcglk(~mcglk@131.191.49.120)
2022-01-01 03:15:41 +0100L29Ah(~L29Ah@wikipedia/L29Ah)
2022-01-01 03:17:29 +0100_73(~user@pool-108-49-252-36.bstnma.fios.verizon.net)
2022-01-01 03:19:17 +0100 <kaction> lechner_: I don't recall how it ended. I think dh-haskell got some adoption, but it had rough corners with more complicated packages, and I never took time to make it perfectly bit-to-bit compatible with whatever build system was status-quo.
2022-01-01 03:22:33 +0100foul_owl(~kerry@97-126-11-68.tukw.qwest.net)
2022-01-01 03:24:27 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-01 03:25:40 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 03:27:48 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 03:28:29 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 03:31:51 +0100harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2022-01-01 03:32:51 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds)
2022-01-01 03:32:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 03:32:52 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 03:32:52 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 03:33:06 +0100wroathe(~wroathe@user/wroathe) (Client Quit)
2022-01-01 03:33:21 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 03:33:21 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 03:33:21 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 03:42:11 +0100xff0x_(~xff0x@2001:1a81:52ba:da00:be6d:6461:7f7a:de65) (Ping timeout: 250 seconds)
2022-01-01 03:43:37 +0100cyphase_eviltwin(~cyphase@user/cyphase) (Ping timeout: 240 seconds)
2022-01-01 03:44:17 +0100xff0x_(~xff0x@2001:1a81:52f9:6300:887a:5ed1:98de:74ec)
2022-01-01 03:45:01 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4) (Ping timeout: 240 seconds)
2022-01-01 03:47:23 +0100 <lechner_> kaction: thanks! now it is. i copied everything from hlibrary.mk
2022-01-01 03:49:59 +0100qrpnxz(abc4f95c31@user/qrpnxz) (Disconnected: closed)
2022-01-01 03:50:56 +0100cyphase(~cyphase@user/cyphase)
2022-01-01 03:52:05 +0100ksqsf(~user@134.209.106.31) (Remote host closed the connection)
2022-01-01 03:52:33 +0100ksqsf(~user@2001:da8:d800:600:1db7:f109:60a:6851)
2022-01-01 03:54:42 +0100bollu_(uid233390@id-233390.helmsley.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-01 03:54:59 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net)
2022-01-01 03:55:39 +0100ksqsf(~user@2001:da8:d800:600:1db7:f109:60a:6851) (Read error: Connection reset by peer)
2022-01-01 03:56:08 +0100ksqsf(~user@134.209.106.31)
2022-01-01 04:02:00 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 04:06:54 +0100neverfindme(~hayden@72.92.246.5)
2022-01-01 04:07:08 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds)
2022-01-01 04:08:54 +0100doyougnu(~doyougnu@c-73-25-202-122.hsd1.or.comcast.net)
2022-01-01 04:11:38 +0100neverfindme(~hayden@72.92.246.5) (Client Quit)
2022-01-01 04:18:47 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 04:18:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 04:19:40 +0100burnsidesLlama(~burnsides@dhcp168-010.wadham.ox.ac.uk) (Remote host closed the connection)
2022-01-01 04:20:19 +0100burnsidesLlama(~burnsides@dhcp168-010.wadham.ox.ac.uk)
2022-01-01 04:23:16 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds)
2022-01-01 04:24:37 +0100burnsidesLlama(~burnsides@dhcp168-010.wadham.ox.ac.uk) (Ping timeout: 240 seconds)
2022-01-01 04:25:13 +0100vglfr(~vglfr@88.155.60.141) (Ping timeout: 256 seconds)
2022-01-01 04:26:57 +0100vglfr(~vglfr@88.155.60.141)
2022-01-01 04:29:31 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-01-01 04:30:46 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 245 seconds)
2022-01-01 04:35:17 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 04:38:57 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 240 seconds)
2022-01-01 04:39:57 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-01-01 04:40:08 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 252 seconds)
2022-01-01 04:41:34 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-01-01 04:43:03 +0100mbuf(~Shakthi@223.184.115.117)
2022-01-01 04:46:36 +0100FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (NickServ (Forcing logout FinnElija -> finn_elija)))
2022-01-01 04:46:36 +0100finn_elija(~finn_elij@user/finn-elija/x-0085643)
2022-01-01 04:46:36 +0100finn_elijaFinnElija
2022-01-01 04:50:02 +0100ksqsf(~user@134.209.106.31) (Ping timeout: 252 seconds)
2022-01-01 04:51:31 +0100theproffesor_(~theproffe@2601:282:847f:8010::85ac) (Changing host)
2022-01-01 04:51:31 +0100theproffesor_(~theproffe@user/theproffesor)
2022-01-01 04:51:51 +0100theproffesor_theproffesor
2022-01-01 04:52:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2022-01-01 04:53:02 +0100td_(~td@muedsl-82-207-238-106.citykom.de) (Ping timeout: 260 seconds)
2022-01-01 04:54:54 +0100td_(~td@muedsl-82-207-238-133.citykom.de)
2022-01-01 05:03:41 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-01 05:04:12 +0100img(~img@user/img)
2022-01-01 05:05:59 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2022-01-01 05:06:47 +0100EvanR(~EvanR@user/evanr) (Quit: Leaving)
2022-01-01 05:07:35 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 05:08:08 +0100EvanR(~EvanR@user/evanr)
2022-01-01 05:12:47 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds)
2022-01-01 05:14:25 +0100otherwise(~otherwise@2601:602:880:90f0:b87e:64be:1874:bae6) (Remote host closed the connection)
2022-01-01 05:16:10 +0100gaff(~gaff@49.207.212.151)
2022-01-01 05:25:44 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 05:29:02 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 240 seconds)
2022-01-01 05:30:13 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds)
2022-01-01 05:32:12 +0100mcglk(~mcglk@131.191.49.120) (Read error: Connection reset by peer)
2022-01-01 05:33:11 +0100pavonia(~user@user/siracusa) (Quit: Bye!)
2022-01-01 05:33:28 +0100mcglk(~mcglk@131.191.49.120)
2022-01-01 05:34:45 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a)
2022-01-01 05:37:20 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 252 seconds)
2022-01-01 05:37:44 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 05:40:12 +0100fef(~thedawn@user/thedawn)
2022-01-01 05:42:37 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 05:46:12 +0100otherwise(~otherwise@2601:602:880:90f0:fce5:a06d:c23f:e50d)
2022-01-01 05:47:13 +0100kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-01 05:47:56 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds)
2022-01-01 05:50:54 +0100otherwise(~otherwise@2601:602:880:90f0:fce5:a06d:c23f:e50d) (Ping timeout: 260 seconds)
2022-01-01 05:56:41 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-01-01 05:59:54 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-01 06:00:05 +0100off^(~off@207.5.21.20)
2022-01-01 06:00:18 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 06:02:02 +0100Everything(~Everythin@37.115.210.35) (Quit: leaving)
2022-01-01 06:04:45 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds)
2022-01-01 06:09:09 +0100kaph_(~kaph@net-2-38-107-19.cust.vodafonedsl.it)
2022-01-01 06:15:49 +0100juri_(~juri@178.63.35.222)
2022-01-01 06:23:57 +0100justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 240 seconds)
2022-01-01 06:29:04 +0100uam(uid360535@id-360535.hampstead.irccloud.com)
2022-01-01 06:38:10 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-01 06:39:29 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a) (Ping timeout: 252 seconds)
2022-01-01 06:41:17 +0100Hawker_(~pi@user/hawker) (Ping timeout: 240 seconds)
2022-01-01 06:42:35 +0100slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2022-01-01 06:44:39 +0100deadmarshal(~deadmarsh@95.38.119.182)
2022-01-01 06:49:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 06:50:29 +0100fef(~thedawn@user/thedawn) (Remote host closed the connection)
2022-01-01 06:51:06 +0100fef(~thedawn@user/thedawn)
2022-01-01 06:53:26 +0100cyphase(~cyphase@user/cyphase) (Ping timeout: 260 seconds)
2022-01-01 06:53:41 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2022-01-01 06:53:44 +0100cyphase(~cyphase@user/cyphase)
2022-01-01 06:54:53 +0100kaph_(~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Quit: Leaving)
2022-01-01 06:55:09 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it)
2022-01-01 06:55:14 +0100gaff(~gaff@49.207.212.151) (Remote host closed the connection)
2022-01-01 06:55:14 +0100kaph_(~kaph@net-2-38-107-19.cust.vodafonedsl.it)
2022-01-01 06:55:23 +0100kaph_(~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Client Quit)
2022-01-01 06:55:23 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Client Quit)
2022-01-01 06:55:38 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it)
2022-01-01 06:56:23 +0100gaff(~gaff@49.207.212.151)
2022-01-01 07:00:07 +0100otherwise(~otherwise@2601:602:880:90f0:1c02:7c0e:4814:d07c)
2022-01-01 07:00:28 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 07:01:03 +0100gaff(~gaff@49.207.212.151) (Ping timeout: 256 seconds)
2022-01-01 07:01:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 07:01:55 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 07:01:55 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 07:02:27 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 07:04:17 +0100otherwise(~otherwise@2601:602:880:90f0:1c02:7c0e:4814:d07c) (Ping timeout: 240 seconds)
2022-01-01 07:06:09 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-01 07:06:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-01 07:07:17 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-01-01 07:11:23 +0100mvk(~mvk@2607:fea8:5cdd:f000::917a)
2022-01-01 07:14:18 +0100gaff(~gaff@49.207.198.216)
2022-01-01 07:23:43 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2022-01-01 07:37:52 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-01 07:40:17 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Ping timeout: 240 seconds)
2022-01-01 07:46:25 +0100Rum(~bourbon@user/rum)
2022-01-01 08:00:56 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 08:07:34 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 08:08:13 +0100nhatanh02(~satori@123.24.172.30)
2022-01-01 08:09:09 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds)
2022-01-01 08:17:08 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 08:23:54 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-01 08:24:40 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 08:29:06 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 08:33:08 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 08:34:32 +0100gaff(~gaff@49.207.198.216) (Remote host closed the connection)
2022-01-01 08:37:17 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 240 seconds)
2022-01-01 08:37:52 +0100otherwise(~otherwise@2601:602:880:90f0:15d8:a1fc:ce25:ad10)
2022-01-01 08:39:58 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-01 08:42:29 +0100coolnickname(uid531864@user/coolnickname)
2022-01-01 08:47:37 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 08:51:58 +0100Jonno_FTW(~come@api.carswap.me) (Ping timeout: 260 seconds)
2022-01-01 08:52:17 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-01 08:59:14 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-01 09:04:44 +0100Rum(~bourbon@user/rum) (Quit: WeeChat 3.4)
2022-01-01 09:05:42 +0100img(~img@user/img)
2022-01-01 09:12:18 +0100gaff(~gaff@49.207.222.122)
2022-01-01 09:15:09 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-01-01 09:15:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 09:16:35 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-01 09:22:12 +0100otherwise(~otherwise@2601:602:880:90f0:15d8:a1fc:ce25:ad10) (Remote host closed the connection)
2022-01-01 09:23:56 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 252 seconds)
2022-01-01 09:25:03 +0100deadmarshal(~deadmarsh@95.38.119.182) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-01 09:25:57 +0100deadmarshal(~deadmarsh@95.38.119.182)
2022-01-01 09:26:53 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-01 09:36:35 +0100xff0x_(~xff0x@2001:1a81:52f9:6300:887a:5ed1:98de:74ec) (Ping timeout: 252 seconds)
2022-01-01 09:37:28 +0100xff0x_(~xff0x@2001:1a81:52f9:6300:7499:a110:eaa4:a379)
2022-01-01 09:40:57 +0100Vajb(~Vajb@85-76-162-179-nat.elisa-mobile.fi) (Ping timeout: 240 seconds)
2022-01-01 09:42:50 +0100gaff(~gaff@49.207.222.122) (Ping timeout: 260 seconds)
2022-01-01 09:42:55 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-01 09:44:11 +0100Vajb(~Vajb@2001:999:50:e6be:1e98:9376:d93e:4506)
2022-01-01 09:47:45 +0100otherwise(~otherwise@2601:602:880:90f0:cdff:5f10:47b:dd48)
2022-01-01 10:03:27 +0100zer0bitz(~zer0bitz@196.244.192.57)
2022-01-01 10:04:23 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 250 seconds)
2022-01-01 10:07:03 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 10:07:03 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 10:07:03 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 10:08:09 +0100econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2022-01-01 10:12:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-01 10:12:01 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-01-01 10:12:41 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-01 10:16:25 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2022-01-01 10:16:56 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Read error: Connection reset by peer)
2022-01-01 10:17:51 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-01 10:19:23 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2022-01-01 10:19:37 +0100otherwise(~otherwise@2601:602:880:90f0:cdff:5f10:47b:dd48) (Remote host closed the connection)
2022-01-01 10:24:36 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2022-01-01 10:32:46 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2022-01-01 10:33:51 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2022-01-01 10:37:23 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-01-01 10:53:05 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Remote host closed the connection)
2022-01-01 10:53:30 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827)
2022-01-01 10:55:46 +0100coot(~coot@2a02:a310:e03f:8500:5cc8:47c:8ec0:b827) (Client Quit)
2022-01-01 10:56:10 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-01 11:01:56 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-01 11:15:36 +0100neurocyte0132889(~neurocyte@IP-045128181214.dynamic.medianet-world.de)
2022-01-01 11:15:36 +0100neurocyte0132889(~neurocyte@IP-045128181214.dynamic.medianet-world.de) (Changing host)
2022-01-01 11:15:36 +0100neurocyte0132889(~neurocyte@user/neurocyte)
2022-01-01 11:15:42 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 11:20:01 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-01 11:20:03 +0100Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2022-01-01 11:21:30 +0100Tuplanolla(~Tuplanoll@91-159-69-90.elisa-laajakaista.fi)
2022-01-01 11:27:22 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2022-01-01 11:28:27 +0100Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2022-01-01 11:28:42 +0100fcc977(~kaph@net-2-38-107-19.cust.vodafonedsl.it)
2022-01-01 11:28:50 +0100acidjnk(~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de)
2022-01-01 11:28:51 +0100acidjnk_new(~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de)
2022-01-01 11:29:14 +0100vglfr(~vglfr@88.155.60.141) (Ping timeout: 260 seconds)
2022-01-01 11:30:02 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Ping timeout: 240 seconds)
2022-01-01 11:34:26 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-01 11:37:54 +0100fcc977(~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Quit: Leaving)
2022-01-01 11:38:32 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-01-01 11:38:32 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it)
2022-01-01 11:40:55 +0100mbuf(~Shakthi@223.184.115.117) (Read error: Connection reset by peer)
2022-01-01 11:41:12 +0100mbuf(~Shakthi@223.184.115.117)
2022-01-01 11:45:48 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-01 11:58:29 +0100neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 252 seconds)
2022-01-01 12:02:10 +0100jtomas(~jtomas@153.red-83-53-252.dynamicip.rima-tde.net)
2022-01-01 12:07:42 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-01 12:07:50 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 12:07:50 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 12:07:50 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 12:12:26 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2022-01-01 12:13:37 +0100vglfr(~vglfr@88.155.60.141)
2022-01-01 12:14:02 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds)
2022-01-01 12:15:43 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 12:18:43 +0100img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-01 12:20:26 +0100cosimone(~user@93-34-132-88.ip49.fastwebnet.it)
2022-01-01 12:24:08 +0100img(~img@user/img)
2022-01-01 12:24:18 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 12:26:26 +0100jakalx(~jakalx@base.jakalx.net) ()
2022-01-01 12:28:47 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-01 12:28:53 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-01-01 12:38:29 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-01 12:38:36 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 12:38:36 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 12:38:36 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 12:39:27 +0100joo-_(~joo-_@80-62-117-1-mobile.dk.customer.tdc.net)
2022-01-01 12:39:27 +0100joo-_(~joo-_@80-62-117-1-mobile.dk.customer.tdc.net) (Changing host)
2022-01-01 12:39:27 +0100joo-_(~joo-_@fsf/member/joo--)
2022-01-01 12:39:32 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr)
2022-01-01 12:43:53 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-01 12:44:26 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-01-01 12:49:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2022-01-01 12:50:26 +0100jakalx(~jakalx@base.jakalx.net)
2022-01-01 13:09:23 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 13:09:23 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 13:09:23 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 13:13:14 +0100retro_(~retro@05412d78.skybroadband.com)
2022-01-01 13:14:11 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 250 seconds)
2022-01-01 13:14:23 +0100retroid_(~retro@05412d78.skybroadband.com) (Ping timeout: 268 seconds)
2022-01-01 13:15:04 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 13:17:34 +0100gehmehgeh(~user@user/gehmehgeh) (Remote host closed the connection)
2022-01-01 13:18:16 +0100gehmehgeh(~user@user/gehmehgeh)
2022-01-01 13:19:03 +0100off^(~off@207.5.21.20) (Remote host closed the connection)
2022-01-01 13:20:21 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it) (Read error: Connection reset by peer)
2022-01-01 13:20:43 +0100kaph(~kaph@net-2-38-107-19.cust.vodafonedsl.it)
2022-01-01 13:21:37 +0100InternetCitizen(~fuzzypixe@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2022-01-01 13:28:39 +0100Rum(~bourbon@user/rum)
2022-01-01 13:28:41 +0100xff0x_(~xff0x@2001:1a81:52f9:6300:7499:a110:eaa4:a379) (Ping timeout: 252 seconds)
2022-01-01 13:29:39 +0100xff0x_(~xff0x@port-92-193-207-83.dynamic.as20676.net)
2022-01-01 13:32:35 +0100cosimone(~user@93-34-132-88.ip49.fastwebnet.it) (Ping timeout: 250 seconds)
2022-01-01 13:34:05 +0100__monty__(~toonn@user/toonn)
2022-01-01 13:35:09 +0100fef(~thedawn@user/thedawn)
2022-01-01 13:36:36 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-01 13:36:45 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2022-01-01 13:39:57 +0100acidjnk_new(~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-01-01 13:39:57 +0100acidjnk(~acidjnk@p200300d0c7271e28a1c27b1d533e8cdb.dip0.t-ipconnect.de) (Ping timeout: 250 seconds)
2022-01-01 13:40:13 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 13:40:13 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 13:40:13 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 13:41:01 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-01-01 13:44:06 +0100nhatanh02(~satori@123.24.172.30) (Ping timeout: 260 seconds)
2022-01-01 13:45:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-01 13:46:13 +0100vglfr(~vglfr@88.155.60.141) (Ping timeout: 256 seconds)
2022-01-01 13:46:13 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2022-01-01 13:47:52 +0100gaff(~gaff@49.207.192.225)
2022-01-01 13:48:05 +0100vglfr(~vglfr@88.155.60.141)
2022-01-01 13:48:23 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-01 13:48:57 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds)
2022-01-01 13:50:10 +0100max22-(~maxime@lfbn-ren-1-1026-62.w92-139.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2022-01-01 13:53:00 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2022-01-01 13:56:02 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-01 13:57:34 +0100CiaoSen(~Jura@p200300c957347b002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Quit: CiaoSen)
2022-01-01 13:58:29 +0100uam(uid360535@id-360535.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2022-01-01 13:59:07 +0100albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2022-01-01 14:02:48 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 14:03:42 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Ping timeout: 260 seconds)
2022-01-01 14:03:51 +0100_ht(~quassel@5.253.205.174)
2022-01-01 14:07:29 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds)
2022-01-01 14:10:13 +0100gaff(~gaff@49.207.192.225) (Read error: Connection reset by peer)
2022-01-01 14:10:18 +0100gaff_(~gaff@49.207.192.225)
2022-01-01 14:10:57 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 14:10:57 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 14:10:57 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 14:11:42 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20)
2022-01-01 14:15:50 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2022-01-01 14:16:04 +0100nrl^(~nrl@207.5.21.20)
2022-01-01 14:22:45 +0100turlando_(~turlando@93-42-250-112.ip89.fastwebnet.it) (Read error: Connection reset by peer)
2022-01-01 14:22:59 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it)
2022-01-01 14:22:59 +0100turlando(~turlando@93-42-250-112.ip89.fastwebnet.it) (Changing host)
2022-01-01 14:22:59 +0100turlando(~turlando@user/turlando)
2022-01-01 14:32:01 +0100simendsjo(~user@host.62.119.172.37.bitcom.se)
2022-01-01 14:33:18 +0100fjmorazan_fjmorazan
2022-01-01 14:35:17 +0100nhatanh02(~satori@123.24.172.30)
2022-01-01 14:35:27 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234)
2022-01-01 14:36:05 +0100turlando(~turlando@user/turlando) (Ping timeout: 256 seconds)
2022-01-01 14:38:20 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 14:42:47 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 250 seconds)
2022-01-01 14:43:53 +0100machinedgod(~machinedg@24.105.81.50)
2022-01-01 14:46:12 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 14:47:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 14:47:59 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 14:47:59 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 14:50:17 +0100simendsjo(~user@host.62.119.172.37.bitcom.se) (Ping timeout: 240 seconds)
2022-01-01 14:52:12 +0100spaceseller(~spacesell@31.147.205.13)
2022-01-01 14:52:37 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-01 14:57:18 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-01 14:57:30 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-01 14:59:11 +0100 <InternetCitizen> > (\x -> (x 3, x "three")) (\x -> x)
2022-01-01 14:59:13 +0100 <lambdabot> error:
2022-01-01 14:59:13 +0100 <lambdabot> • No instance for (Num [Char]) arising from the literal ‘3’
2022-01-01 14:59:13 +0100 <lambdabot> • In the first argument of ‘x’, namely ‘3’
2022-01-01 14:59:50 +0100Rum(~bourbon@user/rum) (Quit: WeeChat 3.4)
2022-01-01 15:00:01 +0100 <InternetCitizen> why does this not work? It's like Haskell specializes the type of id to `Num a => a -> a`
2022-01-01 15:00:22 +0100 <InternetCitizen> > (\x -> (x "four", x "three")) (\x -> x)
2022-01-01 15:00:24 +0100 <lambdabot> ("four","three")
2022-01-01 15:00:31 +0100 <InternetCitizen> > (\x -> (x 3, x 4)) (\x -> x)
2022-01-01 15:00:33 +0100 <lambdabot> (3,4)
2022-01-01 15:01:31 +0100 <InternetCitizen> on the Hindley-Milner wikipedia article I found:
2022-01-01 15:01:40 +0100 <InternetCitizen> "Only values bound in a let construct are subject to instantiation, i.e. are polymorphic, while the parameters in lambda-abstractions are treated as being monomorphic."
2022-01-01 15:02:11 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Ping timeout: 252 seconds)
2022-01-01 15:05:15 +0100 <InternetCitizen> > let id x = x in (id 3, id "three")
2022-01-01 15:05:17 +0100 <lambdabot> (3,"three")
2022-01-01 15:05:24 +0100 <hpc> InternetCitizen: it needs to be rank 2, which needs a type signature
2022-01-01 15:05:38 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:06:01 +0100 <InternetCitizen> what needs to be rank 2?
2022-01-01 15:06:08 +0100 <hpc> that makes sure x stays as type (forall a. a -> a) and not some specific (a -> a) in the context of the lambda
2022-01-01 15:06:40 +0100 <hpc> > let foo :: (forall a. a -> a) -> (Int, String); foo x = (x 3, x "three") in foo (\x -> x)
2022-01-01 15:06:41 +0100 <lambdabot> (3,"three")
2022-01-01 15:11:17 +0100 <InternetCitizen> hpc: if I understand correctly, the inference algorithm starts with `(\x -> (x "four", x "three"))`, gives x a type variable `a` and since we call it with "four" substitues `a` for type `String -> b` and fails when we call `x` with `Int` again?
2022-01-01 15:12:25 +0100 <hpc> essentially
2022-01-01 15:12:33 +0100 <Hecate> morning
2022-01-01 15:13:02 +0100 <hpc> you get a weirder error than that because 3 :: Num a => a, so it thinks "hmm, what if there was instance Num String where ...?"
2022-01-01 15:13:24 +0100 <hpc> > (\x -> (x False, x "False")) (\x -> x) -- this might make it more clear
2022-01-01 15:13:25 +0100 <lambdabot> error:
2022-01-01 15:13:25 +0100 <lambdabot> • Couldn't match expected type ‘Bool’ with actual type ‘[Char]’
2022-01-01 15:13:25 +0100 <lambdabot> • In the first argument of ‘x’, namely ‘"False"’
2022-01-01 15:14:07 +0100 <InternetCitizen> then why does the Wikipedia article that writing lambd expressions this way is undecidable?
2022-01-01 15:14:09 +0100 <InternetCitizen> https://en.wikipedia.org/wiki/Hindley%E2%80%93Milner_type_system#Let-polymorphism
2022-01-01 15:14:27 +0100 <InternetCitizen> they give the example of `(λ id . ... (id 3) ... (id "text") ... ) (λ x . x)`
2022-01-01 15:15:30 +0100 <InternetCitizen> "restricting the binding mechanism in an extension of the expression syntax. Only values bound in a let construct are subject to instantiation, i.e. are polymorphic, while the parameters in lambda-abstractions are treated as being monomorphic."
2022-01-01 15:15:47 +0100spaceseller(~spacesell@31.147.205.13) (Remote host closed the connection)
2022-01-01 15:15:54 +0100 <InternetCitizen> so Haskell type-inference isn't decidable ???
2022-01-01 15:16:13 +0100spaceseller(~spacesell@31.147.205.13)
2022-01-01 15:16:42 +0100 <hpc> it's decidable if you don't allow that sort of example
2022-01-01 15:17:25 +0100 <hpc> rank 2 is also decidable, but higher ranked stuff is not
2022-01-01 15:17:27 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 15:17:47 +0100 <hpc> rank 2 is where you see things like that nested forall in foo
2022-01-01 15:18:01 +0100 <hpc> rank 3 is forall nested one level further, etc etc
2022-01-01 15:18:19 +0100 <geekosaur> (note that ghc does not implement rank-2 type inference, even though it is decidable)
2022-01-01 15:18:23 +0100 <InternetCitizen> I thought that the example is what I typed into Haskel
2022-01-01 15:18:46 +0100 <InternetCitizen> > (\x -> (x 3, x "three")) (\x -> x)
2022-01-01 15:18:48 +0100 <lambdabot> error:
2022-01-01 15:18:48 +0100 <lambdabot> • No instance for (Num [Char]) arising from the literal ‘3’
2022-01-01 15:18:48 +0100 <lambdabot> • In the first argument of ‘x’, namely ‘3’
2022-01-01 15:18:49 +0100 <InternetCitizen> ^
2022-01-01 15:18:55 +0100 <hpc> yeah, ghc chooses not to infer rank-2 types
2022-01-01 15:19:40 +0100 <hpc> Rank2Types and RankNTypes used to be separate, so maybe if you went back to ghc 6 it could be inferred?
2022-01-01 15:19:50 +0100 <geekosaur> no
2022-01-01 15:20:17 +0100 <geekosaur> rank-2 type inference is fairly complicated, so they decided to punt on it because there didn't seem to be any demand for it
2022-01-01 15:20:29 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2022-01-01 15:20:37 +0100 <hpc> ah, forgot about that
2022-01-01 15:20:45 +0100 <geekosaur> I mean, the typechecker is already complex enough without it :)
2022-01-01 15:20:50 +0100 <hpc> in any event, you don't really want higher-ranked inference anyway
2022-01-01 15:21:45 +0100 <hpc> imagine you're writing your code, and decide to implement some nice higher-order function like map
2022-01-01 15:21:51 +0100 <hpc> you make a mistake somewhere and your code compiles
2022-01-01 15:21:56 +0100 <InternetCitizen> how does it "choose" not to infer rank-2 types exactly? Does this simply amount to giving `x` a monomorphic type rather than a polymorphic one?
2022-01-01 15:21:59 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 256 seconds)
2022-01-01 15:22:01 +0100 <hpc> but surprise, it's now a rank-5 type or something and completely unusable
2022-01-01 15:22:08 +0100 <hpc> and you have no error to figure out what you did wrong
2022-01-01 15:22:18 +0100coolnickname(uid531864@user/coolnickname) (Quit: Connection closed for inactivity)
2022-01-01 15:22:53 +0100 <InternetCitizen> that sounds scary, I don't even know what higher ranked types are
2022-01-01 15:24:03 +0100 <hpc> a rank 3 type would be maybe something like (forall b. (forall a. a -> a) -> (b -> b)) -> (c -> c) -> c -> c
2022-01-01 15:24:17 +0100 <hpc> just more and more foralls to the left of (->)
2022-01-01 15:24:25 +0100 <hpc> at deeper and deeper nestings
2022-01-01 15:24:34 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:24:49 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:25:11 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:25:14 +0100coolnickname(uid531864@user/coolnickname)
2022-01-01 15:25:23 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:25:28 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:25:39 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:25:47 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:25:58 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:26:02 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:26:13 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:26:16 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:26:27 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:26:27 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:26:37 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:26:37 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 15:26:48 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:26:48 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:26:58 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:26:58 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:27:09 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:27:09 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 15:27:20 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:27:20 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 15:27:22 +0100 <InternetCitizen> so the real type of the lambda on the left is forall b, c. (forall a. a -> a) -> (b, c) ?
2022-01-01 15:27:33 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:27:33 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:27:47 +0100 <InternetCitizen> no sorry (forall a. a -> a) -> (String, Integer)
2022-01-01 15:27:49 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:27:49 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:28:11 +0100 <InternetCitizen> I mean for `(\x -> (x 3, x "three"))`
2022-01-01 15:28:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:28:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 15:28:26 +0100 <hpc> yes
2022-01-01 15:28:47 +0100 <hpc> and thata (forall a. a -> a) type only accepts things that can be that polymorphic
2022-01-01 15:28:48 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:28:53 +0100 <hpc> it will accept id, but not ($) for instance
2022-01-01 15:28:53 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:29:04 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:29:07 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:29:17 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:29:19 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:29:30 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:29:30 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:29:40 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:29:40 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:29:50 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:29:50 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 15:30:01 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:30:01 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 15:30:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:30:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:30:13 +0100n3rdy1(~n3rdy1@2601:646:c300:f20:d852:3bde:2197:ddf9)
2022-01-01 15:30:24 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:30:24 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:30:29 +0100 <InternetCitizen> sorry but isn't ($) :: forall a. forall b. (a -> b) -> a -> b ?
2022-01-01 15:30:38 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:30:38 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:30:48 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:30:48 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:30:58 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:30:58 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 15:31:09 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:31:09 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:31:20 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:31:21 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:31:32 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:31:36 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:31:43 +0100ChanServ+o geekosaur
2022-01-01 15:31:47 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 15:31:52 +0100geekosaur+b *!*@static.211.245.203.116.clients.your-server.de
2022-01-01 15:31:53 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 15:32:06 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 15:32:14 +0100geekosaur-o geekosaur
2022-01-01 15:32:27 +0100 <hpc> InternetCitizen: yea, but you can define it as ($) = id
2022-01-01 15:32:28 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 15:32:41 +0100 <hpc> perhaps that's a bad example
2022-01-01 15:32:54 +0100 <hpc> it will accept id, but not... not for instance
2022-01-01 15:32:57 +0100 <hpc> :t not
2022-01-01 15:32:58 +0100 <lambdabot> Bool -> Bool
2022-01-01 15:33:08 +0100waleee(~waleee@2001:9b0:21d:fc00:398f:b003:b90d:acf4)
2022-01-01 15:33:11 +0100 <hpc> grammatically that's an even worse example lol
2022-01-01 15:34:53 +0100 <hpc> > let foo :: (forall a. a -> a) -> (Int, String); foo x = (x 3, x "three") in foo not
2022-01-01 15:34:55 +0100 <lambdabot> error:
2022-01-01 15:34:55 +0100 <lambdabot> • Couldn't match type ‘a’ with ‘Bool’
2022-01-01 15:34:55 +0100 <lambdabot> ‘a’ is a rigid type variable bound by
2022-01-01 15:35:16 +0100 <InternetCitizen> hpc: so if I understand correctly, this implies that when it tries to infer the type of (\x -> (x 3, x "three")), it gives x a type variable `a` and not a type schema `forall a . b` (or something like that)
2022-01-01 15:35:17 +0100 <hpc> and that's the sort of error you get when you pass something that's "too monomorphic"
2022-01-01 15:35:42 +0100 <hpc> yeah
2022-01-01 15:36:00 +0100 <hpc> it tries to have the "forall a" all the way to the left
2022-01-01 15:36:15 +0100 <hpc> foo :: forall a. (a -> a) -> (Int, String)
2022-01-01 15:36:23 +0100 <hpc> which means you have to pick a single a when calling foo
2022-01-01 15:38:28 +0100 <InternetCitizen> hpc: thank you very much <3
2022-01-01 15:44:03 +0100max22-(~maxime@2a01cb0883359800a99596770101e95e.ipv6.abo.wanadoo.fr)
2022-01-01 15:49:11 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 15:49:29 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 15:50:10 +0100gaff_(~gaff@49.207.192.225) (Remote host closed the connection)
2022-01-01 15:51:27 +0100gaff(~gaff@49.207.192.225)
2022-01-01 15:53:25 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 240 seconds)
2022-01-01 15:54:58 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 15:55:37 +0100gaff(~gaff@49.207.192.225) (Ping timeout: 240 seconds)
2022-01-01 15:58:43 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 15:59:07 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 16:00:32 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 16:00:54 +0100SummerSonw(~The_viole@203.77.49.232) (Ping timeout: 268 seconds)
2022-01-01 16:02:04 +0100ChanServ+o litharge
2022-01-01 16:02:05 +0100litharge-bo *!*@static.211.245.203.116.clients.your-server.de litharge
2022-01-01 16:02:08 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:02:09 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:02:19 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:02:21 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:02:31 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:02:31 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:02:41 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:02:41 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:02:51 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:02:51 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:02:59 +0100gaff(~gaff@49.207.192.225)
2022-01-01 16:03:01 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:03:01 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:03:13 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:03:13 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:03:26 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:03:26 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:03:42 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:03:42 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:04:05 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:04:07 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:04:18 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:04:19 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:04:29 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:04:29 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:04:40 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:04:42 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:04:52 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:04:52 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:05:02 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:05:02 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:05:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:05:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:05:22 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:05:22 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:05:25 +0100 <int-e> geekosaur: ^half an hour wasn't enough
2022-01-01 16:05:33 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:05:33 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:05:47 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:05:47 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:06:05 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:06:05 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:06:16 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:06:16 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:06:27 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:06:31 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:06:42 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:06:44 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:06:55 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:06:55 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:07:05 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:07:05 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:07:15 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:07:15 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:07:25 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:07:25 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:07:35 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:07:35 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:07:46 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:07:46 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:07:59 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:08:02 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:08:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:08:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:08:22 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:08:22 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:08:32 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:08:33 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:08:44 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:08:45 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:08:54 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:08:54 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:09:04 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:09:04 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:09:15 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:09:17 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:09:28 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:09:40 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:09:52 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:10:02 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:10:14 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:10:22 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:10:33 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:10:38 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:10:50 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:10:51 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:11:01 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:11:01 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:11:03 +0100SummerSonw(~The_viole@203.77.49.232)
2022-01-01 16:11:11 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:11:11 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:11:22 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:11:22 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:11:32 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:11:32 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Read error: Connection reset by peer)
2022-01-01 16:11:43 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:11:43 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:11:50 +0100 <geekosaur> blegh
2022-01-01 16:11:53 +0100ChanServ+o geekosaur
2022-01-01 16:11:56 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:11:56 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:12:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 16:12:12 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de) (Remote host closed the connection)
2022-01-01 16:12:13 +0100geekosaur+b ralu!*@*
2022-01-01 16:12:24 +0100 <Hecate> §2
2022-01-01 16:12:41 +0100geekosaur-o geekosaur
2022-01-01 16:13:09 +0100gaff(~gaff@49.207.192.225) (Ping timeout: 250 seconds)
2022-01-01 16:13:17 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 16:13:17 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 16:13:17 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 16:13:54 +0100_ht(~quassel@5.253.205.174) (Ping timeout: 260 seconds)
2022-01-01 16:14:02 +0100sprout(~quassel@2a02:a467:ccd6:1:5c9e:b916:30fd:4234) (Ping timeout: 240 seconds)
2022-01-01 16:14:07 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2022-01-01 16:14:56 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-01 16:14:57 +0100[_](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-01 16:15:19 +0100[_](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-01-01 16:15:46 +0100ph14nix(~io@94.234.51.48)
2022-01-01 16:17:36 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 16:19:44 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2022-01-01 16:19:46 +0100ph14nix(~io@94.234.51.48) (Quit: WeeChat 3.4)
2022-01-01 16:22:29 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
2022-01-01 16:23:25 +0100wootehfoot(~wootehfoo@user/wootehfoot)
2022-01-01 16:25:49 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 16:26:51 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 16:27:15 +0100spaceseller(~spacesell@31.147.205.13) (Quit: Leaving)
2022-01-01 16:27:17 +0100son0p(~ff@181.136.122.143) (Remote host closed the connection)
2022-01-01 16:30:42 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 260 seconds)
2022-01-01 16:30:57 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 240 seconds)
2022-01-01 16:31:37 +0100acode(~acode@dslb-092-077-045-168.092.077.pools.vodafone-ip.de)
2022-01-01 16:33:11 +0100 <acode> I'm a mathematician learning haskell and I'm confused by the name of the typeclass Functor. In my understanding Functor is for types that "can be mapped over" which makes a lot of sense, but I'm confused by its name. Is it related to functors in mathematics or is it one of the many instances of unrelated concepts sharing a name?
2022-01-01 16:33:43 +0100 <geekosaur> it's a restricted form of a category theory functor, as I understand it
2022-01-01 16:34:12 +0100 <geekosaur> there's a more genjeral one in Control.Category; the normla one is restricted to the (notional) category Hask of Haskell types
2022-01-01 16:35:00 +0100 <acode> Uh I never realized that types form a category. What's an arrow in Hask?
2022-01-01 16:38:41 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 245 seconds)
2022-01-01 16:38:51 +0100 <Clint> https://wiki.haskell.org/Hask
2022-01-01 16:39:00 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-01 16:40:32 +0100 <geekosaur> and they don't quite, because of bottom. But I'm also led to believe that there are other category-like things that would admit Hask
2022-01-01 16:40:42 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-01-01 16:41:11 +0100 <geekosaur> also there's the paper "Fast and loose reasoning is morally correct" which shows that many CT things are applicable to Hask if you take some care
2022-01-01 16:42:14 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 16:42:52 +0100 <acode> very interesting, thanks for the references
2022-01-01 16:42:57 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2022-01-01 16:43:35 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Remote host closed the connection)
2022-01-01 16:45:41 +0100SummerSonw(~The_viole@203.77.49.232) (Quit: Leaving)
2022-01-01 16:47:01 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2022-01-01 16:47:28 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 16:49:28 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 16:50:09 +0100Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2022-01-01 16:52:10 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 260 seconds)
2022-01-01 16:53:17 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Ping timeout: 240 seconds)
2022-01-01 16:54:30 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 260 seconds)
2022-01-01 16:54:44 +0100son0p(~ff@181.136.122.143)
2022-01-01 16:56:39 +0100TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2022-01-01 16:57:22 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 16:57:28 +0100gaff(~gaff@49.207.207.53)
2022-01-01 16:57:36 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 16:58:18 +0100 <lechner_> Hi, my cabal.project.local specifies "ignore-project: False; compiler: ghc" Do I need it? Thanks!
2022-01-01 16:58:39 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 16:59:14 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 17:00:08 +0100ServerStatsDisco(~serversta@2001:470:69fc:105::1a) (Quit: You have been kicked for being idle)
2022-01-01 17:00:41 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 17:02:30 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 17:04:25 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 268 seconds)
2022-01-01 17:06:11 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-01-01 17:09:02 +0100_73(~user@pool-108-49-252-36.bstnma.fios.verizon.net) (Remote host closed the connection)
2022-01-01 17:12:29 +0100ChanServ+o litharge
2022-01-01 17:12:29 +0100litharge-bo ralu!*@* litharge
2022-01-01 17:15:07 +0100fef(~thedawn@user/thedawn) (Quit: Leaving)
2022-01-01 17:15:54 +0100 <lyxia> How do I use an installed package with standalone invocations of ghc? I tried cabal install --lib first-class-families && ghc -package first-class-families and cabal seems to install things somewhere but ghc tells me it "cannot satisfy -package first-class-families"
2022-01-01 17:16:09 +0100 <albet70> is there binary package manager for ghc?
2022-01-01 17:16:22 +0100Pickchea(~private@user/pickchea)
2022-01-01 17:16:39 +0100 <hpc> albet70: does apt count? :P
2022-01-01 17:16:49 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 17:16:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 17:17:28 +0100 <albet70> apt provide scotty?
2022-01-01 17:18:38 +0100 <geekosaur> lyxia, you may need to use --package-env (cabal) / -package-env (ghc)
2022-01-01 17:18:47 +0100 <hpc> maybe?
2022-01-01 17:18:52 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 17:19:02 +0100 <hpc> https://hackage.haskell.org/package/scotty doesn't list debian, but a few other distros have it packaged
2022-01-01 17:19:49 +0100 <hpc> is there a reason you can't cabal install it?
2022-01-01 17:20:16 +0100 <geekosaur> there's no binary package manager because too many things alter abis and ghc is critically dependent on the exact package abi for cross-module inlining
2022-01-01 17:20:27 +0100MoC(~moc@user/moc)
2022-01-01 17:21:11 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 245 seconds)
2022-01-01 17:21:15 +0100 <albet70> my VPS only has 1GB RAM
2022-01-01 17:22:39 +0100 <hpc> yeah that'll do it
2022-01-01 17:23:00 +0100 <lyxia> geekosaur: thanks, that works
2022-01-01 17:23:02 +0100 <hpc> although, maybe upgrade it?
2022-01-01 17:23:10 +0100 <lyxia> sounds like something I'm going to forget in a few months
2022-01-01 17:23:10 +0100 <hpc> 1 gig isn't even enough to install centos anymore
2022-01-01 17:23:22 +0100 <albet70> 1GB isn't enough to compile scotty
2022-01-01 17:23:32 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 252 seconds)
2022-01-01 17:23:58 +0100euouae(~euouae@user/euouae)
2022-01-01 17:24:30 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 17:25:01 +0100 <euouae> Hello, I have a question about the reader monad and monads in general. From what I know, a monad is an endofunctor so M : C -> C, and then we have a return with type :: a -> M a. But how does this include the reader monad? https://en.wikipedia.org/wiki/Monad_(functional_programming)#Environment_monad
2022-01-01 17:25:21 +0100 <euouae> In the reader monad, there are two parameters for return; the value and the environment
2022-01-01 17:25:28 +0100 <hpc> albet70: build your webapp somewhere else and copy it over maybe?
2022-01-01 17:25:48 +0100 <hpc> with static linking you won't need scotty's libs on the vps at all
2022-01-01 17:26:11 +0100 <euouae> I'm noticing that there is the following remark under Notes, https://en.wikipedia.org/wiki/Monad_(functional_programming)#cite_note-4 which says in CT they're called "strong monads" instead?
2022-01-01 17:26:22 +0100 <euouae> is that the missing link?
2022-01-01 17:27:17 +0100 <euouae> Because again strong monads seem to involve a single category C and I don't understand how multiple parameters of different types are incorporated into the theory
2022-01-01 17:27:24 +0100 <lyxia> energizer: return :: a -> M a, if M a = (e -> a) then return :: a -> e -> a
2022-01-01 17:27:35 +0100 <lyxia> I'm not sure what's the confusion here
2022-01-01 17:27:44 +0100 <lyxia> euouae: ^
2022-01-01 17:28:32 +0100Feuermagier(~Feuermagi@user/feuermagier) (Ping timeout: 240 seconds)
2022-01-01 17:28:53 +0100 <euouae> Oh, I didn't realize the hom functor is a monad!
2022-01-01 17:29:14 +0100 <euouae> but later on, with the state monad we have `type State s t = s -> (t, s)`. Isn't `State` the monad?
2022-01-01 17:29:32 +0100 <lyxia> `State s`
2022-01-01 17:29:44 +0100 <euouae> So `State s` is the monad?
2022-01-01 17:29:54 +0100 <lyxia> `State s` is a monad, yes.
2022-01-01 17:30:01 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-01-01 17:31:05 +0100 <euouae> That's because of how constructors curry?
2022-01-01 17:31:42 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-01 17:31:44 +0100 <lyxia> Can you define return :: a -> State s a ? bind :: State s a -> (a -> State s b) -> State s b ? Do they satisfy the monad laws?
2022-01-01 17:32:44 +0100 <euouae> I'm just not understanding how to see it as M : C -> C. What's the category here?
2022-01-01 17:33:12 +0100 <lyxia> Still the same category of types and functions
2022-01-01 17:33:14 +0100 <euouae> If you parametrize State by `s` then I understand that C is Hask, and that's the objects `t` runs over
2022-01-01 17:33:41 +0100 <euouae> But for `State` it looks more like C x C -> C
2022-01-01 17:34:01 +0100 <lyxia> That's why I was careful to say `State s`
2022-01-01 17:34:33 +0100 <euouae> The article states "From the category theory point of view, a state monad is derived from the adjunction between the product functor and the exponential functor, which exists in any cartesian closed category by definition. "
2022-01-01 17:34:44 +0100 <euouae> Are they talking about `State` or `State s` here?
2022-01-01 17:34:48 +0100 <lyxia> State s
2022-01-01 17:35:21 +0100Pickchea(~private@user/pickchea) (Ping timeout: 245 seconds)
2022-01-01 17:35:26 +0100 <euouae> " Due to the fact that functions on multiple free variables are common in programming, monads as described in this article are technically what category theorists would call strong monads."
2022-01-01 17:35:46 +0100 <euouae> Don't they mean `State` is a strong monad (with two parameters s and t)?
2022-01-01 17:35:54 +0100 <lyxia> It's the adjunction between `(s, ) : Type -> Type` and `(s -> ) : Type -> Type`, using Haskell's partially applied infix notation.
2022-01-01 17:36:11 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 245 seconds)
2022-01-01 17:36:40 +0100 <euouae> ah right. That's what product and exponential means since A -> B = B^A
2022-01-01 17:36:55 +0100 <lyxia> I think you should skip over any mention of strong monads because that's irrelevant for this question.
2022-01-01 17:37:33 +0100 <euouae> so when we talk about a monad M t1 t2 ... tn, we really mean that (M t1 t2 ... tn-1) is a monad?
2022-01-01 17:38:00 +0100 <lyxia> Like, table it for after you can reliably say what "M" is when you look at a new monad.
2022-01-01 17:38:32 +0100 <lyxia> Yeah that's usually the case
2022-01-01 17:38:57 +0100 <lyxia> When we say monads in Haskell we usually refer to monads on Hask
2022-01-01 17:39:34 +0100 <lyxia> That's exacly what the Monad class represents
2022-01-01 17:40:03 +0100 <albet70> what is Kleisli arrow?
2022-01-01 17:40:09 +0100 <euouae> got it, thank you lyxia
2022-01-01 17:40:11 +0100 <lyxia> sometimes monads in other categories are relevant, and hopefully it will be mentioned explicitly, but it's useful being careful regardless
2022-01-01 17:40:18 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 17:42:41 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 17:42:59 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 17:45:13 +0100jtomas(~jtomas@153.red-83-53-252.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-01-01 17:45:36 +0100jtomas(~jtomas@153.red-83-53-252.dynamicip.rima-tde.net)
2022-01-01 17:46:21 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 17:47:18 +0100acode(~acode@dslb-092-077-045-168.092.077.pools.vodafone-ip.de) (Quit: Client closed)
2022-01-01 17:48:10 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 17:48:39 +0100pavonia(~user@user/siracusa)
2022-01-01 17:50:30 +0100mc47(~mc47@xmonad/TheMC47)
2022-01-01 17:50:30 +0100Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2022-01-01 17:50:45 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 17:50:45 +0100slowButPresent(~slowButPr@user/slowbutpresent)
2022-01-01 17:50:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2022-01-01 17:50:47 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2022-01-01 17:51:54 +0100dyeplexer(~dyeplexer@user/dyeplexer)
2022-01-01 17:52:02 +0100 <monochrom> No, I don't talk about a monad "Maybe X". I talk about a monad "Maybe".
2022-01-01 17:52:40 +0100 <monochrom> Likewise, I don't talk about a function "f(x)". "f" is the function.
2022-01-01 17:54:19 +0100burnsidesLlama(~burnsides@dhcp168-013.wadham.ox.ac.uk)
2022-01-01 17:54:22 +0100 <lyxia> I believe in getting people to do more math and they will learn to police their language themselves.
2022-01-01 17:55:11 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Ping timeout: 250 seconds)
2022-01-01 17:55:51 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds)
2022-01-01 17:56:02 +0100Feuermagier(~Feuermagi@user/feuermagier)
2022-01-01 17:59:02 +0100 <monochrom> No, this is not about policing. And I have had students who have appreciated that my clarifications helped them unstick and move forward.
2022-01-01 17:59:46 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 18:00:17 +0100 <euouae> monochrom, so you're saying that you'd say that `State s` is a monad, which clarifies what is a monad and what is the parameter.
2022-01-01 18:00:28 +0100 <monochrom> Yes.
2022-01-01 18:02:00 +0100 <euouae> unfortunately the paper I'm reading doesn't seem to follow that rule
2022-01-01 18:02:48 +0100 <euouae> Or, I have not read it as carefully as I should? But I do understand what the convention is now that you mention it
2022-01-01 18:03:33 +0100 <euouae> for example they call `M` a monad but then explain it is parametrized by some `t`, which I think is similar to `State` being parametrized by `s`
2022-01-01 18:06:54 +0100 <monochrom> Oh, I say "the State monad" all the time, too. But only when I'm casually and to people who have already known. To beginners, I place consistency at a high priority.
2022-01-01 18:08:44 +0100Jing(~hedgehog@2604:a840:3::1013) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-01 18:09:22 +0100 <euouae> yeah there's some in-the-know thing going on but I'm trying to break through :P thank you for the help
2022-01-01 18:10:24 +0100 <lyxia> monochrom: that's a fair point!
2022-01-01 18:12:18 +0100econo(uid147250@user/econo)
2022-01-01 18:13:37 +0100n3rdy1(~n3rdy1@2601:646:c300:f20:d852:3bde:2197:ddf9) (Ping timeout: 240 seconds)
2022-01-01 18:16:31 +0100nrl^(~nrl@207.5.21.20) (Ping timeout: 256 seconds)
2022-01-01 18:20:46 +0100Jing(~hedgehog@2604:a840:3::1013)
2022-01-01 18:23:11 +0100 <euouae> lyxia that statement that (-> e) is a monad was quite tricky actually
2022-01-01 18:23:19 +0100 <euouae> or sorry, (a ->)
2022-01-01 18:29:26 +0100Midjak(~Midjak@may53-1-78-226-116-92.fbx.proxad.net)
2022-01-01 18:32:04 +0100nrl^(~nrl@207.5.21.20)
2022-01-01 18:33:59 +0100_73(~user@pool-108-49-252-36.bstnma.fios.verizon.net)
2022-01-01 18:34:50 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 260 seconds)
2022-01-01 18:38:49 +0100eflister(~eflister@2601:1c0:5501:c150:19dd:dfde:ec02:aa1)
2022-01-01 18:39:51 +0100hexology(~hexology@user/hexology)
2022-01-01 18:42:28 +0100gaff(~gaff@49.207.207.53) (Remote host closed the connection)
2022-01-01 18:45:20 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-01 18:46:13 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 18:48:25 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-01 18:49:10 +0100nrl^(~nrl@207.5.21.20) (Remote host closed the connection)
2022-01-01 18:50:39 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 250 seconds)
2022-01-01 18:53:09 +0100mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2022-01-01 18:53:34 +0100 <sirlensalot> Anybody have an idea how to use lens to traverse/fold a rank-2 list to "take" or "drop" from it? E.g., given [[1::Int,2,3],[4,5]], I'd like a `take 4` operation that results in `[[1,2,3],[4]]`
2022-01-01 18:54:00 +0100 <sirlensalot> I have an operational solution but I was hoping there'd be some IndexedTraversal magic
2022-01-01 18:58:26 +0100mbuf(~Shakthi@223.184.115.117) (Quit: Leaving)
2022-01-01 18:58:54 +0100 <Taneb> I'm not aware of any lensy magic that lets you do that
2022-01-01 19:01:27 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-01-01 19:01:53 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2022-01-01 19:03:03 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 19:05:38 +0100Jing(~hedgehog@2604:a840:3::1013) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2022-01-01 19:07:25 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds)
2022-01-01 19:09:04 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2022-01-01 19:09:43 +0100 <xerox> as for not lensy if you write a take variant that also tells you how much it took it's pretty straightforward
2022-01-01 19:10:52 +0100Keriel(~Keriel@bras-base-toroon474qw-grc-71-184-145-2-133.dsl.bell.ca)
2022-01-01 19:13:06 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 19:14:05 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2022-01-01 19:14:38 +0100johnw(~johnw@76-234-69-149.lightspeed.frokca.sbcglobal.net) (Quit: ZNC - http://znc.in)
2022-01-01 19:17:17 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 240 seconds)
2022-01-01 19:18:53 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 19:19:01 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 19:19:01 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 19:19:01 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 19:19:45 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 19:22:17 +0100Pickchea(~private@user/pickchea)
2022-01-01 19:22:54 +0100 <Keriel> hi, I'm going through HPPFP at the moment and having trouble with the exercises at the end of ch 10 that want you to write a bunch of point-free folds. a lot of them have been ugly enough I think I'm doing something wrong, e.g. myElemF = flip foldr False . ((||) .) . (==) - but also I don't see how to do filter at all.
2022-01-01 19:23:22 +0100lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2022-01-01 19:23:25 +0100 <Keriel> I wanted to start with something like - flip foldr [] . bool (:) (flip const) . magic - but I need to somehow apply the test function to the list element and still have a copy of the list element to cons if needed, which I don't see how to do.
2022-01-01 19:23:57 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c) (Ping timeout: 240 seconds)
2022-01-01 19:26:47 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-01 19:27:24 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 19:27:24 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 19:27:24 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 19:30:14 +0100 <euouae> Keriel what do you mean by point-free style? So you want filter = expr, with no arguments involved, right?
2022-01-01 19:30:45 +0100dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 256 seconds)
2022-01-01 19:30:50 +0100cosimone(~user@2001:b07:ae5:db26:c24a:d20:4d91:1e20) (Ping timeout: 260 seconds)
2022-01-01 19:31:25 +0100 <euouae> wouldn't it be enough to write it pointful and then work from there to make it pointfree?
2022-01-01 19:32:16 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-01 19:33:01 +0100 <monochrom> filter will be a direct foldr, rather than a flip foldr.
2022-01-01 19:34:15 +0100 <monochrom> In this case, the hard part is the pointfree form of what you give to foldr.
2022-01-01 19:35:11 +0100 <monochrom> In this case, I wouldn't bother.
2022-01-01 19:36:39 +0100 <monochrom> Some pointfree forms elucidate new perspectives, new structures, new beauty.
2022-01-01 19:36:44 +0100 <monochrom> This is not one of them.
2022-01-01 19:36:59 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-01 19:39:12 +0100euouae(~euouae@user/euouae) (Quit: )
2022-01-01 19:41:16 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-01 19:43:29 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 19:43:29 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 19:43:29 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 19:45:48 +0100 <justsomeguy> Heh, I guess I did all of those exercises wrong.
2022-01-01 19:45:59 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-01-01 19:46:41 +0100jtomas(~jtomas@153.red-83-53-252.dynamicip.rima-tde.net) (Remote host closed the connection)
2022-01-01 19:47:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 19:50:05 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
2022-01-01 19:50:24 +0100eflister(~eflister@2601:1c0:5501:c150:19dd:dfde:ec02:aa1) (Quit: Client closed)
2022-01-01 19:50:59 +0100 <Keriel> euouae: yeah. filter = expr, where expr also does not contain any lambdas (the latter being the hard part)
2022-01-01 19:51:32 +0100 <Keriel> monochrom: hm, not flip? don't you need to flip since you don't know what the function is yet but you know what the base case is? or am I misunderstanding when you use flip? (but if you think it's not worth doing that's reasonable too)
2022-01-01 19:52:11 +0100 <monochrom> How does flip have to do with base cases?
2022-01-01 19:52:36 +0100 <tomsmeding> > (\p -> foldr (\x r -> if p x then x : r else r) []) (>3) [1..6]
2022-01-01 19:52:38 +0100 <lambdabot> [4,5,6]
2022-01-01 19:52:39 +0100 <monochrom> Every recursion has base cases. Are you saying therefore all recursive functions must use flip?
2022-01-01 19:52:52 +0100 <tomsmeding> @pl \p -> foldr (\x r -> if p x then x : r else r) []
2022-01-01 19:52:52 +0100 <lambdabot> flip foldr [] . flip flip id . (ap .) . (`ap` (:)) . (((.) . if') .)
2022-01-01 19:53:16 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca) (Quit: WeeChat 3.4)
2022-01-01 19:53:17 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 19:53:28 +0100 <Keriel> I'm not sure what ap is?
2022-01-01 19:53:37 +0100 <tomsmeding> Good :p
2022-01-01 19:54:02 +0100 <tomsmeding> It's <*>, but that knowledge is probably not helpful to you
2022-01-01 19:54:18 +0100 <tomsmeding> Are you very sure they're asking to make filter without any lambdas anywhere?
2022-01-01 19:54:33 +0100Pickchea(~private@user/pickchea) (Ping timeout: 256 seconds)
2022-01-01 19:54:37 +0100 <tomsmeding> Because that's, well, that, and that is as monochrom not giving any insight
2022-01-01 19:54:41 +0100 <Keriel> only in that someone elsewhere told me to use <*> earlier, so now I know I've gotten the same suggestion twice :P
2022-01-01 19:55:09 +0100sprout(~quassel@2a02:a467:ccd6:1:9ce9:17f7:15aa:852c)
2022-01-01 19:55:24 +0100 <Keriel> the example at the start of the exercise set starts with the comment "-- fold, both myAnd and the folding function are point-free now"
2022-01-01 19:55:27 +0100 <EvanR> if you're trying to "golf" your arguments down to zero <*> is one of those things that can contribute
2022-01-01 19:55:40 +0100 <Keriel> which I think makes it clear they don't want me to use lambdas in the folding function
2022-01-01 19:55:47 +0100 <tomsmeding> Ah right
2022-01-01 19:55:54 +0100 <EvanR> (f <*> g) x = f x (g x)
2022-01-01 19:55:57 +0100 <Keriel> but it might be one of those exercise where they want you to realize you can't do it with the tools you have and move on
2022-01-01 19:56:05 +0100 <EvanR> (for instance)
2022-01-01 19:56:08 +0100 <tomsmeding> So you want 'filter p = foldr _ []' for some _
2022-01-01 19:56:27 +0100 <tomsmeding> The above was 'filter = _'
2022-01-01 19:56:28 +0100 <Keriel> well, that's not pointfree , right?
2022-01-01 19:56:29 +0100 <EvanR> wait that's monads
2022-01-01 19:57:21 +0100 <tomsmeding> Keriel: ... I guess, indeed
2022-01-01 19:57:58 +0100 <tomsmeding> I mean, you're going to need a conditional somehow: you need to call the predicate on list elements to decide whether to include the element or not
2022-01-01 19:58:13 +0100 <tomsmeding> And Prelude doesn't have a pointfree conditional
2022-01-01 19:58:18 +0100 <monochrom> Some of us accept "map f = foldr ..." as pointfree. It is good enough to get rid of "xs".
2022-01-01 19:58:34 +0100 <Keriel> they've shown us bool in an earlier chapter so I was using that
2022-01-01 19:58:40 +0100 <tomsmeding> Lambdabot sneakily used if', assuming that's defined as if' a b c = if a then b else c
2022-01-01 19:58:46 +0100 <tomsmeding> Ah yeah that's bool
2022-01-01 19:58:49 +0100eflister(~eflister@2601:1c0:5501:c150:e86d:7316:8592:8dd3)
2022-01-01 19:59:08 +0100 <tomsmeding> I have a suspicion that the book had monochrom's version in mind
2022-01-01 19:59:10 +0100 <Keriel> also, monochrom: the reason I thought you had to use flip foldr was just that you know what the second argument to foldr will be - [] - before taking any of the arguments to filter, but not the first one?
2022-01-01 19:59:28 +0100 <Keriel> but yeah. it seems like there isn't a real solution with what they've shown me so I should try to write it as filter f = ...
2022-01-01 19:59:34 +0100 <lechner_> Hi, why does this module explicty import Prelude, please? https://github.com/nikita-volkov/hasql#short-example
2022-01-01 19:59:36 +0100 <tomsmeding> Keriel: the @pl output started with 'flip foldr []' for precisely that reason
2022-01-01 19:59:51 +0100ProfSimm(~ProfSimm@87.227.196.109)
2022-01-01 20:00:09 +0100 <tomsmeding> @pl \x r -> if p x then x : r else r
2022-01-01 20:00:09 +0100 <lambdabot> join . ap ((.) . if' . p) (:)
2022-01-01 20:00:13 +0100 <tomsmeding> Meh
2022-01-01 20:00:27 +0100 <Keriel> right, I've been doing flip foldr for a lot of these, I was replying to monochrom asking what flip has to do with base cases
2022-01-01 20:00:37 +0100 <tomsmeding> :t flip
2022-01-01 20:00:38 +0100 <lambdabot> (a -> b -> c) -> b -> a -> c
2022-01-01 20:00:50 +0100 <tomsmeding> Flip just flips the arguments of a function
2022-01-01 20:00:51 +0100 <monochrom> Generally when an argument is mentioned twice, it's already a nightmare. Here we have two arguments, both mentioned twice.
2022-01-01 20:01:02 +0100 <Keriel> yeah I'm... not even immediately sure if I can do filter f = ...
2022-01-01 20:01:36 +0100 <Keriel> they also want maximumBy and minimumBy which seem impossible for the same reason
2022-01-01 20:02:01 +0100 <monochrom> I think those are easier and nicer.
2022-01-01 20:02:04 +0100 <tomsmeding> :t let bool a b c = if a then b else c in \p -> foldr (join . ap ((.) . bool . p) (:)) -- this is the @pl output, but it's completely unreadable
2022-01-01 20:02:05 +0100 <lambdabot> Foldable t => (a -> Bool) -> [a] -> t a -> [a]
2022-01-01 20:02:35 +0100 <Keriel> I'll take a look at those then. are you thinking of maximumBy = _ or maximumBy f = _?
2022-01-01 20:02:45 +0100 <monochrom> Yes.
2022-01-01 20:03:11 +0100 <monochrom> Err, "maximumBy f = _".
2022-01-01 20:03:32 +0100 <Keriel> hmm I guess I have to use head here?
2022-01-01 20:04:10 +0100 <Keriel> or at least, I don't think the book has introduced foldr1 so I'm probably not meant to use it
2022-01-01 20:04:12 +0100 <monochrom> Consider foldl1 or foldr1.
2022-01-01 20:04:27 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-01 20:05:09 +0100jpds(~jpds@gateway/tor-sasl/jpds) (Remote host closed the connection)
2022-01-01 20:05:36 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2022-01-01 20:08:44 +0100 <Keriel> well. the normal version would be myMaximumBy f = foldr1 (\x y -> bool y x (f x y == GT)) - also using foldr1 because yeah I can't see how to do it without that or ugly head stuff
2022-01-01 20:09:34 +0100 <Keriel> but this seems to need something like the ap stuff being discussed above? I can do 'flip bool' to get the correct 'conditional', but then I no longer have x and y left to use for the comparison test. if that makes sense.
2022-01-01 20:09:45 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-01 20:10:40 +0100 <monochrom> Ah, that's difficult, yeah.
2022-01-01 20:11:04 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-01 20:11:49 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-01 20:12:11 +0100 <Keriel> I think I'm just going to assume I'm supposed to treat these as impossible to write pointfree and come back to it when I learn more tools
2022-01-01 20:12:26 +0100 <Keriel> thanks for the help though ^^
2022-01-01 20:15:49 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 20:18:53 +0100 <lechner_> Hi, in a pinch is there a way, please, to makel libraries accessible to runhaskell without a local cabal file?
2022-01-01 20:19:37 +0100 <lechner_> cabal install hasql says " Cannot build the executables"
2022-01-01 20:19:51 +0100 <monochrom> No, but we know ways of "cabal run" and "cabal repl"
2022-01-01 20:21:28 +0100drewolson(~drewolson@user/drewolson) (Quit: The Lounge - https://thelounge.chat)
2022-01-01 20:21:39 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 250 seconds)
2022-01-01 20:22:00 +0100 <lechner_> should i use cabal repl instead?
2022-01-01 20:22:04 +0100drewolson(~drewolson@user/drewolson)
2022-01-01 20:22:14 +0100 <EvanR> if you really can't figure out how to write something point free, consider how anyone's supposed to read it later xD
2022-01-01 20:22:20 +0100perrierjouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2022-01-01 20:22:36 +0100 <monochrom> I read it by putting the points back.
2022-01-01 20:23:08 +0100 <monochrom> I mean in the ugly cases, of course.
2022-01-01 20:23:11 +0100deadmarshal(~deadmarsh@95.38.119.182) (Ping timeout: 250 seconds)
2022-01-01 20:23:21 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com)
2022-01-01 20:23:46 +0100 <EvanR> a combination of bool and (==GT) is screaming case analysis to me
2022-01-01 20:24:13 +0100 <monochrom> "interact (unlines . map (show . solve . read) . lines)" is best read without putting the points back. It's a nice one.
2022-01-01 20:24:56 +0100drewolson(~drewolson@user/drewolson) (Client Quit)
2022-01-01 20:25:05 +0100drewolson(~drewolson@user/drewolson)
2022-01-01 20:25:27 +0100max22-(~maxime@2a01cb0883359800a99596770101e95e.ipv6.abo.wanadoo.fr) (Ping timeout: 268 seconds)
2022-01-01 20:26:37 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-01 20:26:43 +0100 <EvanR> \x y -> case f x y of GT -> y; _ -> x
2022-01-01 20:27:14 +0100eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2022-01-01 20:27:25 +0100coot(~coot@89-64-85-93.dynamic.chello.pl) (Quit: coot)
2022-01-01 20:29:59 +0100Erutuon(~Erutuon@user/erutuon)
2022-01-01 20:30:07 +0100 <lechner_> Hi, rel8 requires base ^>=4.14 but Debian's ghc 8.8.4 only comes with base 4.13 (constraint from non-upgradeable package requires installed instance). can i upgrade ghc via cabal, too?
2022-01-01 20:32:09 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-01 20:32:18 +0100coolnickname(uid531864@user/coolnickname) (Quit: Connection closed for inactivity)
2022-01-01 20:32:43 +0100 <c_wraith> lechner_: you're best off completely uninstalling debian's ghc distribution and using ghcup to manage your installed ghc versions
2022-01-01 20:34:00 +0100Sgeo(~Sgeo@user/sgeo)
2022-01-01 20:34:52 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-01-01 20:35:13 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-01 20:36:15 +0100 <lechner_> c_wraith: thanks!
2022-01-01 20:37:18 +0100otherwise(~otherwise@2601:602:880:90f0:4406:752c:ba78:a481)
2022-01-01 20:48:23 +0100califax(~califax@user/califx)
2022-01-01 20:51:07 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2022-01-01 20:53:23 +0100JimL(~quassel@89-162-2-132.fiber.signal.no)
2022-01-01 20:54:59 +0100justsomeguy(~justsomeg@user/justsomeguy)
2022-01-01 20:54:59 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.4)
2022-01-01 20:55:15 +0100pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2022-01-01 20:58:41 +0100shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2022-01-01 20:59:47 +0100max22-(~maxime@2a01cb0883359800767a96b77d5018f7.ipv6.abo.wanadoo.fr)
2022-01-01 21:00:20 +0100xb0o2(~xb0o2@user/xb0o2)
2022-01-01 21:06:45 +0100juhp(~juhp@128.106.188.82)
2022-01-01 21:06:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-01 21:08:04 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 21:08:32 +0100coot(~coot@89-64-85-93.dynamic.chello.pl)
2022-01-01 21:09:55 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 256 seconds)
2022-01-01 21:10:33 +0100zincy_(~zincy@host86-151-99-97.range86-151.btcentralplus.com) (Remote host closed the connection)
2022-01-01 21:10:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 21:10:35 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 21:10:35 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 21:18:08 +0100simendsjo(~user@host.62.119.30.141.bitcom.se)
2022-01-01 21:20:07 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 256 seconds)
2022-01-01 21:20:55 +0100otherwise(~otherwise@2601:602:880:90f0:4406:752c:ba78:a481) (Remote host closed the connection)
2022-01-01 21:23:28 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 21:23:28 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 21:23:28 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 21:24:44 +0100 <lechner_> Hi, is it possible, in hasql, to use a more general connection string (for pg_service) or do i have to specify all the parameters with this separately? I can't figure out how to turn a strict bytestring into the "type Settings = ByteString" declared here https://hackage.haskell.org/package/hasql-1.4.5.3/docs/Hasql-Connection.html
2022-01-01 21:26:57 +0100simendsjo(~user@host.62.119.30.141.bitcom.se) (Remote host closed the connection)
2022-01-01 21:27:57 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-01 21:28:18 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:29:09 +0100Pickchea(~private@user/pickchea)
2022-01-01 21:30:17 +0100simendsjo(~user@host.62.119.30.141.bitcom.se)
2022-01-01 21:30:37 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 21:30:37 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 21:30:37 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 21:32:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:32:06 +0100 <lechner_> never mind, it worked!
2022-01-01 21:33:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:33:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Remote host closed the connection)
2022-01-01 21:35:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:35:44 +0100nschoe(~quassel@2a01:e0a:8e:a190:9f8d:fdc0:8a25:3c46)
2022-01-01 21:35:44 +0100nschoe(~quassel@2a01:e0a:8e:a190:9f8d:fdc0:8a25:3c46) (Client Quit)
2022-01-01 21:35:52 +0100cosimone(~user@93-34-132-88.ip49.fastwebnet.it)
2022-01-01 21:35:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:37:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:37:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:39:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:39:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:41:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:41:59 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:42:04 +0100euouae(~euouae@user/euouae)
2022-01-01 21:42:09 +0100justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.3)
2022-01-01 21:42:19 +0100 <euouae> Hello, what part of the monad definition makes monads appropriate for effectful computations?
2022-01-01 21:43:09 +0100 <int-e> :t (>>=)
2022-01-01 21:43:09 +0100 <lambdabot> Monad m => m a -> (a -> m b) -> m b
2022-01-01 21:43:32 +0100 <euouae> is it the associativity of the join operator?
2022-01-01 21:43:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:43:45 +0100 <euouae> is join "running" the effects?
2022-01-01 21:44:00 +0100 <int-e> this gives a nice way of sequencing effects one after another (where "sequencing" is really more syntactical than about the actual effects)
2022-01-01 21:44:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:44:07 +0100 <int-e> @src (>>=)
2022-01-01 21:44:07 +0100 <lambdabot> Source not found. I am sorry.
2022-01-01 21:44:14 +0100 <int-e> (just checking)
2022-01-01 21:44:16 +0100 <Rembane> The runtime system takes care of executing the effects in IO.
2022-01-01 21:44:22 +0100 <Rembane> IIRC
2022-01-01 21:44:24 +0100 <euouae> How do you read that type and understand sequencing?
2022-01-01 21:44:38 +0100 <euouae> what is an effect?
2022-01-01 21:44:51 +0100 <int-e> :t join -- yes, join also sequences two effects; f >>= g = join (g <$> f) after all
2022-01-01 21:44:52 +0100 <lambdabot> Monad m => m (m a) -> m a
2022-01-01 21:45:01 +0100 <euouae> I guess `a -> m b` is a computation with an effect, right?
2022-01-01 21:45:18 +0100 <int-e> what kind of "effect" you have depends on the monad
2022-01-01 21:45:21 +0100 <Rembane> It doesn't have to. Take a look at Data.Maybe.
2022-01-01 21:45:22 +0100 <euouae> and we already have an effect `m a`, so we can continue the chain of computation.
2022-01-01 21:45:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:45:47 +0100 <euouae> Rembane Oh yes, I do understand that. I'm just trying to understand that 1) a functor 2) the coherence laws -- why is /that/ the right tool for effects
2022-01-01 21:46:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:46:11 +0100 <int-e> IO is basically the only one with a *real* effect (launching missiles etc)
2022-01-01 21:47:15 +0100 <dsal> You can think of ST as closer to State than IO and have a similar mental model. Might be a good bridge.
2022-01-01 21:47:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:47:50 +0100 <dsal> IO has no constrained effects, where State allows you to make arbitrary changes to a specific value. The ordering of those effects is important.
2022-01-01 21:47:52 +0100 <monochrom> Mathematicians study monads in terms of join. But join is not very relatable to programmers. >>= is most relatable, Kleisli arrow is not bad either.
2022-01-01 21:48:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:48:03 +0100simendsjo(~user@host.62.119.30.141.bitcom.se) (Remote host closed the connection)
2022-01-01 21:48:27 +0100 <int-e> euouae: monads weren't made for effects... I think people studying effects noticed that they have a monadic structure.
2022-01-01 21:49:13 +0100 <int-e> euouae: Which makes that kind of question fruitless (at least to my mind) because it's putting the cart before the horse.
2022-01-01 21:49:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:49:48 +0100 <euouae> perhaps my confusion is as to what is a formal definition for an effect
2022-01-01 21:49:59 +0100 <monochrom> Heh we have none.
2022-01-01 21:50:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:50:32 +0100nhatanh02(~satori@123.24.172.30) (Ping timeout: 240 seconds)
2022-01-01 21:50:49 +0100 <euouae> see, if I were any less wiser, I'd still be confused. But nay, I am now not confused anymore!
2022-01-01 21:51:11 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-01 21:51:35 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:51:50 +0100 <monochrom> BTW I know of a philosopher who opposes having a rigorous definition of "life" for its potential in stagnating biology. Part of the fun of biology is to leave it open so you can always challenge or expand the scope.
2022-01-01 21:52:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:52:17 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2022-01-01 21:52:19 +0100 <Rembane> euouae: here, have loads of examples: https://homepages.inf.ed.ac.uk/wadler/papers/marktoberdorf/baastad.pdf
2022-01-01 21:52:21 +0100 <monochrom> And so I think it is a good thing we don't draw a hard line around "effect" either.
2022-01-01 21:53:16 +0100 <euouae> Rembane nice, thank you!
2022-01-01 21:53:21 +0100 <Rembane> euouae: No worries. :)
2022-01-01 21:53:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:53:55 +0100 <int-e> > [1,2,3] >>= \x -> [x..x*2] -- exercise, or possibly a topic for debate: what's the effect here?
2022-01-01 21:53:57 +0100 <lambdabot> [1,2,2,3,4,3,4,5,6]
2022-01-01 21:54:03 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:54:10 +0100 <Rembane> monochrom: OTOH, we can draw a fuzzy line around the effect idea and put the data type IO on it.
2022-01-01 21:54:25 +0100 <int-e> (the stock answer is "nondeterminism")
2022-01-01 21:54:35 +0100 <EvanR> euouae, you go through many examples of effects and then maybe or maybe not you know what an effect is
2022-01-01 21:55:07 +0100 <monochrom> Well yeah same for "data structure". We do have a consensus on a larger class of examples and a large class of counterexamples for both.
2022-01-01 21:55:25 +0100 <monochrom> Same for "car", really.
2022-01-01 21:55:36 +0100 <EvanR> examples often given first, modifying a state in a stateful computation, using an RNG (same thing really), throwing an exception to stop a computation early, outputting to a log during the computation
2022-01-01 21:55:38 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:55:43 +0100 <int-e> monochrom: contents of address register?
2022-01-01 21:55:52 +0100 <monochrom> haha
2022-01-01 21:55:59 +0100 <monochrom> That's a data structure!
2022-01-01 21:56:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:56:30 +0100 <dsal> Is "Reader monad" considered related to effects? That makes things blurry for me.
2022-01-01 21:56:41 +0100 <EvanR> later on people start messing with you calling "non-termination" an effect, also CPS
2022-01-01 21:57:42 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 21:57:58 +0100 <int-e> dsal: it's the effect of living in an unchanging environment (or maybe a museum: you can look, but not touch)
2022-01-01 21:58:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 21:58:14 +0100 <int-e> (I'm not very serious about this)
2022-01-01 21:58:18 +0100 <EvanR> that doesn't seem like a proper effect xD
2022-01-01 21:58:25 +0100 <EvanR> it's a lack of effect
2022-01-01 21:58:39 +0100 <Rembane> You can change it, but only one monter at the time, and when you leave scope it is restored.
2022-01-01 21:58:57 +0100 <monochrom> If the answer depends on a hidden datum, that is a little bit effectful.
2022-01-01 21:58:57 +0100 <EvanR> that's a weird feature of Reader specifically
2022-01-01 21:59:33 +0100 <int-e> reader is fairly useless... except that it allows you to use generic monadic functions; it's a bit more useful as a transformer
2022-01-01 21:59:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:00:05 +0100 <monochrom> :(
2022-01-01 22:00:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:00:23 +0100 <monochrom> The hom functor is used all over the place!
2022-01-01 22:00:24 +0100 <int-e> (but again for interacting well with monadic library interfaces, not for having an actual effect)
2022-01-01 22:00:33 +0100 <monochrom> OK, but only as a functor, seldom as a monad.
2022-01-01 22:01:05 +0100 <int-e> monochrom: that sounds suspiciously like category theory :P
2022-01-01 22:01:40 +0100 <Rembane> When is Reader useful and why? I haven't run into a use for it yet so the question is honest.
2022-01-01 22:01:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:02:13 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:02:25 +0100 <euouae> code security?
2022-01-01 22:02:29 +0100simendsjo(~user@host.62.119.30.141.bitcom.se)
2022-01-01 22:02:45 +0100nhatanh02(~satori@123.24.172.30)
2022-01-01 22:02:53 +0100 <euouae> if the type is Reader as opposed to Writer you know what the priviledges are just by looking at the type, useful for code review
2022-01-01 22:03:08 +0100 <euouae> in some scenario, I could imagine that being helpful I suppose
2022-01-01 22:03:46 +0100 <monochrom> The Yoneda lemma states that (∀x. Reader E -> F x) is in bijection with F E, and the bijection is natural in both E and F.
2022-01-01 22:03:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:04:06 +0100 <monochrom> err, (∀x. Reader E x -> F x)
2022-01-01 22:04:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:04:39 +0100 <monochrom> Aka the collection of natural transformations from Reader E to F.
2022-01-01 22:04:48 +0100kjak(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2022-01-01 22:05:30 +0100 <EvanR> euouae, that would be true if local wasn't in the Reader API
2022-01-01 22:05:47 +0100 <EvanR> so it's basically the same as using a function argument
2022-01-01 22:05:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:06:11 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2022-01-01 22:06:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:06:33 +0100 <EvanR> so is ReaderT
2022-01-01 22:07:02 +0100 <int-e> The practical utility I've gotten out of ReaderT (the transformer) is that when I write code in mtl style... so newtype App a = App { runApp: WriterT w IO a } deriving (Monad) and then realize that I need to carry a configuration as well (from command line options), then I can add a ReaderT Config into the stack and most of the existing code that doesn't care about the configuration will...
2022-01-01 22:07:08 +0100 <int-e> ...continue to work.
2022-01-01 22:07:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:07:54 +0100simendsjo(~user@host.62.119.30.141.bitcom.se) (Remote host closed the connection)
2022-01-01 22:08:15 +0100 <EvanR> if the code is already monadic style yeah
2022-01-01 22:08:17 +0100kjak_(~kjak@pool-108-45-56-21.washdc.fios.verizon.net)
2022-01-01 22:08:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:08:26 +0100 <EvanR> er, do notation
2022-01-01 22:08:40 +0100 <Rembane> int-e: That's very useful. I'm usually using StateT for that, but I'm not coding Haskell in a hm... production setting so I can change things very carelessly.
2022-01-01 22:08:43 +0100 <int-e> EvanR: yeah. also having that newtype is quite important
2022-01-01 22:08:55 +0100 <int-e> because that's how you abstract from the inner stack
2022-01-01 22:09:33 +0100 <int-e> Which is why I wrote "mtl style"; it's really a particular coding style and you only benefit from ReaderT in this way when you're using it.
2022-01-01 22:09:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:10:00 +0100op_4(~op_4@user/op-4/x-9116473) (leaving)
2022-01-01 22:10:12 +0100[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2022-01-01 22:10:17 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:10:28 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 22:11:44 +0100 <int-e> @pl \f g x -> f x (g x)
2022-01-01 22:11:44 +0100 <lambdabot> ap
2022-01-01 22:11:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:12:02 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2022-01-01 22:12:10 +0100 <int-e> there's also this pointless use of the (->) r reader monad
2022-01-01 22:12:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:12:35 +0100 <int-e> Which I guess monochrom meant earlier. It's occasionally useful.
2022-01-01 22:12:50 +0100 <int-e> > sequence [succ, pred] 1
2022-01-01 22:12:52 +0100 <lambdabot> [2,0]
2022-01-01 22:12:57 +0100bitdex(~bitdex@gateway/tor-sasl/bitdex)
2022-01-01 22:13:04 +0100 <int-e> > map ($ 1) [succ, pred]
2022-01-01 22:13:05 +0100 <lambdabot> [2,0]
2022-01-01 22:13:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:14:22 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:15:05 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net)
2022-01-01 22:15:48 +0100 <Rembane> int-e: That's neat!
2022-01-01 22:15:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:16:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:18:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:18:04 +0100 <monochrom> Functor-Man: Hom Functing. Functor-Man: Far from Hom. Functor-Man: No Way Hom.
2022-01-01 22:18:11 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2022-01-01 22:18:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:20:00 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:20:11 +0100yauhsien(~yauhsien@61-231-19-17.dynamic-ip.hinet.net) (Ping timeout: 256 seconds)
2022-01-01 22:20:17 +0100ymherklotz(~ymherklot@139.59.166.119) (Ping timeout: 240 seconds)
2022-01-01 22:20:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:22:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:22:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:23:59 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:24:12 +0100falafel(~falafel@2603-8000-d800-688c-6db4-c125-f693-41cb.res6.spectrum.com)
2022-01-01 22:24:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:24:42 +0100falafel_(~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com)
2022-01-01 22:25:36 +0100 <EvanR> is venom somehow contravariant functor man
2022-01-01 22:26:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:26:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:26:43 +0100 <monochrom> :)
2022-01-01 22:27:21 +0100acidjnk(~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de)
2022-01-01 22:27:21 +0100acidjnk_new(~acidjnk@pd9e0bdc0.dip0.t-ipconnect.de)
2022-01-01 22:28:01 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:28:17 +0100falafel(~falafel@2603-8000-d800-688c-6db4-c125-f693-41cb.res6.spectrum.com) (Ping timeout: 240 seconds)
2022-01-01 22:28:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:29:01 +0100Erutuon(~Erutuon@user/erutuon) (Ping timeout: 240 seconds)
2022-01-01 22:30:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:30:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:31:17 +0100MoC(~moc@user/moc) (Quit: Konversation terminated!)
2022-01-01 22:32:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:32:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:34:06 +0100 <lechner_> c_wraith: i built ghc for 8.10.7 for Debian bullseye and could make it available, if anyone needs it
2022-01-01 22:34:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:34:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:36:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:36:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:37:17 +0100falafel_(~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com) (Ping timeout: 240 seconds)
2022-01-01 22:38:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:38:13 +0100 <lechner_> Hi, why does cabal force me to bump a prerequisite declaration on base to the installed version 4.14, please? What does the 'greater than' mean? http://paste.debian.net/1225513/
2022-01-01 22:38:33 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:39:41 +0100euouae(~euouae@user/euouae) (Quit: )
2022-01-01 22:40:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:40:17 +0100 <sclv> lechner_: the package you're trying to build has declared that it requires base ^>= 4.13.0.0
2022-01-01 22:40:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:40:42 +0100 <sclv> the carrot greater eaql means it requires base be somewhere between 4.13 and 4.14 but no higher
2022-01-01 22:40:53 +0100 <lechner_> i see!
2022-01-01 22:41:06 +0100 <lechner_> it always helps to know the docs
2022-01-01 22:41:20 +0100 <lechner_> sorry i am a newbie, and hyperctive too
2022-01-01 22:42:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:42:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:44:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:44:17 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 240 seconds)
2022-01-01 22:44:30 +0100 <lechner_> sclv: sometimes i also forget to say, thank you!
2022-01-01 22:44:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:44:54 +0100xkuru(~xkuru@user/xkuru) (Read error: Connection reset by peer)
2022-01-01 22:45:05 +0100 <sclv> no prob
2022-01-01 22:46:06 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:46:39 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:47:19 +0100falafel_(~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com)
2022-01-01 22:48:05 +0100falafel__(~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com)
2022-01-01 22:48:14 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:48:44 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:50:19 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:50:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:51:49 +0100falafel_(~falafel@2603-8000-d800-688c-587d-3efc-bc6e-2970.res6.spectrum.com) (Ping timeout: 240 seconds)
2022-01-01 22:52:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:52:26 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2022-01-01 22:52:43 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com)
2022-01-01 22:52:43 +0100wroathe(~wroathe@206-55-188-8.fttp.usinternet.com) (Changing host)
2022-01-01 22:52:43 +0100wroathe(~wroathe@user/wroathe)
2022-01-01 22:52:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:54:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:54:54 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:55:57 +0100x88x88x(~x88x88x@149.28.53.172) (Remote host closed the connection)
2022-01-01 22:56:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:56:43 +0100x88x88x(~x88x88x@2001:19f0:5:39a8:5400:3ff:feb6:73cb)
2022-01-01 22:56:52 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 22:57:01 +0100wroathe(~wroathe@user/wroathe) (Ping timeout: 245 seconds)
2022-01-01 22:58:25 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 22:58:51 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:00:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:00:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:02:28 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:02:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:04:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:04:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:05:18 +0100deadmarshal(~deadmarsh@95.38.115.228)
2022-01-01 23:05:46 +0100lavaman(~lavaman@98.38.249.169)
2022-01-01 23:06:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:06:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:08:32 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:09:02 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:09:37 +0100deadmarshal(~deadmarsh@95.38.115.228) (Ping timeout: 240 seconds)
2022-01-01 23:10:37 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:11:08 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:11:57 +0100mc47(~mc47@xmonad/TheMC47)
2022-01-01 23:12:30 +0100jgeerds(~jgeerds@55d4ac73.access.ecotel.net)
2022-01-01 23:12:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:12:53 +0100ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2022-01-01 23:13:07 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:14:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:15:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:16:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:17:10 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:18:43 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:19:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:20:17 +0100falafel__(~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com) (Remote host closed the connection)
2022-01-01 23:20:32 +0100falafel__(~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com)
2022-01-01 23:20:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:21:11 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:22:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:23:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:24:47 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:25:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:25:30 +0100werneta_(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Ping timeout: 268 seconds)
2022-01-01 23:26:48 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:26:53 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2022-01-01 23:27:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:27:17 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca) (Quit: ZNC 1.8.2 - https://znc.in)
2022-01-01 23:28:50 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:29:21 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:30:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:31:01 +0100zer0bitz(~zer0bitz@196.244.192.57) (Ping timeout: 256 seconds)
2022-01-01 23:31:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:32:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:33:24 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:33:25 +0100lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2022-01-01 23:34:10 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl) (Quit: My iMac has gone to sleep. ZZZzzz…)
2022-01-01 23:34:58 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:35:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:35:32 +0100falafel__(~falafel@2603-8000-d800-688c-c064-54e6-9a05-e359.res6.spectrum.com) (Ping timeout: 240 seconds)
2022-01-01 23:37:04 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:37:34 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:38:01 +0100pieguy128(~pieguy128@bras-base-mtrlpq5031w-grc-48-67-70-102-17.dsl.bell.ca)
2022-01-01 23:38:11 +0100tromp(~textual@dhcp-077-249-230-040.chello.nl)
2022-01-01 23:39:09 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:39:36 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:41:12 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:41:41 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:42:01 +0100geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2022-01-01 23:43:15 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:43:42 +0100geekosaur(~geekosaur@xmonad/geekosaur)
2022-01-01 23:43:46 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:45:23 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:45:49 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:47:26 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:47:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:48:20 +0100nhatanh02(~satori@123.24.172.30) (Ping timeout: 268 seconds)
2022-01-01 23:49:27 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:49:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:51:30 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:51:53 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:52:18 +0100benin(~benin@183.82.178.161)
2022-01-01 23:53:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:53:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:55:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:55:55 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:57:29 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:57:56 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)
2022-01-01 23:59:31 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be)
2022-01-01 23:59:57 +0100betelgeuse9(~betelgeus@94-225-47-8.access.telenet.be) (Read error: Connection reset by peer)