Home freenode/#haskell: Logs Calendar

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

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

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