Logs on 2021-04-23 (freenode/#haskell)
| 00:01:31 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 00:02:11 | × | redmp quits (~redmp@172.58.19.67) (Ping timeout: 240 seconds) |
| 00:08:14 | → | fabricio joins (b3d90aea@179.217.10.234) |
| 00:08:38 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:08:38 | fabricio | is now known as Guest50946 |
| 00:08:52 | × | Guest50946 quits (b3d90aea@179.217.10.234) (Client Quit) |
| 00:15:02 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 00:16:56 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 00:17:06 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 00:17:26 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 00:19:17 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 00:21:06 | × | philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:21:40 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) |
| 00:24:53 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 00:25:15 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 00:26:42 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 00:27:15 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 260 seconds) |
| 00:28:07 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 00:32:01 | <nshepperd2> | what are the leak problems? |
| 00:32:33 | × | ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Quit: Leaving) |
| 00:34:32 | <solidus-river> | not very familiar I'm probably referencing something outdated |
| 00:34:48 | <solidus-river> | some fpcomplete blog post around experiences with it |
| 00:37:16 | → | renzhi joins (~renzhi@2607:fa49:6500:bc00::e7b) |
| 00:37:43 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 252 seconds) |
| 00:37:53 | × | solidus-river quits (~fuag1@174.127.249.180) (Read error: Connection reset by peer) |
| 00:38:34 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 00:39:03 | × | xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 00:40:38 | → | zmijunkie1 joins (~Adium@87.123.48.31) |
| 00:41:41 | → | solidus-river joins (~mike@174.127.249.180) |
| 00:42:32 | × | zmijunkie quits (~Adium@87.122.210.20) (Ping timeout: 240 seconds) |
| 00:43:10 | × | cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection) |
| 00:44:32 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 240 seconds) |
| 00:45:16 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 00:45:29 | → | cantstanya joins (~chatting@gateway/tor-sasl/cantstanya) |
| 00:46:30 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:f641:c40f:5016:aacb) (Ping timeout: 258 seconds) |
| 00:46:45 | → | {abby} joins (~{abby}@unaffiliated/demhydraz) |
| 00:47:11 | × | DavidEichmann quits (~david@147.136.46.217.dyn.plus.net) (Ping timeout: 240 seconds) |
| 00:53:51 | → | johnw joins (~johnw@haskell/developer/johnw) |
| 00:55:35 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 246 seconds) |
| 00:56:39 | → | elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
| 00:56:40 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 00:57:05 | → | xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu) |
| 00:58:00 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:7271:1d8b:4a70:e005) |
| 00:58:17 | → | stree joins (~stree@68.36.8.116) |
| 00:58:56 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 01:00:39 | → | remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) |
| 01:00:40 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 01:00:49 | → | tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr) |
| 01:01:30 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 01:03:52 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 01:04:15 | × | jespada quits (~jespada@90.254.243.187) (Ping timeout: 268 seconds) |
| 01:05:34 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 01:05:41 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.1) |
| 01:07:06 | ← | mekeor parts (~user@2001:a61:2508:9601:50e:85a3:5209:cb06) ("ERC (IRC client for Emacs 27.1)") |
| 01:07:21 | → | mekeor joins (~user@2001:a61:2508:9601:50e:85a3:5209:cb06) |
| 01:08:08 | × | tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 252 seconds) |
| 01:09:25 | → | jespada joins (~jespada@87.74.37.248) |
| 01:10:29 | → | malumore_ joins (~malumore@151.62.127.162) |
| 01:12:21 | × | whataday quits (~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection) |
| 01:13:29 | → | whataday joins (~xxx@2400:8902::f03c:92ff:fe60:98d8) |
| 01:14:01 | × | malumore quits (~malumore@151.62.117.136) (Ping timeout: 260 seconds) |
| 01:14:17 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 01:17:05 | → | aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 01:17:36 | → | mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au) |
| 01:18:33 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 01:20:17 | × | remby quits (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) (Remote host closed the connection) |
| 01:22:51 | → | tsandstr joins (~user@nat-130-132-173-221.central.yale.edu) |
| 01:26:37 | → | maroloccio joins (~marolocci@pousada3ja.mma.com.br) |
| 01:29:24 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 01:30:55 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 01:33:13 | × | mekeor quits (~user@2001:a61:2508:9601:50e:85a3:5209:cb06) (Remote host closed the connection) |
| 01:34:47 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Quit: Free ZNC ~ Powered by LunarBNC: https://LunarBNC.net) |
| 01:35:15 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:35:40 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 01:37:01 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 01:37:38 | × | aplainzetakind quits (~johndoe@captainludd.powered.by.lunarbnc.net) (Client Quit) |
| 01:38:11 | × | Ishutin_ quits (~ishutin@94-21-174-90.pool.digikabel.hu) (Ping timeout: 240 seconds) |
| 01:39:00 | → | aplainzetakind joins (~johndoe@captainludd.powered.by.lunarbnc.net) |
| 01:39:01 | × | xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 01:42:57 | × | nrh^ quits (nrh@ip98-184-89-2.mc.at.cox.net) () |
| 01:44:33 | → | dsrt^ joins (dsrt@ip98-184-89-2.mc.at.cox.net) |
| 01:45:34 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds) |
| 01:46:05 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection) |
| 01:47:25 | → | nicholasbulka joins (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net) |
| 01:48:30 | → | Ishutin joins (~ishutin@94-21-174-90.pool.digikabel.hu) |
| 01:49:23 | × | xff0x quits (~xff0x@2001:1a81:52cf:7d00:b2d0:1364:2669:3f2f) (Ping timeout: 260 seconds) |
| 01:51:07 | → | xff0x joins (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7) |
| 01:51:32 | × | nicholasbulka quits (~nicholasb@c-73-21-82-200.hsd1.ga.comcast.net) (Ping timeout: 240 seconds) |
| 01:51:52 | × | mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Quit: Konversation terminated!) |
| 01:54:02 | → | drbean_ joins (~drbean@TC210-63-209-143.static.apol.com.tw) |
| 01:56:03 | → | mounty joins (~mounty@236.216.214.218.sta.wbroadband.net.au) |
| 01:56:05 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 01:56:25 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 02:00:05 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 02:00:12 | × | elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 02:00:26 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 02:03:24 | × | urodna quits (~urodna@unaffiliated/urodna) (Quit: urodna) |
| 02:06:36 | × | unyu quits (~pyon@unaffiliated/pyon) (Quit: Kernel upgrade.) |
| 02:13:30 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 02:14:48 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-hkhmdulpecnrnswo) |
| 02:18:20 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 02:18:52 | → | elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
| 02:19:07 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 02:21:18 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 02:23:11 | × | nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 240 seconds) |
| 02:26:14 | × | hypercube quits (hypercube@gateway/vpn/protonvpn/hypercube) (Quit: WeeChat 3.1) |
| 02:27:10 | → | hypercube joins (hypercube@gateway/vpn/protonvpn/hypercube) |
| 02:27:23 | → | rajivr joins (uid269651@gateway/web/irccloud.com/x-llmsuyffzjhsmytj) |
| 02:29:10 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 02:33:26 | × | unlink_ quits (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 02:33:39 | → | unlink2 joins (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de) |
| 02:35:11 | × | Sheilong quits (uid293653@gateway/web/irccloud.com/x-qhaitevlgmfrqfwo) () |
| 02:37:06 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 02:37:13 | → | unyu joins (~pyon@unaffiliated/pyon) |
| 02:37:15 | × | theDon quits (~td@94.134.91.246) (Ping timeout: 252 seconds) |
| 02:39:23 | → | theDon joins (~td@94.134.91.183) |
| 02:43:02 | → | FinnElija joins (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) |
| 02:43:02 | finn_elija | is now known as Guest48248 |
| 02:43:02 | FinnElija | is now known as finn_elija |
| 02:45:09 | → | xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu) |
| 02:45:19 | × | machined1od quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 265 seconds) |
| 02:46:45 | × | Guest48248 quits (~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 240 seconds) |
| 02:47:35 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 02:50:05 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 02:53:11 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 02:56:16 | → | redmp joins (~redmp@172.58.19.190) |
| 02:58:52 | × | renzhi quits (~renzhi@2607:fa49:6500:bc00::e7b) (Ping timeout: 276 seconds) |
| 02:59:42 | → | remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) |
| 03:00:32 | → | sub0 joins (~bc8134e3@217.29.117.252) |
| 03:02:58 | × | glguy quits (x@freenode/staff/haskell.developer.glguy) (Remote host closed the connection) |
| 03:06:12 | → | nineonine joins (~nineonine@50.216.62.2) |
| 03:06:35 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds) |
| 03:07:28 | × | smerdyakov quits (~dan@5.146.195.164) (Quit: Ping timeout (120 seconds)) |
| 03:07:51 | → | smerdyakov8 joins (~dan@5.146.195.164) |
| 03:10:20 | × | nineonine quits (~nineonine@50.216.62.2) (Ping timeout: 246 seconds) |
| 03:15:44 | → | fossapup64_670 joins (~puppy@186.222.74.79) |
| 03:19:38 | → | stree joins (~stree@68.36.8.116) |
| 03:23:02 | × | fossapup64_670 quits (~puppy@186.222.74.79) (Remote host closed the connection) |
| 03:27:07 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 03:27:50 | × | unlink2 quits (~unlink2@p200300ebcf12ad00ad652fa1ddae7806.dip0.t-ipconnect.de) (Remote host closed the connection) |
| 03:29:18 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds) |
| 03:35:06 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 03:42:07 | × | mmfood quits (~mmfood@185.176.246.69) (Ping timeout: 268 seconds) |
| 03:42:22 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 03:42:53 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 03:44:17 | × | elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 03:46:05 | × | maroloccio quits (~marolocci@pousada3ja.mma.com.br) (Ping timeout: 260 seconds) |
| 03:46:41 | × | shutdown_-h_now quits (~arjan@2001:1c06:2d0b:2312:49df:8384:cfbc:e28d) (Ping timeout: 250 seconds) |
| 03:53:11 | → | shutdown_-h_now joins (~arjan@2001:1c06:2d0b:2312:41b7:a173:a0b0:162b) |
| 03:55:22 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 03:58:10 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 04:05:16 | × | solidus-river quits (~mike@174.127.249.180) (Remote host closed the connection) |
| 04:06:19 | → | Lycurgus joins (~niemand@98.4.118.65) |
| 04:08:04 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 04:09:07 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds) |
| 04:09:31 | <jackdk> | what rank2 functor/traversable etc lib do people like these days? rank2classes, conkin, barbies, something else? |
| 04:12:26 | × | jonatan quits (~nate@h77-53-70-163.cust.a3fiber.se) (Ping timeout: 245 seconds) |
| 04:12:42 | → | jonatan joins (~nate@h77-53-70-163.cust.a3fiber.se) |
| 04:13:06 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 04:13:09 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 04:13:26 | → | gzj joins (~gzj@unaffiliated/gzj) |
| 04:13:52 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 04:14:30 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 04:16:46 | <Lycurgus> | sounds like running with scissors if it's not broadly supported by some base lang/compiler level rather than a tacked on lib, but curious the answer is |
| 04:17:12 | × | redmp quits (~redmp@172.58.19.190) (Ping timeout: 240 seconds) |
| 04:17:23 | <Lycurgus> | *what the answer is |
| 04:18:35 | <Lycurgus> | looks like one of those areas where hs just trails off |
| 04:19:11 | → | redmp joins (~redmp@172.58.19.190) |
| 04:19:44 | × | Jd007 quits (~Jd007@162.156.11.151) (Quit: Jd007) |
| 04:20:17 | × | __minoru__shirae quits (~shiraeesh@46.34.206.15) (Ping timeout: 252 seconds) |
| 04:20:24 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 04:21:11 | × | remby quits (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) (Ping timeout: 240 seconds) |
| 04:21:39 | <Lycurgus> | prolly the answer is implicitly in that journal of fp article by spj |
| 04:23:05 | <Lycurgus> | s/answer/right guidance/ although actually common sense as in my first response may be the best policy |
| 04:24:28 | <Lycurgus> | also maybe box a thing |
| 04:26:16 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:64af:faf0:9188:52bf) (Remote host closed the connection) |
| 04:26:19 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 04:27:07 | × | gzj quits (~gzj@unaffiliated/gzj) (Remote host closed the connection) |
| 04:28:11 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07) |
| 04:30:29 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 04:30:41 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 04:37:48 | × | Lycurgus quits (~niemand@98.4.118.65) (Quit: Exeunt) |
| 04:40:32 | → | remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) |
| 04:41:13 | × | carlomagno quits (~cararell@148.87.23.9) (Remote host closed the connection) |
| 04:41:17 | × | aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds) |
| 04:44:06 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 04:48:04 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 04:49:07 | → | Guest78317 joins (~laudiacay@67.176.215.84) |
| 04:50:31 | → | aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 04:51:00 | → | idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 04:58:26 | → | ADG1089 joins (~aditya@27.58.175.60) |
| 05:00:11 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 05:03:13 | → | laudiacay joins (~laudiacay@67.176.215.84) |
| 05:03:38 | laudiacay | is now known as Guest6509 |
| 05:03:40 | × | aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 276 seconds) |
| 05:04:40 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 05:05:46 | × | Guest78317 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds) |
| 05:06:08 | → | raym joins (~ray@45.64.220.116) |
| 05:07:42 | → | Tario joins (~Tario@201.192.165.173) |
| 05:08:21 | <koala_man> | I have a comment "-- $var==42" that haddock complains about. How do I know what kind of comments are safe? |
| 05:09:00 | <c_wraith> | Huh, I didn't even know that one. I was only aware of ^ and | |
| 05:09:28 | <koala_man> | yeah I'm looking at https://www.haskell.org/haddock/doc/html/ch03s08.html and can't figure it out |
| 05:09:56 | <c_wraith> | is that the first line in the comment block? |
| 05:11:27 | <koala_man> | yes: https://github.com/koalaman/shellcheck/blob/master/src/ShellCheck/Analytics.hs#L4158 |
| 05:12:00 | <c_wraith> | I wonder if it's somehow deciding the == is a header marker |
| 05:18:05 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 05:19:16 | → | coot joins (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) |
| 05:19:33 | × | waleee-cl quits (uid373333@gateway/web/irccloud.com/x-hagaqbxuugljakul) (Quit: Connection closed for inactivity) |
| 05:27:43 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds) |
| 05:29:58 | × | ADG1089 quits (~aditya@27.58.175.60) (Remote host closed the connection) |
| 05:30:39 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 05:32:43 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 252 seconds) |
| 05:33:08 | → | sord937 joins (~sord937@gateway/tor-sasl/sord937) |
| 05:40:55 | → | stree joins (~stree@68.36.8.116) |
| 05:47:32 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 05:49:12 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 05:49:53 | → | Tario joins (~Tario@201.192.165.173) |
| 05:51:37 | ← | remby parts (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) ("Closing Window") |
| 05:56:26 | × | Tario quits (~Tario@201.192.165.173) (Ping timeout: 240 seconds) |
| 06:00:31 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 06:01:49 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 06:03:06 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 240 seconds) |
| 06:03:17 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 06:06:56 | → | chele joins (~chele@5.53.222.202) |
| 06:07:31 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Ping timeout: 250 seconds) |
| 06:10:21 | × | mounty quits (~mounty@236.216.214.218.sta.wbroadband.net.au) (Ping timeout: 260 seconds) |
| 06:15:08 | → | zmijunkie joins (~Adium@109.90.32.89) |
| 06:15:22 | → | _ht joins (~quassel@82-169-194-8.biz.kpn.net) |
| 06:17:16 | × | zmijunkie1 quits (~Adium@87.123.48.31) (Ping timeout: 252 seconds) |
| 06:20:01 | → | malumore__ joins (~malumore@151.62.127.162) |
| 06:20:50 | → | michalz joins (~user@185.246.204.61) |
| 06:22:26 | × | malumore_ quits (~malumore@151.62.127.162) (Ping timeout: 240 seconds) |
| 06:25:34 | → | bitmagie joins (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de) |
| 06:26:48 | → | kiweun joins (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) |
| 06:26:52 | × | bitmagie quits (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de) (Client Quit) |
| 06:28:13 | → | grumble joins (~Thunderbi@freenode/staff/grumble) |
| 06:28:18 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 06:30:43 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 06:30:58 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 240 seconds) |
| 06:31:41 | × | kiweun quits (~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Ping timeout: 240 seconds) |
| 06:34:02 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 06:34:19 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 06:34:59 | → | kuribas joins (~user@ptr-25vy0i7jci8m8wg4e6i.18120a2.ip6.access.telenet.be) |
| 06:39:14 | × | redmp quits (~redmp@172.58.19.190) (Ping timeout: 252 seconds) |
| 06:39:17 | → | puke joins (~vroom@217.138.252.196) |
| 06:46:00 | × | zmijunkie quits (~Adium@109.90.32.89) (Quit: Leaving.) |
| 06:48:30 | <jackdk> | `-- $` is a named section in haddock |
| 06:48:40 | <jackdk> | you see it sometimes in doctest stuff to hide setup code |
| 06:49:16 | <jackdk> | https://haskell-haddock.readthedocs.io/en/latest/markup.html#named-chunks |
| 07:01:22 | → | zva joins (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) |
| 07:01:23 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 07:05:04 | → | remby joins (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) |
| 07:05:34 | <remby> | what's the value of assigment expression = in haskell? |
| 07:06:43 | → | tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr) |
| 07:08:22 | → | ashesham` joins (~user@d8d87d1b0.access.telenet.be) |
| 07:09:20 | → | Sarcarean joins (4582bfd4@h69-130-191-212.bendor.broadband.dynamic.tds.net) |
| 07:10:41 | → | plutoniix joins (~q@node-unm.pool-125-24.dynamic.totinternet.net) |
| 07:10:49 | × | plutoniix quits (~q@node-unm.pool-125-24.dynamic.totinternet.net) (Max SendQ exceeded) |
| 07:11:16 | → | plutoniix joins (~q@node-unm.pool-125-24.dynamic.totinternet.net) |
| 07:11:45 | <aforemny> | remby: assignment is not an expression in haskell. You can't return an assignment from a function |
| 07:12:16 | <remby> | ah interesting |
| 07:12:38 | <remby> | so it's one of those unit types then eh |
| 07:13:34 | → | Varis joins (~Tadas@unaffiliated/varis) |
| 07:13:39 | <aforemny> | remby: I don't think it makes sense to think of the type of an assignment, because it does not evaluate to a value. I would just book it as a syntax statement |
| 07:14:38 | <aforemny> | remby: Like, in `foo = bar`, both `foo` and `bar` have types. But `foo = bar` does not |
| 07:14:45 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 07:14:51 | <remby> | in haskell it's more akin to the concept of binding right? being a functional language it has an environment for names |
| 07:15:01 | <aforemny> | remby: Exactly |
| 07:15:48 | <aforemny> | All assignments just give new names to already existing things |
| 07:16:59 | → | idhugo__ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) |
| 07:17:59 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Remote host closed the connection) |
| 07:17:59 | <remby> | thanks, this has been part of a puzzle I'm trying to solve |
| 07:18:14 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 07:18:20 | <remby> | (though a problem of my own making, solutions exist) |
| 07:19:11 | × | idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 07:20:09 | → | cfricke joins (~cfricke@unaffiliated/cfricke) |
| 07:21:26 | × | Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 07:22:07 | × | hiroaki_ quits (~hiroaki@2a02:8108:8c40:2bb8:b5a5:898d:202b:258b) (Ping timeout: 260 seconds) |
| 07:27:31 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 07:28:03 | × | star_cloud quits (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) (Excess Flood) |
| 07:28:14 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07) (Remote host closed the connection) |
| 07:28:19 | → | xourt joins (d4c620ea@212-198-32-234.rev.numericable.fr) |
| 07:29:16 | → | star_cloud joins (~star_clou@ec2-34-220-44-120.us-west-2.compute.amazonaws.com) |
| 07:30:10 | → | tlgl^nix joins (~damien@S0106008ef25e98fb.su.shawcable.net) |
| 07:31:06 | × | tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds) |
| 07:32:12 | × | earthy quits (~arthurvl@deban2.xs4all.space) (Ping timeout: 240 seconds) |
| 07:33:06 | → | thc202 joins (~thc202@unaffiliated/thc202) |
| 07:33:41 | × | xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 07:34:30 | → | hiroaki_ joins (~hiroaki@2a02:8108:8c40:2bb8:f194:fff7:6857:408) |
| 07:35:33 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 07:37:17 | × | tzh quits (~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz) |
| 07:40:22 | × | Sgeo_ quits (~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer) |
| 07:41:41 | × | pfurla_ quits (~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 07:42:11 | × | howdoi quits (uid224@gateway/web/irccloud.com/x-hkhmdulpecnrnswo) (Quit: Connection closed for inactivity) |
| 07:42:58 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
| 07:46:32 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 07:48:55 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 07:51:21 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 07:56:19 | → | vilpan joins (~0@212.117.1.172) |
| 07:57:22 | → | fendor joins (~fendor@178.115.128.219.wireless.dyn.drei.com) |
| 07:57:41 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds) |
| 07:59:06 | × | remby quits (~remby@bras-base-london1483w-grc-43-65-95-173-128.dsl.bell.ca) (Quit: Going offline, see ya! (www.adiirc.com)) |
| 08:00:23 | → | ericsagn1 joins (~ericsagne@2405:6580:0:5100:443a:6df:3b17:c075) |
| 08:00:45 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 08:01:32 | × | evanjs quits (~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer) |
| 08:01:35 | → | stree joins (~stree@68.36.8.116) |
| 08:03:13 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:7271:1d8b:4a70:e005) (Ping timeout: 250 seconds) |
| 08:03:28 | → | evanjs joins (~evanjs@075-129-098-007.res.spectrum.com) |
| 08:06:57 | × | cole-h quits (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 260 seconds) |
| 08:08:26 | × | hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Remote host closed the connection) |
| 08:08:51 | → | hendursaga joins (~weechat@gateway/tor-sasl/hendursaga) |
| 08:11:58 | → | pfurla joins (~pfurla@ool-182ed2e2.dyn.optonline.net) |
| 08:13:06 | → | hendursa1 joins (~weechat@gateway/tor-sasl/hendursaga) |
| 08:14:33 | → | RusAlex_ joins (~Chel@BSN-77-82-41.static.siol.net) |
| 08:15:32 | × | RusAlex quits (~Chel@unaffiliated/rusalex) (Ping timeout: 240 seconds) |
| 08:15:57 | × | hendursaga quits (~weechat@gateway/tor-sasl/hendursaga) (Ping timeout: 240 seconds) |
| 08:16:33 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:ae0c:73f9:9b3c:8229) |
| 08:17:01 | × | sub0 quits (~bc8134e3@217.29.117.252) (Quit: http://www.okay.uz/ (Session timeout)) |
| 08:19:34 | × | ericsagn1 quits (~ericsagne@2405:6580:0:5100:443a:6df:3b17:c075) (Ping timeout: 245 seconds) |
| 08:23:46 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 252 seconds) |
| 08:28:06 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:dd71:c079:2d22:82ad) |
| 08:30:19 | → | DavidEichmann joins (~david@147.136.46.217.dyn.plus.net) |
| 08:30:28 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 08:32:01 | → | mmfood joins (~mmfood@185.176.246.69) |
| 08:32:26 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:dd71:c079:2d22:82ad) (Ping timeout: 245 seconds) |
| 08:36:13 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 08:37:18 | × | notzmv quits (~zmv@unaffiliated/zmv) (Ping timeout: 252 seconds) |
| 08:37:40 | → | kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49) |
| 08:41:47 | → | notzmv joins (~zmv@unaffiliated/zmv) |
| 08:42:43 | × | pavonia quits (~user@unaffiliated/siracusa) (Quit: Bye!) |
| 08:44:38 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 08:56:27 | × | fendor quits (~fendor@178.115.128.219.wireless.dyn.drei.com) (Remote host closed the connection) |
| 08:57:14 | × | plutoniix quits (~q@node-unm.pool-125-24.dynamic.totinternet.net) (Quit: Leaving) |
| 08:57:35 | → | fendor joins (~fendor@178.115.128.219.wireless.dyn.drei.com) |
| 09:03:12 | × | xourt quits (d4c620ea@212-198-32-234.rev.numericable.fr) (Quit: Connection closed) |
| 09:03:31 | → | pyface joins (~me@about/security/contributor/pyface) |
| 09:05:12 | → | ubert joins (~Thunderbi@91.141.1.48.wireless.dyn.drei.com) |
| 09:06:07 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
| 09:07:40 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 09:10:28 | × | miklcct quits (quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.) |
| 09:17:37 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 09:23:30 | → | idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 09:24:14 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 252 seconds) |
| 09:26:00 | × | idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds) |
| 09:27:53 | → | AlexLee joins (2a0313d9@42-3-19-217.static.netvigator.com) |
| 09:29:01 | × | kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Ping timeout: 250 seconds) |
| 09:33:22 | × | drbean_ quits (~drbean@TC210-63-209-143.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 09:35:34 | → | LKoen joins (~LKoen@11.160.9.109.rev.sfr.net) |
| 09:37:56 | × | AlexLee quits (2a0313d9@42-3-19-217.static.netvigator.com) (Quit: Connection closed) |
| 09:38:11 | × | idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 240 seconds) |
| 09:39:07 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 09:39:08 | <srk> | is is possible to have a per-project .ghci_history? with cabal repl |
| 09:39:14 | <srk> | *it |
| 09:40:31 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:40:48 | × | vchlup quits (~vchlup@nat.brnet.cz) (Remote host closed the connection) |
| 09:41:59 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 09:42:16 | → | vchlup joins (~vchlup@nat.brnet.cz) |
| 09:42:35 | × | ubert quits (~Thunderbi@91.141.1.48.wireless.dyn.drei.com) (Ping timeout: 252 seconds) |
| 09:42:52 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 09:45:53 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 09:46:26 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:50:53 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Ping timeout: 240 seconds) |
| 09:51:12 | → | kritzefitz joins (~kritzefit@2003:5b:203b:200::10:49) |
| 09:51:26 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 09:51:46 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 09:52:36 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:52:59 | → | gnumonic joins (~gnumonic@c-73-170-91-210.hsd1.ca.comcast.net) |
| 09:53:26 | → | mikolaj joins (~mikon@duch.mimuw.edu.pl) |
| 09:53:30 | → | sQVe joins (~sQVe@unaffiliated/sqve) |
| 09:55:01 | → | tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr) |
| 09:57:44 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 09:58:09 | → | __minoru__shirae joins (~shiraeesh@46.34.206.15) |
| 09:58:09 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 09:58:56 | → | mikolaj_ joins (~mikolaj@purple.well-typed.com) |
| 10:00:30 | × | Rudd0 quits (~Rudd0@185.189.115.108) (Read error: Connection reset by peer) |
| 10:00:35 | → | Rudd0^ joins (~Rudd0@185.189.115.108) |
| 10:03:37 | → | ClaudiusMaximus joins (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) |
| 10:03:39 | × | ClaudiusMaximus quits (~claude@cpc98210-croy26-2-0-cust137.19-2.cable.virginm.net) (Changing host) |
| 10:03:40 | → | ClaudiusMaximus joins (~claude@unaffiliated/claudiusmaximus) |
| 10:03:43 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 10:03:49 | → | thblt joins (~thblt@unaffiliated/thblt) |
| 10:04:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:04:44 | → | junkicide joins (~user@37.164.172.175) |
| 10:05:03 | × | milessabin quits (sid86799@gateway/web/irccloud.com/x-aurnquefvyorfrgg) (Ping timeout: 246 seconds) |
| 10:05:12 | × | rslima_____ quits (sid26145@gateway/web/irccloud.com/x-goofybjtwpxkxwqn) (Ping timeout: 258 seconds) |
| 10:05:12 | × | kyagrd__ quits (sid102627@gateway/web/irccloud.com/x-qbvavchptiwverik) (Ping timeout: 258 seconds) |
| 10:05:27 | × | graingert quits (sid128301@gateway/web/irccloud.com/x-hbzbznvgopicjtxc) (Ping timeout: 260 seconds) |
| 10:05:54 | → | rslima_____ joins (sid26145@gateway/web/irccloud.com/x-uuewewvxxbofrynk) |
| 10:05:54 | → | kyagrd__ joins (sid102627@gateway/web/irccloud.com/x-rctrsarckkdvtebu) |
| 10:05:57 | → | milessabin joins (sid86799@gateway/web/irccloud.com/x-yhagfzynbpqlfqnu) |
| 10:06:56 | → | graingert joins (sid128301@gateway/web/irccloud.com/x-hzpuckilkrvcdlsz) |
| 10:07:09 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 10:08:49 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 10:09:22 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:09:55 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 10:10:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:10:30 | <junkicide> | hello, I have a question about defining the correct type signature for my main function |
| 10:12:06 | <junkicide> | It takes 3 strings (which are just integers separated by spaces) as input and as output gives 1 float |
| 10:13:22 | <junkicide> | So would the correct signature be main:: IO() String -> String -> String -> Float? |
| 10:14:03 | <junkicide> | Could someone explain this please? |
| 10:14:13 | <thblt> | junkicide: no, main doesn't take arguments. main :: IO () |
| 10:14:17 | <gnumonic> | if it's the main function of the module it has to be IO () |
| 10:14:38 | <thblt> | junkicide: if you want to read arguments from the command-line, use System.Environment.getArgs |
| 10:15:47 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds) |
| 10:16:01 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:17:43 | <thblt> | junkicide: as an aside, () is a type, so IO () String would be invalid anyway. |
| 10:18:09 | <junkicide> | thanks @gnumonic and @thblt |
| 10:18:10 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 10:18:42 | → | Guest6509 joins (~laudiacay@67.176.215.84) |
| 10:18:49 | × | pyface quits (~me@about/security/contributor/pyface) (Remote host closed the connection) |
| 10:19:35 | <gnumonic> | also, IO () means "this function doesn't return any values", so that's the type of every function that just performs an IO effect. an IO String function is a function that (might) perform IO effects but returns a string as well |
| 10:20:10 | <junkicide> | i see, thanks for the explanations! |
| 10:21:28 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:21:53 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:22:03 | <gnumonic> | and, just because this is useful to know if you're starting out, anything that's in IO has to *stay* in IO. So you can't (ok, you *shouldn't*, it's technically possible but almost always a bad idea) write a function of type IO String -> String. once something's IO-ified it stays that way. idk if that's useful atm but it's an important thing to be aware of |
| 10:22:25 | → | stree joins (~stree@68.36.8.116) |
| 10:22:44 | → | miklcct joins (quasselcor@2001:19f0:7402:d31:5400:3ff:fe51:a0cd) |
| 10:22:45 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 10:23:07 | × | Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 252 seconds) |
| 10:23:12 | <thblt> | junkicide: Also that's just me, but I'm not too fan of String -> String -> String -> Float. If your strings are lists of int waiting to be parsed, I'd have parseStr :: String -> Maybe Int and compute :: [Int] -> [Int] -> [Int] -> Float |
| 10:24:13 | × | miklcct quits (quasselcor@2001:19f0:7402:d31:5400:3ff:fe51:a0cd) (Client Quit) |
| 10:25:01 | <gnumonic> | or if for some reason you always have sets of 3 strings, make a data type for it. data ThreeStrings = ThreeStrings String String String or something. big strength of haskell is that it lets you organize data in a very well-defined way |
| 10:25:35 | → | miklcct joins (quasselcor@2001:19f0:7402:d31:5400:3ff:fe51:a0cd) |
| 10:25:52 | <gnumonic> | though probably thblt's suggestion is better for what you're trying to do |
| 10:25:52 | <thblt> | (But maybe get your program to compile and run before you burden yourself with those design details) |
| 10:26:21 | <thblt> | ((That's be parseStr :: String -> Maybe [Int] Sorry)) |
| 10:28:07 | × | Sarcarean quits (4582bfd4@h69-130-191-212.bendor.broadband.dynamic.tds.net) (Quit: Connection closed) |
| 10:28:27 | → | aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 10:28:48 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:d0ef:1415:4773:eee7) |
| 10:31:31 | → | Synthetica joins (uid199651@gateway/web/irccloud.com/x-hcuaynfkuabsmonx) |
| 10:32:32 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 10:32:33 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 10:33:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:33:23 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:d0ef:1415:4773:eee7) (Ping timeout: 248 seconds) |
| 10:34:17 | → | idhugo_ joins (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) |
| 10:36:26 | × | junkicide quits (~user@37.164.172.175) (Remote host closed the connection) |
| 10:37:42 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 10:38:31 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 10:39:00 | × | ukari quits (~ukari@unaffiliated/ukari) (Remote host closed the connection) |
| 10:39:10 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:39:32 | → | ukari joins (~ukari@unaffiliated/ukari) |
| 10:42:04 | → | mikoto-chan joins (~anass@gateway/tor-sasl/mikoto-chan) |
| 10:43:01 | → | philderbeast joins (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) |
| 10:44:06 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 10:45:19 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 10:47:52 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8) |
| 10:48:06 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 10:48:09 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Remote host closed the connection) |
| 10:48:56 | → | Mrbuck joins (~Mrbuck@gateway/tor-sasl/mrbuck) |
| 10:50:53 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Quit: WeeChat 2.8) |
| 10:50:54 | <gnumonic> | Is there anything like a typelevel strictness annotation or some other way to force typelevel "functions" (aka :: k ~> k, the defunctionalized thingies from singletons) into a normal form? |
| 10:51:10 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 10:51:33 | × | jonathanx quits (~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection) |
| 10:51:36 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 10:52:21 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 10:52:53 | → | jonathanx joins (~jonathan@h-176-109.A357.priv.bahnhof.se) |
| 10:54:49 | × | srk quits (~sorki@unaffiliated/srk) (Ping timeout: 250 seconds) |
| 10:56:23 | → | gehmehgeh joins (~ircuser1@gateway/tor-sasl/gehmehgeh) |
| 10:56:53 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Ping timeout: 246 seconds) |
| 10:57:27 | → | timCF joins (~i.tkachuk@200-149-20-81.sta.estpak.ee) |
| 11:00:15 | → | srk joins (~sorki@unaffiliated/srk) |
| 11:00:30 | <timCF> | Hello guys! I have a kinda weird question. Why mappend (<>) is working for Either exactly the same way like Alternative (<|>) for almost all other "types" like Maybe or ExceptT? |
| 11:00:46 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 11:01:45 | × | leah2 quits (~leah@2001:1410:200:eea::1) (Ping timeout: 250 seconds) |
| 11:03:35 | <timCF> | I know that (<>) for Either fits types and law of Semigroup, but for me it personally feels like mode Alternative (<|>) according to what it's actually doing. |
| 11:03:59 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Read error: Connection reset by peer) |
| 11:03:59 | → | Kaeipi joins (~Kaiepi@47.54.252.148) |
| 11:04:31 | → | idhugo__ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) |
| 11:05:27 | → | leah2 joins (~leah@vuxu.org) |
| 11:05:47 | <merijn> | timCF: Fun fact, <|> *is* a monoid, but on a different type :p |
| 11:05:49 | <enikar> | notice, ExceptT is build from Either, and (Maybe a) is equivalent to (Either () a) |
| 11:06:54 | × | idhugo_ quits (~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 11:07:30 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) |
| 11:07:46 | → | idhugo_ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) |
| 11:07:53 | <timCF> | merijn: <|> feels actually opposite to monoid :) But type signatures of <|> and <> are looking similar for sure |
| 11:08:13 | → | jumper149 joins (~jumper149@80.240.31.34) |
| 11:08:40 | <merijn> | timCF: That laws are the same too :p |
| 11:08:57 | <merijn> | left-associative operator, identity element |
| 11:09:55 | × | sQVe quits (~sQVe@unaffiliated/sqve) (Quit: Bye!) |
| 11:10:25 | × | idhugo__ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 11:10:36 | → | idhugo joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) |
| 11:11:08 | × | refusenick quits (~user@2601:644:8502:d700::8cfb) (Ping timeout: 258 seconds) |
| 11:12:13 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 276 seconds) |
| 11:12:38 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 11:13:09 | × | idhugo_ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 11:13:14 | <timCF> | Btw, is computation `a <|> b <|> c` lazy in case where type of every expression is `ExceptT e m a` where `m` is some side-effect IO-like monad. In case where `a` returns Right, will be side-effects of `b` and `c` executed? |
| 11:14:59 | → | Guest_92 joins (7a3b26e8@122-59-38-232-adsl.sparkbb.co.nz) |
| 11:19:31 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:19:41 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 11:23:11 | → | geowiesnot joins (~user@87-89-181-157.abo.bbox.fr) |
| 11:23:50 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 246 seconds) |
| 11:24:09 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds) |
| 11:25:10 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 11:25:50 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 11:26:52 | → | raehik joins (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) |
| 11:28:53 | ← | vilpan parts (~0@212.117.1.172) () |
| 11:31:09 | × | Unhammer quits (~Unhammer@gateway/tor-sasl/unhammer) (Ping timeout: 240 seconds) |
| 11:33:53 | × | quinn quits (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) (Quit: ZNC 1.8.1 - https://znc.in) |
| 11:34:33 | × | LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection) |
| 11:34:59 | → | akulkarni joins (~user@37.164.172.175) |
| 11:35:09 | <akulkarni> | I have the following function: |
| 11:35:13 | <akulkarni> | area::[Integer] -> [Integer] -> Integer -> Double |
| 11:35:13 | <akulkarni> | area w x y = sum $ zipWith (*) (zipWith (/) (map fromInteger w) [l+1 | l <- x]) [y^(k+1) | k <- x] |
| 11:35:44 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds) |
| 11:36:27 | <akulkarni> | why does it give an error saying "Couldn't match expected type ‘Double’ with actual type ‘Integer’" |
| 11:37:22 | × | sayola1 quits (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de) (Read error: Connection reset by peer) |
| 11:38:50 | <merijn> | [l+1 | l <- x] is [Integer] |
| 11:38:59 | <merijn> | but zipWith (/) expects a Double |
| 11:39:54 | → | sayola joins (~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de) |
| 11:41:16 | × | geowiesnot quits (~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 268 seconds) |
| 11:42:05 | <xsperry> | > zipWith ((/) `on` fromInteger) [10,20,30] (repeat 5) |
| 11:42:08 | <lambdabot> | [2.0,4.0,6.0] |
| 11:44:54 | → | Unhammer joins (~Unhammer@gateway/tor-sasl/unhammer) |
| 11:45:50 | <akulkarni> | oh so the denominator should also be a Double, got it. Thanks @xsperry and @merijn |
| 11:46:13 | <xsperry> | yes, see the type |
| 11:46:16 | <xsperry> | :t (/) |
| 11:46:18 | <lambdabot> | Fractional a => a -> a -> a |
| 11:46:24 | <xsperry> | same a |
| 11:46:52 | <akulkarni> | indeed |
| 11:50:01 | → | mason_ joins (~bc8134e3@1582020-static.lxtnkya3.metronetinc.net) |
| 11:50:07 | <mason_> | hi. I want to create a Money type, that supports multiple currencies that can be added together. what I'm unsure is how to go about creating a Num etc instance, given that the result may change depending on the used exchange rate |
| 11:55:06 | → | Merfont joins (~Kaiepi@47.54.252.148) |
| 11:56:26 | × | Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 11:57:06 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 11:57:39 | × | invaser quits (~Thunderbi@31.148.23.125) (Client Quit) |
| 11:58:17 | → | LKoen joins (~LKoen@11.160.9.109.rev.sfr.net) |
| 11:58:31 | <timCF> | mason_: creating your own is exciting for sure, but you might like this one https://ren.zone/articles/safe-money |
| 11:58:43 | <merijn> | mason_: Short answer: Don't |
| 11:59:42 | <merijn> | It doesn't really make sense, because money isn't a number. $100 divided by 10 makes sense. $100 divided by $10 does not |
| 11:59:49 | <merijn> | :t (/) |
| 11:59:51 | <lambdabot> | Fractional a => a -> a -> a |
| 12:00:00 | <merijn> | Which is what Num/Fractional would incur |
| 12:00:43 | <merijn> | Numbers with units don't really behave like numbers and the wisest course of action is to not pretend that they do |
| 12:01:04 | <timCF> | actually I think safe-money is providing Num instances, it's wrong in general, just trade off for usability. But in other aspects library is good |
| 12:01:19 | <akulkarni> | @xsperry the function you wrote gives the same output even without adding `on` fromInteger |
| 12:01:19 | <lambdabot> | Unknown command, try @list |
| 12:01:52 | <akulkarni> | @xsperry so I don't get how adding that helps |
| 12:01:52 | <lambdabot> | Unknown command, try @list |
| 12:02:13 | <xsperry> | akulkarni, because number literals are polymorphic |
| 12:02:18 | <xsperry> | > zipWith (/) [10,20,30 :: Integer] (repeat 5) |
| 12:02:20 | <lambdabot> | error: |
| 12:02:20 | <lambdabot> | • No instance for (Fractional Integer) arising from a use of ‘/’ |
| 12:02:20 | <lambdabot> | • In the first argument of ‘zipWith’, namely ‘(/)’ |
| 12:02:29 | <xsperry> | > zipWith ((/) `on` fromInteger) [10,20,30 :: Integer] (repeat 5) |
| 12:02:32 | <lambdabot> | [2.0,4.0,6.0] |
| 12:03:12 | <akulkarni> | xsperry ok thanks for pointing out the difference |
| 12:03:42 | → | lemmih joins (~lemmih@2406:3003:2072:44:b750:bcd2:3182:6116) |
| 12:03:46 | → | invaser joins (~Thunderbi@31.148.23.125) |
| 12:03:59 | → | codygman__ joins (~user@47.186.207.161) |
| 12:04:33 | <merijn> | :t 5 |
| 12:04:35 | <lambdabot> | Num p => p |
| 12:04:38 | <merijn> | > 5 :: Int |
| 12:04:40 | <lambdabot> | 5 |
| 12:04:42 | <merijn> | > 5 :: Double |
| 12:04:44 | <lambdabot> | 5.0 |
| 12:05:00 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 12:05:11 | × | ij quits (~ij@NixOS/user/siers) (Ping timeout: 240 seconds) |
| 12:05:13 | <invaser> | Hi! Wanted to ask a question relating to HSL in VSCode. Is it possible to disable a codelens (I guess that's what it's called) that adds an explicit import list? It's became quite annoying when import list is large. Here's what I'm talking about: https://i.imgur.com/3BHxPZV.png |
| 12:06:02 | → | urodna joins (~urodna@unaffiliated/urodna) |
| 12:06:14 | <mason_> | so in safe-money, money expressed in one currency is of different type than money expressed in another? |
| 12:06:34 | <timCF> | invaser: so it shows what exactly is used from imports? |
| 12:07:52 | <invaser> | timCF: Yes, and on click it adds an explicit list of imports to the line |
| 12:08:22 | <timCF> | mason_: yes, different currency = different money types. It make sense, because different money types have different fungibility properties - for example bitcoin has the smallest possible unit, but gold does not, you can devide it as much as you want. |
| 12:08:27 | <mason_> | I have items with price field, which can be in several different currencies. to support that with safe-money, I would have to create a sum type of different currencies, which doesn't seem ideal. a Money type I imagined would already be a sum type of all supported currencies |
| 12:09:41 | <invaser> | Overall, I'm not really sure if I should remove it, ha-ha. I just find it a little bit annoying. But it seems that I've seen somewhere (probably in GHC coding style guide) that you shouldn't really use explicit import list except for when declarations clash with each other. Should I use explicit or implicit generally? |
| 12:09:58 | <timCF> | invaser: that's super cool! I want vim plugin which is doing this automatically as well) |
| 12:12:53 | → | minoru_shiraeesh joins (~shiraeesh@46.34.206.15) |
| 12:13:07 | <merijn> | invaser: explicit, imo |
| 12:13:23 | <merijn> | invaser: GHC is a bit special in that is only allowed to have a tiny number of dependencies |
| 12:13:50 | <merijn> | invaser: Which makes it easy to assume everyone knows most types and where they're from |
| 12:14:18 | → | Pickchea joins (~private@unaffiliated/pickchea) |
| 12:14:18 | × | __minoru__shirae quits (~shiraeesh@46.34.206.15) (Remote host closed the connection) |
| 12:15:05 | <merijn> | invaser: I explicitly list or do qualified imports everywhere (well, sometimes I have a "1 package" exception, like my CLI module importing all of optarse implicitly, but never more than 1 package per module) |
| 12:15:30 | <merijn> | Experience has taught me, that, when you touch that code 2.5 years later, explicit/qualified everything is amazing |
| 12:15:40 | → | drbean_ joins (~drbean@TC210-63-209-37.static.apol.com.tw) |
| 12:15:44 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 12:17:19 | <invaser> | merijn: Yeah, importing explicitly definitely does make sense. |
| 12:18:16 | <invaser> | Also language server makes it very easy with suggestions |
| 12:18:48 | <merijn> | I tend to have open imports when I start writing a module, but as it becomes more finished I start closing them up |
| 12:20:46 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 12:22:10 | → | Kaivo joins (~Kaivo@172-97-54-87.mc.derytele.com) |
| 12:22:27 | <jackdk> | merijn: I like this, though I make similar exceptions for testing libraries and Control.Lens.Operators |
| 12:23:07 | × | timCF quits (~i.tkachuk@200-149-20-81.sta.estpak.ee) (Quit: leaving) |
| 12:25:03 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 12:25:30 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 260 seconds) |
| 12:26:21 | → | idhugo_ joins (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) |
| 12:27:25 | → | Carl34 joins (ce2860bd@189.206-40-96.netnet.net) |
| 12:28:03 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:ae0c:73f9:9b3c:8229) (Ping timeout: 248 seconds) |
| 12:28:27 | <dibblego> | I do this (I am doing this RN) |
| 12:28:38 | <Carl34> | Quick question. Is distributed-process (cloud haskell) a dead end (is anyone developing in it)? If not, what is the alternative? |
| 12:28:40 | × | idhugo quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 252 seconds) |
| 12:29:25 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:991a:2b9b:41:3744) |
| 12:30:43 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 12:31:07 | <maerwald> | erlang |
| 12:31:19 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) |
| 12:33:10 | → | Deide joins (~Deide@217.155.19.23) |
| 12:33:41 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:991a:2b9b:41:3744) (Ping timeout: 245 seconds) |
| 12:34:54 | <maerwald> | explicit imports is only interesting if your IDE can't show the origin of an identifier |
| 12:37:32 | × | Merfont quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 12:37:51 | → | Merfont joins (~Kaiepi@47.54.252.148) |
| 12:41:00 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:2722:6cc:f3d:a92d) |
| 12:41:02 | × | minoru_shiraeesh quits (~shiraeesh@46.34.206.15) (Remote host closed the connection) |
| 12:41:32 | × | olligobber quits (olligobber@gateway/vpn/privateinternetaccess/olligobber) (Ping timeout: 240 seconds) |
| 12:41:34 | → | minoru_shiraeesh joins (~shiraeesh@46.34.206.15) |
| 12:41:36 | <juri_> | it's also good dicipline to ensure you do not pull in the wrong version of the wrong function with that oh-so-common-name from the wrong library. |
| 12:41:49 | <Carl34> | Nice, how about a haskell alternative? |
| 12:41:49 | <merijn> | maerwald: Like when I check something out in the source of a dependency on github |
| 12:41:59 | <merijn> | maerwald: Or click on the Hackage source link of a package |
| 12:42:06 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 12:42:29 | <merijn> | I read lots of Haskell code outside my editor that way |
| 12:43:01 | <maerwald> | github could provide IDE like info easily |
| 12:43:16 | <maerwald> | https://github.com/alexwl/haskell-code-explorer |
| 12:43:30 | → | stree joins (~stree@68.36.8.116) |
| 12:44:01 | <maerwald> | hackage also provides such info partly |
| 12:44:21 | <maerwald> | but I think just the type, not the origin |
| 12:46:42 | × | Carl34 quits (ce2860bd@189.206-40-96.netnet.net) (Ping timeout: 240 seconds) |
| 12:50:44 | <Mrbuck> | merijn: what is your editor I am just curious what editors haskell profesionals use |
| 12:51:11 | <merijn> | vim |
| 12:51:16 | → | codygman` joins (~user@209.251.131.98) |
| 12:51:20 | <merijn> | But then, my editor is vim for everything |
| 12:51:30 | <merijn> | python, C, C++, Fortran, ruby |
| 12:51:40 | <Mrbuck> | merijn: ok |
| 12:52:00 | <absence> | how can i get rid of the proxy argument in test3? https://pastebin.com/9jcWaeDX if i just remove it, ghc complains that it can't deduce SomeClass e0 from the context SomeClass e, so i guess i need something extra in the type signature? or isn't TypeApplications a full replacement for proxy? |
| 12:52:32 | × | codygman__ quits (~user@47.186.207.161) (Ping timeout: 240 seconds) |
| 12:53:50 | × | idhugo_ quits (~idhugo@87-49-45-4-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds) |
| 12:55:14 | <gnumonic> | quantify the e in the first test? |
| 12:56:23 | <gnumonic> | er nevermind. that doesn't work. thought it would |
| 12:58:15 | <absence> | yes, the implicit forall should be enough if i understand correctly |
| 12:58:19 | × | unyu quits (~pyon@unaffiliated/pyon) (Read error: Connection reset by peer) |
| 12:59:15 | → | unyu joins (~pyon@unaffiliated/pyon) |
| 12:59:17 | <absence> | since it works with the proxy argument, i would expect that test and test2 can remain unchanged |
| 13:02:19 | <carbolymer> | what +RTS -T -s switches do? I can't find them in GHC users' guide |
| 13:05:01 | <geekosaur> | -T Collect GC statistics (useful for in-program statistics access) |
| 13:05:01 | <geekosaur> | -s[<file>] Summary GC statistics (if <file> omitted, uses stderr) |
| 13:05:12 | <geekosaur> | (from +RTS --help) |
| 13:05:16 | <carbolymer> | thx |
| 13:05:39 | → | miguel1 joins (~miguel@host-82-135-31-200.customer.m-online.net) |
| 13:05:54 | <merijn> | carbolymer: Eh, seems to me they are in the users' guide? |
| 13:06:04 | <merijn> | carbolymer: https://downloads.haskell.org/ghc/latest/docs/html/users_guide/runtime_control.html#rts-options-to-produce-runtime-statistics |
| 13:06:25 | → | hyperisco joins (~hyperisco@d192-186-117-226.static.comm.cgocable.net) |
| 13:06:28 | <carbolymer> | merijn: ooh, I was looking at chapter 8... |
| 13:06:45 | <merijn> | carbolymer: -s doesn't require profiling build :) |
| 13:06:54 | <carbolymer> | I see that now |
| 13:07:35 | → | plutoniix joins (~q@node-unm.pool-125-24.dynamic.totinternet.net) |
| 13:07:45 | <merijn> | oh, obligatory profiling/performance questions: "are you using threaded RTS? If yes, did you remember to turn of parallel GC?" ;) |
| 13:07:50 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection) |
| 13:08:07 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) |
| 13:08:13 | × | miguel1 quits (~miguel@host-82-135-31-200.customer.m-online.net) (Client Quit) |
| 13:08:40 | <merijn> | carbolymer: btw, I think "+RTS -h" actually prints commandline help for rtsopts |
| 13:09:57 | <carbolymer> | merijn: thanks, will start there next time :) also, what about parallel gc? what's wrong with it? |
| 13:10:23 | → | chomwitt joins (~alexander@2a02:587:dc0a:2700:dc6:16ac:a95:eabf) |
| 13:11:42 | <absence> | gnumonic: oh, needs AllowAmbiguousTypes |
| 13:12:51 | <geekosaur> | threads need to synchronize during GC, this is only a win for some use cases |
| 13:13:56 | → | carlomagno joins (~cararell@148.87.23.9) |
| 13:14:39 | <carbolymer> | geekosaur: well ok, but I don't see a relation to the parallel GC here |
| 13:14:53 | × | cfricke quits (~cfricke@unaffiliated/cfricke) (Quit: WeeChat 3.1) |
| 13:16:10 | <geekosaur> | with normal gc every thread is stopped during gc, with parallel every thread waits until all of them have reached a syncpoint/done an allocation |
| 13:16:11 | <gnumonic> | absence: oh that makes sense. without any term level argument it thinks it can't possibly infer the type or something |
| 13:16:27 | <geekosaur> | as I understand it |
| 13:17:00 | <geekosaur> | so your program spends more time stopped waiting on some other thread to become GCable with parallel GC |
| 13:17:13 | <gnumonic> | now i'm wondering if there is a case where you can't get by with TypeApplications and need an explicit proxy |
| 13:17:35 | × | tabemann quits (~travisb@2600:1700:7990:24e0:1797:6b66:735:4572) (Remote host closed the connection) |
| 13:17:56 | <merijn> | carbolymer: parallel GC is a net bad thing on most programs |
| 13:17:57 | × | Mrbuck quits (~Mrbuck@gateway/tor-sasl/mrbuck) (Ping timeout: 240 seconds) |
| 13:18:12 | <merijn> | carbolymer: Like "I got 80% speedup disabling it on some code"-bad :) |
| 13:18:49 | <merijn> | carbolymer: I think in 9.2 they disable it by default, but atm the default for threaded runtime is parallel GC enabled, despite it being bad on most programs |
| 13:18:52 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 13:19:42 | → | zmijunkie joins (~Adium@109.90.32.89) |
| 13:20:55 | → | zariuq joins (~zar@fw1.ciirc.cvut.cz) |
| 13:20:59 | <carbolymer> | geekosaur: merijn: interesting, thanks! is there a place where can I read more about GHC's garbage collectors? |
| 13:21:36 | <merijn> | ooh, that's a tricky question |
| 13:21:39 | <carbolymer> | coming from JVM, I'm surprised that resources about GHC GC are a bit scarce |
| 13:21:46 | <merijn> | I'm not sure there's any comprehensive articles |
| 13:21:57 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 260 seconds) |
| 13:22:11 | <merijn> | I think I learned most of it through osmosis >.> |
| 13:22:19 | <carbolymer> | :| |
| 13:22:20 | <merijn> | There was the JFP draft by ezyang |
| 13:22:36 | <merijn> | carbolymer: http://ezyang.com/jfp-ghc-rts-draft.pdf |
| 13:22:50 | <carbolymer> | thx |
| 13:23:06 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 13:23:26 | × | Rudd0^ quits (~Rudd0@185.189.115.108) (Remote host closed the connection) |
| 13:24:10 | × | milessabin quits (sid86799@gateway/web/irccloud.com/x-yhagfzynbpqlfqnu) (Quit: Connection closed for inactivity) |
| 13:24:13 | → | son0p joins (~ff@181.136.122.143) |
| 13:24:32 | <merijn> | carbolymer: tbh, there's really just 2 collectors atm, and one is about 1-2 years old? |
| 13:24:38 | → | barakkl1993 joins (~barakkley@2.55.47.160) |
| 13:27:12 | × | carlomagno quits (~cararell@148.87.23.9) (Remote host closed the connection) |
| 13:27:23 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 246 seconds) |
| 13:29:34 | → | RandomArcher joins (~RandomArc@90.153.145.2) |
| 13:30:18 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 13:32:05 | <carbolymer> | merijn: I wonder why is that, is that because of the immutability, there's not much room for improvement? |
| 13:32:15 | × | barakkl1993 quits (~barakkley@2.55.47.160) (Remote host closed the connection) |
| 13:32:35 | × | jumper149 quits (~jumper149@80.240.31.34) (Quit: WeeChat 3.1) |
| 13:32:38 | → | carlomagno joins (~cararell@148.87.23.4) |
| 13:32:39 | <carbolymer> | merijn: or no one wants to work on that?;] |
| 13:33:13 | <geekosaur> | the latter, I think. there have been proposals for other GC mechanisms but a shortage of people willing to work on them |
| 13:33:50 | <merijn> | Well, bit of both? |
| 13:33:54 | × | hexfive quits (~hexfive@50.35.83.177) (Quit: i must go. my people need me.) |
| 13:34:05 | <merijn> | I mean, GHC's GC is pretty well-tuned and elegant for *most* workloads |
| 13:34:19 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 13:34:39 | <merijn> | The new GC addressed some cases where the default GC doesn't work well |
| 13:34:41 | × | s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Ping timeout: 240 seconds) |
| 13:35:16 | <merijn> | So it's basically a matter of "status quo is good enough for most people, and people would rather work on other things until it becomes a problem" |
| 13:35:53 | × | RandomArcher quits (~RandomArc@90.153.145.2) (Ping timeout: 265 seconds) |
| 13:36:20 | → | Tario joins (~Tario@201.192.165.173) |
| 13:36:40 | → | s00pcan joins (~chris@107.181.165.217) |
| 13:38:12 | × | zaquest quits (~notzaques@5.128.210.178) (Quit: Leaving) |
| 13:40:36 | → | zaquest joins (~notzaques@5.128.210.178) |
| 13:45:11 | × | LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection) |
| 13:45:59 | → | renzhi joins (~renzhi@2607:fa49:6500:bc00::e7b) |
| 13:46:08 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 13:47:11 | <carbolymer> | I get that |
| 13:48:58 | → | safinaskar joins (~user@109.252.90.136) |
| 13:49:15 | × | drbean_ quits (~drbean@TC210-63-209-37.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in) |
| 13:51:22 | <merijn> | tbh, it probably isn't even that hard to get working on that |
| 13:51:45 | <merijn> | Especially now that the non-moving collector was recently finished and people have done the hardwork of making the GC replaceable |
| 13:52:06 | × | safinaskar quits (~user@109.252.90.136) (Client Quit) |
| 13:52:12 | <merijn> | (Adding a 3rd GC is probably much less work, now that a 2nd GC has already ran into and hopefully fixed the problems of making it changeable) |
| 13:54:51 | <hyperisco> | you're batting between latency and throughput with GC yes? does GHC have an offering for each? |
| 13:55:25 | <merijn> | hyperisco: Not just those two |
| 13:55:42 | <hyperisco> | what else |
| 13:55:44 | <merijn> | hyperisco: Consider that your allocation speed also probably *also* affected |
| 13:55:48 | <hyperisco> | memory overhead I suppose |
| 13:55:49 | → | Sheilong joins (uid293653@gateway/web/irccloud.com/x-oxdglogbveesxllt) |
| 13:55:56 | <merijn> | And memory overhead, yeah |
| 13:56:02 | <merijn> | It's trade-offs everywhere! |
| 13:56:20 | <hyperisco> | changing allocation speed can be measured in latency and throughput though |
| 13:56:36 | <merijn> | One of the reasons GHC uses it's current GC design is because lazy evaluation allocates a lot and the current GC lets GHC use a bump-pointer allocator |
| 13:56:57 | <merijn> | Which is basically as fast as any allocator can ever be |
| 13:57:00 | malumore__ | is now known as malumore |
| 13:57:57 | <merijn> | But without a compacting GC bump pointer allocation would get you crazy memory fragmentation |
| 14:00:38 | × | Merfont quits (~Kaiepi@47.54.252.148) (Ping timeout: 246 seconds) |
| 14:01:07 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 14:02:22 | → | wonko7 joins (~wonko7@62.115.229.50) |
| 14:05:12 | → | Jd007 joins (~Jd007@162.156.11.151) |
| 14:05:39 | × | centril quits (~centril@213-66-146-92-no250.tbcn.telia.com) (Ping timeout: 248 seconds) |
| 14:11:32 | → | lordcirth joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 14:13:30 | <lordcirth> | I've got a function nDice :: Int -> Int -> State GameState [Int] ; I'd prefer it to return the sum of the dice rather than the list; but since it doesn't return the actual numbers, I don't know how. Is there a way to map sum over it and turn it into a single State? |
| 14:16:50 | <geekosaur> | that looks like fmap sum to me |
| 14:18:11 | × | berberman quits (~berberman@unaffiliated/berberman) (Quit: ZNC 1.8.2 - https://znc.in) |
| 14:18:43 | → | berberman joins (~berberman@unaffiliated/berberman) |
| 14:20:03 | → | akulkarn` joins (~user@aputeaux-652-1-270-231.w90-43.abo.wanadoo.fr) |
| 14:21:20 | <lordcirth> | Huh, fmap does work. cool, thanks! |
| 14:22:13 | × | akulkarni quits (~user@37.164.172.175) (Ping timeout: 268 seconds) |
| 14:23:47 | × | aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 248 seconds) |
| 14:25:40 | × | zva quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 14:26:09 | <gnumonic> | is there anything i can do to make the HLS plugin for vscode crash less on TH splices? |
| 14:26:46 | → | Sgeo joins (~Sgeo@ool-18b98aa4.dyn.optonline.net) |
| 14:28:17 | <gnumonic> | it seems to really hate singletons TH stuff |
| 14:30:13 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:fd8c:747:a4ad:281b) |
| 14:34:31 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:fd8c:747:a4ad:281b) (Ping timeout: 250 seconds) |
| 14:36:31 | → | lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 14:38:51 | × | lordcirth quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 14:41:12 | × | malumore quits (~malumore@151.62.127.162) (Remote host closed the connection) |
| 14:43:20 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 246 seconds) |
| 14:45:33 | → | LKoen joins (~LKoen@11.160.9.109.rev.sfr.net) |
| 14:46:14 | → | zmijunkie1 joins (~Adium@87.123.48.31) |
| 14:46:34 | × | zmijunkie quits (~Adium@109.90.32.89) (Ping timeout: 252 seconds) |
| 14:47:00 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 14:47:08 | → | litenull joins (~litenull@37.120.211.188) |
| 14:47:49 | → | malumore joins (~malumore@151.62.127.162) |
| 14:48:39 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 14:48:53 | → | ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
| 14:51:31 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 14:51:54 | → | redmp joins (~redmp@172.58.22.142) |
| 14:53:07 | ← | jakalx parts (~jakalx@base.jakalx.net) () |
| 14:53:31 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 14:54:07 | → | dunj3 joins (~dunj3@2001:16b8:30e8:aa00:6400:c54b:6c37:a59c) |
| 14:56:18 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 14:57:11 | → | cr3 joins (~cr3@192-222-143-195.qc.cable.ebox.net) |
| 14:58:08 | <kuribas> | is there a FRP library that allows for IO? |
| 14:58:11 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 14:59:07 | <dmj`> | kuribas: is there an FRP library that doesn't? |
| 14:59:20 | → | howdoi joins (uid224@gateway/web/irccloud.com/x-vstezmgnvunlkcvf) |
| 14:59:21 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 14:59:25 | <kuribas> | dmj`: I mean that I can do database lookups. |
| 15:00:09 | <dmj`> | kuribas: that would be IO, so same question holds |
| 15:00:11 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 15:00:28 | <kuribas> | they do, but it doesn't seem easy to model a database lookup into it. |
| 15:00:30 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 15:00:44 | <dmj`> | kuribas: why not |
| 15:00:52 | → | idhugo_ joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 15:01:52 | <kuribas> | dmj`: what would you use for reactive-banana? |
| 15:01:55 | → | nan` joins (~nan`@unaffiliated/nan/x-5405850) |
| 15:01:59 | × | idhugo_ quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 15:02:06 | → | anandprabhu joins (~anand@94.203.71.143) |
| 15:02:39 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 15:02:52 | → | boogsbunny joins (c09174ec@192.145.116.236) |
| 15:03:05 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 15:03:16 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 15:03:45 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 15:03:57 | → | idhugo_ joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 15:04:20 | → | stree joins (~stree@68.36.8.116) |
| 15:05:06 | × | idhugo_ quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Client Quit) |
| 15:05:46 | × | invaser quits (~Thunderbi@31.148.23.125) (Ping timeout: 240 seconds) |
| 15:05:56 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 15:07:28 | → | lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 15:07:48 | <kuribas> | dmj`: none of the functions seems useful for taking an event data, looking stuff up in the database, and generating a new even. |
| 15:08:18 | <kritzefitz> | kuribas, sound like you want Reactive.Banana.Frameworks.execute. |
| 15:09:19 | × | geekosaur quits (930099da@rrcs-147-0-153-218.central.biz.rr.com) (Quit: Connection closed) |
| 15:09:21 | <merijn> | kuribas: eh: https://hackage.haskell.org/package/reactive-banana-1.2.1.0/docs/Reactive-Banana-Frameworks.html#v:mapEventIO |
| 15:09:30 | <merijn> | mapEventIO :: (a -> IO b) -> Event a -> MomentIO (Event b) |
| 15:09:39 | <merijn> | That seems exactly what you're asking for? |
| 15:09:56 | <kuribas> | merijn: ah cool, yes! |
| 15:10:03 | × | lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 15:10:16 | × | anandprabhu quits (~anand@94.203.71.143) (Quit: Konversation terminated!) |
| 15:11:19 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 15:11:38 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 15:12:02 | × | boogsbunny quits (c09174ec@192.145.116.236) (Ping timeout: 240 seconds) |
| 15:14:19 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Quit: Lost terminal) |
| 15:15:29 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 15:15:50 | × | seven_three quits (~user@pool-96-233-64-53.bstnma.fios.verizon.net) (Remote host closed the connection) |
| 15:18:40 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Client Quit) |
| 15:19:08 | → | dastomaten joins (~dastomate@0543f40b.skybroadband.com) |
| 15:19:08 | → | Kaeipi joins (~Kaiepi@47.54.252.148) |
| 15:19:09 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 15:19:09 | → | machinedgod joins (~machinedg@135-23-192-217.cpe.pppoe.ca) |
| 15:19:09 | → | ph88 joins (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) |
| 15:19:32 | → | seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net) |
| 15:19:51 | → | waleee-cl joins (uid373333@gateway/web/irccloud.com/x-aqzweplpcsywgnal) |
| 15:19:54 | <seven_three> | Is it possible to mix typeclass constraints into data declarations? I want to say something like `data Foo = (Num a) => Bar a | Integer`. If not how would you express this? |
| 15:20:25 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:20:35 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 15:20:40 | <kuribas> | seven_three: with GADT syntax, but normally you don't want this. |
| 15:20:52 | → | geekosaur joins (930099da@rrcs-147-0-153-218.central.biz.rr.com) |
| 15:20:54 | <kuribas> | seven_three: just put the contraints on the functions. |
| 15:21:12 | <dmj`> | seven_three: that's what ExistentialQuantification is for |
| 15:21:24 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Remote host closed the connection) |
| 15:21:40 | <kuribas> | seven_three: is that "a" missing deliberately? |
| 15:21:59 | → | Gurkenglas joins (~Gurkengla@unaffiliated/gurkenglas) |
| 15:22:02 | <seven_three> | yes the a is missing deliberately |
| 15:22:04 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 15:22:09 | <kuribas> | that doesn't look very useful |
| 15:22:21 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 15:22:23 | <dmj`> | seven_three: don't do it though, hiding type variables in data types raises lots of other problems |
| 15:23:20 | <dmj`> | kuribas: the canonical usage is like polymorphic lists data PolyShowList = (Show a) => PolyShowList [a], but its not worth it. |
| 15:23:28 | <seven_three> | ok I will read about GADT's and ExistentialQuantification and then make a decision after |
| 15:23:33 | <kuribas> | seven_three: Bar will be completely useless, as you cannot access "a". |
| 15:23:48 | <kuribas> | dmj`: that's also a antipattern most of the cases. |
| 15:24:10 | <kuribas> | dmj`: since that is isomorphic to [String] |
| 15:24:51 | <seven_three> | kuribas: How would Bar be useless? `f :: Num a => Foo -> a; f (Bar num) = num + 1` |
| 15:25:01 | <merijn> | seven_three: Nope |
| 15:25:08 | <merijn> | seven_three: Can't do that with existentials |
| 15:25:11 | <kuribas> | seven_three: that will not work |
| 15:25:25 | × | ep1ctetus quits (~epictetus@ip72-194-54-201.sb.sd.cox.net) (Ping timeout: 252 seconds) |
| 15:25:29 | <merijn> | seven_three: That code means Bar has *an* instance of Num, but you don't know which |
| 15:26:02 | <merijn> | seven_three: So you example claims to be able to convert any (unknown) instance of Num into any other Num instance |
| 15:26:08 | <merijn> | seven_three: That's clearly not possible |
| 15:27:05 | <seven_three> | ok my whole plan isn't going to work then |
| 15:29:55 | <merijn> | seven_three: What do you want to do? |
| 15:31:56 | → | lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 15:32:14 | → | cole-h joins (~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) |
| 15:32:18 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Remote host closed the connection) |
| 15:32:43 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 15:33:26 | → | knupfer joins (~Thunderbi@200116b82bdec0008957f7f04f607311.dip.versatel-1u1.de) |
| 15:33:27 | × | xff0x quits (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7) (Ping timeout: 250 seconds) |
| 15:34:29 | → | Carl6 joins (6bc3aca7@107-195-172-167.lightspeed.oshkwi.sbcglobal.net) |
| 15:34:49 | × | lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 276 seconds) |
| 15:35:17 | → | xff0x joins (xff0x@gateway/vpn/mullvad/xff0x) |
| 15:35:42 | <seven_three> | merijn: I have multiple types that are instances of my typeclass and I am trying to unify them into another type. Here is some relevant code: http://dpaste.com/A3KYVGP3G |
| 15:36:29 | <dexterfoo> | I have an IORef (Maybe Foo) that starts out filled with 'Nothing', but then when it goes to (Just x) I know that it will always be (Just something) and never go back to Nothing. How can I encode this in the type system, so that when functions read from the variable IORef in later stages, they know that it will always have a (Just foo) value? |
| 15:36:40 | × | mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Read error: Connection reset by peer) |
| 15:37:10 | × | codygman` quits (~user@209.251.131.98) (Remote host closed the connection) |
| 15:37:58 | <seven_three> | I should probably just do: `data Operand = | IntRegOp IntegerRegister | FloatRegOp FloatingRegister | BlahBlah` |
| 15:38:39 | <merijn> | dexterfoo: eh, are you sure you don't want an MVar? |
| 15:40:28 | × | redmp quits (~redmp@172.58.22.142) (Ping timeout: 252 seconds) |
| 15:41:19 | × | Synthetica quits (uid199651@gateway/web/irccloud.com/x-hcuaynfkuabsmonx) (Quit: Connection closed for inactivity) |
| 15:41:30 | → | mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh) |
| 15:43:03 | × | Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 15:43:53 | → | Kaeipi joins (~Kaiepi@47.54.252.148) |
| 15:44:28 | <carbolymer> | holy shit profiler is slowing down the code seriously; I'm profiling the code which was finishing in 1hr - with profiling enabled now it's running for 5hrs and it's still a lot left to go |
| 15:45:21 | <dexterfoo> | merijn: I'm actually using a TVar |
| 15:45:28 | → | Merfont joins (~Kaiepi@47.54.252.148) |
| 15:45:49 | × | Kaeipi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 15:45:57 | <merijn> | carbolymer: It can, yes |
| 15:46:26 | <monochrom> | People tend to profile 5-minute runs rather than 1-hour runs. |
| 15:46:44 | <monochrom> | or s/5/O(1)/ |
| 15:46:55 | <carbolymer> | Yay! |
| 15:47:15 | <carbolymer> | ^ i didn't send that |
| 15:47:33 | <merijn> | 'twas the cat |
| 15:47:42 | <carbolymer> | cat the monad |
| 15:48:09 | → | ep1ctetus joins (~epictetus@ip72-194-54-201.sb.sd.cox.net) |
| 15:50:47 | × | knupfer quits (~Thunderbi@200116b82bdec0008957f7f04f607311.dip.versatel-1u1.de) (Ping timeout: 250 seconds) |
| 15:52:11 | × | xff0x quits (xff0x@gateway/vpn/mullvad/xff0x) (Ping timeout: 240 seconds) |
| 15:53:01 | → | xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu) |
| 15:54:30 | → | xff0x joins (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7) |
| 15:54:32 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 16:00:56 | × | vicfred quits (~vicfred@unaffiliated/vicfred) (Remote host closed the connection) |
| 16:01:15 | → | vicfred joins (~vicfred@unaffiliated/vicfred) |
| 16:01:23 | → | Rudd0 joins (~Rudd0@185.189.115.103) |
| 16:01:28 | × | kritzefitz quits (~kritzefit@2003:5b:203b:200::10:49) (Ping timeout: 276 seconds) |
| 16:02:03 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection) |
| 16:02:35 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) |
| 16:04:29 | → | frozenErebus joins (~frozenEre@37.231.244.249) |
| 16:05:16 | → | nineonine joins (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07) |
| 16:05:30 | <minoru_shiraeesh> | the text-to-speech translator translated the cat's meow as yay |
| 16:06:49 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Ping timeout: 250 seconds) |
| 16:07:26 | → | tzh joins (~tzh@24.21.73.154) |
| 16:07:45 | <minoru_shiraeesh> | a silly joke |
| 16:08:04 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 16:09:27 | × | dpl quits (~dpl@77-121-78-163.chn.volia.net) (Ping timeout: 240 seconds) |
| 16:09:50 | <int-e> | it went fine until you mixed up text-to-speech and speech-to-text :P |
| 16:12:57 | <minoru_shiraeesh> | oh no, I ruined it :P |
| 16:13:47 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) |
| 16:15:44 | × | tzh quits (~tzh@24.21.73.154) (Remote host closed the connection) |
| 16:16:29 | <minoru_shiraeesh> | back to serious business |
| 16:16:35 | <minoru_shiraeesh> | here is a question |
| 16:16:59 | <minoru_shiraeesh> | I use ansi-terminal to draw on screen in console application |
| 16:17:17 | <minoru_shiraeesh> | but it works only if I run it in ghci |
| 16:17:48 | <minoru_shiraeesh> | when I build and run it, it's not interactive |
| 16:18:21 | → | bitmagie joins (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de) |
| 16:19:02 | <minoru_shiraeesh> | but when I exit the app, it show the last "frame" in console, so I know it draws, but something is wrong with timing or something like that |
| 16:19:39 | → | Guest6509 joins (~laudiacay@67.176.215.84) |
| 16:19:40 | <geekosaur> | you need to put the terminal in character mode |
| 16:19:56 | <geekosaur> | you also need to disable buffering, probably |
| 16:20:10 | <geekosaur> | hSetBuffering stdout NoBuffering |
| 16:20:12 | <minoru_shiraeesh> | yes, I applied these settings |
| 16:20:15 | <minoru_shiraeesh> | hSetBuffering stdin NoBuffering |
| 16:20:17 | <minoru_shiraeesh> | hSetEcho stdin False |
| 16:20:41 | <minoru_shiraeesh> | it works okay if I run it from ghci |
| 16:21:52 | <geekosaur> | in ghci you are already in character mode. although I thought the RTS conflated buffering and terminal modes such that setting NoBuffering on stdin would enable character mode |
| 16:22:16 | × | ashesham` quits (~user@d8d87d1b0.access.telenet.be) (Ping timeout: 252 seconds) |
| 16:23:41 | <minoru_shiraeesh> | it works! |
| 16:23:58 | × | Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 260 seconds) |
| 16:24:02 | <minoru_shiraeesh> | setting NoBuffering to stdout helped |
| 16:24:06 | <minoru_shiraeesh> | thanks |
| 16:25:12 | <geekosaur> | ye, I just tested it here |
| 16:25:45 | × | Merfont quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 16:26:07 | → | tzh joins (~tzh@c-24-21-73-154.hsd1.wa.comcast.net) |
| 16:27:18 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 16:28:42 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client") |
| 16:29:46 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 16:31:08 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:b0f2:adc2:955f:bfd9) |
| 16:33:15 | × | ph88 quits (~ph88@2a02:8109:9e00:7e5c:d5ef:86b3:afc4:9258) (Ping timeout: 260 seconds) |
| 16:35:19 | × | LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection) |
| 16:35:25 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:b0f2:adc2:955f:bfd9) (Ping timeout: 250 seconds) |
| 16:36:55 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 16:39:27 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 16:40:13 | × | mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Remote host closed the connection) |
| 16:41:56 | × | Pickchea quits (~private@unaffiliated/pickchea) (Quit: Leaving) |
| 16:42:51 | → | LKoen joins (~LKoen@11.160.9.109.rev.sfr.net) |
| 16:43:21 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) |
| 16:46:42 | → | mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh) |
| 16:47:33 | → | olabaz joins (~olabian@ool-2f1268f1.dyn.optonline.net) |
| 16:51:47 | <olabaz> | hi, I'm new to haskell. what is the use case for haskell? Is it something I would use for writing an OS, low level systems programs, embedded? Is it something I would use for numerical computing or maybe low latency requirements? Does it have a niche where it shines? |
| 16:52:11 | → | fresheyeball joins (~isaac@c-71-237-105-37.hsd1.co.comcast.net) |
| 16:53:25 | × | mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Ping timeout: 252 seconds) |
| 16:54:00 | <raehik> | olabaz: it has a few niches, generally good when you have data that needs transforming |
| 16:54:16 | → | L29Ah joins (~L29Ah@unaffiliated/l29ah) |
| 16:54:20 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 16:54:43 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 248 seconds) |
| 16:54:43 | <raehik> | it's a very very general purpose language so you can do whatever. but it's not so great for systems programming where you want/need to do manual memory management |
| 16:55:26 | → | dmytrish joins (~mitra@37.228.247.154) |
| 16:56:03 | <juri_> | olabaz: I use it for 3d modelling, and running 3d printers. |
| 16:56:08 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 16:57:26 | → | mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh) |
| 16:57:59 | <olabaz> | I see, thanks. |
| 16:58:14 | <kuribas> | olabaz: none of those |
| 16:58:31 | <kuribas> | olabaz: in fact, I'd say for most problems, except those you mentioned :) |
| 16:58:51 | <olabaz> | haha, interesting |
| 17:00:05 | × | malumore quits (~malumore@151.62.127.162) (Ping timeout: 268 seconds) |
| 17:00:32 | <olabaz> | Any big corporations using Haskell in production? |
| 17:00:43 | <kuribas> | yes |
| 17:01:33 | × | kuribas quits (~user@ptr-25vy0i7jci8m8wg4e6i.18120a2.ip6.access.telenet.be) (Remote host closed the connection) |
| 17:01:35 | <geekosaur> | I could see it being used for the OS component of a microkernel, with the memory management coming from a C-based microservice |
| 17:01:43 | → | jrp joins (0550efe4@5.80.239.228) |
| 17:02:13 | <juri_> | olabaz: facebook, for one. |
| 17:02:18 | <olabaz> | how are they using it? |
| 17:02:41 | <juri_> | they have some system that uses haskell to write php, from what i can tell. |
| 17:04:48 | <dexterfoo> | olabaz: Haskell is a general purpose high level programming language. You could use it as an alternative to Java/C#/Python/Ruby/etc... |
| 17:05:00 | <geekosaur> | weren't they also using it for their spam detection stuff? |
| 17:06:16 | <dexterfoo> | It is less suitable for level OS programming or embedded programming. (although with effort it can be done, just like with Java/Python/C#) |
| 17:08:44 | × | mason_ quits (~bc8134e3@1582020-static.lxtnkya3.metronetinc.net) (Quit: CGI:IRC (Session timeout)) |
| 17:09:39 | × | ericsagnes quits (~ericsagne@2405:6580:0:5100:2722:6cc:f3d:a92d) (Ping timeout: 260 seconds) |
| 17:12:19 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 17:15:25 | <jrp> | Hi, a design pattern / idiom question ... I am writing a mini Forth interpreter. |
| 17:15:40 | <jrp> | The core type is a State monad that carries the stacks, dictionary, etc |
| 17:15:50 | <jrp> | -- | An instruction, the implementation of a /word/. |
| 17:15:59 | <jrp> | type Forth w a r = CME.ExceptT VMSignal (StateT (VM w a) IO) r |
| 17:16:09 | <jrp> | -- | The result of interpreting an instruction: Left = exit, Right () = continue |
| 17:16:18 | <jrp> | type ForthStep w a = Forth w a (Either () ()) |
| 17:16:30 | <jrp> | next :: ForthStep w a |
| 17:16:39 | <jrp> | next = return $ Right () |
| 17:16:49 | <jrp> | exit :: ForthStep w a |
| 17:16:57 | <jrp> | exit = return $ Left () |
| 17:17:06 | <jrp> | forthBlock :: [ForthStep w a] -> ForthStep w a |
| 17:17:07 | <geekosaur> | a pastebin might e more appropriate |
| 17:17:13 | <geekosaur> | @where paste |
| 17:17:14 | <lambdabot> | Help us help you: please paste full code, input and/or output at e.g. https://paste.tomsmeding.com |
| 17:17:59 | <jrp> | https://paste.tomsmeding.com/wpCgSxV1 |
| 17:18:18 | <jrp> | My questions: |
| 17:18:26 | → | sophie_ joins (~sophie@117.222.66.195) |
| 17:18:27 | <jrp> | * Is Either () () the best way of representing exit / next execution choices or is there a better idiom? |
| 17:18:36 | <jrp> | * Is there a more idiomatic way of writing forthBlock, which is intended to exit from interpreting the current list of instructions, retaining what has been sone so far, perhaps as some sort of fold? |
| 17:20:28 | <monochrom> | Either () () is the 2nd worst way. |
| 17:20:32 | <geekosaur> | the Either looks to me like a verbose way of writing a Bool, or maybe a type: data Result = Stop | Continue |
| 17:20:37 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 17:20:46 | <monochrom> | The best way is defining your own algebraic data type. |
| 17:21:03 | <monochrom> | Especially since you also get to choose meaningful names. |
| 17:21:22 | <raehik> | what's the 1st worst way! Just () ? haha |
| 17:21:30 | <monochrom> | Bool |
| 17:21:41 | <geekosaur> | probably Bool, since it has too many other possible meanings |
| 17:22:07 | → | ericsagnes joins (~ericsagne@2405:6580:0:5100:243e:56b2:17ce:1eff) |
| 17:22:57 | <monochrom> | forthBlock is a foldr. |
| 17:23:15 | <jrp> | OK but if I define my own ADT will I not have to write a bunch of Functor, Monad , etc, instances? |
| 17:23:17 | <monochrom> | But I don't know which one is more idiomatic. Using foldr or writing your own recursion. |
| 17:23:26 | <monochrom> | People can fight religious wars on that. |
| 17:24:03 | <monochrom> | Where are you using Either() as a Functor or Applicative or Monad? |
| 17:25:10 | → | stree joins (~stree@68.36.8.116) |
| 17:26:41 | → | zva joins (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) |
| 17:26:53 | <jrp> | Probably nowhere at present unless there is some better forthBlock that could use it. Is it really a foldr, as the Left () case returns a Right () |
| 17:27:27 | <gnumonic> | the compiler can derive a lot of classes for you if you do need the instances fwiw |
| 17:27:40 | <geekosaur> | doesn't seem to be much room for any of those instances since Either () () carries only one piece of information |
| 17:27:51 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client") |
| 17:27:51 | × | HiRE quits (~HiRE@104.128.237.40) (Ping timeout: 250 seconds) |
| 17:27:55 | <geekosaur> | and Functor and Applicative just pass that through |
| 17:28:25 | <jrp> | Maybe () won't work at it will throw away the computations so far on hitting a Nothing |
| 17:28:57 | <monochrom> | Either()() is Bool. No one asks how to make Bool a Functor. |
| 17:28:59 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 17:29:57 | → | jneira[m] joins (~jneira@20.red-176-83-69.dynamicip.rima-tde.net) |
| 17:30:03 | <geekosaur> | and Maybe () has no computations to throw away |
| 17:30:17 | <jrp> | OK, so suppose we have data StepResult = Next | Exit deriving ... |
| 17:30:31 | <monochrom> | forthBlock = foldr (\i r -> i >>= either (\_ -> next) (\_ -> r)) next |
| 17:31:03 | <geekosaur> | you're confusing the Forth monad with one of the pieces of information it carries. |
| 17:32:05 | <jrp> | geekosaur of one of the ForthBlock steps produces a Nothing (exit) the whole block produces Nothing, rather than Just () |
| 17:32:06 | <geekosaur> | now, you do have to worry about whether the ExceptT throws away the inner StateT on exception |
| 17:32:28 | → | lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 17:32:35 | <jrp> | Ah |
| 17:32:51 | <geekosaur> | what'[s the difference between Nothing and Left () or False? |
| 17:34:00 | <geekosaur> | there's no extra content to be thrpown away. the actual result you want is probably inside the StateT (VM w a), which sticks around regardless of what value it's attached to |
| 17:34:47 | × | lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 17:35:32 | <jrp> | Ah yes, sorry. I think that I'd tried forthBlock = foldl1 (>>) earlier on and it didn't work |
| 17:36:02 | × | mnrmnaugh quits (~mnrmnaugh@unaffiliated/mnrmnaugh) (Quit: Leaving) |
| 17:38:40 | <jrp> | The other approach that I'd contemplated was using the Continuation monad, but that looked fairly forbidding |
| 17:39:56 | <minoru_shiraeesh> | one naive and primitive approach to implement early returning is having a flag in your StateT indicating whether it is in "early-return" mode or not. |
| 17:40:17 | <minoru_shiraeesh> | if it is, then it does nothing with the current statement |
| 17:41:05 | <geekosaur> | push the ExceptT down inside the StateT so an exception doesn't throw away the VM, then have exit be a specific exception value |
| 17:42:05 | <jrp> | minoru_shiraeesh Yes, I had that and it seemed to work OK, but was interested in exploring alternativess |
| 17:42:31 | × | jneira[m] quits (~jneira@20.red-176-83-69.dynamicip.rima-tde.net) (Remote host closed the connection) |
| 17:44:05 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 17:44:33 | × | jespada quits (~jespada@87.74.37.248) (Quit: Leaving) |
| 17:45:06 | × | dmytrish quits (~mitra@37.228.247.154) (Ping timeout: 240 seconds) |
| 17:45:20 | <jrp> | geekosaur to turn the Forth type inside out. I'll have a look. At present it works quite well (you can type ^C and stop an execution or forked VM |
| 17:45:53 | <monochrom> | geekosaur: I think you got it the other way round |
| 17:45:53 | → | earthy joins (~arthurvl@deban2.xs4all.space) |
| 17:45:57 | <monochrom> | @unmtl ExceptT E (StateT S IO) |
| 17:45:57 | <lambdabot> | err: `ExceptT E (StateT S IO)' is not applied to enough arguments, giving `/\A. S -> IO (Either E A, S)' |
| 17:45:59 | <geekosaur> | probably |
| 17:46:00 | <monochrom> | err |
| 17:46:02 | <monochrom> | @unmtl ExceptT E (StateT S IO) a |
| 17:46:02 | <lambdabot> | S -> IO (Either E a, S) |
| 17:46:21 | <geekosaur> | yeh, ok, I reversed them again |
| 17:46:22 | <monochrom> | That's how to have S either way. (Pun intended!) |
| 17:46:58 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 17:48:08 | <monochrom> | Nice, unmtl knows about Λ |
| 17:48:27 | <monochrom> | Does unmtl use System F? :) |
| 17:48:53 | <jrp> | @unmtl ExceptT VMSignal (StateT (VM w a) IO) r |
| 17:48:53 | <lambdabot> | VM w a -> IO (Either VMSignal r, VM w a) |
| 17:49:08 | ← | sophie_ parts (~sophie@117.222.66.195) () |
| 17:51:37 | <jrp> | Not sure I follow |
| 17:52:16 | <monochrom> | The other way round would be: |
| 17:52:22 | <jrp> | What would the other way around version look like |
| 17:52:29 | <monochrom> | @unmtl StateT S (ExceptT E IO) a |
| 17:52:29 | <lambdabot> | S -> IO (Either E (a, S)) |
| 17:52:30 | → | juuandyy joins (~juuandyy@90.106.228.121) |
| 17:53:30 | <jrp> | gotcha |
| 17:55:33 | → | knupfer joins (~Thunderbi@i577BCD4D.versanet.de) |
| 17:57:40 | <jrp> | And to complete the argument, adding something to my E type ( data VMSignal = VMEOF | VMNoInput | VMError String | VMExit | VMContinue) would allow me to use Exception to control program flow beyond handling Exceptions |
| 17:58:42 | <jrp> | Cool. What does my forthBlock look like under this model? |
| 17:59:06 | <geekosaur> | you don't even need VMContinue there, it'd be the Right instead of the Left. |
| 17:59:36 | × | carlomagno quits (~cararell@148.87.23.4) (Remote host closed the connection) |
| 17:59:52 | <monochrom> | Or you never needed your Either()(). |
| 18:00:28 | → | carlomagno joins (~cararell@148.87.23.4) |
| 18:00:32 | <monochrom> | And never need VMContinue, ExceptT already does that. |
| 18:00:48 | <jrp> | Even cooler |
| 18:00:51 | → | my_name_is_not_j joins (mynameisno@gateway/shell/matrix.org/x-hhwvpqfmykooxqsa) |
| 18:01:38 | <minoru_shiraeesh> | maybe it's the continue that invoke inside a loop |
| 18:02:20 | <monochrom> | Ah geekosaur was saying what I just said. |
| 18:03:03 | <minoru_shiraeesh> | but usually you also have a break keyword in addition to continue |
| 18:03:08 | → | lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 18:03:23 | × | lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 18:03:36 | × | DTZUZU quits (~DTZUZO@205.ip-149-56-132.net) (Read error: Connection reset by peer) |
| 18:03:44 | <monochrom> | minoru_shiraeesh, does Forth have a break keyword? |
| 18:03:51 | <minoru_shiraeesh> | idk |
| 18:03:57 | → | DTZUZU joins (~DTZUZO@205.ip-149-56-132.net) |
| 18:04:04 | <monochrom> | Thought so. |
| 18:04:08 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 265 seconds) |
| 18:05:00 | → | jesser[m] joins (jessermatr@gateway/shell/matrix.org/x-aupqwvyiwubojerx) |
| 18:05:11 | → | mnrmnaugh joins (~mnrmnaugh@unaffiliated/mnrmnaugh) |
| 18:05:54 | <minoru_shiraeesh> | that's what I'm saying, I'm not sure what that "continue" mean, but seems unlikely that it's a loop's continue |
| 18:06:09 | <monochrom> | It means the "next" in the old version. |
| 18:06:25 | × | nineonine quits (~nineonine@2604:3d08:7785:9600:35c4:856c:8487:6e07) (Ping timeout: 250 seconds) |
| 18:06:47 | × | LKoen quits (~LKoen@11.160.9.109.rev.sfr.net) (Remote host closed the connection) |
| 18:06:50 | <wroathe> | So I'm working on an HTML parser, serializer, and validator that may or may not see the light of day, but one of the thoughts that's been in the back of my head with the API is the old debate between String, Text, and ByteString. Some libraries make their functions polymorphic with the IsString constraint to allow the user to choose the string-like type that they're working with, and others opt for |
| 18:06:50 | → | nineonine joins (~nineonine@50.216.62.2) |
| 18:06:56 | <wroathe> | ByteString only, and others still opt for individual functions for each type of string they support. Does any of you have strong opinions on this debate? |
| 18:07:51 | → | lawr3nce joins (~lawr3nce@gateway/tor-sasl/lawr3nce) |
| 18:09:00 | <monochrom> | And there is also a debate on "when you say that, do you mean the input? do you mean the output?" |
| 18:09:18 | <int-e> | wroathe: It's an awful debate ;-) |
| 18:09:30 | <wroathe> | int-e: Why? |
| 18:09:30 | <jrp> | No, but it has internally an ?exit keyword, so if I run a block, I can bail before completing it (so yes, break). The break should not, however, propagate. Execution should continue to the next word in the calling block. Is there a neat forthBlock that achieves that? |
| 18:10:07 | → | HiRE joins (~HiRE@2602:ffc5:20::1:512e) |
| 18:10:09 | <monochrom> | ExceptT has a try-catch mechanism. |
| 18:10:09 | → | dpl joins (~dpl@77-121-78-163.chn.volia.net) |
| 18:10:16 | <int-e> | wroathe: So many strong opinions. |
| 18:10:20 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 18:10:22 | <wroathe> | monochrom: Mind elaborating? |
| 18:10:47 | <monochrom> | Your parser takes an input and emits an output. |
| 18:11:25 | <monochrom> | The debate for "input should use String vs ByteString vs Text" is very different from the debat for "output should use String vs ByteString vs Text". In fact the opposite debate. |
| 18:13:03 | <wroathe> | monochrom: Well, AIUI the best for efficiency would be ByteString both ways, but if Haskell makes allowing the user to choose which string type they want to work with relatively easy, why not just IsString everything? |
| 18:13:44 | <monochrom> | Clearly, IsString only covers one end, I forgot which. |
| 18:14:11 | <maerwald> | :t fromString |
| 18:14:12 | <lambdabot> | error: |
| 18:14:12 | <lambdabot> | • Variable not in scope: fromString |
| 18:14:13 | <lambdabot> | • Perhaps you meant one of these: |
| 18:14:24 | <monochrom> | And I suspect that a truly general API would be polymorphic in both input and output but independently. |
| 18:14:36 | <int-e> | HTML is messy anyway... ideally you should be told the encoding (and then the answer is fairly straightforward, you'd want Text for the parsing part), but sometimes you don't and need to find a charset declaration of some sorts... probably treating the input as something byte-based like latin1 up to that point. |
| 18:14:48 | <maerwald> | @hoogle fromString |
| 18:14:49 | <lambdabot> | Data.String fromString :: IsString a => String -> a |
| 18:14:49 | <lambdabot> | GHC.Exts fromString :: IsString a => String -> a |
| 18:14:49 | <lambdabot> | Data.Text.Internal.Builder fromString :: String -> Builder |
| 18:14:52 | <jrp> | monochrom so I need to try, catch, rethrow other than VMExit? |
| 18:15:06 | <monochrom> | yes |
| 18:15:54 | <monochrom> | Or don't use ExceptT. Define your own type that's like ExceptT but better. |
| 18:15:54 | → | geowiesnot joins (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) |
| 18:15:58 | → | lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 18:16:09 | <MrMobius> | jrp, what is the forth for? |
| 18:16:10 | → | timCF joins (~i.tkachuk@m91-129-104-226.cust.tele2.ee) |
| 18:16:19 | <monochrom> | ExceptT has two cases, but nothing says you can't plagiarize it and add one more case. |
| 18:17:00 | × | juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!) |
| 18:17:45 | <wroathe> | int-e: Yeah, I'm just digging into the parser design right now and encoding was something that I figured would throw a wrench into this high level plan |
| 18:18:12 | → | juuandyy joins (~juuandyy@90.106.228.121) |
| 18:18:33 | × | lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 18:18:56 | <jrp> | MrMobius in my case an exercise, but it's normally used for programming fpgas or other low-level devices. It's low overhead, fast and easy to bootstrap onto new devices |
| 18:19:11 | <int-e> | wroathe: For sanity it's probably best to seaparate the part that guesses the encoding from the actual parsing. |
| 18:19:14 | <monochrom> | Early experience proved that if you use String in the output, it takes too much space. No one would debate against that. |
| 18:19:14 | → | LKoen joins (~LKoen@11.160.9.109.rev.sfr.net) |
| 18:19:21 | <timCF> | Hello! Is expression `a <|> b <|> c` lazy evaluated in case where every part is `ExceptT e m a` where `m` is some IO-like monad with side effects? I mean let's say `a` returned Left, then `b` returned Right. Will side-effects of `c` evaluated in this case? |
| 18:19:27 | <wroathe> | int-e: Yup. That was exactly my thinking. |
| 18:19:44 | <int-e> | monochrom: Well, unless it's consumed (written to a file, say) on the spot... |
| 18:19:53 | <monochrom> | The rest of the debate seems to be simply, as usual, people disagreeing on even what "HTML parser" means. |
| 18:20:02 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 18:20:09 | <wroathe> | monochrom: Yeah, the main purpose of allowing for String was for ease of repl experimentation |
| 18:20:20 | × | vv8 quits (~egp_@2.95.117.163) (Quit: EXIT) |
| 18:20:36 | <int-e> | (IME, when data is basically streamed, String works much better than most people think.) |
| 18:20:47 | <jrp> | monochrom I may end up writing an alternative ExceptT but I was trying to build on the existing ecosystem (hence the desire to use folds or other existing apparatus |
| 18:20:52 | <int-e> | But *storing* text chunks as String is costly. |
| 18:20:58 | × | bitmagie quits (~Thunderbi@200116b806a8c30018046d968b59bdfe.dip.versatel-1u1.de) (Quit: bitmagie) |
| 18:21:13 | <monochrom> | Just for starters: HTML5 seems to say that the encoding can still be indeterminate until you read something in the header. But there are people who don't share this view. |
| 18:21:14 | → | redmp joins (~redmp@172.58.35.164) |
| 18:21:16 | <Clint> | jrp: not sure what you're trying to do but ChronicleT is like ExceptT with a third case |
| 18:21:46 | <monochrom> | Right there you can have a "debate" on ByteString vs Text and it's just because people disagree on "should you assume an encoding before you start?" |
| 18:23:25 | <monochrom> | As usual, the correct answer is "it depends". |
| 18:23:53 | <wroathe> | monochrom: Valid points. I guess I can't punt on thinking about the encoding piece of this any longer, as it's all integrated. |
| 18:24:09 | <monochrom> | Some people write an HTML parser for scraping. In this case you don't assume an encoding, and you don't decode either, you can stay ByteString. |
| 18:24:36 | <monochrom> | Some other people write an HTML parser because they're writing a web browser. They have the opposite stake. |
| 18:24:42 | <jrp> | Thanks Clint I'm trying to run a sequence of actions one of which might be a conditional break/exit I'll have a look at Chronicle |
| 18:24:55 | <wroathe> | monochrom: I don't quite follow why scraping would be different than browser parsing |
| 18:25:11 | <wroathe> | monochrom: As far as I see, you'd want your parser to handle multiple encodings, regardless |
| 18:25:43 | <wroathe> | monochrom: I'll likely "assume" utf-8, until I see evidence that they want something else. |
| 18:25:49 | <monochrom> | "never decode" counts as succeeding with multiple encodings, including even invalid encodings? |
| 18:26:11 | <wroathe> | monochrom: "never decode"? |
| 18:26:40 | → | nut` joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 18:27:03 | <monochrom> | Suppose I just want to look for <span class="foo">...</span> and save the "..." in a file and let someone else interpret the "..."? |
| 18:27:25 | <wroathe> | monochrom: Well, even attribute values would be subject to encoding, would they not? |
| 18:27:35 | <wroathe> | monochrom: (I'm in the process of reading the spec on this as we speak) |
| 18:28:03 | <monochrom> | In practice people stick to ascii for class="foo". |
| 18:28:06 | <wroathe> | monochrom: But even locating the sequence <span would be subject to encoding |
| 18:28:13 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 18:28:24 | <wroathe> | monochrom: Even if multiple encodings share that same byte sequence |
| 18:28:30 | × | nut` quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
| 18:28:44 | <wroathe> | monochrom: Sure, but in practice most people use utf-8, and so I wouldn't even need to handle other encodings |
| 18:28:52 | <wroathe> | monochrom: If all we're talking is practice |
| 18:29:13 | <monochrom> | In practice, what I have seen: |
| 18:29:22 | <monochrom> | 1. tags are always in ascii |
| 18:29:32 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 18:29:39 | <jrp> | Thanks for your suggestions monochrom minoru_shiraeesh geekosaur |
| 18:29:40 | <monochrom> | 2. people can declare one encoding and use another |
| 18:29:40 | <hyperisco> | what encodings are you running into that are not compatible with ASCII? |
| 18:29:47 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Remote host closed the connection) |
| 18:29:58 | <maerwald> | there's a way to auto-detect encoding |
| 18:30:02 | <wroathe> | monochrom: #2 is a really good point |
| 18:30:08 | ← | olabaz parts (~olabian@ool-2f1268f1.dyn.optonline.net) ("WeeChat 2.3") |
| 18:31:24 | <maerwald> | https://hackage.haskell.org/package/charsetdetect-1.1.0.2 |
| 18:31:29 | <monochrom> | 0. The overarching observation: people cargo-cult from other people and never actually read the spec like you do |
| 18:31:44 | <maerwald> | there was a newer one |
| 18:31:59 | <monochrom> | this is why they don't know that class="λ" is a thing. |
| 18:32:03 | <wroathe> | maerwald: That's awesome. Thanks for the link. |
| 18:32:12 | <hyperisco> | if only there was a way to detect when a JSON or XML document was served with text/html media type |
| 18:32:44 | <monochrom> | this is why they declare one encoding then use another. Their editor is set to the latter, but they plagiarize from an HTML file that uses the former. |
| 18:33:15 | <wroathe> | hyperisco: Well, the JSON detection is a bit easier to do |
| 18:33:26 | → | lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 18:33:32 | <wroathe> | hyperisco: Because < isn't the beginning of a valid JSON token |
| 18:33:45 | <wroathe> | hyperisco: And for XML it would require more advanced heuristics |
| 18:34:02 | <wroathe> | hyperisco: Like detecting if there's an XML DTD |
| 18:34:39 | <hyperisco> | well you better get on it because there are PHP backends serving the wrong media type everywhere |
| 18:34:48 | <wroathe> | hyperisco: hahahaha |
| 18:35:46 | <maerwald> | wroathe: https://hackage.haskell.org/package/charsetdetect-ae |
| 18:35:49 | <maerwald> | there's another one |
| 18:35:53 | × | lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 18:38:07 | × | juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!) |
| 18:38:47 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 18:39:02 | → | juuandyy joins (~juuandyy@90.106.228.121) |
| 18:39:14 | <dexterfoo> | I added "HasCallStack" constraint to my function. Now my function calls itself (tail-)recursively. When I print the callstack i see all of the recursive calls. How can I make the function recursively call itself without adding another stack frame? freezing the callstack doesn't work because then when I call other functions I don't get the added stackframes |
| 18:41:54 | → | kritzefitz joins (~kritzefit@212.86.56.80) |
| 18:42:32 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 240 seconds) |
| 18:43:47 | <geekosaur> | dexterfoo, delegate the recursive call to a subfunction? foo x y z = go x y z where go a b c = ... (and no HasCallStack constraint) |
| 18:44:46 | <dexterfoo> | geekosaur: thanks, i will try |
| 18:46:50 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:683e:b1da:22d6:55f2) |
| 18:47:11 | ← | seven_three parts (~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)") |
| 18:48:35 | → | titusg joins (~user@2a00:23c6:ab80:c700:766e:b64a:8e02:8707) |
| 18:50:58 | → | lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 18:51:03 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:683e:b1da:22d6:55f2) (Ping timeout: 250 seconds) |
| 18:52:32 | × | clynamen quits (~clynamen@net-93-66-1-11.cust.vodafonedsl.it) (Quit: ZNC 1.7.5 - https://znc.in) |
| 18:53:43 | × | lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 276 seconds) |
| 18:54:56 | → | clynamen joins (~clynamen@net-93-66-1-11.cust.vodafonedsl.it) |
| 19:00:15 | → | Guest6509 joins (~laudiacay@67.176.215.84) |
| 19:04:36 | × | philderbeast quits (~textual@bras-base-vldvpq5901w-grc-06-184-144-244-252.dsl.bell.ca) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 19:04:41 | × | Guest6509 quits (~laudiacay@67.176.215.84) (Ping timeout: 240 seconds) |
| 19:05:03 | × | s00pcan quits (~chris@107.181.165.217) (Ping timeout: 252 seconds) |
| 19:05:18 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:06:50 | → | s00pcan joins (~chris@075-133-056-178.res.spectrum.com) |
| 19:08:16 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 19:08:48 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:10:01 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds) |
| 19:10:29 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 19:12:13 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:12:24 | → | malumore joins (~malumore@151.62.127.162) |
| 19:12:51 | × | koluacik quits (~koluacik@134.122.28.77) (Ping timeout: 248 seconds) |
| 19:13:46 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 19:14:01 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:14:16 | × | s00pcan quits (~chris@075-133-056-178.res.spectrum.com) (Remote host closed the connection) |
| 19:14:20 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 19:14:34 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 19:14:38 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:14:54 | × | gehmehgeh quits (~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving) |
| 19:16:17 | → | koluacik joins (~koluacik@134.122.28.77) |
| 19:17:35 | × | Tario quits (~Tario@201.192.165.173) (Read error: Connection reset by peer) |
| 19:21:51 | × | rajivr quits (uid269651@gateway/web/irccloud.com/x-llmsuyffzjhsmytj) (Quit: Connection closed for inactivity) |
| 19:22:20 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 19:27:12 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 19:27:56 | → | Synthetica joins (uid199651@gateway/web/irccloud.com/x-jigmslouldxhdupx) |
| 19:28:32 | → | __minoru__shirae joins (~shiraeesh@46.34.206.138) |
| 19:28:43 | × | minoru_shiraeesh quits (~shiraeesh@46.34.206.15) (Ping timeout: 252 seconds) |
| 19:31:37 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 19:32:39 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:33:33 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 265 seconds) |
| 19:35:16 | → | __monty__ joins (~toonn@unaffiliated/toonn) |
| 19:38:12 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
| 19:39:58 | → | Lycurgus joins (~niemand@98.4.118.65) |
| 19:40:05 | × | juuandyy quits (~juuandyy@90.106.228.121) (Quit: Konversation terminated!) |
| 19:41:22 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 252 seconds) |
| 19:41:50 | → | lawr3nce_ joins (~lawr3nce@gateway/tor-sasl/lawr3nce) |
| 19:42:32 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) |
| 19:42:45 | × | lawr3nce quits (~lawr3nce@gateway/tor-sasl/lawr3nce) (Ping timeout: 240 seconds) |
| 19:46:29 | → | stree joins (~stree@68.36.8.116) |
| 19:46:45 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 19:46:59 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:49:26 | → | lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 19:51:52 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 19:52:05 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 19:52:09 | × | lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 19:52:40 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 19:56:32 | → | s00pcan joins (~chris@075-133-056-178.res.spectrum.com) |
| 19:59:02 | → | CrazyPython joins (~crazypyth@98.122.164.118) |
| 19:59:24 | → | nut joins (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 20:00:39 | → | Lord_of_Life_ joins (~Lord@unaffiliated/lord-of-life/x-0885362) |
| 20:00:55 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 260 seconds) |
| 20:01:06 | × | roconnor quits (~roconnor@host-45-58-225-218.dyn.295.ca) (Ping timeout: 265 seconds) |
| 20:02:04 | × | Lord_of_Life quits (~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 265 seconds) |
| 20:03:12 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:03:28 | → | roconnor joins (~roconnor@host-45-58-225-218.dyn.295.ca) |
| 20:03:40 | × | _ht quits (~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection) |
| 20:03:47 | Lord_of_Life_ | is now known as Lord_of_Life |
| 20:04:04 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 20:04:07 | → | jijimofo joins (~cmo@S010610561191f5d6.lb.shawcable.net) |
| 20:04:15 | × | lawr3nce_ quits (~lawr3nce@gateway/tor-sasl/lawr3nce) (Remote host closed the connection) |
| 20:05:27 | × | petersen quits (~petersen@redhat/juhp) (Ping timeout: 265 seconds) |
| 20:05:46 | × | xff0x quits (~xff0x@2001:1a81:52f5:ac00:e7f3:bc3c:e7b8:4be7) (Ping timeout: 245 seconds) |
| 20:06:45 | → | xff0x joins (~xff0x@2001:1a81:52f5:ac00:2560:bbed:ada5:1f88) |
| 20:06:45 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 20:07:42 | → | petersen joins (~petersen@redhat/juhp) |
| 20:07:49 | → | falafel joins (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) |
| 20:09:32 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds) |
| 20:10:23 | × | jb55 quits (~jb55@gateway/tor-sasl/jb55) (Remote host closed the connection) |
| 20:10:28 | → | lordcirth__ joins (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) |
| 20:12:12 | × | malumore quits (~malumore@151.62.127.162) (Ping timeout: 240 seconds) |
| 20:12:57 | × | lordcirth_ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 20:15:06 | × | __minoru__shirae quits (~shiraeesh@46.34.206.138) (Ping timeout: 240 seconds) |
| 20:22:31 | × | jrp quits (0550efe4@5.80.239.228) (Quit: Connection closed) |
| 20:25:00 | × | xcmw quits (~textual@dyn-72-33-2-152.uwnet.wisc.edu) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 20:25:45 | × | DirefulSalt quits (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) (Remote host closed the connection) |
| 20:28:56 | → | lordcirth_ joins (~lordcirth@2607:f2c0:95b3:4400:bc81:7608:42a7:e76a) |
| 20:29:50 | × | akulkarn` quits (~user@aputeaux-652-1-270-231.w90-43.abo.wanadoo.fr) (Ping timeout: 246 seconds) |
| 20:31:35 | × | lordcirth__ quits (~lordcirth@2607:f2c0:95b3:4400:11af:5eb6:2b18:3df9) (Ping timeout: 250 seconds) |
| 20:31:45 | → | DirefulSalt joins (DirefulSal@gateway/vpn/privateinternetaccess/direfulsalt) |
| 20:34:14 | × | bitdex quits (~bitdex@gateway/tor-sasl/bitdex) (Quit: = "") |
| 20:34:18 | → | elfets joins (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) |
| 20:34:46 | → | jao joins (~jao@pdpc/supporter/professional/jao) |
| 20:36:41 | → | xcmw joins (~textual@dyn-72-33-2-152.uwnet.wisc.edu) |
| 20:37:41 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 20:37:50 | × | alx741 quits (~alx741@186.178.109.231) (Ping timeout: 265 seconds) |
| 20:41:33 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Ping timeout: 260 seconds) |
| 20:43:01 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds) |
| 20:43:15 | → | pavonia joins (~user@unaffiliated/siracusa) |
| 20:44:57 | × | ClaudiusMaximus quits (~claude@unaffiliated/claudiusmaximus) (Quit: ->) |
| 20:47:06 | × | nan` quits (~nan`@unaffiliated/nan/x-5405850) (Ping timeout: 240 seconds) |
| 20:47:30 | × | nicholasbulka quits (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) (Remote host closed the connection) |
| 20:47:30 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:606d:f242:39c4:3d4e) |
| 20:50:30 | → | alx741 joins (~alx741@181.196.69.117) |
| 20:51:11 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 20:51:57 | × | kiweun quits (~kiweun@2607:fea8:2a62:9600:606d:f242:39c4:3d4e) (Ping timeout: 250 seconds) |
| 20:53:39 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 20:54:18 | × | chele quits (~chele@5.53.222.202) (Remote host closed the connection) |
| 20:56:01 | → | nan` joins (~nan`@unaffiliated/nan/x-5405850) |
| 20:57:46 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 240 seconds) |
| 20:59:44 | × | Varis quits (~Tadas@unaffiliated/varis) (Remote host closed the connection) |
| 21:00:04 | × | Carl6 quits (6bc3aca7@107-195-172-167.lightspeed.oshkwi.sbcglobal.net) (Quit: Connection closed) |
| 21:01:54 | → | dmytrish joins (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) |
| 21:02:52 | × | sord937 quits (~sord937@gateway/tor-sasl/sord937) (Quit: sord937) |
| 21:03:31 | → | jamm_ joins (~jamm@unaffiliated/jamm) |
| 21:05:21 | × | timCF quits (~i.tkachuk@m91-129-104-226.cust.tele2.ee) (Quit: leaving) |
| 21:05:59 | → | Codaraxis__ joins (~Codaraxis@92.223.89.199) |
| 21:06:32 | × | frozenErebus quits (~frozenEre@37.231.244.249) (Ping timeout: 240 seconds) |
| 21:07:42 | → | olligobber joins (olligobber@gateway/vpn/privateinternetaccess/olligobber) |
| 21:08:24 | <jijimofo> | have there been attempts at verify ghc akin to the compcert project? |
| 21:09:05 | <jijimofo> | have been thinking about doing a verified haskell project but im a beginner in mechanical logic |
| 21:12:07 | → | nut` joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 21:12:41 | × | Lycurgus quits (~niemand@98.4.118.65) (Quit: Exeunt) |
| 21:15:57 | × | mikoto-chan quits (~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 240 seconds) |
| 21:15:58 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 21:17:39 | <monochrom> | No. |
| 21:18:25 | × | hyperisco quits (~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds) |
| 21:18:26 | × | nut quits (~gtk@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 21:20:16 | × | stree quits (~stree@68.36.8.116) (Quit: Caught exception) |
| 21:20:40 | → | stree joins (~stree@68.36.8.116) |
| 21:21:13 | × | knupfer quits (~Thunderbi@i577BCD4D.versanet.de) (Ping timeout: 260 seconds) |
| 21:22:16 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 21:30:17 | <maerwald> | unlikely to happen, imo |
| 21:30:32 | <maerwald> | check out CakeML |
| 21:30:36 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Remote host closed the connection) |
| 21:31:35 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 21:31:42 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 21:33:07 | × | titusg quits (~user@2a00:23c6:ab80:c700:766e:b64a:8e02:8707) (Ping timeout: 248 seconds) |
| 21:35:52 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 21:38:00 | → | seven_three joins (~user@pool-96-233-64-53.bstnma.fios.verizon.net) |
| 21:38:43 | × | nut` quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Read error: No route to host) |
| 21:39:49 | → | nicholasbulka joins (~nicholasb@2601:900:4301:da0:5440:6bb8:f181:7832) |
| 21:41:17 | <NemesisD> | given `data MyRec = R { age :: Int }` and a formatting string "Your age is {name}" :: Text and maybe a typeclass that gives me `toT :: a -> Text`, would it be possible using Generic/Data to write an interpolation function that takes each field by name, applies `toT` and fills the placeholder? or do i need TH for that? |
| 21:41:42 | → | kiweun joins (~kiweun@2607:fea8:2a62:9600:5994:3900:4bf6:3fc2) |
| 21:43:26 | ← | seven_three parts (~user@pool-96-233-64-53.bstnma.fios.verizon.net) ("ERC (IRC client for Emacs 27.2)") |
| 21:44:51 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 21:45:22 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 21:45:39 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 21:46:54 | × | coot quits (~coot@37.30.50.130.nat.umts.dynamic.t-mobile.pl) (Ping timeout: 260 seconds) |
| 21:47:44 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 21:48:02 | × | __monty__ quits (~toonn@unaffiliated/toonn) (Quit: leaving) |
| 21:48:20 | × | cantstanya quits (~chatting@gateway/tor-sasl/cantstanya) (Remote host closed the connection) |
| 21:48:24 | × | falafel quits (~falafel@pool-96-255-70-50.washdc.fios.verizon.net) (Ping timeout: 265 seconds) |
| 21:50:40 | → | cantstanya joins (~chatting@gateway/tor-sasl/cantstanya) |
| 21:52:20 | → | elliott_ joins (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) |
| 21:52:36 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 21:55:45 | × | michalz quits (~user@185.246.204.61) (Remote host closed the connection) |
| 21:56:11 | × | merijn quits (~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 240 seconds) |
| 21:56:38 | × | elliott_ quits (~elliott@pool-108-18-30-46.washdc.fios.verizon.net) (Ping timeout: 252 seconds) |
| 21:56:53 | × | kritzefitz quits (~kritzefit@212.86.56.80) (Remote host closed the connection) |
| 21:57:31 | × | jamm_ quits (~jamm@unaffiliated/jamm) (Remote host closed the connection) |
| 21:59:47 | × | machinedgod quits (~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 268 seconds) |
| 22:02:33 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 22:02:55 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 22:03:22 | × | Guest94131 quits (~textual@zrcout.mskcc.org) (Quit: My MacBook has gone to sleep. ZZZzzz…) |
| 22:07:18 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 22:09:09 | × | jijimofo quits (~cmo@S010610561191f5d6.lb.shawcable.net) (Quit: Leaving) |
| 22:13:10 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 252 seconds) |
| 22:13:41 | → | Tario joins (~Tario@201.192.165.173) |
| 22:15:00 | → | Feuermagier joins (~Feuermagi@2a02:2488:4211:3400:7285:c2ff:fe22:172e) |
| 22:16:46 | × | wonko7 quits (~wonko7@62.115.229.50) (Ping timeout: 240 seconds) |
| 22:17:36 | × | fendor quits (~fendor@178.115.128.219.wireless.dyn.drei.com) (Remote host closed the connection) |
| 22:19:06 | × | Lowl3v3l quits (~Lowl3v3l@dslb-002-207-103-026.002.207.pools.vodafone-ip.de) (Ping timeout: 260 seconds) |
| 22:20:24 | → | Alleria joins (~textual@2603-7000-3040-0000-5566-884b-fd9b-56dc.res6.spectrum.com) |
| 22:20:26 | × | Kaiepi quits (~Kaiepi@47.54.252.148) (Remote host closed the connection) |
| 22:20:26 | × | Guest_92 quits (7a3b26e8@122-59-38-232-adsl.sparkbb.co.nz) (Quit: Connection closed) |
| 22:20:47 | Alleria | is now known as Guest48627 |
| 22:20:57 | → | Kaiepi joins (~Kaiepi@47.54.252.148) |
| 22:21:16 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds) |
| 22:21:41 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 240 seconds) |
| 22:29:19 | <carbolymer> | it finally completed! 10hrs instead on 1hr |
| 22:29:36 | <carbolymer> | of* |
| 22:29:39 | × | Narinas quits (~Narinas@187-178-93-112.dynamic.axtel.net) (Ping timeout: 252 seconds) |
| 22:29:39 | × | dunj3 quits (~dunj3@2001:16b8:30e8:aa00:6400:c54b:6c37:a59c) (Remote host closed the connection) |
| 22:30:33 | × | chomwitt quits (~alexander@2a02:587:dc0a:2700:dc6:16ac:a95:eabf) (Ping timeout: 246 seconds) |
| 22:31:41 | × | hyiltiz quits (~quassel@unaffiliated/hyiltiz) (Ping timeout: 260 seconds) |
| 22:33:31 | × | elfets quits (~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 252 seconds) |
| 22:34:02 | → | nut joins (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) |
| 22:34:07 | <monochrom> | yikes |
| 22:34:29 | → | hyiltiz joins (~quassel@unaffiliated/hyiltiz) |
| 22:36:27 | → | wroathe joins (~wroathe@68.54.25.135) |
| 22:36:53 | <nut> | I have a file outside of any cabal or stack project and i'm using emacs as repl. How to import packages such as lens? |
| 22:37:06 | × | litenull quits (~litenull@37.120.211.188) (K-Lined) |
| 22:38:11 | <nut> | C-c C-r, when i do the reload, the ghci complains that it couldn't load or find the package |
| 22:39:22 | → | Narinas joins (~Narinas@187.178.93.112) |
| 22:40:02 | <cjay> | there is a way to do magic comments for cabal for scripts. not sure about loading them in ghci though, maybe cabal repl works outside of a project on that. |
| 22:41:05 | × | wroathe quits (~wroathe@68.54.25.135) (Ping timeout: 246 seconds) |
| 22:41:13 | <sclv> | nut: cabal-repl —build-depends |
| 22:41:41 | <sclv> | with the depss following the flag |
| 22:41:55 | <sclv> | have emacs call that instead of raw ghci |
| 22:42:06 | <sclv> | or learn the ways of cabal-env |
| 22:43:53 | × | paddymahoney quits (~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Remote host closed the connection) |
| 22:43:54 | <nut> | thx! |
| 22:44:46 | <cjay> | hmm the comment syntax is {- cabal: ... -} and then things liki build-depends: in that |
| 22:45:06 | <cjay> | but I can't get cabal repl do anything with that, it's just for running :/ |
| 22:48:19 | → | aVikingTrex joins (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) |
| 22:54:13 | × | cr3 quits (~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving) |
| 22:55:24 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 246 seconds) |
| 22:56:37 | × | nut quits (~user@roc37-h01-176-170-197-243.dsl.sta.abo.bbox.fr) (Ping timeout: 252 seconds) |
| 22:58:04 | → | ddellacosta joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 23:00:46 | × | tsaka_ quits (~torstein@athedsl-4519432.home.otenet.gr) (Ping timeout: 240 seconds) |
| 23:01:59 | × | dmytrish quits (~mitra@2a02:8084:a82:d900:6010:2869:d10:372c) (Ping timeout: 260 seconds) |
| 23:02:57 | → | RandomArcher joins (~RandomArc@145.249.23.89) |
| 23:03:32 | × | ddellacosta quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 23:03:40 | → | danvet joins (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) |
| 23:04:11 | × | geowiesnot quits (~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 260 seconds) |
| 23:05:18 | → | SynOps joins (~SynOps@185.204.1.185) |
| 23:05:44 | × | heatsink quits (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection) |
| 23:06:31 | × | zva quits (~zava@ip5f5bdf0f.dynamic.kabel-deutschland.de) (Ping timeout: 252 seconds) |
| 23:06:55 | → | heatsink joins (~heatsink@108-201-191-115.lightspeed.sntcca.sbcglobal.net) |
| 23:07:38 | × | LKoen quits (~LKoen@11.160.9.109.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.”) |
| 23:10:10 | × | CrazyPython quits (~crazypyth@98.122.164.118) (Remote host closed the connection) |
| 23:10:35 | → | bennofs_ joins (~quassel@dynamic-077-013-079-233.77.13.pool.telefonica.de) |
| 23:11:58 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 23:12:01 | × | Gurkenglas quits (~Gurkengla@unaffiliated/gurkenglas) (Ping timeout: 252 seconds) |
| 23:12:14 | → | tsaka_ joins (~torstein@athedsl-4519432.home.otenet.gr) |
| 23:14:35 | × | danvet quits (~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 260 seconds) |
| 23:15:28 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 23:15:47 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 23:19:18 | → | hexfive joins (~hexfive@50.35.83.177) |
| 23:19:18 | × | hexfive quits (~hexfive@50.35.83.177) (Client Quit) |
| 23:20:23 | → | ddellaco_ joins (~ddellacos@ool-44c73afa.dyn.optonline.net) |
| 23:20:46 | × | raehik quits (~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 240 seconds) |
| 23:23:37 | × | aVikingTrex quits (~aVikingTr@2001:8003:340d:d00:b2de:b98:7a93:b0ea) (Ping timeout: 250 seconds) |
| 23:25:11 | × | ddellaco_ quits (~ddellacos@ool-44c73afa.dyn.optonline.net) (Ping timeout: 240 seconds) |
| 23:28:31 | × | stree quits (~stree@68.36.8.116) (Ping timeout: 252 seconds) |
| 23:30:09 | × | son0p quits (~ff@181.136.122.143) (Remote host closed the connection) |
| 23:30:25 | × | idhugo quits (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) (Remote host closed the connection) |
| 23:30:30 | → | tanner_ joins (~tanner@216.106.138.184) |
| 23:30:50 | → | idhugo joins (~idhugo@80-62-116-231-mobile.dk.customer.tdc.net) |
| 23:31:02 | ← | jakalx parts (~jakalx@base.jakalx.net) ("Error from remote client") |
| 23:32:35 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:33:59 | → | jakalx joins (~jakalx@base.jakalx.net) |
| 23:40:27 | → | stree joins (~stree@68.36.8.116) |
| 23:40:35 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds) |
| 23:41:38 | × | RandomArcher quits (~RandomArc@145.249.23.89) (Ping timeout: 246 seconds) |
| 23:42:01 | → | RandomArcher joins (RandomArch@gateway/vpn/protonvpn/randomarcher) |
| 23:42:43 | → | quinn joins (~quinn@c-73-223-224-163.hsd1.ca.comcast.net) |
| 23:45:51 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:50:26 | × | wroathe quits (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 240 seconds) |
| 23:51:41 | → | machinedgod joins (~machinedg@24.105.81.50) |
| 23:51:52 | × | Deide quits (~Deide@217.155.19.23) (Quit: Seeee yaaaa) |
| 23:52:51 | → | merijn joins (~merijn@83-160-49-249.ip.xs4all.nl) |
| 23:53:43 | → | wroathe joins (~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) |
| 23:58:05 | → | bitdex joins (~bitdex@gateway/tor-sasl/bitdex) |
All times are in UTC on 2021-04-23.