2020/11/15

2020-11-15 00:02:23 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2020-11-15 00:02:30 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 00:02:39 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 00:03:23 +0100conal(~conal@64.71.133.70)
2020-11-15 00:03:45 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 00:05:33 +0100robert___(uid452915@gateway/web/irccloud.com/x-avvlothyweftrhzc)
2020-11-15 00:06:21 +0100neiluj(~jco@unaffiliated/neiluj) (Remote host closed the connection)
2020-11-15 00:07:42 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 265 seconds)
2020-11-15 00:07:43 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-11-15 00:08:17 +0100conal(~conal@64.71.133.70)
2020-11-15 00:09:53 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-11-15 00:10:00 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-15 00:10:40 +0100scasc(~szabi@213142096107.public.telering.at) (Ping timeout: 246 seconds)
2020-11-15 00:12:37 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 00:16:18 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2020-11-15 00:17:19 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 246 seconds)
2020-11-15 00:21:13 +0100borne(~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de)
2020-11-15 00:21:16 +0100cameron(~cameron@cpe-74-138-57-121.kya.res.rr.com)
2020-11-15 00:22:49 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 00:22:59 +0100Jeanne-Kamikaze(~Jeanne-Ka@66.115.189.199) (Quit: Leaving)
2020-11-15 00:23:26 +0100irc_user(uid423822@gateway/web/irccloud.com/x-shfvqjbimtcmmios)
2020-11-15 00:23:49 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-11-15 00:24:33 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 00:26:58 +0100aarvar(~foewfoiew@50.35.43.33) (Ping timeout: 260 seconds)
2020-11-15 00:27:44 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 256 seconds)
2020-11-15 00:28:41 +0100vacm(~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 00:29:26 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 264 seconds)
2020-11-15 00:29:43 +0100Maxdamantus(~Maxdamant@unaffiliated/maxdamantus)
2020-11-15 00:32:56 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 00:33:46 +0100argent0(~argent0@168.227.98.85) (Ping timeout: 246 seconds)
2020-11-15 00:38:03 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-15 00:38:47 +0100knupfer(~Thunderbi@200116b824501f002426e4fffede5023.dip.versatel-1u1.de)
2020-11-15 00:39:33 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-11-15 00:39:42 +0100knupfer(~Thunderbi@200116b824501f002426e4fffede5023.dip.versatel-1u1.de) (Remote host closed the connection)
2020-11-15 00:39:50 +0100knupfer(~Thunderbi@200116b824501f00940301159f766acb.dip.versatel-1u1.de)
2020-11-15 00:40:21 +0100tabemann(~travisb@172-13-49-137.lightspeed.milwwi.sbcglobal.net)
2020-11-15 00:42:32 +0100mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com) (Ping timeout: 260 seconds)
2020-11-15 00:42:37 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 00:45:49 +0100argent0(~argent0@168.227.98.81)
2020-11-15 00:46:42 +0100christo(~chris@81.96.113.213)
2020-11-15 00:50:22 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 272 seconds)
2020-11-15 00:50:29 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-11-15 00:51:01 +0100hackagehakyll-filestore 0.1.8 - FileStore utilities for Hakyll https://hackage.haskell.org/package/hakyll-filestore-0.1.8 (aergus)
2020-11-15 00:52:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 00:55:05 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2020-11-15 00:55:30 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-11-15 00:56:07 +0100knupfer(~Thunderbi@200116b824501f00940301159f766acb.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-11-15 00:57:00 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-15 01:00:02 +0100StephenS1(~StephenS@185.204.1.185) ()
2020-11-15 01:00:30 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 272 seconds)
2020-11-15 01:02:40 +0100bidabong(uid272474@gateway/web/irccloud.com/x-vfizlkdiqyjcevrq) (Quit: Connection closed for inactivity)
2020-11-15 01:03:20 +0100conal(~conal@64.71.133.70)
2020-11-15 01:07:03 +0100teardown(~user@gateway/tor-sasl/mrush) (Ping timeout: 240 seconds)
2020-11-15 01:10:28 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 01:13:47 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 01:14:22 +0100christo(~chris@81.96.113.213)
2020-11-15 01:14:43 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 01:16:28 +0100argent0(~argent0@168.227.98.81) (Ping timeout: 246 seconds)
2020-11-15 01:16:41 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 01:17:08 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 01:17:29 +0100alp(~alp@2a01:e0a:58b:4920:c460:5fc4:5220:7588) (Ping timeout: 272 seconds)
2020-11-15 01:18:23 +0100ech(~user@gateway/tor-sasl/ech) (Ping timeout: 240 seconds)
2020-11-15 01:18:40 +0100ech(~user@gateway/tor-sasl/ech)
2020-11-15 01:20:43 +0100wildtrees(wildtrees@gateway/vpn/protonvpn/wildtrees) (Ping timeout: 268 seconds)
2020-11-15 01:22:38 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 01:23:02 +0100conal(~conal@198.8.81.220)
2020-11-15 01:25:06 +0100Entertainment(~entertain@104.246.132.210)
2020-11-15 01:26:43 +0100zule1(~zule@188.126.89.41) (Remote host closed the connection)
2020-11-15 01:27:30 +0100vacm(~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 01:29:15 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi) (Quit: Leaving.)
2020-11-15 01:30:29 +0100conal(~conal@198.8.81.220) (Quit: Computer has gone to sleep.)
2020-11-15 01:31:22 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-15 01:32:08 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-15 01:33:03 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-11-15 01:37:57 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 01:39:00 +0100vacm(~vacwm@70.23.92.191) (Client Quit)
2020-11-15 01:40:58 +0100jakalx(~jakalx@base.jakalx.net) ("Disconnected: closed")
2020-11-15 01:41:14 +0100texasmynsted(~texasmyns@212.102.44.36)
2020-11-15 01:42:38 +0100Smaczny(~Smaczny@178.162.212.214)
2020-11-15 01:43:31 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 01:43:48 +0100Entertainment(~entertain@104.246.132.210) (Quit: Leaving.)
2020-11-15 01:45:28 +0100argent0(~argent0@168.227.98.81)
2020-11-15 01:48:46 +0100texasmyn_(~texasmyns@212.102.45.115)
2020-11-15 01:50:33 +0100wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-15 01:51:25 +0100texasmynsted(~texasmyns@212.102.44.36) (Ping timeout: 240 seconds)
2020-11-15 01:51:51 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:244f:5a51:4f39:cad7) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 01:51:54 +0100Jeanne-Kamikaze(~Jeanne-Ka@66.115.189.189)
2020-11-15 01:52:06 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 256 seconds)
2020-11-15 01:52:23 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-11-15 01:52:27 +0100kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-11-15 01:52:42 +0100wroathe_(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Client Quit)
2020-11-15 01:53:00 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-15 01:54:52 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-15 01:55:52 +0100ironmarx(~ironmarx@178.239.168.171)
2020-11-15 01:57:23 +0100lockshaw(~lockshaw@165.22.163.71) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2020-11-15 01:57:41 +0100christo(~chris@81.96.113.213)
2020-11-15 01:57:43 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 01:59:45 +0100lockshaw(~lockshaw@165.22.163.71)
2020-11-15 02:03:29 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-11-15 02:05:44 +0100vacm(~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 02:08:08 +0100conal(~conal@198.8.81.220)
2020-11-15 02:14:12 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2020-11-15 02:14:20 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-11-15 02:14:37 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 264 seconds)
2020-11-15 02:14:40 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-11-15 02:16:40 +0100Entertainment(~entertain@104.246.132.210)
2020-11-15 02:18:12 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-15 02:18:46 +0100Rudd0(~Rudd0@185.189.115.108) (Ping timeout: 246 seconds)
2020-11-15 02:19:56 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78e6:f613:58de:505f)
2020-11-15 02:23:14 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th)
2020-11-15 02:24:00 +0100hackagestylist 2.3.0.0 - Apply CSS styles to a document tree. https://hackage.haskell.org/package/stylist-2.3.0.0 (alcinnz)
2020-11-15 02:24:11 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 02:29:07 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-11-15 02:29:44 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-11-15 02:29:53 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt)
2020-11-15 02:29:53 +0100Lord_of_Life(~Lord@46.217.217.39)
2020-11-15 02:31:22 +0100Lord_of_Life_(~Lord@46.217.218.118) (Ping timeout: 246 seconds)
2020-11-15 02:31:43 +0100HaskellYogi(~vivekrama@49.207.207.197)
2020-11-15 02:32:23 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th) (Ping timeout: 260 seconds)
2020-11-15 02:32:25 +0100Varis(~Tadas@unaffiliated/varis)
2020-11-15 02:32:41 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 02:33:17 +0100da39a3ee5e6b4b0d(~da39a3ee5@ppp-223-24-170-100.revip6.asianet.co.th)
2020-11-15 02:33:43 +0100Jeanne-Kamikaze(~Jeanne-Ka@66.115.189.189) (Remote host closed the connection)
2020-11-15 02:36:13 +0100HaskellYogi(~vivekrama@49.207.207.197) (Ping timeout: 264 seconds)
2020-11-15 02:37:25 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-11-15 02:46:03 +0100johnw(~johnw@haskell/developer/johnw) (Quit: ZNC - http://znc.in)
2020-11-15 02:46:23 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-15 02:49:18 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-11-15 02:49:54 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-15 02:50:08 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 02:50:12 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 02:52:30 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 02:52:49 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-11-15 02:52:58 +0100jakob_(~textual@p200300f49f162200a5a52d3b3bfe53f4.dip0.t-ipconnect.de)
2020-11-15 02:53:05 +0100da39a3ee5e6b4b0d(~da39a3ee5@ppp-223-24-170-100.revip6.asianet.co.th) (Ping timeout: 240 seconds)
2020-11-15 02:55:05 +0100m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de) (Ping timeout: 240 seconds)
2020-11-15 02:55:14 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2020-11-15 02:55:18 +0100Entertainment(~entertain@104.246.132.210) ()
2020-11-15 02:55:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-11-15 02:57:14 +0100 <dsal> Feuermagier: η-reduction works just like your basic algebra classes: `f a = g something a` -- you can remove the a from the right side of both. `f = g something` (there are cases where it's not quite that simple, but that's the basic idea)
2020-11-15 02:57:21 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-11-15 02:57:49 +0100robert___(uid452915@gateway/web/irccloud.com/x-avvlothyweftrhzc) (Quit: Connection closed for inactivity)
2020-11-15 03:00:22 +0100texasmyn_texasmynsted
2020-11-15 03:00:25 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2020-11-15 03:00:38 +0100ixian(~mgold@terra.bitplane.org) (Ping timeout: 264 seconds)
2020-11-15 03:00:43 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
2020-11-15 03:01:21 +0100ixian(~mgold@2002:4a74:ba78:1701:0:ff:fe78:6269)
2020-11-15 03:02:26 +0100Smaczny(~Smaczny@178.162.212.214) (Remote host closed the connection)
2020-11-15 03:02:58 +0100cameron(~cameron@cpe-74-138-57-121.kya.res.rr.com) (Quit: Leaving)
2020-11-15 03:05:24 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 03:06:08 +0100thunderrd(~thunderrd@183.182.110.117) (Remote host closed the connection)
2020-11-15 03:08:02 +0100solonarv(~solonarv@astrasbourg-653-1-156-155.w90-6.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-11-15 03:08:21 +0100johnw(~johnw@haskell/developer/johnw)
2020-11-15 03:09:13 +0100vacm(~vacwm@70.23.92.191) (Client Quit)
2020-11-15 03:11:32 +0100johnw(~johnw@haskell/developer/johnw) (Client Quit)
2020-11-15 03:11:48 +0100andreas31(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2020-11-15 03:13:02 +0100nickr(~nickr@84.39.117.57)
2020-11-15 03:13:27 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2020-11-15 03:15:19 +0100andreas31(~andreas@gateway/tor-sasl/andreas303)
2020-11-15 03:16:13 +0100cryptomonad(~cryptomon@2601:182:c901:6dc0:f6e6:bb00:40b0:6b8)
2020-11-15 03:21:24 +0100jamm_(~jamm@unaffiliated/jamm)
2020-11-15 03:23:08 +0100irc_user(uid423822@gateway/web/irccloud.com/x-shfvqjbimtcmmios) (Quit: Connection closed for inactivity)
2020-11-15 03:30:28 +0100Tario(~Tario@198.252.153.28)
2020-11-15 03:31:08 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2020-11-15 03:33:03 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 260 seconds)
2020-11-15 03:33:48 +0100dibblego(~dibblego@haskell/developer/dibblego) (Ping timeout: 260 seconds)
2020-11-15 03:37:51 +0100dibblego(~dibblego@122-199-1-30.ip4.superloop.com)
2020-11-15 03:37:51 +0100dibblego(~dibblego@122-199-1-30.ip4.superloop.com) (Changing host)
2020-11-15 03:37:51 +0100dibblego(~dibblego@haskell/developer/dibblego)
2020-11-15 03:37:51 +0100Tario(~Tario@198.252.153.28) (Read error: Connection reset by peer)
2020-11-15 03:38:02 +0100Tario(~Tario@198.252.153.28)
2020-11-15 03:39:45 +0100conal(~conal@198.8.81.220) (Quit: Computer has gone to sleep.)
2020-11-15 03:42:05 +0100Tario(~Tario@198.252.153.28) (Ping timeout: 240 seconds)
2020-11-15 03:42:26 +0100_noblegas(uid91066@gateway/web/irccloud.com/x-esdotnkhzzktjnof) (Quit: Connection closed for inactivity)
2020-11-15 03:43:16 +0100Tario(~Tario@198.252.153.28)
2020-11-15 03:43:37 +0100xerox__(~xerox@unaffiliated/xerox)
2020-11-15 03:43:59 +0100wayne_(~wayne@consume.rocks)
2020-11-15 03:44:05 +0100SquidDev(~SquidDev@autoclave.squiddev.cc) (Quit: Ping timeout (120 seconds))
2020-11-15 03:44:23 +0100SquidDev(~SquidDev@autoclave.squiddev.cc)
2020-11-15 03:44:26 +0100xff0x(~fox@2001:1a81:522c:400:49a5:3bcd:47e1:394e) (Ping timeout: 264 seconds)
2020-11-15 03:45:19 +0100wayne(~wayne@unaffiliated/wayne) (Read error: Connection reset by peer)
2020-11-15 03:45:41 +0100Kneiva(kneiva@raah.fi) (Ping timeout: 265 seconds)
2020-11-15 03:45:48 +0100Kneiva(kneiva@raah.fi)
2020-11-15 03:46:01 +0100xff0x(~fox@2001:1a81:5263:6400:e72:d249:9f6e:71cc)
2020-11-15 03:46:39 +0100xerox_(~xerox@unaffiliated/xerox) (Ping timeout: 265 seconds)
2020-11-15 03:46:41 +0100xsperry(~as@unaffiliated/xsperry) (Remote host closed the connection)
2020-11-15 03:47:37 +0100Tario(~Tario@198.252.153.28) (Ping timeout: 264 seconds)
2020-11-15 03:48:43 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78e6:f613:58de:505f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 03:49:10 +0100lucasb(uid333435@gateway/web/irccloud.com/x-cfrklqgkylyarqua) (Quit: Connection closed for inactivity)
2020-11-15 03:49:42 +0100Tario(~Tario@201.192.165.173)
2020-11-15 03:50:52 +0100Chi1thangoo(~Chi1thang@87.112.60.168) (Quit: Leaving)
2020-11-15 03:50:53 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-11-15 03:51:12 +0100Tario(~Tario@201.192.165.173)
2020-11-15 03:51:51 +0100conal(~conal@198.8.81.220)
2020-11-15 03:52:00 +0100ech(~user@gateway/tor-sasl/ech) (Remote host closed the connection)
2020-11-15 03:52:09 +0100jakob_(~textual@p200300f49f162200a5a52d3b3bfe53f4.dip0.t-ipconnect.de) (Quit: My Laptop has gone to sleep. ZZZzzz…)
2020-11-15 03:54:21 +0100conal(~conal@198.8.81.220) (Client Quit)
2020-11-15 03:55:56 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 272 seconds)
2020-11-15 03:56:10 +0100conal(~conal@198.8.81.220)
2020-11-15 03:56:19 +0100conal(~conal@198.8.81.220) (Client Quit)
2020-11-15 03:58:07 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 04:00:01 +0100ironmarx(~ironmarx@178.239.168.171) ()
2020-11-15 04:02:06 +0100mmohammadi9812(~mmohammad@2.178.173.138) (Ping timeout: 256 seconds)
2020-11-15 04:02:14 +0100mmohammadi9812(~mmohammad@5.115.158.2)
2020-11-15 04:04:06 +0100HaskellYogi(~vivekrama@49.207.207.197)
2020-11-15 04:05:33 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-11-15 04:11:31 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection)
2020-11-15 04:11:54 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2020-11-15 04:12:32 +0100conal(~conal@198.8.81.220)
2020-11-15 04:13:21 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-15 04:16:57 +0100elliott_(~elliott_@pool-108-51-141-12.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2020-11-15 04:22:17 +0100jchris(~jchris@193.56.252.12)
2020-11-15 04:24:30 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-11-15 04:25:19 +0100vacm(~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 04:31:16 +0100jamm_(~jamm@unaffiliated/jamm)
2020-11-15 04:31:21 +0100gaussian(8cb4f058@gateway/web/cgi-irc/kiwiirc.com/ip.140.180.240.88)
2020-11-15 04:31:36 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2020-11-15 04:31:46 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Client Quit)
2020-11-15 04:31:47 +0100jakob_(~textual@p200300f49f16220008b8567708db29ed.dip0.t-ipconnect.de)
2020-11-15 04:32:15 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 04:36:26 +0100jakob_(~textual@p200300f49f16220008b8567708db29ed.dip0.t-ipconnect.de) (Client Quit)
2020-11-15 04:37:32 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Quit: WeeChat 2.9)
2020-11-15 04:37:54 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 04:39:30 +0100 <ensyde> .
2020-11-15 04:39:45 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-11-15 04:42:23 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Ping timeout: 240 seconds)
2020-11-15 04:44:38 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-15 04:45:53 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Remote host closed the connection)
2020-11-15 04:46:13 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-15 04:47:05 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78e6:f613:58de:505f)
2020-11-15 04:49:15 +0100cryptomonad(~cryptomon@2601:182:c901:6dc0:f6e6:bb00:40b0:6b8) (Remote host closed the connection)
2020-11-15 04:49:57 +0100conal(~conal@198.8.81.220) (Quit: Computer has gone to sleep.)
2020-11-15 04:50:54 +0100blankhart(~blankhart@pool-100-35-219-3.nwrknj.fios.verizon.net)
2020-11-15 04:51:09 +0100conal(~conal@198.8.81.220)
2020-11-15 04:52:49 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 04:53:45 +0100Tario(~Tario@201.192.165.173)
2020-11-15 04:55:53 +0100theDon(~td@94.134.91.148) (Ping timeout: 260 seconds)
2020-11-15 04:55:55 +0100conal(~conal@198.8.81.220) (Ping timeout: 256 seconds)
2020-11-15 04:56:24 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2020-11-15 04:57:00 +0100lagothrixGuest69519
2020-11-15 04:57:00 +0100Guest69519(~lagothrix@unaffiliated/lagothrix) (Killed (card.freenode.net (Nickname regained by services)))
2020-11-15 04:57:05 +0100lagothrix(~lagothrix@unaffiliated/lagothrix)
2020-11-15 04:57:24 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-11-15 04:57:45 +0100theDon(~td@94.134.91.56)
2020-11-15 05:00:24 +0100Rudd0(~Rudd0@185.189.115.98)
2020-11-15 05:00:31 +0100hackageoidc-client 0.6.0.0 - OpenID Connect 1.0 library for RP https://hackage.haskell.org/package/oidc-client-0.6.0.0 (ShoKuroda)
2020-11-15 05:00:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 240 seconds)
2020-11-15 05:01:38 +0100Tops22(~Tobias@dyndsl-095-033-095-151.ewe-ip-backbone.de) (Read error: Connection reset by peer)
2020-11-15 05:03:00 +0100HaskellYogi(~vivekrama@49.207.207.197) (Read error: Connection reset by peer)
2020-11-15 05:03:02 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2020-11-15 05:03:22 +0100HaskellYogi(~vivekrama@49.207.207.197)
2020-11-15 05:03:40 +0100conal(~conal@64.71.133.70)
2020-11-15 05:09:30 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 05:09:39 +0100xsperry(~as@unaffiliated/xsperry)
2020-11-15 05:09:42 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Quit: WeeChat 2.9)
2020-11-15 05:11:12 +0100oatscosmic-sans
2020-11-15 05:12:34 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2020-11-15 05:12:43 +0100conal(~conal@64.71.133.70)
2020-11-15 05:12:47 +0100borne(~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-11-15 05:14:03 +0100mrchampion(~mrchampio@216-211-57-41.dynamic.tbaytel.net) (Quit: Leaving)
2020-11-15 05:15:09 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 05:15:10 +0100linker(~linker@185.12.21.77) (Remote host closed the connection)
2020-11-15 05:15:36 +0100conal(~conal@64.71.133.70)
2020-11-15 05:15:47 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 05:23:08 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net)
2020-11-15 05:23:36 +0100mrchampion(~mrchampio@216-211-57-41.dynamic.tbaytel.net)
2020-11-15 05:27:04 +0100borne(~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de)
2020-11-15 05:29:50 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-11-15 05:30:24 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th)
2020-11-15 05:31:00 +0100falafel(~falafel@c-73-210-136-48.hsd1.il.comcast.net)
2020-11-15 05:34:22 +0100borne(~fritjof@200116b864edc4004fbf5cd6c83663b1.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-11-15 05:36:01 +0100bitmagie(~Thunderbi@200116b8060a110035b58d6790a13a82.dip.versatel-1u1.de)
2020-11-15 05:38:52 +0100p0a(~user@unaffiliated/p0a)
2020-11-15 05:39:10 +0100 <p0a> Hello, why does my prgram hang after reading a file? https://paste.tomsmeding.com/SStWMb8v
2020-11-15 05:39:20 +0100falafel(~falafel@c-73-210-136-48.hsd1.il.comcast.net) (Ping timeout: 256 seconds)
2020-11-15 05:39:22 +0100 <p0a> It does what it's supposed to, but it never terminates
2020-11-15 05:39:40 +0100mmohammadi9812(~mmohammad@5.115.158.2) (Quit: Quit)
2020-11-15 05:40:48 +0100DTZUZU(~DTZUZU@207.81.171.116) (Read error: Connection reset by peer)
2020-11-15 05:41:03 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 05:42:09 +0100DTZUZU(~DTZUZU@207.81.171.116)
2020-11-15 05:44:14 +0100shangxiao(~davids@101.181.159.140)
2020-11-15 05:45:43 +0100 <p0a> Ah I think I spotted the bug, it was a precedence issue around unless/>>
2020-11-15 05:46:05 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Quit: WeeChat 2.9)
2020-11-15 05:46:22 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 05:49:19 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Client Quit)
2020-11-15 05:49:44 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net)
2020-11-15 05:51:27 +0100ensyde(~ensyde@99-185-235-117.lightspeed.chrlnc.sbcglobal.net) (Client Quit)
2020-11-15 05:51:52 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 256 seconds)
2020-11-15 05:54:13 +0100toorevitimirp(~tooreviti@117.182.180.118)
2020-11-15 05:55:38 +0100subttle(~anonymous@unaffiliated/subttle)
2020-11-15 05:55:59 +0100blankhart(~blankhart@pool-100-35-219-3.nwrknj.fios.verizon.net) (Quit: WeeChat 2.8)
2020-11-15 05:57:24 +0100Tario(~Tario@201.192.165.173)
2020-11-15 06:01:16 +0100 <dsal> is `buf == B.empty` meant to do the same thing as `null b`?
2020-11-15 06:02:43 +0100conal(~conal@64.71.133.70)
2020-11-15 06:07:20 +0100 <jle`> dsal: (if you mean B.null)
2020-11-15 06:08:53 +0100jakob_(~textual@p200300f49f162200c05ea7117aa7f20b.dip0.t-ipconnect.de)
2020-11-15 06:09:31 +0100 <dsal> Oh, I was thinking of it as being Foldable, but it's improperly kinded.
2020-11-15 06:11:51 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th) (Ping timeout: 256 seconds)
2020-11-15 06:13:19 +0100jakob_(~textual@p200300f49f162200c05ea7117aa7f20b.dip0.t-ipconnect.de) (Client Quit)
2020-11-15 06:18:28 +0100CMCDragonkai1(~Thunderbi@124.19.3.250)
2020-11-15 06:20:50 +0100aarvar(~foewfoiew@50.35.43.33)
2020-11-15 06:23:40 +0100_xor(~xor@74.215.46.133) (Ping timeout: 260 seconds)
2020-11-15 06:26:01 +0100hackageswiss-ephemeris 1.2.1.0 - Haskell bindings for the Swiss Ephemeris C library https://hackage.haskell.org/package/swiss-ephemeris-1.2.1.0 (lfborjas)
2020-11-15 06:28:03 +0100CMCDragonkai1(~Thunderbi@124.19.3.250) (Quit: CMCDragonkai1)
2020-11-15 06:29:15 +0100christo(~chris@81.96.113.213)
2020-11-15 06:29:37 +0100day_(~Unknown@unaffiliated/day)
2020-11-15 06:32:11 +0100johnw(~johnw@haskell/developer/johnw)
2020-11-15 06:32:17 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4)
2020-11-15 06:33:14 +0100day(~Unknown@unaffiliated/day) (Ping timeout: 256 seconds)
2020-11-15 06:33:14 +0100day_day
2020-11-15 06:35:30 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 256 seconds)
2020-11-15 06:36:43 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2020-11-15 06:39:43 +0100falafel_(~falafel@c-73-210-136-48.hsd1.il.comcast.net)
2020-11-15 06:39:43 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Ping timeout: 240 seconds)
2020-11-15 06:40:25 +0100texasmynsted(~texasmyns@212.102.45.115) (Ping timeout: 264 seconds)
2020-11-15 06:43:07 +0100texasmynsted(~texasmyns@212.102.45.118)
2020-11-15 06:43:29 +0100 <p0a> dsal: I wanted to write a program that does not load the file in memory so that it works with big files
2020-11-15 06:44:04 +0100 <p0a> Initially I wanted to also take care of exceptions (I'm used to error checking in C) but I realized that it'd only be for the shake of nicer error messages, since there's nothing to recover from/to.
2020-11-15 06:44:22 +0100 <p0a> ...I don't know why I'm telling you this. You didn't ask. :P sorry
2020-11-15 06:44:35 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya)
2020-11-15 06:44:43 +0100 <dsal> Heh, makes sense. But have you considered conduit?
2020-11-15 06:45:40 +0100 <p0a> No, but I'll take a look, thanks
2020-11-15 06:47:02 +0100_xor(~xor@74.215.46.133)
2020-11-15 06:47:38 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-11-15 06:48:08 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 06:49:04 +0100texasmynsted(~texasmyns@212.102.45.118) (Remote host closed the connection)
2020-11-15 06:49:16 +0100 <dsal> Oh, conduit will make the thing you're describing quite easy. :)
2020-11-15 06:50:02 +0100texasmynsted(~texasmyns@212.102.45.118)
2020-11-15 06:53:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 06:54:24 +0100vacm(~vacwm@70.23.92.191) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 06:54:35 +0100christo(~chris@81.96.113.213)
2020-11-15 06:54:49 +0100texasmynsted(~texasmyns@212.102.45.118) (Ping timeout: 264 seconds)
2020-11-15 06:57:46 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
2020-11-15 06:58:03 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-11-15 06:59:25 +0100berberman_(~berberman@unaffiliated/berberman)
2020-11-15 06:59:52 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-11-15 07:00:01 +0100jchris(~jchris@193.56.252.12) ()
2020-11-15 07:03:08 +0100revtintin(~revtintin@42.61.242.247)
2020-11-15 07:04:33 +0100 <jophish> Why doesn't Foldable's null have the type: null :: Foldable t => t a -> Maybe (t Void)
2020-11-15 07:07:08 +0100 <MarcelineVQ> What is that expressing?
2020-11-15 07:07:42 +0100 <jophish> It's a proof that the 't' is empty by filling it with Void
2020-11-15 07:09:05 +0100 <glguy> jophish, that probably wouldn't be very useful, and wouldn't prove anything about whether or not the argument was empty
2020-11-15 07:09:11 +0100 <MarcelineVQ> Ah that makes more sense to me written that way, not sure you gian much though
2020-11-15 07:10:24 +0100 <jophish> glguy: sorry, I'm not sure I understand, how could it return a Void is a non empty 't'?
2020-11-15 07:10:49 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2020-11-15 07:11:23 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-15 07:11:28 +0100 <glguy> null :: [a] -> Maybe [Void]; null _ = Just []
2020-11-15 07:11:45 +0100 <glguy> the value that the [Void] is there doesn't prove anything about the argument being empty
2020-11-15 07:12:13 +0100bitmagie(~Thunderbi@200116b8060a110035b58d6790a13a82.dip.versatel-1u1.de) (Quit: bitmagie)
2020-11-15 07:12:15 +0100jedws(~jedws@101.184.175.183) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 07:12:17 +0100 <glguy> perhaps that's useful for some particular application, but it wouldn't be worth making Foldable more complicated in general
2020-11-15 07:12:35 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 07:12:41 +0100vacm(~vacwm@70.23.92.191) (Client Quit)
2020-11-15 07:12:50 +0100 <jophish> Ah I see, in this case I wasn't envisioning null being a member of the Foldable type class
2020-11-15 07:13:21 +0100 <glguy> If it wasn't you wouldn't be able to implement null
2020-11-15 07:13:44 +0100 <jophish> yeah, I suppose that answers my question then :)
2020-11-15 07:14:04 +0100 <jophish> anyway this will have to do lol: null' t = if null t then Just (unsafeCoerce t) else Nothing
2020-11-15 07:14:31 +0100 <jophish> or if you're willing to add a functor instance, (error "what" <$ t) instead of unsafeCoerce
2020-11-15 07:17:37 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th)
2020-11-15 07:17:40 +0100 <jophish> or I suppose you could have it as part of Foldable with some law to go with it
2020-11-15 07:18:48 +0100toorevitimirp(~tooreviti@117.182.180.118) (Remote host closed the connection)
2020-11-15 07:20:35 +0100 <p0a> "Exceptions can only be caught in the IO monad and, because of laziness, might not be thrown exactly where you expect."
2020-11-15 07:20:44 +0100 <p0a> Do you always catch them at the outmost level of execution?
2020-11-15 07:21:11 +0100p0ais reading https://wiki.haskell.org/Dealing_with_binary_data
2020-11-15 07:23:37 +0100HarveyPwca(~HarveyPwc@c-98-220-98-201.hsd1.il.comcast.net) (Quit: Leaving)
2020-11-15 07:24:31 +0100pharaun(~pharaun@static.88-198-62-245.clients.your-server.de) (Quit: Bye)
2020-11-15 07:26:13 +0100jedws(~jedws@101.184.175.183)
2020-11-15 07:31:23 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-15 07:31:24 +0100alp(~alp@2a01:e0a:58b:4920:fcef:1094:8271:c4e5)
2020-11-15 07:34:50 +0100koz_(~koz@2404:4408:4309:2700:da5c:eaf0:b1a:194b) (Ping timeout: 264 seconds)
2020-11-15 07:36:32 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 07:36:36 +0100thunderrd(~thunderrd@183.182.115.215)
2020-11-15 07:37:57 +0100pharaun(~pharaun@static.88-198-62-245.clients.your-server.de)
2020-11-15 07:38:49 +0100koz(~koz@121.99.240.58)
2020-11-15 07:39:07 +0100jedws(~jedws@101.184.175.183) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 07:42:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2020-11-15 07:42:34 +0100kozkoz_
2020-11-15 07:42:47 +0100 <p0a> "Warning: Multiple files use the same module name:"
2020-11-15 07:42:49 +0100 <p0a> Why does this occur?
2020-11-15 07:43:37 +0100 <nitrix> Might have something to do with multiple files having the same module name, but I could be wrong :P
2020-11-15 07:45:12 +0100livvy(~livvy@gateway/tor-sasl/livvy) (Remote host closed the connection)
2020-11-15 07:45:25 +0100livvy(~livvy@gateway/tor-sasl/livvy)
2020-11-15 07:45:43 +0100Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-11-15 07:48:10 +0100 <p0a> I have a myMain = do input <- BL.readFile testFile ; forever $ putStrLn $ runGet deserializeRow input
2020-11-15 07:48:31 +0100 <p0a> it keeps printing the first row repeatedly. How can I do `runGet' until I run into eof?
2020-11-15 07:49:11 +0100 <p0a> is it untilM_ I should use?
2020-11-15 07:49:49 +0100andreas31(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2020-11-15 07:52:14 +0100 <p0a> this is my entire source code, https://paste.tomsmeding.com/7ji4QuHa
2020-11-15 07:52:51 +0100andreas31(~andreas@gateway/tor-sasl/andreas303)
2020-11-15 07:57:44 +0100derek1(~derek@193.56.252.12)
2020-11-15 07:58:11 +0100FreeBirdLjj(~freebirdl@101.228.42.108)
2020-11-15 07:59:41 +0100HaskellY_(~vivekrama@49.207.219.163)
2020-11-15 08:00:49 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2020-11-15 08:01:42 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2020-11-15 08:01:46 +0100HaskellYogi(~vivekrama@49.207.207.197) (Ping timeout: 246 seconds)
2020-11-15 08:02:25 +0100FreeBirdLjj(~freebirdl@101.228.42.108) (Ping timeout: 240 seconds)
2020-11-15 08:02:46 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2020-11-15 08:07:07 +0100 <p0a> there's also https://www.snoyman.com/blog/2016/12/beware-of-readfile to warn me against what I'm trying to do
2020-11-15 08:07:17 +0100 <p0a> I'll give up for now
2020-11-15 08:07:44 +0100ggole(~ggole@2001:8003:8119:7200:1dd1:a770:c2ab:8a5e)
2020-11-15 08:09:32 +0100p0a(~user@unaffiliated/p0a) (Quit: bye)
2020-11-15 08:13:39 +0100 <jophish> Why do people not hang around...
2020-11-15 08:14:07 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Remote host closed the connection)
2020-11-15 08:17:08 +0100alx741(~alx741@186.178.110.152) (Ping timeout: 260 seconds)
2020-11-15 08:17:16 +0100bliminse(~bliminse@host109-156-197-211.range109-156.btcentralplus.com) (Quit: leaving)
2020-11-15 08:22:58 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-11-15 08:23:44 +0100haritz(~hrtz@unaffiliated/haritz) (Ping timeout: 256 seconds)
2020-11-15 08:24:00 +0100bliminse(~bliminse@host109-156-197-211.range109-156.btcentralplus.com)
2020-11-15 08:24:18 +0100haritz(~hrtz@62.3.70.206)
2020-11-15 08:24:18 +0100haritz(~hrtz@62.3.70.206) (Changing host)
2020-11-15 08:24:18 +0100haritz(~hrtz@unaffiliated/haritz)
2020-11-15 08:24:21 +0100alp(~alp@2a01:e0a:58b:4920:fcef:1094:8271:c4e5) (Ping timeout: 272 seconds)
2020-11-15 08:25:24 +0100Saukk(~Saukk@2001:998:f9:2914:1c59:9bb5:b94c:4) (Remote host closed the connection)
2020-11-15 08:25:58 +0100ericsagn1(~ericsagne@2405:6580:0:5100:2d3f:7a30:33bf:8b65)
2020-11-15 08:27:06 +0100toorevitimirp(~tooreviti@117.182.180.118)
2020-11-15 08:27:25 +0100 <xsperry> too late.. but probably more than one file did not specify module name, so multiple ones defaulted to Main
2020-11-15 08:28:12 +0100ericsagnes(~ericsagne@2405:6580:0:5100:997a:f045:9c21:27be) (Ping timeout: 260 seconds)
2020-11-15 08:28:17 +0100falafel_(~falafel@c-73-210-136-48.hsd1.il.comcast.net) (Ping timeout: 260 seconds)
2020-11-15 08:29:59 +0100alx741(~alx741@186.178.110.6)
2020-11-15 08:31:58 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 08:32:01 +0100xerox__(~xerox@unaffiliated/xerox) (Ping timeout: 264 seconds)
2020-11-15 08:33:06 +0100HaskellY_(~vivekrama@49.207.219.163) (Remote host closed the connection)
2020-11-15 08:33:42 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 08:34:47 +0100xerox_(~xerox@unaffiliated/xerox)
2020-11-15 08:36:39 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 265 seconds)
2020-11-15 08:39:05 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 240 seconds)
2020-11-15 08:40:59 +0100coot(~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
2020-11-15 08:43:56 +0100krjst(~krjst@2604:a880:800:c1::16b:8001) (Quit: bye)
2020-11-15 08:44:18 +0100krjst(~krjst@2604:a880:800:c1::16b:8001)
2020-11-15 08:44:52 +0100werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2020-11-15 08:45:48 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 08:50:23 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 260 seconds)
2020-11-15 08:51:10 +0100Amras(~Amras@unaffiliated/amras0000)
2020-11-15 08:51:24 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 08:53:27 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 08:54:04 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl)
2020-11-15 08:55:40 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 246 seconds)
2020-11-15 08:57:07 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 08:58:14 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-11-15 09:01:05 +0100darjeeling_(~darjeelin@122.245.208.31) (Ping timeout: 240 seconds)
2020-11-15 09:01:50 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 272 seconds)
2020-11-15 09:02:31 +0100darjeeling_(~darjeelin@122.245.208.31)
2020-11-15 09:02:45 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 09:06:47 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 272 seconds)
2020-11-15 09:07:14 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 264 seconds)
2020-11-15 09:08:08 +0100argent0(~argent0@168.227.98.81) (Remote host closed the connection)
2020-11-15 09:09:11 +0100scasc(~szabi@213142096107.public.telering.at)
2020-11-15 09:15:53 +0100scasc(~szabi@213142096107.public.telering.at) (Quit: Leaving)
2020-11-15 09:16:00 +0100christo(~chris@81.96.113.213)
2020-11-15 09:18:35 +0100 <jophish> Did I imagine it, or did the topic here used to mention that replies on IRC aren't immediate
2020-11-15 09:19:13 +0100 <jophish> #autotools says: Just Ask and be prepared to wait. Someone will get back eventually (Think hours).
2020-11-15 09:19:34 +0100 <jophish> otoh, I'm sure that that's not true
2020-11-15 09:20:26 +0100christo(~chris@81.96.113.213) (Ping timeout: 264 seconds)
2020-11-15 09:21:45 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net)
2020-11-15 09:22:27 +0100nbloomf_(~nbloomf@76.217.43.73)
2020-11-15 09:25:14 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78e6:f613:58de:505f) (Ping timeout: 264 seconds)
2020-11-15 09:25:56 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be)
2020-11-15 09:26:03 +0100nbloomf(nbloomf@gateway/vpn/privateinternetaccess/nbloomf)
2020-11-15 09:26:47 +0100nbloomf_(~nbloomf@76.217.43.73) (Ping timeout: 256 seconds)
2020-11-15 09:27:32 +0100DirefulSalt(DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection)
2020-11-15 09:30:12 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-15 09:30:51 +0100Amras(~Amras@unaffiliated/amras0000) (Ping timeout: 272 seconds)
2020-11-15 09:31:29 +0100 <Feuermagier> if the argument to the function is a list and: function list = zip [0..] list -- how can I make "list" implicit?
2020-11-15 09:33:29 +0100todda7(~torstein@ppp-2-84-17-169.home.otenet.gr)
2020-11-15 09:38:29 +0100 <jophish> Feuermagier: do you mean eta-reduction, you can just have: function = zip [0..]
2020-11-15 09:38:53 +0100Lord_of_Life(~Lord@46.217.217.39) (Changing host)
2020-11-15 09:38:53 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2020-11-15 09:39:46 +0100 <Feuermagier> thx. yeah, that was it
2020-11-15 09:40:49 +0100spatchkaa(~spatchkaa@S010600fc8da47b63.gv.shawcable.net) (Ping timeout: 246 seconds)
2020-11-15 09:41:46 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 09:46:23 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 260 seconds)
2020-11-15 09:47:21 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 09:47:49 +0100jedws(~jedws@101.184.175.183)
2020-11-15 09:48:19 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-11-15 09:51:49 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 264 seconds)
2020-11-15 09:52:44 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 09:53:23 +0100todda7(~torstein@ppp-2-84-17-169.home.otenet.gr) (Ping timeout: 260 seconds)
2020-11-15 09:57:23 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 256 seconds)
2020-11-15 09:58:13 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 09:59:33 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 10:00:01 +0100derek1(~derek@193.56.252.12) ()
2020-11-15 10:00:05 +0100texasmynsted[m]1(mmynstedko@gateway/shell/matrix.org/x-byvrgcpdauyrpssk) (Quit: Idle for 30+ days)
2020-11-15 10:00:22 +0100xff0x(~fox@2001:1a81:5263:6400:e72:d249:9f6e:71cc) (Ping timeout: 260 seconds)
2020-11-15 10:01:14 +0100xff0x(~fox@2001:1a81:5263:6400:9224:78e1:c5a5:688d)
2020-11-15 10:02:29 +0100nbloomf(nbloomf@gateway/vpn/privateinternetaccess/nbloomf) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 10:03:02 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 264 seconds)
2020-11-15 10:03:59 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 10:04:37 +0100alp(~alp@2a01:e0a:58b:4920:9050:e88b:814f:ac3d)
2020-11-15 10:08:08 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2020-11-15 10:08:17 +0100 <suzu_> is there a name for using continuation-passing-style to make something tail recursive?
2020-11-15 10:08:21 +0100 <suzu_> like this:
2020-11-15 10:08:25 +0100 <suzu_> printList :: [String] -> (String -> String) -> String
2020-11-15 10:08:27 +0100 <suzu_> printList [] f = f "[]"
2020-11-15 10:08:29 +0100 <suzu_> printList (x:xs) f = printList xs (\r -> f $ x ++ ", " ++ r )
2020-11-15 10:08:37 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 260 seconds)
2020-11-15 10:09:25 +0100 <suzu_> this also makes my brain melt if i think about it too much
2020-11-15 10:09:39 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 10:13:45 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 240 seconds)
2020-11-15 10:17:06 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 10:24:53 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 260 seconds)
2020-11-15 10:27:07 +0100thunderrd(~thunderrd@183.182.115.215) (Remote host closed the connection)
2020-11-15 10:28:05 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2020-11-15 10:29:45 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 272 seconds)
2020-11-15 10:31:36 +0100 <Feuermagier> I think I've broken ormolu
2020-11-15 10:31:52 +0100revtintin(~revtintin@42.61.242.247) (Quit: WeeChat 1.9.1)
2020-11-15 10:32:00 +0100 <Feuermagier> I have a compiling program, but ormolu refuses to beautify it
2020-11-15 10:33:41 +0100bidabong(uid272474@gateway/web/irccloud.com/x-kodbqaljnwqafvit)
2020-11-15 10:33:47 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 10:34:28 +0100 <Feuermagier> Error while reformatting by `ormolu`. Error: The GHC parser (in Haddock mode) failed:
2020-11-15 10:34:28 +0100 <Feuermagier> Exercise02.hs:(25,34)-(92,0)
2020-11-15 10:34:28 +0100 <Feuermagier> unterminated quasiquotation at end of input
2020-11-15 10:34:45 +0100 <Feuermagier> line 25: target = twoThirdsAverage [i | (_,i) <- l]
2020-11-15 10:34:49 +0100 <Feuermagier> any ideas?
2020-11-15 10:35:40 +0100wei2912(~wei2912@unaffiliated/wei2912)
2020-11-15 10:36:03 +0100mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com)
2020-11-15 10:36:31 +0100 <Feuermagier> ok. found the error. I left no space between the i and the | at first. The compiler thinks this is valid, ormolu breaks on it.
2020-11-15 10:38:29 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds)
2020-11-15 10:42:57 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 10:43:11 +0100coot(~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-11-15 10:43:55 +0100kritzefitz(~kritzefit@212.86.56.80)
2020-11-15 10:46:13 +0100alp(~alp@2a01:e0a:58b:4920:9050:e88b:814f:ac3d) (Ping timeout: 272 seconds)
2020-11-15 10:48:57 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 10:52:55 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 256 seconds)
2020-11-15 10:53:48 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 10:54:52 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 10:58:06 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th)
2020-11-15 10:58:56 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-11-15 10:59:30 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 256 seconds)
2020-11-15 11:00:30 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 11:05:08 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 260 seconds)
2020-11-15 11:06:11 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 11:06:34 +0100jneira_(~jneira@192.red-2-137-106.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
2020-11-15 11:06:52 +0100da39a3ee5e6b4b0d(~da39a3ee5@cm-171-98-76-12.revip7.asianet.co.th) (Ping timeout: 256 seconds)
2020-11-15 11:07:20 +0100da39a3ee5e6b4b0d(~da39a3ee5@ppp-27-55-71-43.revip3.asianet.co.th)
2020-11-15 11:07:37 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net)
2020-11-15 11:11:29 +0100tms_(thomaav@cassarossa.samfundet.no) (Ping timeout: 268 seconds)
2020-11-15 11:13:05 +0100tms_(thomaav@cassarossa.samfundet.no)
2020-11-15 11:15:28 +0100 <maerwald> quasi quotes break a lot of tools
2020-11-15 11:15:55 +0100akegalj(~akegalj@93-136-11-15.adsl.net.t-com.hr)
2020-11-15 11:15:59 +0100 <maerwald> but this isn't even one
2020-11-15 11:16:01 +0100 <maerwald> lol
2020-11-15 11:16:06 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 272 seconds)
2020-11-15 11:16:46 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64) (Remote host closed the connection)
2020-11-15 11:17:46 +0100tomboy64(~tomboy64@gateway/tor-sasl/tomboy64)
2020-11-15 11:17:54 +0100fendor(~fendor@178.165.131.163.wireless.dyn.drei.com)
2020-11-15 11:20:08 +0100jaspervdj(~jaspervdj@213.55.241.138)
2020-11-15 11:22:15 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 11:23:01 +0100tms_(thomaav@cassarossa.samfundet.no) (Ping timeout: 264 seconds)
2020-11-15 11:23:04 +0100andreas31(~andreas@gateway/tor-sasl/andreas303) (Remote host closed the connection)
2020-11-15 11:24:43 +0100LKoen(~LKoen@9.253.88.92.rev.sfr.net)
2020-11-15 11:25:23 +0100andreas303(~andreas@gateway/tor-sasl/andreas303)
2020-11-15 11:26:42 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2020-11-15 11:27:29 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 256 seconds)
2020-11-15 11:27:35 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net)
2020-11-15 11:28:27 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 11:29:59 +0100tms_(thomaav@cassarossa.samfundet.no)
2020-11-15 11:30:23 +0100Rennex1(~Rennex@195.140.213.38)
2020-11-15 11:30:38 +0100xff0x(~fox@2001:1a81:5263:6400:9224:78e1:c5a5:688d) (Ping timeout: 264 seconds)
2020-11-15 11:31:25 +0100xff0x(~fox@2001:1a81:5263:6400:a8c9:21df:16db:a24a)
2020-11-15 11:32:20 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-gzipkezvyztkhjzy) (Quit: Connection closed for inactivity)
2020-11-15 11:33:01 +0100hackagecalamity 0.1.22.0 - A library for writing discord bots in haskell https://hackage.haskell.org/package/calamity-0.1.22.0 (nitros12)
2020-11-15 11:33:02 +0100HaskellYogi(~vivekrama@49.207.219.163) (Ping timeout: 264 seconds)
2020-11-15 11:33:37 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 11:35:53 +0100tms_(thomaav@cassarossa.samfundet.no) (Ping timeout: 260 seconds)
2020-11-15 11:36:07 +0100 <sshine> what's a good way to express NominalDiffTime with a precision of one second? NominalDiffTime is implemented with 'Micro'. I'd just wrap it, but I was thinking something like Data.Fixed for time resolutions.
2020-11-15 11:37:41 +0100Sgeo_(~Sgeo@ool-18b982ad.dyn.optonline.net) (Read error: Connection reset by peer)
2020-11-15 11:39:23 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
2020-11-15 11:42:25 +0100da39a3ee5e6b4b0d(~da39a3ee5@ppp-27-55-71-43.revip3.asianet.co.th) (Ping timeout: 240 seconds)
2020-11-15 11:42:33 +0100tms_(thomaav@cassarossa.samfundet.no)
2020-11-15 11:47:05 +0100Rembane(~Rembane@li346-36.members.linode.com) (Remote host closed the connection)
2020-11-15 11:48:34 +0100akegalj_(~akegalj@93-136-29-37.adsl.net.t-com.hr)
2020-11-15 11:49:48 +0100Rembane(~Rembane@li346-36.members.linode.com)
2020-11-15 11:51:48 +0100akegalj(~akegalj@93-136-11-15.adsl.net.t-com.hr) (Ping timeout: 260 seconds)
2020-11-15 11:55:26 +0100nickr(~nickr@84.39.117.57) (Remote host closed the connection)
2020-11-15 11:59:41 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
2020-11-15 12:00:03 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-11-15 12:01:35 +0100subttle(~anonymous@unaffiliated/subttle) (Ping timeout: 272 seconds)
2020-11-15 12:03:43 +0100jb55(~jb55@gateway/tor-sasl/jb55) (Ping timeout: 240 seconds)
2020-11-15 12:04:39 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-11-15 12:05:19 +0100jb55(~jb55@gateway/tor-sasl/jb55)
2020-11-15 12:05:44 +0100knupfer(~Thunderbi@200116b82c37cc00dc1114fffec6c30d.dip.versatel-1u1.de)
2020-11-15 12:05:47 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
2020-11-15 12:05:55 +0100thunderrd(~thunderrd@183.182.111.169)
2020-11-15 12:05:59 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-11-15 12:06:44 +0100knupfer(~Thunderbi@200116b82c37cc00dc1114fffec6c30d.dip.versatel-1u1.de) (Remote host closed the connection)
2020-11-15 12:06:59 +0100knupfer(~Thunderbi@200116b82c37cc0084cc5f3e9837ddce.dip.versatel-1u1.de)
2020-11-15 12:11:43 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds)
2020-11-15 12:12:58 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 12:14:31 +0100shangxiao(~davids@101.181.159.140) (Ping timeout: 256 seconds)
2020-11-15 12:15:01 +0100shangxiao(~davids@101.181.159.140)
2020-11-15 12:15:57 +0100Moe_Epsilon(~Moe_Epsil@178.162.212.214)
2020-11-15 12:27:49 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Quit: This computer has gone to sleep)
2020-11-15 12:29:36 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 256 seconds)
2020-11-15 12:30:17 +0100ericsagn1(~ericsagne@2405:6580:0:5100:2d3f:7a30:33bf:8b65) (Ping timeout: 260 seconds)
2020-11-15 12:33:04 +0100carldd(~carldd@90-224-49-113-no56.tbcn.telia.com) (Read error: Connection reset by peer)
2020-11-15 12:33:11 +0100carldd0(~carldd@90-224-49-113-no56.tbcn.telia.com)
2020-11-15 12:37:15 +0100hekkaidekapus_(~tchouri@gateway/tor-sasl/hekkaidekapus) (Quit: hekkaidekapus_)
2020-11-15 12:37:40 +0100hekkaidekapus(~tchouri@gateway/tor-sasl/hekkaidekapus)
2020-11-15 12:39:09 +0100alp(~alp@2a01:e0a:58b:4920:9050:e88b:814f:ac3d)
2020-11-15 12:42:51 +0100ericsagn1(~ericsagne@2405:6580:0:5100:f576:66f7:e38e:c2d0)
2020-11-15 12:43:29 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-ypggeakuiydyhszt)
2020-11-15 12:44:00 +0100hackageconstrained-categories 0.4.1.0 - Constrained clones of the category-theory type classes, using ConstraintKinds. https://hackage.haskell.org/package/constrained-categories-0.4.1.0 (leftaroundabout)
2020-11-15 12:46:51 +0100zebrag(~inkbottle@aaubervilliers-654-1-73-14.w86-212.abo.wanadoo.fr)
2020-11-15 12:47:10 +0100inkbottle(~inkbottle@aaubervilliers-654-1-5-80.w83-200.abo.wanadoo.fr) (Ping timeout: 256 seconds)
2020-11-15 12:49:13 +0100christo(~chris@81.96.113.213)
2020-11-15 12:49:33 +0100s00pcan(~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 260 seconds)
2020-11-15 12:50:29 +0100fiadliel(sid399568@gateway/web/irccloud.com/x-xbmjzphrjjyfrdoz) (Quit: Connection closed for inactivity)
2020-11-15 12:50:37 +0100m0rphism(~m0rphism@HSI-KBW-095-208-098-207.hsi5.kabel-badenwuerttemberg.de)
2020-11-15 12:51:06 +0100s00pcan(~chris@107.181.165.217)
2020-11-15 12:55:48 +0100carlomagno(~cararell@148.87.23.10) (Remote host closed the connection)
2020-11-15 13:00:01 +0100Rennex1(~Rennex@195.140.213.38) ()
2020-11-15 13:06:48 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be)
2020-11-15 13:07:28 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
2020-11-15 13:11:29 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 13:11:59 +0100__monty__(~toonn@unaffiliated/toonn)
2020-11-15 13:12:47 +0100jaspervdj(~jaspervdj@213.55.241.138) (Quit: leaving)
2020-11-15 13:14:34 +0100jaspervdj(~jaspervdj@213.55.241.138)
2020-11-15 13:15:52 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Quit: This computer has gone to sleep)
2020-11-15 13:16:37 +0100coot(~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
2020-11-15 13:17:34 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-15 13:18:38 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Client Quit)
2020-11-15 13:19:23 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-15 13:21:12 +0100christo(~chris@81.96.113.213)
2020-11-15 13:22:07 +0100Iceland_jack(~user@31.124.48.169)
2020-11-15 13:22:49 +0100JohnONolan(~JohnONola@193.56.252.12)
2020-11-15 13:26:00 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-11-15 13:29:13 +0100akegalj_(~akegalj@93-136-29-37.adsl.net.t-com.hr) (Ping timeout: 260 seconds)
2020-11-15 13:34:11 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-11-15 13:36:20 +0100Ariakenom(~Ariakenom@h-82-196-111-82.NA.cust.bahnhof.se)
2020-11-15 13:36:23 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 13:37:37 +0100HaskellYogi(~vivekrama@49.207.219.163) (Quit: Sayonara. Long live Haskell)
2020-11-15 13:39:06 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 13:40:50 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-11-15 13:43:36 +0100geekosaur(ac3a8f2b@172.58.143.43)
2020-11-15 13:44:49 +0100coot(~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-11-15 13:46:47 +0100akegalj(~akegalj@93-136-29-37.adsl.net.t-com.hr)
2020-11-15 13:47:26 +0100carlomagno(~cararell@148.87.23.8)
2020-11-15 13:49:09 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net) (Ping timeout: 256 seconds)
2020-11-15 13:49:29 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net)
2020-11-15 13:49:31 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-11-15 14:02:44 +0100kish`(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-11-15 14:03:52 +0100kish`(~oracle@unaffiliated/oracle)
2020-11-15 14:08:10 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-15 14:09:25 +0100crdrost(~crdrost@c-98-207-102-156.hsd1.ca.comcast.net)
2020-11-15 14:09:35 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 14:13:13 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
2020-11-15 14:13:25 +0100jneira_(~jneira@192.red-2-137-106.dynamicip.rima-tde.net)
2020-11-15 14:15:19 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-11-15 14:16:01 +0100hackagehakyll-convert 0.3.0.3 - Convert from other blog engines to Hakyll. https://hackage.haskell.org/package/hakyll-convert-0.3.0.3 (AlexanderBatischev)
2020-11-15 14:17:01 +0100akegalj(~akegalj@93-136-29-37.adsl.net.t-com.hr) (Quit: leaving)
2020-11-15 14:17:28 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-11-15 14:18:01 +0100jneira_(~jneira@192.red-2-137-106.dynamicip.rima-tde.net) (Ping timeout: 246 seconds)
2020-11-15 14:18:10 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net)
2020-11-15 14:21:41 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
2020-11-15 14:22:00 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net)
2020-11-15 14:24:24 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se)
2020-11-15 14:26:09 +0100jmcarthur(~jmcarthur@2601:86:500:2a40:db56:5d66:5919:c95d)
2020-11-15 14:29:16 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net) (Remote host closed the connection)
2020-11-15 14:32:01 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net)
2020-11-15 14:33:01 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 14:35:14 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 14:36:59 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 14:37:04 +0100 <matthew-> % :t (id 3, id "x")
2020-11-15 14:37:05 +0100 <yahb> matthew-: forall {a}. Num a => (a, [Char])
2020-11-15 14:37:25 +0100christo(~chris@81.96.113.213)
2020-11-15 14:37:25 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
2020-11-15 14:37:35 +0100 <matthew-> so, this suggests that the typing env is cloned for each part of the tuple
2020-11-15 14:38:13 +0100 <geekosaur> hm, I never shut that flag off, did I
2020-11-15 14:38:14 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 14:38:38 +0100 <matthew-> but I've seen some texts suggest that (id 3, id "x") should error, presumably because the instantiation of the type of id is shared
2020-11-15 14:39:34 +0100 <matthew-> this is one problem with a lot of the HM presentations not going into things like lists or tuples
2020-11-15 14:41:20 +0100 <__monty__> matthew-: You do run into trouble with the monomorphism restriction if you expect this behavior in general though.
2020-11-15 14:41:22 +0100avdb(~avdb@ip-83-134-109-106.dsl.scarlet.be)
2020-11-15 14:41:37 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 264 seconds)
2020-11-15 14:41:53 +0100 <matthew-> so I *thought* the monomorphism restriction only comes into play in recursion. Am I mistaken?
2020-11-15 14:42:34 +0100geekosaur(ac3a8f2b@172.58.143.43) (Ping timeout: 245 seconds)
2020-11-15 14:42:49 +0100 <matthew-> because, essentially, the fix instantiates the binder right at the start of the abstraction
2020-11-15 14:43:23 +0100geekosaur(ac3a8f2f@172.58.143.47)
2020-11-15 14:43:26 +0100 <matthew-> well, that's how it can be implemented. I'm less familiar with the details of what is actually sound to do...
2020-11-15 14:43:30 +0100christo(~chris@81.96.113.213)
2020-11-15 14:43:49 +0100kish`(~oracle@unaffiliated/oracle) (Remote host closed the connection)
2020-11-15 14:44:26 +0100 <bqv> suzu_: ow
2020-11-15 14:45:12 +0100kish`(~oracle@unaffiliated/oracle)
2020-11-15 14:45:12 +0100 <geekosaur> % :set -fno-print-explicit-foralls
2020-11-15 14:45:12 +0100 <yahb> geekosaur:
2020-11-15 14:45:30 +0100 <geekosaur> (unrelated to your question)
2020-11-15 14:46:34 +0100 <merijn> matthew-: The monomorphism restriction comes into play for "bindings that look like values (aka, no arguments on the left of =) and which are typeclass polymorphic"
2020-11-15 14:47:22 +0100knupfer(~Thunderbi@200116b82c37cc0084cc5f3e9837ddce.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-11-15 14:47:34 +0100 <merijn> matthew-: The usual "tuple and id" quandary you see is that '(\f -> (f 3, f "x")) id' doesn't typecheck, but I'm not sure if you were referring to that or something else
2020-11-15 14:48:02 +0100christo(~chris@81.96.113.213) (Ping timeout: 264 seconds)
2020-11-15 14:51:34 +0100 <matthew-> merijn: thank you, yes that makes sense (though this is just for plain lc with HM, not haskell). I've just misread then. Ok, so each type inference for each child of a list or tuple ast node should be done in isolation. That's what I've got wrong :)
2020-11-15 14:51:50 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-11-15 14:52:17 +0100feliocrat(~feliocrat@95.70.185.239)
2020-11-15 14:53:55 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2020-11-15 14:54:57 +0100 <merijn> matthew-: So, that specific example requires Rank2 types which is (theoretically) inferrable, but I don't think anyone ever implemented the inference in a real world compiler, because it's atrocious and hard
2020-11-15 14:55:16 +0100 <merijn> And Rank3 and higher types are impossible to infer at all
2020-11-15 14:55:57 +0100 <matthew-> yup, I'm completely avoiding anything above rank-1
2020-11-15 14:56:31 +0100 <merijn> I assume you've got TaPL already? ;)
2020-11-15 14:56:40 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2020-11-15 14:58:10 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Remote host closed the connection)
2020-11-15 14:58:24 +0100texasmynsted(~texasmyns@212.102.45.112)
2020-11-15 14:58:26 +0100 <matthew-> indeed. as basically everyone in this channel refers me to. I have it open on my desk in front of me, along with the attpl
2020-11-15 14:58:49 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 14:59:16 +0100FTB(5f5ac942@ip5f5ac942.dynamic.kabel-deutschland.de)
2020-11-15 14:59:53 +0100 <FTB> hello dear community, im about to start the book "learn you haskell for good"
2020-11-15 15:00:16 +0100christo(~chris@81.96.113.213)
2020-11-15 15:00:47 +0100jmcarthur(~jmcarthur@2601:86:500:2a40:db56:5d66:5919:c95d) (Ping timeout: 260 seconds)
2020-11-15 15:00:55 +0100 <merijn> matthew-: Just checking ;)
2020-11-15 15:02:49 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 256 seconds)
2020-11-15 15:03:11 +0100 <matthew-> merijn: :) It's funny how many resources you end up working with in order to build a usable language. For example, I have pattern matching, tuples and lists ... and finding a single text which covers them all is tricky
2020-11-15 15:03:31 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 246 seconds)
2020-11-15 15:04:33 +0100Gurkenglas(~Gurkengla@unaffiliated/gurkenglas)
2020-11-15 15:04:36 +0100 <matthew-> merijn: plus of course a lot of the impls you find are written in Haskell... which obviously isn't a problem or a surprise... but just teasing out some of the details - mistakes happen!
2020-11-15 15:05:15 +0100alp(~alp@2a01:e0a:58b:4920:9050:e88b:814f:ac3d) (Ping timeout: 272 seconds)
2020-11-15 15:06:31 +0100 <merijn> matthew-: The GHC wiki should (somewhere) have a list of papers talking about various parts of GHC too, which may or may not be helpful
2020-11-15 15:07:38 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-11-15 15:08:04 +0100whatisRT(~whatisRT@ip5b416a33.dynamic.kabel-deutschland.de) (Quit: ZNC 1.7.5 - https://znc.in)
2020-11-15 15:12:12 +0100cosmic-sansoats
2020-11-15 15:13:11 +0100 <matthew-> merijn: ahh, thanks for the pointer. I'll take a look
2020-11-15 15:22:36 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
2020-11-15 15:23:00 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-11-15 15:23:10 +0100Varis(~Tadas@unaffiliated/varis)
2020-11-15 15:24:49 +0100Tario(~Tario@201.192.165.173)
2020-11-15 15:25:54 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 15:28:24 +0100geekosaur(ac3a8f2f@172.58.143.47) (Ping timeout: 245 seconds)
2020-11-15 15:28:28 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 15:29:53 +0100christo(~chris@81.96.113.213)
2020-11-15 15:32:53 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
2020-11-15 15:37:30 +0100hackagequickcheck-instances 0.3.25.1 - Common quickcheck instances https://hackage.haskell.org/package/quickcheck-instances-0.3.25.1 (phadej)
2020-11-15 15:37:56 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 15:38:17 +0100p0a(~user@unaffiliated/p0a)
2020-11-15 15:38:47 +0100geekosaur(ac3a8f2f@172.58.143.47)
2020-11-15 15:40:06 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2020-11-15 15:41:21 +0100avdb(~avdb@ip-83-134-109-106.dsl.scarlet.be) (Ping timeout: 260 seconds)
2020-11-15 15:42:20 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2020-11-15 15:42:53 +0100 <p0a> hello with ByteString.Lazy, what exactly is the logic of Get?
2020-11-15 15:43:41 +0100 <p0a> Isn't it to read some input and then do something with it? So to repeat this until EOF, what would I have to do? use `until' for example, and check for eof on the handle?
2020-11-15 15:46:20 +0100 <nshepperd2> p0a: You mean Get from the 'binary' package?
2020-11-15 15:48:07 +0100 <p0a> yes nshepperd2, thank you
2020-11-15 15:48:17 +0100 <nshepperd2> Get represents a parser
2020-11-15 15:48:41 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78e6:f613:58de:505f)
2020-11-15 15:49:08 +0100 <nshepperd2> when you call runGet, it parses the bytestring and returns the decoded contents as a haskell object
2020-11-15 15:50:02 +0100 <p0a> alright
2020-11-15 15:50:30 +0100hackageshake 0.19.2 - Build system library, like Make, but more accurate dependencies. https://hackage.haskell.org/package/shake-0.19.2 (NeilMitchell)
2020-11-15 15:50:31 +0100 <nshepperd2> if your bytestring represents a series of many items, you need to either construct a Get parser that parses a list or items, then call runGet once
2020-11-15 15:50:56 +0100 <p0a> so it's inappropriate to do things in a Get parser?
2020-11-15 15:50:58 +0100 <p0a> such as printing results?
2020-11-15 15:51:07 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:78e6:f613:58de:505f) (Client Quit)
2020-11-15 15:51:19 +0100 <p0a> How do you efficiently implement unix `cat' in lazy IO with Get?
2020-11-15 15:51:57 +0100 <p0a> I'm sorry for the fragmented sentences, I'm a bit tired.
2020-11-15 15:51:57 +0100 <geekosaur> I wouldn't be using the binary package to do that
2020-11-15 15:51:59 +0100 <nshepperd2> or use runGetIncremental to do one-at-a-time type parsing
2020-11-15 15:52:39 +0100 <p0a> geekosaur: I'm trying to write a utility like `hd' for fun
2020-11-15 15:52:40 +0100 <nshepperd2> doesn't `cat` just read input and write it to the output? you don't need to parse anything for that
2020-11-15 15:53:18 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Remote host closed the connection)
2020-11-15 15:53:30 +0100 <p0a> alright
2020-11-15 15:53:42 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd)
2020-11-15 15:53:49 +0100 <p0a> so I just realized I was misusing that Get parser. I see I should've been using runGetIncremental
2020-11-15 15:54:13 +0100 <p0a> but also I shouldn't be using readFile, I should use a handle instead with binary mode on. Using readFile, I don't know how to check for eof
2020-11-15 15:54:24 +0100 <p0a> so... I don't know how to `read' in a loop until eof
2020-11-15 15:54:26 +0100 <nshepperd2> hd, as in a hex dumping utility?
2020-11-15 15:54:29 +0100 <p0a> yeah
2020-11-15 15:55:09 +0100 <nshepperd2> yeah I wouldn't use the binary package for that either, I think
2020-11-15 15:55:18 +0100 <nshepperd2> it's meant more for structured data
2020-11-15 15:56:09 +0100 <p0a> I see
2020-11-15 15:56:28 +0100 <p0a> I did write something with strict IO that works fine
2020-11-15 15:56:33 +0100 <p0a> I was just trying to see what lazy IO is about
2020-11-15 15:56:56 +0100 <p0a> I was also recommended conduit which was the next thing I was going to look at
2020-11-15 15:57:23 +0100machinedgod(~machinedg@24.105.81.50)
2020-11-15 15:57:33 +0100 <nshepperd2> well, with lazy IO, what you get is a big lazy bytestring which contains the entire input
2020-11-15 15:58:27 +0100 <nshepperd2> what you'd generally do is write a pure function which transforms that into a bytestring containing the entire output
2020-11-15 15:58:33 +0100 <p0a> I don't know why I ran into Get, I guess I don't need it at all, you just made me realize.
2020-11-15 15:58:33 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 15:59:30 +0100FTB(5f5ac942@ip5f5ac942.dynamic.kabel-deutschland.de) (Remote host closed the connection)
2020-11-15 15:59:32 +0100 <nshepperd2> and then just call Data.ByteString.Lazy.putStr to write that to stdout
2020-11-15 16:00:02 +0100JohnONolan(~JohnONola@193.56.252.12) ()
2020-11-15 16:00:10 +0100 <p0a> right, thank you
2020-11-15 16:00:21 +0100 <p0a> I was misled by what the purpose of `binary' is
2020-11-15 16:01:51 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 16:02:45 +0100jakalx(~jakalx@base.jakalx.net) ("Disconnected: closed")
2020-11-15 16:03:01 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 16:07:29 +0100lucasb(uid333435@gateway/web/irccloud.com/x-vbpjdjtpfxqmyplf)
2020-11-15 16:07:46 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 256 seconds)
2020-11-15 16:13:49 +0100avdb(~avdb@ip-83-134-109-106.dsl.scarlet.be)
2020-11-15 16:14:52 +0100cosimone(~cosimone@2001:b07:ae5:db26:d849:743b:370b:b3cd) (Quit: cosimone)
2020-11-15 16:16:57 +0100HaskellYogi(~vivekrama@49.207.219.163) (Remote host closed the connection)
2020-11-15 16:17:09 +0100christo(~chris@81.96.113.213)
2020-11-15 16:17:25 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9)
2020-11-15 16:17:39 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 16:18:57 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 16:23:37 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 264 seconds)
2020-11-15 16:24:10 +0100HaskellYogi(~vivekrama@49.207.219.163) (Remote host closed the connection)
2020-11-15 16:24:26 +0100HaskellYogi(~vivekrama@49.207.219.163)
2020-11-15 16:24:38 +0100jduhamel(~textual@bras-base-toroon4664w-grc-14-184-145-124-162.dsl.bell.ca)
2020-11-15 16:32:05 +0100HaskellYogi(~vivekrama@49.207.219.163) (Quit: Sayonara. Long live Haskell)
2020-11-15 16:33:49 +0100Inoperable(~PLAYER_1@fancydata.science) (Excess Flood)
2020-11-15 16:38:49 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 16:39:03 +0100jaspervdj(~jaspervdj@213.55.241.138) (Quit: leaving)
2020-11-15 16:40:02 +0100Inoperable(~PLAYER_1@fancydata.science)
2020-11-15 16:41:16 +0100urodna(~urodna@unaffiliated/urodna)
2020-11-15 16:41:51 +0100wei2912(~wei2912@unaffiliated/wei2912) (Remote host closed the connection)
2020-11-15 16:42:17 +0100ericsagn1(~ericsagne@2405:6580:0:5100:f576:66f7:e38e:c2d0) (Ping timeout: 260 seconds)
2020-11-15 16:42:34 +0100jamm_(~jamm@unaffiliated/jamm)
2020-11-15 16:42:45 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds)
2020-11-15 16:43:23 +0100coeus(~coeus@p200300d0273fc6004bc0c1d283592f2f.dip0.t-ipconnect.de) (Ping timeout: 244 seconds)
2020-11-15 16:45:53 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2020-11-15 16:47:31 +0100 <dminuoso> I have a typeclass for serialization with a method `putAttr :: Attr a => a -> (Word32 -> Put -> Put) -> Put` with the assumption that an implementor will do something like `putAttr (SomeThing s) h = h 16 (putThing s)`
2020-11-15 16:48:24 +0100 <dminuoso> The idea is that this continuation lets us communicate to the caller the length of our attribute, such that they can use it in some manner.
2020-11-15 16:48:52 +0100 <dminuoso> However, that signature doesn't actually enforce it, since you could accidentally just write `putAttr (SomeThing s) _ = putThing s`
2020-11-15 16:49:24 +0100 <dminuoso> Is there a way to rewrite this method to make it less error prone in that sense?
2020-11-15 16:49:26 +0100 <ski> `putAttr :: Attr a => a -> (Word32 -> Put -> o) -> o' ?
2020-11-15 16:49:28 +0100coot(~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
2020-11-15 16:49:44 +0100 <dminuoso> Oh.
2020-11-15 16:50:18 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2020-11-15 16:50:26 +0100 <dminuoso> ski: Why didn't I see that, cheers!
2020-11-15 16:50:35 +0100 <ski> oh, it'll work ?
2020-11-15 16:50:48 +0100 <dminuoso> Looks perfectly reasonable I guess?
2020-11-15 16:51:08 +0100 <dminuoso> Let me play with it
2020-11-15 16:51:17 +0100 <ski> it depends on whether you expect `putAttr' to always be in CPS, or else sometimes nqCPS
2020-11-15 16:51:38 +0100 <ski> (and i don't know enough context to be able to tell that)
2020-11-15 16:51:40 +0100 <dminuoso> What is nqCPS?
2020-11-15 16:51:50 +0100 <ski> "not-quite CPS"
2020-11-15 16:52:05 +0100 <dminuoso> So far, I intend to use this in CPS everywhere
2020-11-15 16:52:19 +0100 <ski> like you sometimes "do something after the continuation". e.g. using `finally' or `bracket'
2020-11-15 16:53:33 +0100 <ski> e.g. `Codensity IO a' enforces that the only "not quite" things you can do are general `IO' things (that are polymorphic in the result type)
2020-11-15 16:53:37 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
2020-11-15 16:54:25 +0100 <dminuoso> Think I might just have to start using Cont here.
2020-11-15 16:54:28 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2020-11-15 16:54:41 +0100ericsagn1(~ericsagne@2405:6580:0:5100:dcdb:fdc1:bfe:ca10)
2020-11-15 16:54:50 +0100 <dminuoso> Perhaps the the explicit and manual CPS is just too thick to look through
2020-11-15 16:55:01 +0100paolo|out(~paolo|out@185.163.110.116)
2020-11-15 16:55:02 +0100 <ski> (of course, one could also imagine `putAttr :: Attr a => a -> (Word32,Put)' (or even `putAttr# :: Attr a => a -> (# Word32,Put #)') .. but presumably the ergonomics of CPS is nicer, in your case
2020-11-15 16:55:19 +0100 <ski> )
2020-11-15 16:55:21 +0100 <dminuoso> Yeah, the ergonomics of CPS is a lot nicer indeed.
2020-11-15 16:55:34 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515)
2020-11-15 16:55:36 +0100kuribas(~user@ptr-25vy0i7amf8n4ydxgty.18120a2.ip6.access.telenet.be)
2020-11-15 16:55:45 +0100 <dminuoso> (I tried it with the above, and there were bizarre edge cases I couldn't quite figure out)
2020-11-15 16:56:07 +0100 <dminuoso> Plus, I have the need to callWithCC soon
2020-11-15 16:56:15 +0100 <kuribas> since many libraries use CPS for exceptions (like attoparsec), wouldn't it be useful to have a ExceptT library that uses CPS?
2020-11-15 16:56:33 +0100 <dminuoso> Err, callCC I guess its called in Haskell
2020-11-15 16:57:59 +0100f-a(~f-a@151.68.244.218)
2020-11-15 16:58:02 +0100f-a(~f-a@151.68.244.218) ()
2020-11-15 16:58:11 +0100 <ski> hm. i wonder how you're intending to capture and later swap out the current continuation
2020-11-15 16:58:35 +0100bangtree(~user@50-102-199-84.ekht.in.frontiernet.net)
2020-11-15 16:59:48 +0100coeus(~coeus@p200300d027453600d114986072cc2eb8.dip0.t-ipconnect.de)
2020-11-15 17:00:00 +0100 <dminuoso> ski: Very roughly, the protocol demands to serializen an "attribute" into an "invalid attribute" (which would not invalidate the entire pass) under certain conditions.
2020-11-15 17:00:05 +0100zerstroyer[m](zerstroyer@gateway/shell/matrix.org/x-jrgpqmwjlqykhxer) (Quit: Idle for 30+ days)
2020-11-15 17:00:48 +0100 <dminuoso> Oh wait..
2020-11-15 17:00:51 +0100 <dminuoso> That's in the Get part...
2020-11-15 17:00:53 +0100 <dminuoso> mmm
2020-11-15 17:01:20 +0100FreeBirdLjj(~freebirdl@101.228.42.108)
2020-11-15 17:01:47 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 17:02:50 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-11-15 17:03:16 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-11-15 17:03:56 +0100alp(~alp@2a01:e0a:58b:4920:a992:8ca9:416:3a9e)
2020-11-15 17:04:11 +0100 <Iceland_jack> hi alp
2020-11-15 17:04:38 +0100 <alp> hello
2020-11-15 17:04:53 +0100bangtree(~user@50-102-199-84.ekht.in.frontiernet.net) (Ping timeout: 260 seconds)
2020-11-15 17:06:12 +0100FreeBirdLjj(~freebirdl@101.228.42.108) (Ping timeout: 256 seconds)
2020-11-15 17:06:33 +0100shangxiao(~davids@101.181.159.140) (Quit: WeeChat 2.9)
2020-11-15 17:08:42 +0100berberman_(~berberman@unaffiliated/berberman) (Quit: ZNC 1.7.5 - https://znc.in)
2020-11-15 17:09:05 +0100berberman(~berberman@unaffiliated/berberman)
2020-11-15 17:16:29 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 17:17:37 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-11-15 17:18:25 +0100avdb(~avdb@ip-83-134-109-106.dsl.scarlet.be) (Ping timeout: 260 seconds)
2020-11-15 17:20:45 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 240 seconds)
2020-11-15 17:21:44 +0100geekosaur(ac3a8f2f@172.58.143.47) (Ping timeout: 245 seconds)
2020-11-15 17:21:54 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 17:22:49 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Quit: Leaving)
2020-11-15 17:23:45 +0100alx741(~alx741@186.178.110.6) (Ping timeout: 240 seconds)
2020-11-15 17:24:29 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 17:26:00 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-11-15 17:26:37 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 260 seconds)
2020-11-15 17:26:42 +0100 <kuribas> Why do libraries handwrite their transformers?
2020-11-15 17:28:25 +0100 <kuribas> with a generic cps'ed exceptT you could simply replace the current ExceptT with the CPSd version, and get the same performance gains, but without that difficulties.
2020-11-15 17:29:22 +0100lemald(~eddie@capybara.lemald.org) (Quit: WeeChat 2.7.1)
2020-11-15 17:30:49 +0100 <kuribas> for example, attoparsec uses a CPSed error handling, but it is hard to understand.
2020-11-15 17:31:43 +0100toorevitimirp(~tooreviti@117.182.180.118) (Quit: Konversation terminated!)
2020-11-15 17:32:51 +0100 <Rembane> My guess is that they do it for (real or made up) performance gains.
2020-11-15 17:33:32 +0100lemald(~eddie@capybara.lemald.org)
2020-11-15 17:33:56 +0100 <kuribas> the performance gain is real, but you could get the same with a custom ExceptT transformer IMO.
2020-11-15 17:34:24 +0100 <davean> kuribas: prove it. GHC often fails to merge transformer stacks.
2020-11-15 17:34:36 +0100 <kuribas> davean: when?
2020-11-15 17:34:44 +0100 <kuribas> davean: in my tests it worked fine...
2020-11-15 17:34:44 +0100 <davean> "almost always"
2020-11-15 17:34:59 +0100 <davean> I've never actually seen it merge them fully. It gets close
2020-11-15 17:35:05 +0100 <kuribas> davean: when the stack is in different modules? In the same module?
2020-11-15 17:35:32 +0100 <kuribas> or when it becomes so big it doesn't inline the functions?
2020-11-15 17:35:38 +0100 <davean> see the part where I've said I've never seen it.
2020-11-15 17:35:44 +0100 <davean> Litterly never seen it.
2020-11-15 17:35:53 +0100 <kuribas> I've seen it many times...
2020-11-15 17:36:00 +0100 <davean> Have you checked the actual core?
2020-11-15 17:36:04 +0100 <kuribas> yes
2020-11-15 17:36:10 +0100 <davean> Congrats.
2020-11-15 17:36:12 +0100 <kuribas> with optimizations on of course.
2020-11-15 17:36:27 +0100 <kuribas> davean: I'll do a test and report the result :)
2020-11-15 17:36:41 +0100 <kuribas> no point in arguing when you can test :)
2020-11-15 17:37:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2020-11-15 17:38:24 +0100 <dminuoso> Well, in case of attoparsec, CPS avoids the need for fusion in the first place.
2020-11-15 17:38:26 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2020-11-15 17:38:47 +0100 <dminuoso> If you encode it with sum types, you rely on GHC to do deforestration
2020-11-15 17:38:47 +0100 <kuribas> dminuoso: to get better compile times?
2020-11-15 17:38:47 +0100 <davean> Yah fusion is really good. Its just not entirely reliable.
2020-11-15 17:39:14 +0100 <dminuoso> kuribas: Not just that, you get much more reliable performance, rather than relying on GHC to do it for you
2020-11-15 17:39:27 +0100Amras(~Amras@unaffiliated/amras0000)
2020-11-15 17:39:33 +0100 <dminuoso> Which can be dependent on build flags, how well inlining can take place, GHC version
2020-11-15 17:40:52 +0100 <kuribas> letting the compiler do the work is a good thing IMO
2020-11-15 17:41:35 +0100 <kuribas> I don't mind trading compile times for developper times, easier to understand code, and less chance of bugs.
2020-11-15 17:42:05 +0100Chi1thangoo(~Chi1thang@87.112.60.168)
2020-11-15 17:42:50 +0100p-core(~Thunderbi@2001:718:1e03:5128:2ab7:7f35:48a1:8515) (Remote host closed the connection)
2020-11-15 17:44:15 +0100alx741(~alx741@186.178.110.6)
2020-11-15 17:44:29 +0100 <dminuoso> Its not about whether GHC can take work off you
2020-11-15 17:44:33 +0100 <dminuoso> Its whether GHC can reliably do it for you.
2020-11-15 17:45:10 +0100 <kuribas> I don't need a 100% gain, 80% will do.
2020-11-15 17:45:13 +0100 <kuribas> but not 20%
2020-11-15 17:45:28 +0100DavidEichmann(~david@62.110.198.146.dyn.plus.net)
2020-11-15 17:45:55 +0100 <davean> well most of the community thinks putting in a few extra minutes to get the 100% is more than worth it for core libraries.
2020-11-15 17:46:12 +0100 <kuribas> yeah, I guess so
2020-11-15 17:46:20 +0100knupfer(~Thunderbi@i5E86B494.versanet.de)
2020-11-15 17:46:27 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 17:46:44 +0100 <davean> Also, like, often combining them can make the code conceptually simpler because you're no longer dealing with the product. Some cases thats not true. It varies.
2020-11-15 17:46:52 +0100 <dminuoso> Right, especially since with libraries the compiler choice (version and flags) is out of the library authors control
2020-11-15 17:47:03 +0100knupfer(~Thunderbi@i5E86B494.versanet.de) (Client Quit)
2020-11-15 17:47:10 +0100 <dminuoso> So by using CPS, the library author ensures you get optimizations without you your help
2020-11-15 17:47:15 +0100knupfer(~Thunderbi@200116b82c37cc00b9ffe288e94dd584.dip.versatel-1u1.de)
2020-11-15 17:47:24 +0100 <kuribas> dminuoso: I am not advocating against CPS
2020-11-15 17:47:43 +0100 <kuribas> dminuoso: I am proposing a CPSed version of ExceptT
2020-11-15 17:48:27 +0100 <kuribas> that could be used as drop-in replacement for ExceptT
2020-11-15 17:49:22 +0100 <dminuoso> ah
2020-11-15 17:50:21 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9)
2020-11-15 17:50:56 +0100 <davean> kuribas: oh, you know that inlining often ruins performance on non-microbenchmarks, right? Also in particular on lower-end CPUs.
2020-11-15 17:51:15 +0100 <kuribas> what do you mean?
2020-11-15 17:51:30 +0100 <kuribas> ghc compile times?
2020-11-15 17:51:43 +0100goldcell(~goldcell@2607:fea8:2c40:307::50de)
2020-11-15 17:51:56 +0100 <davean> Inlining increases code size, and when you start spilling cache, or even not fitting in microop cache, performance degrades. So large pieces of code are often better off *without* inlining to get the sharing.
2020-11-15 17:51:59 +0100 <goldcell> does haskell get around the need to conditionally express variables?
2020-11-15 17:52:29 +0100wwwww(~wwwww@unaffiliated/wwwww) (Ping timeout: 260 seconds)
2020-11-15 17:52:30 +0100 <davean> kuribas: inlining is a common case where a local optimization becomes a global pessimisation
2020-11-15 17:52:34 +0100 <davean> goldcell: what is
2020-11-15 17:52:43 +0100 <davean> goldcell: what is "conditionally express variables"?
2020-11-15 17:53:07 +0100 <kuribas> davean: yes, but in the case you want the inlining.
2020-11-15 17:53:13 +0100 <kuribas> "this case"
2020-11-15 17:53:21 +0100 <davean> kuribas: in particular you see this a lot with serialization/deserialization libraries.
2020-11-15 17:53:25 +0100 <goldcell> e.g. when a value can be a null type or the type you actually want
2020-11-15 17:53:51 +0100 <davean> goldcell: what is a "null type"?
2020-11-15 17:53:53 +0100 <ski> we have `Maybe', for absence of values
2020-11-15 17:54:05 +0100 <davean> A type is specific
2020-11-15 17:54:15 +0100 <davean> you could designate one as ... no, I don't think "null type" makes sense.
2020-11-15 17:54:25 +0100machinedgod(~machinedg@24.105.81.50) (Ping timeout: 265 seconds)
2020-11-15 17:54:30 +0100 <kuribas> davean: inlining also allows for other optimizations, like deforestation...
2020-11-15 17:54:39 +0100 <davean> kuribas: sure.
2020-11-15 17:54:42 +0100wwwww(~wwwww@unaffiliated/wwwww)
2020-11-15 17:54:50 +0100 <kuribas> without inlining, functional programs would be very slow.
2020-11-15 17:55:11 +0100 <kuribas> maybe GRIN could improve on this.
2020-11-15 17:55:29 +0100 <kuribas> by only inlining functions where you know there will be optimizations done.
2020-11-15 17:55:52 +0100 <p0a> goldcell: yeah it does
2020-11-15 17:55:57 +0100 <davean> kuribas: we use inlining to get to deforestation, but thats not truly paired IMO
2020-11-15 17:56:13 +0100 <p0a> goldcell: (1+) <$> Just 2 ==> Just 3, whereas if you do (1+) <$> Nothing you get Nothing
2020-11-15 17:56:13 +0100 <davean> goldcell: are you sure you don't mean null values?
2020-11-15 17:56:24 +0100 <goldcell> ski, yeah I think that's what I'm looking for
2020-11-15 17:56:40 +0100 <davean> Maybe covers values being null, not types though?
2020-11-15 17:57:02 +0100 <davean> (and even in C, there is "null" but there isn't a "null type", each type's null is different)
2020-11-15 17:57:17 +0100 <davean> (Though with REALLY complicated rules saying they have to compare the same and such)
2020-11-15 17:57:28 +0100 <goldcell> I was just programming in go, where it is called nil
2020-11-15 17:57:37 +0100ski. o O ( "Null References: The Billion Dollar Mistake" by Tony Hoare in 2009-08-25 at <https://www.infoq.com/presentations/Null-References-The-Billion-Dollar-Mistake-Tony-Hoare/> )
2020-11-15 17:58:01 +0100 <int-e> . o O ( small fries )
2020-11-15 17:58:11 +0100 <davean> goldcell: mmm, ok, so I do think you're confused about values and types then.
2020-11-15 17:58:39 +0100 <goldcell> go on ...
2020-11-15 17:58:53 +0100 <davean> null values are the representation of absence inside a type, a type is a specification
2020-11-15 17:59:24 +0100 <davean> you can trivially lift/extend any type to also include the concept of emptiness with "Maybe"
2020-11-15 17:59:47 +0100 <davean> The TYPE just says what can be there though
2020-11-15 17:59:58 +0100 <ski> (and you can do it again, adding another element that was not in the original domain. this is different from "nullable types")
2020-11-15 18:00:38 +0100 <goldcell> ok, thanks :]
2020-11-15 18:01:26 +0100 <davean> In Haskell the types represent if the value can be "null". This is true in go and C also, just there its implicitely required an entire set must have null values allowed.
2020-11-15 18:01:35 +0100ski. o O ( "Option types, optional parameters" )
2020-11-15 18:03:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 18:03:32 +0100hjdk09p(8ec52d01@gateway/web/cgi-irc/kiwiirc.com/ip.142.197.45.1)
2020-11-15 18:03:38 +0100 <hjdk09p> ;l
2020-11-15 18:04:13 +0100ski. o O ( "Option types, optional parameters" by Riastradh in 2006-02-03 at their blag at <https://mumble.net/~campbell/blag.txt>,RSS <http://vrici.lojban.org/~cowan/blag.xml> )
2020-11-15 18:05:10 +0100hjdk09p(8ec52d01@gateway/web/cgi-irc/kiwiirc.com/ip.142.197.45.1) (Client Quit)
2020-11-15 18:05:52 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 246 seconds)
2020-11-15 18:06:38 +0100Jeanne-Kamikaze(~Jeanne-Ka@66.115.189.189)
2020-11-15 18:08:21 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-15 18:08:58 +0100goldcell(~goldcell@2607:fea8:2c40:307::50de) (Quit: Leaving)
2020-11-15 18:09:05 +0100bgamari(~bgamari@72.65.102.116) (Ping timeout: 240 seconds)
2020-11-15 18:10:38 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 18:10:49 +0100alp(~alp@2a01:e0a:58b:4920:a992:8ca9:416:3a9e) (Ping timeout: 272 seconds)
2020-11-15 18:13:04 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 18:13:18 +0100solonarv(~solonarv@astrasbourg-653-1-156-155.w90-6.abo.wanadoo.fr)
2020-11-15 18:15:20 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-11-15 18:20:59 +0100Deide(~Deide@217.155.19.23)
2020-11-15 18:26:17 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-15 18:27:25 +0100Audentity_(~Audentity@4e69b241.skybroadband.com) (Ping timeout: 240 seconds)
2020-11-15 18:28:28 +0100conal(~conal@64.71.133.70)
2020-11-15 18:29:45 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-11-15 18:30:40 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Ping timeout: 265 seconds)
2020-11-15 18:31:07 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2020-11-15 18:31:09 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 18:32:25 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2020-11-15 18:32:37 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Quit: This computer has gone to sleep)
2020-11-15 18:33:49 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2020-11-15 18:33:54 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 18:35:35 +0100elliott__(~elliott@pool-108-51-141-12.washdc.fios.verizon.net)
2020-11-15 18:38:04 +0100jakalx(~jakalx@base.jakalx.net) (Ping timeout: 246 seconds)
2020-11-15 18:38:56 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 18:39:18 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 18:43:10 +0100hidedagger(~nate@125.161.129.195) (Changing host)
2020-11-15 18:43:10 +0100hidedagger(~nate@unaffiliated/hidedagger)
2020-11-15 18:45:46 +0100Unhammerd(~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
2020-11-15 18:46:28 +0100Audentity(~Audentity@4e69b241.skybroadband.com)
2020-11-15 18:47:00 +0100hackagebrittany 0.12.2.0 - Haskell source code formatter https://hackage.haskell.org/package/brittany-0.12.2.0 (fozworth)
2020-11-15 18:48:38 +0100Unhammerd(~Unhammer@gateway/tor-sasl/unhammer)
2020-11-15 18:50:53 +0100Unhammerd(~Unhammer@gateway/tor-sasl/unhammer) (Remote host closed the connection)
2020-11-15 18:50:59 +0100 <kuribas> devalot: well, the core is hard to read, but it looks fine.
2020-11-15 18:51:01 +0100kritzefitz_(~kritzefit@212.86.56.80)
2020-11-15 18:51:09 +0100 <kuribas> erm davean
2020-11-15 18:51:29 +0100Unhammerd(~Unhammer@gateway/tor-sasl/unhammer)
2020-11-15 18:52:04 +0100 <kuribas> davean: my stack isn't complicated though: newtype EventParser l e m a = EventParser { getEventParser :: ExceptT (EventParseError e) (StateT (ParserState l) m)
2020-11-15 18:52:23 +0100christo(~chris@81.96.113.213)
2020-11-15 18:52:23 +0100todda7(~torstein@ppp-2-84-17-169.home.otenet.gr)
2020-11-15 18:53:10 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2020-11-15 18:53:12 +0100kritzefitz_(~kritzefit@212.86.56.80) (Remote host closed the connection)
2020-11-15 18:53:57 +0100 <kuribas> davean: And I just had to replace ExceptT with my new CPSExceptT
2020-11-15 18:55:00 +0100chaosmasttter(~chaosmast@p200300c4a73c5201c1de5602741d98a2.dip0.t-ipconnect.de)
2020-11-15 18:55:13 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 18:56:01 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55)
2020-11-15 18:56:42 +0100Zetagon(~leo@c151-177-52-233.bredband.comhem.se) (Ping timeout: 256 seconds)
2020-11-15 18:57:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-15 18:57:19 +0100conal(~conal@64.71.133.70) (Ping timeout: 246 seconds)
2020-11-15 18:58:44 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0)
2020-11-15 19:00:01 +0100paolo|out(~paolo|out@185.163.110.116) ()
2020-11-15 19:01:00 +0100 <kuribas> davean: for example the "someTag" function now takes the failure continuation, success continuation and state.
2020-11-15 19:01:24 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-11-15 19:03:03 +0100elfets_(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2020-11-15 19:04:46 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 19:05:17 +0100asheshambasta(~user@ptr-e1lysawl9rr13i61o92.18120a2.ip6.access.telenet.be) (Ping timeout: 272 seconds)
2020-11-15 19:05:21 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2020-11-15 19:08:21 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2020-11-15 19:09:40 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-11-15 19:10:32 +0100hnOsmium0001(uid453710@gateway/web/irccloud.com/x-eerkvmaqmqbakgpb)
2020-11-15 19:10:55 +0100christo(~chris@81.96.113.213)
2020-11-15 19:12:01 +0100hidedagger(~nate@unaffiliated/hidedagger) (Quit: WeeChat 2.9)
2020-11-15 19:12:32 +0100hidedagger(~hidedagge@unaffiliated/hidedagger)
2020-11-15 19:13:41 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2020-11-15 19:17:26 +0100 <p0a> nshepperd2: "with Lazy IO you get a big ByteString containing the entire input" -> how do I get it?
2020-11-15 19:17:30 +0100robert___(uid452915@gateway/web/irccloud.com/x-lmflebnllvyjwmec)
2020-11-15 19:17:48 +0100 <p0a> ohhhh sorry I just realized. There's function in ByteString.Lazy that work on handles
2020-11-15 19:17:50 +0100 <p0a> my bad, ignore it :P
2020-11-15 19:18:12 +0100nexii(~user@38-73-246-124.starry-inc.net)
2020-11-15 19:19:37 +0100 <kuribas> p0a: you should be careful when reading lazy bytestrings from handles.
2020-11-15 19:20:06 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2020-11-15 19:21:33 +0100 <kuribas> p0a: make sure you consume the bytestring before closing the handle
2020-11-15 19:21:52 +0100hidedagger(~hidedagge@unaffiliated/hidedagger) (Quit: WeeChat 2.9)
2020-11-15 19:22:27 +0100 <nexii> hello. I'm trying to run through learn you a haskell and trying to implement a fizzbuzz-like function like boomBangs http://learnyouahaskell.com/starting-out found that if x `mod` 5 == 0 and x `mod` 3 == 0 then "FIZZBUZZ" issues an error. I was wondering how I can refactor this to make it not be bad and without pattern matching
2020-11-15 19:24:15 +0100 <p0a> kuribas: it's possible to naively close the handle before the string is consumed?
2020-11-15 19:24:24 +0100 <kuribas> p0a: yes
2020-11-15 19:24:35 +0100 <p0a> so then when the string is attempted to be consumed it results to an io error right?
2020-11-15 19:24:42 +0100 <kuribas> yes
2020-11-15 19:24:44 +0100 <dolio> Just don't close the handle manually.
2020-11-15 19:24:56 +0100 <p0a> that's a good point, thanks
2020-11-15 19:25:37 +0100chaosmasttter(~chaosmast@p200300c4a73c5201c1de5602741d98a2.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2020-11-15 19:26:08 +0100elosant(~elosant@gateway/tor-sasl/elosant)
2020-11-15 19:26:35 +0100vicfred(~vicfred@unaffiliated/vicfred) (Remote host closed the connection)
2020-11-15 19:26:52 +0100elosant(~elosant@gateway/tor-sasl/elosant) (Client Quit)
2020-11-15 19:27:03 +0100vicfred(~vicfred@unaffiliated/vicfred)
2020-11-15 19:27:27 +0100 <p0a> nexii: https://wiki.haskell.org/Fizzbuzz shows an example
2020-11-15 19:28:42 +0100 <nexii> p0a, thanks!
2020-11-15 19:29:00 +0100boxscape(54a35f37@gateway/web/cgi-irc/kiwiirc.com/ip.84.163.95.55) (Quit: Connection closed)
2020-11-15 19:30:04 +0100nek0(~nek0@mail.nek0.eu) (Quit: The Lounge - https://thelounge.chat)
2020-11-15 19:31:17 +0100nek0(~nek0@mail.nek0.eu)
2020-11-15 19:32:56 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 19:33:42 +0100 <pjb> p0a: nexii: https://www.youtube.com/watch?v=mZWsyUKwTbg&t=364s
2020-11-15 19:33:53 +0100 <pjb> p0a: nexii: I mean: https://www.youtube.com/watch?v=mZWsyUKwTbg
2020-11-15 19:33:58 +0100 <nexii> I'm trying a non-pattern matching version and was wondering how I can fix this: fizzbuzzs xs = [if x `mod` 15 == 0 then "FIZZBUZZ" else x | x <- xs] (not considering fizz or buzz)
2020-11-15 19:34:37 +0100 <pjb> (O(1) fizzbuzz; but check my comment with a lisp O(1) fizzbuzz).
2020-11-15 19:35:08 +0100 <dminuoso> pjb: Without pattern matching somewhere, this is going to require some real trickery.
2020-11-15 19:35:12 +0100 <nexii> this is issuing an error here "No instance for (Integral [Char]) arising from a use of `mod'"
2020-11-15 19:35:22 +0100 <dminuoso> pjb: Generally, all evaluation in Haskell is driven by pattern matching...
2020-11-15 19:35:56 +0100 <MarcelineVQ> you need to be explicit about converting x to a String since "FIZZBUZZ" is a String and both choices of an if need to result in the same type, show x is one way
2020-11-15 19:35:57 +0100 <nexii> dminuoso, definitely. I'm just trying to align my expectations with reality
2020-11-15 19:36:00 +0100hackagebase64-bytestring 1.2.0.1 - Fast base64 encoding and decoding for ByteStrings https://hackage.haskell.org/package/base64-bytestring-1.2.0.1 (topos)
2020-11-15 19:36:05 +0100 <dminuoso> nexii: Ah, so imagine `x = if b then f else g`
2020-11-15 19:36:10 +0100 <dminuoso> nexii: f and g have to be of the same type
2020-11-15 19:36:21 +0100 <dminuoso> (Because what else would the type of `x` be?)
2020-11-15 19:37:09 +0100 <dsal> p0a: have you looked at conduit? You're taking a long path to doing relay conduit's core competency is.
2020-11-15 19:37:13 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 246 seconds)
2020-11-15 19:37:26 +0100 <nexii> ooooh right!
2020-11-15 19:37:27 +0100 <p0a> nexii: "FIZZBUZZ" and 2 are not the same type
2020-11-15 19:37:32 +0100 <dminuoso> nexii: The error message is perhaps strange, because GHC simply infers `x` to be of type string (because "FIZZBUZZ" is a string), and then a constraint from the use of `mod` pops up
2020-11-15 19:37:42 +0100 <nexii> can I cast as a string version of a number?
2020-11-15 19:37:52 +0100 <nexii> cast *x
2020-11-15 19:38:01 +0100 <p0a> You can create a 'supertype' that includes both strings and integers
2020-11-15 19:38:14 +0100 <nexii> gotcha. thanks!
2020-11-15 19:38:15 +0100 <p0a> or you can turn an Int into a String with `show', like `show n'
2020-11-15 19:38:20 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2020-11-15 19:38:37 +0100 <nexii> ah. I think I wanted that
2020-11-15 19:38:39 +0100 <p0a> dsal: not yet :) I will tomorrow probably. Woring slowly
2020-11-15 19:39:23 +0100 <dminuoso> p0a: Regarding lazy IO, just dont do it. :p
2020-11-15 19:40:19 +0100 <bqv> lol, for a second there i thought that was a reply to a message i'd sent a week ago about lazy IO
2020-11-15 19:40:50 +0100 <dsal> bqv: turns out, it was just an async exception
2020-11-15 19:40:52 +0100chaosmasttter(~chaosmast@p200300c4a73c5201c1de5602741d98a2.dip0.t-ipconnect.de)
2020-11-15 19:41:22 +0100 <bqv> hahah
2020-11-15 19:42:30 +0100nek0(~nek0@mail.nek0.eu) (Remote host closed the connection)
2020-11-15 19:42:34 +0100arianvp(~weechat@arianvp.me) (Quit: WeeChat 2.7.1)
2020-11-15 19:42:41 +0100 <dminuoso> dsal: If p0a just disconnected now, that'd be funny.
2020-11-15 19:42:56 +0100arianvp(~weechat@arianvp.me)
2020-11-15 19:42:59 +0100 <p0a> :P
2020-11-15 19:44:13 +0100 <p0a> somehow I am using a function that knows that the ByteString is lazy and I'm getting an error
2020-11-15 19:44:53 +0100 <p0a> I'm trying to use fromBytes from hexstring, "Couldn't match expected type 'Data.ByteString.Internal.ByteString' with actual type 'Data.ByteString.Lazy.ByteString'
2020-11-15 19:45:14 +0100wroathe_(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-15 19:45:22 +0100Franciman(~francesco@host-82-56-223-169.retail.telecomitalia.it)
2020-11-15 19:45:28 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-11-15 19:45:34 +0100 <p0a> dminuoso: I had abandoned the idea of using lazy IO but it's a last attempt before bed
2020-11-15 19:46:07 +0100wroathe_wroathe
2020-11-15 19:46:14 +0100vacm(~vacwm@70.23.92.191)
2020-11-15 19:47:57 +0100vacm(~vacwm@70.23.92.191) (Client Quit)
2020-11-15 19:48:37 +0100knupfer(~Thunderbi@200116b82c37cc00b9ffe288e94dd584.dip.versatel-1u1.de) (Remote host closed the connection)
2020-11-15 19:48:46 +0100 <bqv> p0a: would it be too awful to strictify the bytestring?
2020-11-15 19:48:46 +0100knupfer(~Thunderbi@200116b82c37cc00b0f3d3733bf89b01.dip.versatel-1u1.de)
2020-11-15 19:48:48 +0100jaspervdj(~jaspervdj@213.55.241.138)
2020-11-15 19:49:00 +0100 <bqv> there's a convenient iso...
2020-11-15 19:49:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 19:49:40 +0100 <p0a> okay I was confused because they have the same name as types
2020-11-15 19:50:00 +0100 <p0a> I thought they were literally the same and that somehow the compiler knew when to be lazy. I now realize it's two different types
2020-11-15 19:50:03 +0100 <dsal> Huh. I have a program that's been crashing occasionally. There's nothing in the logs but an exit code. That sucks.
2020-11-15 19:50:07 +0100 <bqv> lol
2020-11-15 19:50:31 +0100 <MarcelineVQ> slightly better than segfault
2020-11-15 19:50:56 +0100 <MarcelineVQ> or is it
2020-11-15 19:51:39 +0100 <bqv> to be fair, segfault's quite a lot of information. silent exit is basically an informational middle finger
2020-11-15 19:52:07 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-11-15 19:52:20 +0100 <dsal> It's sometimes -1 and sometimes 1, so it even uses different hands.
2020-11-15 19:52:45 +0100 <dsal> Many of them were last night when I was playing around with it and related bits, so that's not surprising, but the others are.
2020-11-15 19:53:34 +0100avdb(~avdb@ip-83-134-109-106.dsl.scarlet.be)
2020-11-15 19:54:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-11-15 19:54:05 +0100Tattletale(~Tattletal@unaffiliated/sundancertp)
2020-11-15 19:55:30 +0100 <p0a> thank you
2020-11-15 19:55:32 +0100p0a(~user@unaffiliated/p0a) (Quit: bye)
2020-11-15 19:57:39 +0100jaspervdj(~jaspervdj@213.55.241.138) (Quit: leaving)
2020-11-15 19:58:56 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 19:59:01 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 264 seconds)
2020-11-15 20:01:10 +0100LKoen(~LKoen@9.253.88.92.rev.sfr.net) (Read error: Connection reset by peer)
2020-11-15 20:01:24 +0100LKoen(~LKoen@9.253.88.92.rev.sfr.net)
2020-11-15 20:03:32 +0100berberman_(~berberman@unaffiliated/berberman)
2020-11-15 20:04:42 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 260 seconds)
2020-11-15 20:05:10 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-11-15 20:07:03 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
2020-11-15 20:11:08 +0100Rudd0(~Rudd0@185.189.115.98) (Ping timeout: 260 seconds)
2020-11-15 20:12:03 +0100LKoen_(~LKoen@9.253.88.92.rev.sfr.net)
2020-11-15 20:12:27 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Quit: Lost terminal)
2020-11-15 20:12:47 +0100LKoen(~LKoen@9.253.88.92.rev.sfr.net) (Read error: Connection reset by peer)
2020-11-15 20:14:03 +0100DavidEichmann(~david@62.110.198.146.dyn.plus.net) (Ping timeout: 260 seconds)
2020-11-15 20:14:11 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net)
2020-11-15 20:14:34 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9)
2020-11-15 20:17:10 +0100britva(~britva@2a02:aa13:7240:2980:bc4b:509a:98e6:5bb0) (Quit: This computer has gone to sleep)
2020-11-15 20:19:37 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Ping timeout: 260 seconds)
2020-11-15 20:20:12 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-lbfifyukhotihtyp) (Ping timeout: 260 seconds)
2020-11-15 20:20:13 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar) (Ping timeout: 260 seconds)
2020-11-15 20:20:13 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-ktwvjhbxwxmijypf) (Ping timeout: 260 seconds)
2020-11-15 20:20:13 +0100mikr[m](mikrdavral@gateway/shell/matrix.org/x-lqhlpqvzacftnkbu) (Ping timeout: 260 seconds)
2020-11-15 20:20:13 +0100debugloop(~danieln@unaffiliated/debugloop) (Ping timeout: 260 seconds)
2020-11-15 20:20:47 +0100ttc(tomtauma1@gateway/shell/matrix.org/x-erbvcraxnugundnq) (Ping timeout: 260 seconds)
2020-11-15 20:20:47 +0100recon_-_(~quassel@2602:febc:0:b6::6ca2)
2020-11-15 20:20:47 +0100recon_-(~quassel@2602:febc:0:b6::6ca2) (Ping timeout: 260 seconds)
2020-11-15 20:20:47 +0100grol(~quassel@2620:11e:1000:2:250:56ff:fea4:7) (Ping timeout: 260 seconds)
2020-11-15 20:20:56 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-jhiqdhcukfrwwucl)
2020-11-15 20:21:42 +0100whataday(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2020-11-15 20:21:44 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-vlvwwxdsuamzwmii)
2020-11-15 20:21:54 +0100debugloop(~danieln@unaffiliated/debugloop)
2020-11-15 20:21:57 +0100grol(~quassel@2620:11e:1000:2:250:56ff:fea4:7)
2020-11-15 20:22:08 +0100jakalx(~jakalx@base.jakalx.net)
2020-11-15 20:22:24 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar)
2020-11-15 20:22:43 +0100ttc(tomtauma1@gateway/shell/matrix.org/x-ipfwgcjvwwdcokds)
2020-11-15 20:23:22 +0100mikr[m](mikrdavral@gateway/shell/matrix.org/x-xaesttypbsiulkoz)
2020-11-15 20:23:42 +0100kuribas(~user@ptr-25vy0i7amf8n4ydxgty.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2020-11-15 20:24:44 +0100alp(~alp@2a01:e0a:58b:4920:55e:a204:938c:c050)
2020-11-15 20:25:42 +0100knupfer(~Thunderbi@200116b82c37cc00b0f3d3733bf89b01.dip.versatel-1u1.de) (Ping timeout: 260 seconds)
2020-11-15 20:26:13 +0100Jeanne-Kamikaze(~Jeanne-Ka@66.115.189.189) (Ping timeout: 246 seconds)
2020-11-15 20:27:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 20:27:32 +0100NikolaiToryzin(~NikolaiTo@178.162.212.214)
2020-11-15 20:28:02 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection)
2020-11-15 20:29:37 +0100avdb(~avdb@ip-83-134-109-106.dsl.scarlet.be) (Ping timeout: 264 seconds)
2020-11-15 20:29:42 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 20:30:22 +0100conal(~conal@107.181.166.202)
2020-11-15 20:30:41 +0100cantstanya(~chatting@gateway/tor-sasl/cantstanya)
2020-11-15 20:31:11 +0100Dykam(Dykam@dykam.nl)
2020-11-15 20:37:00 +0100AlterEgo-(~ladew@124-198-158-163.dynamic.caiway.nl) (Quit: Leaving)
2020-11-15 20:38:45 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2020-11-15 20:39:08 +0100Sgeo(~Sgeo@ool-18b982ad.dyn.optonline.net)
2020-11-15 20:39:19 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9)
2020-11-15 20:39:33 +0100heatsink(~heatsink@107-136-5-69.lightspeed.sntcca.sbcglobal.net)
2020-11-15 20:43:01 +0100hackagehlint 3.2.2 - Source code suggestions https://hackage.haskell.org/package/hlint-3.2.2 (NeilMitchell)
2020-11-15 20:43:12 +0100ericsagn1(~ericsagne@2405:6580:0:5100:dcdb:fdc1:bfe:ca10) (Ping timeout: 260 seconds)
2020-11-15 20:45:39 +0100conal(~conal@107.181.166.202) (Quit: Computer has gone to sleep.)
2020-11-15 20:47:11 +0100geekosaur(ac3a3b9a@172.58.59.154)
2020-11-15 20:49:33 +0100acidjnk_new(~acidjnk@p200300d0c718f605045012e87868ed0b.dip0.t-ipconnect.de)
2020-11-15 20:52:53 +0100conal(~conal@64.71.133.70)
2020-11-15 20:53:37 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 20:53:48 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 20:54:08 +0100conal(~conal@64.71.133.70)
2020-11-15 20:54:17 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-11-15 20:54:45 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 20:55:25 +0100ericsagn1(~ericsagne@2405:6580:0:5100:4a3c:ad37:e0cc:3345)
2020-11-15 20:57:01 +0100hackageormolu 0.1.4.1 - A formatter for Haskell source code https://hackage.haskell.org/package/ormolu-0.1.4.1 (mrkkrp)
2020-11-15 20:58:42 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 260 seconds)
2020-11-15 20:59:15 +0100 <monochrom> I don't simply say never use lazy I/O. But I say under very strict conditions, therefore you end up rarely using it.
2020-11-15 20:59:16 +0100conal(~conal@64.71.133.70)
2020-11-15 20:59:52 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net) (Ping timeout: 260 seconds)
2020-11-15 21:00:15 +0100 <monochrom> My condition goes like: You understand lazy evaluation thoroughly, and based on that you see that your use case is dead simple to reason about.
2020-11-15 21:00:29 +0100bitmagie(~Thunderbi@200116b8060a110035b58d6790a13a82.dip.versatel-1u1.de)
2020-11-15 21:00:43 +0100revprez_anzio(~revprez_a@pool-108-49-213-40.bstnma.fios.verizon.net)
2020-11-15 21:01:05 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds)
2020-11-15 21:03:55 +0100nbloomf(~nbloomf@2600:1700:ad14:3020:c56c:6f1e:9a5c:a8b9) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2020-11-15 21:04:55 +0100Jeanne-Kamikaze(~Jeanne-Ka@66.115.189.209)
2020-11-15 21:06:21 +0100 <dolio> Hex dump of a file doesn't seem like it is a hard thing to reason about, if that was the actual problem.
2020-11-15 21:06:31 +0100 <monochrom> An example is main = interact (unlines . map solve_one . lines). This is particularly idomatic for test-based programming contests.
2020-11-15 21:07:34 +0100bitmagie(~Thunderbi@200116b8060a110035b58d6790a13a82.dip.versatel-1u1.de) (Quit: bitmagie)
2020-11-15 21:08:03 +0100 <monochrom> Another one I use is lazy bytestring's hGetContents and giving it to cassava's decodeEither, and in case of cassava declaring parse error, the program quits very quickly.
2020-11-15 21:08:58 +0100 <monochrom> Therefore, if there is no parse error, the whole stream will have to be exhausted for cassava to confirm there is no parse error, therefore the handle is closed before my program can proceed.
2020-11-15 21:09:15 +0100 <monochrom> And if there is a parse error, my program quits without much further ado anyway.
2020-11-15 21:09:48 +0100 <monochrom> Therefore, either way, the handle is closed deterministically.
2020-11-15 21:09:50 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-15 21:10:50 +0100sQVe(~sQVe@unaffiliated/sqve)
2020-11-15 21:10:55 +0100fendor(~fendor@178.165.131.163.wireless.dyn.drei.com) (Remote host closed the connection)
2020-11-15 21:11:07 +0100pavonia(~user@unaffiliated/siracusa)
2020-11-15 21:12:00 +0100fendor(~fendor@178.165.131.163.wireless.dyn.drei.com)
2020-11-15 21:12:01 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-11-15 21:14:54 +0100Tario(~Tario@201.192.165.173)
2020-11-15 21:15:49 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311)
2020-11-15 21:16:46 +0100Iceland_jack(~user@31.124.48.169) (Read error: No route to host)
2020-11-15 21:17:07 +0100machinedgod(~machinedg@24.105.81.50)
2020-11-15 21:21:42 +0100moet(~moet@mobile-166-137-178-183.mycingular.net)
2020-11-15 21:21:57 +0100servo(~servo@41.92.97.254)
2020-11-15 21:21:57 +0100 <moet> is there some way to find the bit-width of Int and Word and Float and Double at compile time?
2020-11-15 21:22:32 +0100 <moet> i don's see anything about it in the section on CPP macros https://downloads.haskell.org/ghc/latest/docs/html/users_guide/phases.html#standard-cpp-macros
2020-11-15 21:23:19 +0100 <moet> i could do it at runtime, i guess, using Data.Bits.bitSize i suppose
2020-11-15 21:23:43 +0100 <moet> i'm trying to select a representation for a type though, so it would be better done at compile time
2020-11-15 21:23:59 +0100alp(~alp@2a01:e0a:58b:4920:55e:a204:938c:c050) (Ping timeout: 272 seconds)
2020-11-15 21:24:18 +0100 <geekosaur> there are sized versions of most of those, e.g. Int32 vs. Int64 vs. Int
2020-11-15 21:25:35 +0100 <geekosaur> and similarly for Word, but not Float or Double
2020-11-15 21:26:02 +0100 <moet> Yes, there are sized versions (and i know there size at compile time!)
2020-11-15 21:26:15 +0100 <geekosaur> but also be aware that usually they'll be stored as 64 bit values anyway
2020-11-15 21:26:17 +0100 <moet> but if i want to create a sized representation of Int, i don't know it's size ..
2020-11-15 21:26:22 +0100 <geekosaur> unless you're using packed vectors
2020-11-15 21:26:34 +0100 <moet> hmm..
2020-11-15 21:26:39 +0100 <moet> no packed vectors involved
2020-11-15 21:27:01 +0100 <moet> but i need to know whether Int is 32 or 64 bit to select an appropriate representation for it in my work
2020-11-15 21:27:01 +0100 <dolio> How static are you talking about? Like, are you generating code based on the static size?
2020-11-15 21:27:23 +0100 <moet> i'm not generating code. i'm using a closed type family to map haskell types to information about their representation
2020-11-15 21:27:39 +0100 <moet> then i'm using instances on the representation type to implement my dsl thing
2020-11-15 21:28:15 +0100 <moet> so in all my instance methods for Int's representation type, i could use bitSize to do the right thing at runtime i guess
2020-11-15 21:28:51 +0100 <dolio> Well, primitive has sizes for everything, and I think it gets them from a header file.
2020-11-15 21:29:01 +0100 <dolio> For the non-obvious ones.
2020-11-15 21:29:04 +0100 <moet> oh! that's interesting.. i'll take a look there
2020-11-15 21:30:45 +0100 <moet> https://github.com/haskell/primitive/blob/0e9141ca103c847e8ebe932a8663c5b8849f564a/Data/Primitive/…
2020-11-15 21:31:00 +0100 <moet> looks like they're importing the header and that just makes the defines available in haskell
2020-11-15 21:31:04 +0100 <moet> i hand no idea that i could do that
2020-11-15 21:31:13 +0100 <dolio> Well, it's using CPP.
2020-11-15 21:32:31 +0100 <moet> well, when you put it that way :)
2020-11-15 21:33:03 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 21:33:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 21:34:11 +0100conal(~conal@64.71.133.70)
2020-11-15 21:34:25 +0100ggole(~ggole@2001:8003:8119:7200:1dd1:a770:c2ab:8a5e) (Quit: Leaving)
2020-11-15 21:35:31 +0100hackagepostgresql-simple 0.6.3 - Mid-Level PostgreSQL client library https://hackage.haskell.org/package/postgresql-simple-0.6.3 (phadej)
2020-11-15 21:36:03 +0100 <moet> dolio: geekosaur: thanks!
2020-11-15 21:38:13 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2020-11-15 21:38:42 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2020-11-15 21:39:04 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2020-11-15 21:39:20 +0100 <dolio> I think it's unlikely that GHC will ever not be using IEEE for Float/Double, though, even though the Haskell report says they're implementation defined.
2020-11-15 21:39:31 +0100remexre(~nathan@207-153-38-50.fttp.usinternet.com) (Read error: Connection reset by peer)
2020-11-15 21:40:13 +0100 <dolio> So Int/Word is probably the only variable.
2020-11-15 21:40:34 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Read error: Connection reset by peer)
2020-11-15 21:40:42 +0100coot(~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2020-11-15 21:43:28 +0100remexre(~nathan@207-153-38-50.fttp.usinternet.com)
2020-11-15 21:43:55 +0100hidedagger(~nate@unaffiliated/hidedagger)
2020-11-15 21:43:59 +0100 <dolio> At least as far as storage goes. There are probably flags that allow code to be generated using higher precision math on some processors, but once they get stored to memory, they'd be rounded back to 32/64 bits.
2020-11-15 21:44:32 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 21:47:13 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 21:48:02 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 21:48:20 +0100conal(~conal@64.71.133.70)
2020-11-15 21:48:20 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 21:49:00 +0100coot(~coot@37.30.49.253.nat.umts.dynamic.t-mobile.pl)
2020-11-15 21:51:21 +0100alp(~alp@2a01:e0a:58b:4920:ec99:aa8d:b2f4:59d2)
2020-11-15 21:51:28 +0100wroathe(~wroathe@c-73-24-27-54.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-11-15 21:52:11 +0100Moe_Epsilon(~Moe_Epsil@178.162.212.214) (Remote host closed the connection)
2020-11-15 21:52:31 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-11-15 21:55:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2020-11-15 21:59:40 +0100nek0(~nek0@mail.nek0.eu)
2020-11-15 22:00:01 +0100NikolaiToryzin(~NikolaiTo@178.162.212.214) ()
2020-11-15 22:00:30 +0100fascher(~fascher@165.73.223.243)
2020-11-15 22:01:12 +0100fascher(~fascher@165.73.223.243) ()
2020-11-15 22:06:40 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 246 seconds)
2020-11-15 22:08:45 +0100nexii(~user@38-73-246-124.starry-inc.net) (Ping timeout: 240 seconds)
2020-11-15 22:09:01 +0100Franciman(~francesco@host-82-56-223-169.retail.telecomitalia.it) (Quit: Leaving)
2020-11-15 22:09:27 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Remote host closed the connection)
2020-11-15 22:10:04 +0100christo(~chris@81.96.113.213)
2020-11-15 22:11:12 +0100Guest30216(~mengu@84.39.117.57)
2020-11-15 22:12:14 +0100 <justsomeguy> Does a list have to be traversed every time to access some arbitrary index, like with “[1..] !! 20”, or is there a compiler optimization for lookups like this?
2020-11-15 22:13:00 +0100electricityZZZZ(~electrici@108-216-157-17.lightspeed.sntcca.sbcglobal.net)
2020-11-15 22:13:48 +0100 <hpc> it's traversed every time
2020-11-15 22:13:49 +0100 <electricityZZZZ> so if speculative execution in modern CPUs is very important for performance, has anyone examined program-specific execution speculation units?
2020-11-15 22:14:10 +0100 <electricityZZZZ> i know that you can provide a clue to CPUs like "this branch is usually the one to take" but i mean something much more complex than this
2020-11-15 22:14:52 +0100 <suzu_> seems like a hard problem
2020-11-15 22:15:03 +0100 <merijn> electricityZZZZ: Yes, Intel has
2020-11-15 22:15:09 +0100knupfer(~Thunderbi@i5E86B494.versanet.de)
2020-11-15 22:15:26 +0100 <merijn> It's called the Itanium and it flopped spectacularly, because no one wanted a machine that couldn't run their old existing code :p
2020-11-15 22:15:56 +0100 <electricityZZZZ> and so what i mean is that i have a 1 megabyte model "trained on common program execution patterns", which might supplement the existing speculative execution system.
2020-11-15 22:16:07 +0100GuerrillaMonkey(~Jeanne-Ka@66.115.189.224)
2020-11-15 22:16:15 +0100 <electricityZZZZ> and that 1 megabyte model is uploaded to the cpu and is active when my program runs
2020-11-15 22:16:48 +0100 <electricityZZZZ> merijn: oh really? interesting. maybe it was just a market timing problem?
2020-11-15 22:17:46 +0100 <dolio> So there are 300MB of 'models' stored on the CPU for my 300+ processes?
2020-11-15 22:18:04 +0100 <hpc> there was never going to be a right time for it
2020-11-15 22:18:12 +0100mananamenos_(~mananamen@84.122.202.215.dyn.user.ono.com) (Read error: Connection reset by peer)
2020-11-15 22:18:26 +0100 <electricityZZZZ> yes it makes task switching hard
2020-11-15 22:18:51 +0100bidabong(uid272474@gateway/web/irccloud.com/x-kodbqaljnwqafvit) (Quit: Connection closed for inactivity)
2020-11-15 22:19:01 +0100 <electricityZZZZ> maybe a 10 MB cache of 1 MB models,...
2020-11-15 22:19:12 +0100Jeanne-Kamikaze(~Jeanne-Ka@66.115.189.209) (Ping timeout: 260 seconds)
2020-11-15 22:19:27 +0100 <nitrix> SpaceX crew-1 mission for the interested: https://www.spacex.com/launches/
2020-11-15 22:20:09 +0100 <electricityZZZZ> diverse astronaut group :D
2020-11-15 22:21:37 +0100geekosaur(ac3a3b9a@172.58.59.154) (Quit: Ping timeout (120 seconds))
2020-11-15 22:24:15 +0100nados(~dan@69-165-210-185.cable.teksavvy.com)
2020-11-15 22:25:00 +0100geekosaur(ac3a3b18@172.58.59.24)
2020-11-15 22:26:01 +0100jedws(~jedws@101.184.175.183) (Read error: Connection reset by peer)
2020-11-15 22:37:00 +0100Inoperable(~PLAYER_1@fancydata.science) (Excess Flood)
2020-11-15 22:37:33 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2020-11-15 22:38:17 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2020-11-15 22:43:27 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de) (Ping timeout: 265 seconds)
2020-11-15 22:46:07 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-15 22:46:45 +0100Inoperable(~PLAYER_1@fancydata.science)
2020-11-15 22:46:54 +0100gxt(~gxt@gateway/tor-sasl/gxt) (Remote host closed the connection)
2020-11-15 22:47:41 +0100gxt(~gxt@gateway/tor-sasl/gxt)
2020-11-15 22:48:31 +0100Feuermagier(~Feuermagi@213.178.26.41) (Remote host closed the connection)
2020-11-15 22:51:48 +0100sQVe(~sQVe@unaffiliated/sqve) (Quit: Bye!)
2020-11-15 22:52:03 +0100geekosaur(ac3a3b18@172.58.59.24) (Remote host closed the connection)
2020-11-15 22:52:34 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 22:52:43 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2020-11-15 22:54:33 +0100pleia21(~pleia2@92.223.89.101)
2020-11-15 22:57:34 +0100justsomeguy(~justsomeg@unaffiliated/--/x-3805311) ()
2020-11-15 22:57:42 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2020-11-15 22:58:33 +0100christo(~chris@81.96.113.213)
2020-11-15 22:58:38 +0100christo(~chris@81.96.113.213) (Remote host closed the connection)
2020-11-15 22:59:31 +0100rprije(~rprije@124.148.131.132)
2020-11-15 22:59:42 +0100 <koz_> For attoparsec's 'takeTill', when its predicate returns True, is the thing that caused the predicate to return True also consumed?
2020-11-15 23:00:24 +0100Rudd0(~Rudd0@185.189.115.103)
2020-11-15 23:00:45 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch) (Quit: This computer has gone to sleep)
2020-11-15 23:03:39 +0100 <koz_> Seemingly the answer is 'no'.
2020-11-15 23:03:44 +0100christo(~chris@81.96.113.213)
2020-11-15 23:05:03 +0100britva(~britva@31-10-157-156.cgn.dynamic.upc.ch)
2020-11-15 23:05:04 +0100invaser(~Thunderbi@31.148.23.125) (Quit: invaser)
2020-11-15 23:05:19 +0100invaser(~Thunderbi@31.148.23.125)
2020-11-15 23:07:37 +0100knupfer(~Thunderbi@i5E86B494.versanet.de) (Ping timeout: 260 seconds)
2020-11-15 23:07:57 +0100conal(~conal@64.71.133.70)
2020-11-15 23:10:51 +0100chaosmasttter(~chaosmast@p200300c4a73c5201c1de5602741d98a2.dip0.t-ipconnect.de) (Quit: WeeChat 2.9)
2020-11-15 23:12:54 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2020-11-15 23:16:00 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in)
2020-11-15 23:16:09 +0100 <moet> dolio: thanks for the note about Float/Double
2020-11-15 23:16:33 +0100 <servo> HELLO
2020-11-15 23:16:44 +0100invaser(~Thunderbi@31.148.23.125) (Ping timeout: 256 seconds)
2020-11-15 23:18:57 +0100boom(56ca6780@lfbn-lyo-1-7-128.w86-202.abo.wanadoo.fr)
2020-11-15 23:19:35 +0100mirrorbird(~psutcliff@176.227.57.79)
2020-11-15 23:20:45 +0100 <boom> Hi, I am studying lambda calculus, and I heard haskell is based on it so, here is my question what does this expression mean λx.λy.x z y ? I have trouble understading
2020-11-15 23:21:30 +0100quinn(~quinn@c-73-223-224-163.hsd1.ca.comcast.net)
2020-11-15 23:21:56 +0100 <moet> boom: it seems like it's missing one set of parentheses, but i could be wrong
2020-11-15 23:22:53 +0100 <moet> but it's a function that takes a parameter called x and returns a function that takes a parameter called y and then does an expression 'x z y' but that expression seems to be missing parentheses which would make its meaning clear
2020-11-15 23:23:50 +0100 <moet> s/does an expression/returns the value of the expression/
2020-11-15 23:24:00 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 23:24:19 +0100 <boom> the prof rewrote this expression as λx.(λy.((x z) y))
2020-11-15 23:24:31 +0100 <boom> he said something about priority
2020-11-15 23:25:11 +0100 <koz_> boom: Most explanations of the lambda calculus define what binds more tightly than what.
2020-11-15 23:25:12 +0100 <moet> i guess he's trying to teach you the associativity of application
2020-11-15 23:25:16 +0100 <koz_> This is called 'precedence'.
2020-11-15 23:25:33 +0100 <koz_> I would recommend looking at whatever source for its syntax you got given closely - this is usually somewhat buried.
2020-11-15 23:25:53 +0100 <moet> yeah, it's very important to fully parenthesize an expression to avoid this ambiguity..
2020-11-15 23:25:55 +0100 <koz_> The main reason is to avoid having to explicitly parenthesise everything.
2020-11-15 23:27:19 +0100robert___(uid452915@gateway/web/irccloud.com/x-lmflebnllvyjwmec) (Quit: Connection closed for inactivity)
2020-11-15 23:27:50 +0100conal(~conal@64.71.133.70)
2020-11-15 23:28:00 +0100 <boom> I was told that s t1 ... tn ... = (... (s,t1)...)tn and the application has priority over the abstraction
2020-11-15 23:28:28 +0100 <koz_> OK, so let's follow that through.
2020-11-15 23:29:00 +0100Kave(54126924@84.18.105.36)
2020-11-15 23:29:18 +0100 <boom> I'm saying to myself, in my formula what is s, t1 ?
2020-11-15 23:29:18 +0100jneira_(~jneira@198.red-176-83-81.dynamicip.rima-tde.net) (Read error: Connection reset by peer)
2020-11-15 23:29:21 +0100 <koz_> Since application has priority, \x\y x z y is really \x\y (x z y)
2020-11-15 23:29:37 +0100jneira_(~jneira@192.red-2-137-106.dynamicip.rima-tde.net)
2020-11-15 23:29:42 +0100 <koz_> Then, by the first rule, we have \x\y (x z y) is really \x\y ((x z) y).
2020-11-15 23:29:52 +0100dcoutts_(~duncan@33.14.75.194.dyn.plus.net) (Remote host closed the connection)
2020-11-15 23:30:11 +0100 <koz_> Then, by the first rule again, we have that \x\y ((x z) y) is really \x (\y ((x z) y))
2020-11-15 23:30:19 +0100dcoutts_(~duncan@33.14.75.194.dyn.plus.net)
2020-11-15 23:30:32 +0100Kave(54126924@84.18.105.36) (Remote host closed the connection)
2020-11-15 23:30:40 +0100 <boom> Ok why is x y z part oif the application, I would expect only z and y to be part of it
2020-11-15 23:30:42 +0100 <boom> ?
2020-11-15 23:30:57 +0100 <koz_> Because there's nothing else it could possibly be.
2020-11-15 23:31:20 +0100 <koz_> In order to have anything other than application, you either have to have another \ there.
2020-11-15 23:31:25 +0100 <koz_> (or lambda symbol, same diff)
2020-11-15 23:31:28 +0100Lycurgus(~niemand@cpe-45-46-134-163.buffalo.res.rr.com)
2020-11-15 23:31:50 +0100 <koz_> If you have a b c d e f g h i j k ...., all applications.
2020-11-15 23:33:02 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:d540:265f:6057:f956) (Ping timeout: 264 seconds)
2020-11-15 23:33:27 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2020-11-15 23:33:36 +0100 <koz_> Actually, I was slightly wrong - that last step isn't actually the first rule.
2020-11-15 23:34:01 +0100 <koz_> The first rule there is application-related only based on your description.
2020-11-15 23:35:52 +0100 <boom> in s t1 ... tn ... = (... (s,t1)...)tn is there a difference between s and the ts ?
2020-11-15 23:36:02 +0100 <boom> t1, t2 ...
2020-11-15 23:36:02 +0100 <boom> ?
2020-11-15 23:36:03 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt)
2020-11-15 23:36:11 +0100 <koz_> boom: In what sense do you mean 'is there a difference'?
2020-11-15 23:36:20 +0100 <koz_> I'm not sure I understand your question.
2020-11-15 23:36:24 +0100 <boom> are these all terms ?
2020-11-15 23:36:36 +0100 <koz_> Yes.
2020-11-15 23:36:46 +0100 <koz_> Because in the lambda calculus there isn't anything else.
2020-11-15 23:39:15 +0100LKoen_(~LKoen@9.253.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2020-11-15 23:39:28 +0100shutdown_-h_now(~arjan@2001:1c06:2d0b:2312:190f:5fcb:2d71:58b)
2020-11-15 23:40:03 +0100 <boom> Ok, so \x.s is the abstraction. If I understand correctly this is like saying that s is and epression that depends on x, am I corrcect?
2020-11-15 23:40:26 +0100 <boom> an expression*
2020-11-15 23:40:36 +0100o1lo01ol1o(~o1lo01ol1@bl11-140-216.dsl.telepac.pt) (Ping timeout: 256 seconds)
2020-11-15 23:40:44 +0100 <koz_> I'm not sure what you mean by that. \x . s is a lambda, correct. If by 'expression' you mean 'term', then the answer is 'it depends on what s is'.
2020-11-15 23:41:04 +0100 <koz_> You can have \x . y, which is totally fine, and then nothing depends on x at all.
2020-11-15 23:41:30 +0100 <boom> ok so what does \x . y mean ?
2020-11-15 23:41:33 +0100mputz(~Thunderbi@dslb-084-058-211-084.084.058.pools.vodafone-ip.de)
2020-11-15 23:41:40 +0100 <boom> I'm not sure i've understood
2020-11-15 23:41:44 +0100 <koz_> boom: We're not in the world of 'meaning' yet at all.
2020-11-15 23:42:07 +0100 <koz_> \x . y is a lambda abstraction, whose body is y.
2020-11-15 23:42:15 +0100 <koz_> In my case, 'y' is a free variable.
2020-11-15 23:42:35 +0100 <koz_> In this case, nothing depends on anything.
2020-11-15 23:42:43 +0100 <boom> ok
2020-11-15 23:43:07 +0100conal(~conal@64.71.133.70)
2020-11-15 23:43:11 +0100 <koz_> If you had '\x . y x', then you can kind of argue that when you apply '\x . y x' to something, the _result_ of the application depends on the argument.
2020-11-15 23:43:46 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 23:43:56 +0100 <koz_> For example: '(\x . y x) z' is an application, which reduces to 'y z'.
2020-11-15 23:44:20 +0100 <koz_> However, '(\x . y) z' reduces to 'y', (\x . y) foobar' reduces to 'y', etc.
2020-11-15 23:45:14 +0100 <boom> so here when you write \x .y x here what is the body of the lambda expression ?
2020-11-15 23:45:19 +0100 <boom> is it y x
2020-11-15 23:45:19 +0100 <boom> ?
2020-11-15 23:45:31 +0100 <boom> or is it y and then you apply x
2020-11-15 23:45:32 +0100 <boom> ?
2020-11-15 23:45:32 +0100 <koz_> '\x . y x' has the body 'y x'.
2020-11-15 23:45:49 +0100 <koz_> This has nothing to do with applying anything - it's a question of form.
2020-11-15 23:46:08 +0100 <boom> ok so anything after the dot is part of the body ?
2020-11-15 23:46:15 +0100conal(~conal@64.71.133.70)
2020-11-15 23:46:41 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 23:47:02 +0100 <koz_> boom: An abstraction has the form \VAR . BODY. I wrote them in caps to show that they stand for (respectively) an arbitrary variable and an arbitrary term.
2020-11-15 23:47:22 +0100 <MarcelineVQ> var sometimes called head
2020-11-15 23:47:33 +0100 <koz_> Yep!
2020-11-15 23:47:56 +0100conal(~conal@64.71.133.70)
2020-11-15 23:48:38 +0100 <boom> VAR and BODY can be any term or varibale ?
2020-11-15 23:48:51 +0100 <koz_> VAR can be any variable. BODY can be any term.
2020-11-15 23:50:01 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 23:50:37 +0100 <boom> so if I go back to λx.λy.x z y Is λy.x z y the body of the abstraction λx ?
2020-11-15 23:50:43 +0100conal(~conal@64.71.133.70)
2020-11-15 23:50:44 +0100 <koz_> Correct!
2020-11-15 23:51:15 +0100MarcelineVQ(~anja@198.254.202.72) (Remote host closed the connection)
2020-11-15 23:51:19 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 23:52:05 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2020-11-15 23:52:10 +0100conal(~conal@64.71.133.70)
2020-11-15 23:52:25 +0100MarcelineVQ(~anja@198.254.202.72)
2020-11-15 23:53:17 +0100conal(~conal@64.71.133.70) (Client Quit)
2020-11-15 23:53:33 +0100 <moet> oof, trying to use ((*) :: Nat -> Nat -> Nat) from GHC.TypeLits ...
2020-11-15 23:53:47 +0100 <moet> since it collides with * (the kind of concrete types) ...
2020-11-15 23:53:54 +0100jneira_(~jneira@192.red-2-137-106.dynamicip.rima-tde.net) (Remote host closed the connection)
2020-11-15 23:54:07 +0100 <koz_> moet: You probably want to import Data.Kind (Type) and use 'Type' instead of '*'.
2020-11-15 23:54:25 +0100 <moet> koz_: i'm trying to refer to the Nat level multiply
2020-11-15 23:54:33 +0100 <moet> and ghc keeps thinking i'm talking aout Type
2020-11-15 23:54:52 +0100 <koz_> Did you enable TypeOperators?
2020-11-15 23:54:54 +0100 <MarcelineVQ> Do you have/need TypeOperators on?
2020-11-15 23:54:57 +0100 <moet> yes
2020-11-15 23:55:08 +0100 <koz_> moet: Could you pastebin the exact error message?
2020-11-15 23:55:16 +0100 <moet> let's see.. how do we do this with the bot again
2020-11-15 23:55:26 +0100 <merijn> You need to disable StarIsType
2020-11-15 23:55:35 +0100 <moet> merijn: that sounds promising
2020-11-15 23:56:01 +0100jedws(~jedws@101.184.175.183)
2020-11-15 23:56:34 +0100 <koz_> Yeah, that's like {-# LANGUAGE NoStarIsType #-} or something.
2020-11-15 23:57:04 +0100 <moet> NoStarIsType worked; thank you all
2020-11-15 23:57:27 +0100 <boom> Ok, I'm stiil not sure why \x\y x z y is really \x\y (x z y), I know you said that it can't be any other way, but I still don't get it.
2020-11-15 23:58:14 +0100 <MarcelineVQ> check out the wikipedia article for lambda calculus
2020-11-15 23:58:30 +0100 <koz_> boom: What is the body of '\x . \y . x z y'?
2020-11-15 23:58:31 +0100alp(~alp@2a01:e0a:58b:4920:ec99:aa8d:b2f4:59d2) (Ping timeout: 272 seconds)
2020-11-15 23:58:59 +0100 <boom> \y . x z y
2020-11-15 23:59:12 +0100alp(~alp@88.126.45.36)
2020-11-15 23:59:17 +0100 <koz_> OK, so let's parenthesise it for convenience.
2020-11-15 23:59:24 +0100 <koz_> \x . (\y . x z y)
2020-11-15 23:59:34 +0100 <koz_> Now, we note that our body is an abstraction.
2020-11-15 23:59:47 +0100 <koz_> Namely \y . x z y
2020-11-15 23:59:51 +0100 <koz_> What is _its_ body?
2020-11-15 23:59:56 +0100 <boom> so it also has a body