2021/04/23

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