2021/03/15

2021-03-15 00:02:59 +0100pera(~pera@unaffiliated/pera) (Quit: leaving)
2021-03-15 00:07:14 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2021-03-15 00:07:58 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-15 00:08:00 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net)
2021-03-15 00:08:27 +0100hyiltiz(~quassel@31.220.5.250)
2021-03-15 00:08:27 +0100hyiltiz(~quassel@31.220.5.250) (Changing host)
2021-03-15 00:08:27 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2021-03-15 00:09:52 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-15 00:10:23 +0100finn_elija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-15 00:11:58 +0100magnuscake(~magnuscak@87-121-92-61.dyn.launtel.net.au)
2021-03-15 00:13:13 +0100hyiltiz(~quassel@unaffiliated/hyiltiz) (Ping timeout: 260 seconds)
2021-03-15 00:13:26 +0100magnuscake(~magnuscak@87-121-92-61.dyn.launtel.net.au) (Client Quit)
2021-03-15 00:13:47 +0100hyiltiz(~quassel@31.220.5.250)
2021-03-15 00:13:47 +0100hyiltiz(~quassel@31.220.5.250) (Changing host)
2021-03-15 00:13:47 +0100hyiltiz(~quassel@unaffiliated/hyiltiz)
2021-03-15 00:17:25 +0100heatsink_(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Remote host closed the connection)
2021-03-15 00:18:02 +0100latendre(68015f02@104-1-95-2.lightspeed.sntcca.sbcglobal.net)
2021-03-15 00:18:17 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 00:19:13 +0100malumore(~malumore@151.62.115.237) (Ping timeout: 245 seconds)
2021-03-15 00:23:29 +0100tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: jsbdvkjb)
2021-03-15 00:24:45 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 00:27:10 +0100son0p(~son0p@181.136.122.143) (Quit: Lost terminal)
2021-03-15 00:29:54 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 256 seconds)
2021-03-15 00:30:02 +0100xsperry(~as@unaffiliated/xsperry) (Remote host closed the connection)
2021-03-15 00:31:39 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-15 00:31:39 +0100finn_elijaGuest97385
2021-03-15 00:31:39 +0100FinnElijafinn_elija
2021-03-15 00:31:47 +0100Varis(~Tadas@unaffiliated/varis) (Remote host closed the connection)
2021-03-15 00:31:54 +0100Guest97385(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Remote host closed the connection)
2021-03-15 00:33:49 +0100 <sm[m]> santiweight: nice!
2021-03-15 00:34:14 +0100 <sm[m]> we don't get enough haskell live coding announcements in here
2021-03-15 00:35:07 +0100 <sm[m]> I guess you're finished and haven't uploaded it yet ?
2021-03-15 00:37:46 +0100__minoru__shirae(~shiraeesh@46.34.207.217)
2021-03-15 00:40:24 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 246 seconds)
2021-03-15 00:43:34 +0100latendre(68015f02@104-1-95-2.lightspeed.sntcca.sbcglobal.net) (Quit: Connection closed)
2021-03-15 00:44:30 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-03-15 00:44:55 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-15 00:45:17 +0100nfd(~nfd9001@2601:602:77f:1820:cdd8:8342:9006:fbd2)
2021-03-15 00:50:22 +0100perrier-jouet(~perrier-j@modemcable012.251-130-66.mc.videotron.ca)
2021-03-15 00:50:58 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 00:51:23 +0100jeremybennett(~jeremyben@185.204.1.185) (Remote host closed the connection)
2021-03-15 00:51:57 +0100__minoru__shirae(~shiraeesh@46.34.207.217) (Ping timeout: 246 seconds)
2021-03-15 00:55:48 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 260 seconds)
2021-03-15 00:57:21 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Remote host closed the connection)
2021-03-15 00:58:34 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-15 00:58:48 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-15 00:58:55 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
2021-03-15 00:59:04 +0100 <Axman6> I was thinking about doing one but I would need some interaction from the audience. I've wanted to write a monoid for validating utf-8 encoding which would allow taking a big text, split it into chunks for parallel validation
2021-03-15 00:59:34 +0100 <Axman6> I've taken a few stabs at it over the years but catching all the corner cases isn't fun
2021-03-15 00:59:56 +0100 <Axman6> atributing errors to the right location is also a bit painful
2021-03-15 01:01:56 +0100 <sm[m]> we need a live coding platform that #haskell can plug into
2021-03-15 01:02:06 +0100 <sm[m]> plenty of feedback then!
2021-03-15 01:03:25 +0100 <Squarism> This might be a bad/confused example but anyways. I wonder if there is a way to make some sort of abstract class that can concretized into another class? https://paste.ofcode.org/9L8PEMsqQZeDHqMaPcx7xk
2021-03-15 01:03:41 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-15 01:03:58 +0100CoconutCrab(~Cua@unaffiliated/coconutcrab)
2021-03-15 01:04:00 +0100tak(~Arch-TK@ircpuzzles/staff/Arch-TK) (Quit: Well this is unexpected.)
2021-03-15 01:04:40 +0100 <Squarism> where a sub class provides detail to make a superclass less abstract so to speak.
2021-03-15 01:04:51 +0100atk(~Arch-TK@ircpuzzles/staff/Arch-TK)
2021-03-15 01:06:15 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 01:08:26 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2021-03-15 01:09:06 +0100 <koz_> Squarism: You could do that with associated types.
2021-03-15 01:09:29 +0100 <koz_> However, you _still_ have a multi-parameter type class, so without having fundeps _as well_, you're not gonna have a fun time.
2021-03-15 01:10:16 +0100 <Squarism> koz_, never heard of "associated types" before. What are those?
2021-03-15 01:10:53 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-03-15 01:11:27 +0100 <koz_> https://hackage.haskell.org/package/base-4.14.1.0/docs/src/GHC.Exts.html#IsList
2021-03-15 01:11:30 +0100 <remal> In devdocs there is haskell 7, 8, 9 how can I determine which version I'm on?
2021-03-15 01:11:34 +0100 <remal> is it 9 be default?
2021-03-15 01:11:36 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 01:11:39 +0100 <koz_> See that 'type Item l' thing? That's an associated type.
2021-03-15 01:13:56 +0100 <koz_> But for what you want to do, you're still going to have trouble, because you have a multi-parameter type class. Unless you can come up with some fundeps for that combination.
2021-03-15 01:15:45 +0100 <Squarism> ah, i thought that was class type families.
2021-03-15 01:15:58 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Remote host closed the connection)
2021-03-15 01:16:13 +0100 <koz_> Squarism: Well, whatever you wanna call them, I think what you want is doable with them.
2021-03-15 01:17:08 +0100 <Squarism> through using instances, sure. But create a class from another class? I cannot see how that would be done.
2021-03-15 01:17:43 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe)
2021-03-15 01:18:05 +0100 <koz_> Ah, so you want parameterized _classes_, not merely 'here's a set of classes, associate them with some types'?
2021-03-15 01:21:59 +0100 <Squarism> koz_, yes
2021-03-15 01:22:45 +0100 <koz_> Yeah, that's... challenging.
2021-03-15 01:22:50 +0100 <koz_> What's the bigger context here?
2021-03-15 01:23:14 +0100 <whataday> why call a fixed point inside a Cont do notation would create a loop?
2021-03-15 01:23:34 +0100wopas32(uid384704@gateway/web/irccloud.com/x-qslgkfcwyjmugmxz) (Quit: Connection closed for inactivity)
2021-03-15 01:23:46 +0100 <whataday> http://www.vex.net/~trebla/haskell/cont-monad.xhtml
2021-03-15 01:24:05 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-15 01:24:27 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-03-15 01:24:58 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2021-03-15 01:25:33 +0100 <Squarism> koz_, right now just trying to learn what is possible. Really i wanted to create two classes that just differ in 2 arguments. Say A and B. Then i wanted to create a mapping from B -> A. So implementing a B would give me an A.
2021-03-15 01:25:52 +0100 <koz_> What are A and B? Types?
2021-03-15 01:26:03 +0100 <Squarism> no, those would be the two classes
2021-03-15 01:26:27 +0100 <koz_> The 'arguments' in which they differ are types then?
2021-03-15 01:26:33 +0100 <Squarism> yes
2021-03-15 01:26:51 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-15 01:26:53 +0100 <koz_> Depending on what you want, type families might be able to achieve it, but I would argue that you _definitely_ don't wanna go down this road.
2021-03-15 01:27:07 +0100 <koz_> It might be doable, but it'll be impossible to work with, and the typechecker would likely turn to custard.
2021-03-15 01:27:10 +0100 <Squarism> with arguments i mean the Started/NonStarted from my example.
2021-03-15 01:27:34 +0100 <koz_> I dunno though - just the thought of this makes my brain protest.
2021-03-15 01:27:59 +0100 <Squarism> =D
2021-03-15 01:30:10 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 01:30:43 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 01:35:14 +0100The20YearIRCloud(~The20Year@195.140.213.38)
2021-03-15 01:41:18 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe) (Ping timeout: 260 seconds)
2021-03-15 01:41:21 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 264 seconds)
2021-03-15 01:41:39 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe)
2021-03-15 01:46:40 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe) (Ping timeout: 265 seconds)
2021-03-15 01:49:45 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 01:52:56 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-15 01:53:23 +0100Deide(~Deide@217.155.19.23) (Quit: Seeee yaaaa)
2021-03-15 01:54:20 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 256 seconds)
2021-03-15 01:54:22 +0100Tario(~Tario@201.192.165.173)
2021-03-15 01:55:49 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 01:57:31 +0100Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is)
2021-03-15 01:57:59 +0100codygman__(~user@47.186.207.161) (Ping timeout: 245 seconds)
2021-03-15 01:59:17 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Read error: Connection reset by peer)
2021-03-15 01:59:34 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-03-15 02:00:12 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 265 seconds)
2021-03-15 02:01:39 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe)
2021-03-15 02:02:57 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 02:03:14 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-15 02:04:17 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 02:05:06 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-15 02:05:47 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 02:06:04 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 02:06:22 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 02:10:14 +0100nfd(~nfd9001@2601:602:77f:1820:cdd8:8342:9006:fbd2) (Ping timeout: 264 seconds)
2021-03-15 02:10:46 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 256 seconds)
2021-03-15 02:11:40 +0100xsperry(~as@unaffiliated/xsperry)
2021-03-15 02:12:24 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:85cc:3a34:36cf:1a53)
2021-03-15 02:13:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 02:13:36 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 256 seconds)
2021-03-15 02:14:54 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 246 seconds)
2021-03-15 02:18:48 +0100 <slack1256> Does anyone know a FOSS haskell program that uses the +RTS -T --RTS statistics at runtime for profiling?
2021-03-15 02:19:38 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-15 02:19:39 +0100 <slack1256> That option makes available profiling info at runtime, so they can be reported or processed in the program itself. I want to know what is the standard treatment of them.
2021-03-15 02:19:51 +0100conal(~conal@64.71.133.70)
2021-03-15 02:20:36 +0100 <infinisil> slack1256: ekg is a library that uses that: https://hackage.haskell.org/package/ekg
2021-03-15 02:21:05 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-15 02:21:11 +0100 <sm[m]> it prints GC statistics, no ?
2021-03-15 02:21:19 +0100 <slack1256> infinisil: Coool, thank you!
2021-03-15 02:21:26 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-03-15 02:22:01 +0100 <sm[m]> well, --help says it collects them. I don't see it printing anything
2021-03-15 02:22:27 +0100 <sm[m]> I seee
2021-03-15 02:22:53 +0100conal_(~conal@192.145.118.101)
2021-03-15 02:23:04 +0100 <slack1256> infinisil: This actually is better, it provides a view onto a live program, great! just great! .
2021-03-15 02:23:14 +0100 <infinisil> :D
2021-03-15 02:23:40 +0100Tario(~Tario@200.119.187.12)
2021-03-15 02:24:22 +0100remal(~remal@d24-57-234-201.home.cgocable.net) ()
2021-03-15 02:24:22 +0100conal(~conal@64.71.133.70) (Ping timeout: 256 seconds)
2021-03-15 02:24:28 +0100 <slack1256> Why didn't I know this before?
2021-03-15 02:24:35 +0100slack1256jumping
2021-03-15 02:24:45 +0100 <sm[m]> nobody expects haskell tooling to be great :)
2021-03-15 02:25:53 +0100remal(~remal@d24-57-234-201.home.cgocable.net)
2021-03-15 02:26:02 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-15 02:27:12 +0100remal(~remal@d24-57-234-201.home.cgocable.net) ()
2021-03-15 02:27:21 +0100remal(~remal@d24-57-234-201.home.cgocable.net)
2021-03-15 02:27:39 +0100drbean(~drbean@TC210-63-209-145.static.apol.com.tw)
2021-03-15 02:29:11 +0100 <slack1256> https://imgur.com/a/vu0AexY
2021-03-15 02:30:02 +0100poscat(~poscat@123.112.148.153) (Ping timeout: 256 seconds)
2021-03-15 02:30:25 +0100poscat(~poscat@123.112.148.153)
2021-03-15 02:31:39 +0100conal_(~conal@192.145.118.101) (Quit: Computer has gone to sleep.)
2021-03-15 02:34:02 +0100 <int-e> slack1256: I imagine it makes GHC.Stats useful
2021-03-15 02:34:45 +0100 <int-e> but maybe there's more to it, hmm
2021-03-15 02:36:34 +0100 <int-e> No, that's it according to the description at https://hackage.haskell.org/package/base-4.14.1.0/docs/GHC-Stats.html
2021-03-15 02:37:05 +0100 <int-e> "These statistics are not available unless a program is run with the -T RTS flag."
2021-03-15 02:37:06 +0100Tario(~Tario@200.119.187.12) (Read error: Connection reset by peer)
2021-03-15 02:37:10 +0100 <slack1256> But the labels available on ekg don't seem to be the same as in GHC.Stats
2021-03-15 02:38:00 +0100Tario(~Tario@201.192.165.173)
2021-03-15 02:41:48 +0100 <int-e> Well you can map them by looking at https://hackage.haskell.org/package/ekg-core-0.1.1.7/docs/src/System.Metrics.html#registerGcMetrics
2021-03-15 02:43:08 +0100 <slack1256> Oooh so I have to make the mapping myself onto ekg. Fair enough.
2021-03-15 02:43:09 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-vnbzqcslxpqrrgtm) (Quit: Connection closed for inactivity)
2021-03-15 02:43:33 +0100 <int-e> huh, so par_tot_bytes_copied and par_avg_bytes_copied are the same? that's odd
2021-03-15 02:44:49 +0100rajivr(uid269651@gateway/web/irccloud.com/x-scfssrsbjzfzlhth)
2021-03-15 02:45:27 +0100kiweun(~kiweun@2607:fea8:2a62:9600:2584:bfd8:4ff2:6f57)
2021-03-15 02:52:02 +0100conal(~conal@64.71.133.70)
2021-03-15 02:52:51 +0100conal(~conal@64.71.133.70) (Client Quit)
2021-03-15 02:54:20 +0100gitgood(~gitgood@80-44-12-39.dynamic.dsl.as9105.com) (Ping timeout: 265 seconds)
2021-03-15 02:56:44 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 02:57:18 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 02:58:34 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-15 02:58:55 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
2021-03-15 03:00:32 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net) (Remote host closed the connection)
2021-03-15 03:01:06 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-03-15 03:02:45 +0100vicfred(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-03-15 03:03:24 +0100__minoru__shirae(~shiraeesh@46.34.207.217)
2021-03-15 03:05:03 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 245 seconds)
2021-03-15 03:05:15 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-03-15 03:05:44 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2021-03-15 03:08:03 +0100sayola(~vekto@dslb-002-201-085-157.002.201.pools.vodafone-ip.de)
2021-03-15 03:09:28 +0100urodna(~urodna@unaffiliated/urodna) (Quit: urodna)
2021-03-15 03:09:30 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 03:19:53 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 260 seconds)
2021-03-15 03:21:18 +0100nfd(~nfd9001@2601:602:77f:1820:cdd8:8342:9006:fbd2)
2021-03-15 03:21:54 +0100nfd9001(~nfd9001@2601:602:77f:1820:61ac:3926:b4ff:2973)
2021-03-15 03:23:21 +0100 <shapr> I just realized hoogle is so successful because of purity
2021-03-15 03:25:50 +0100nfd(~nfd9001@2601:602:77f:1820:cdd8:8342:9006:fbd2) (Ping timeout: 264 seconds)
2021-03-15 03:26:02 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-03-15 03:27:02 +0100nfd9001(~nfd9001@2601:602:77f:1820:61ac:3926:b4ff:2973) (Ping timeout: 264 seconds)
2021-03-15 03:29:21 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 264 seconds)
2021-03-15 03:30:43 +0100 <MarcelineVQ> what a mysterious thing to say
2021-03-15 03:30:53 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe) (Ping timeout: 245 seconds)
2021-03-15 03:32:57 +0100mrchampion(~mrchampio@38.18.109.23) (Ping timeout: 246 seconds)
2021-03-15 03:34:36 +0100Yanze(32188769@50-24-135-105.bcstcmta02.res.dyn.suddenlink.net)
2021-03-15 03:35:49 +0100mrchampion(~mrchampio@38.18.109.23)
2021-03-15 03:36:08 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 03:38:14 +0100Yanze(32188769@50-24-135-105.bcstcmta02.res.dyn.suddenlink.net) (Quit: Connection closed)
2021-03-15 03:38:34 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe)
2021-03-15 03:38:43 +0100Yanze(32188769@50-24-135-105.bcstcmta02.res.dyn.suddenlink.net)
2021-03-15 03:38:54 +0100Yanze(32188769@50-24-135-105.bcstcmta02.res.dyn.suddenlink.net) (Client Quit)
2021-03-15 03:39:22 +0100 <shapr> MarcelineVQ: I realized that hoogle in OCaml might not be as useful, because more mutation is allowed
2021-03-15 03:39:43 +0100Yanze(32188769@50.24.135.105)
2021-03-15 03:40:05 +0100 <shapr> and that the usefulness of an OCaml hoogle would depend on how well the function was described by the type signature
2021-03-15 03:40:30 +0100 <shapr> hoogle is a confusing tool to show to people who don't know Haskell
2021-03-15 03:40:43 +0100Yanze(32188769@50.24.135.105) (Client Quit)
2021-03-15 03:40:53 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 260 seconds)
2021-03-15 03:40:54 +0100 <shapr> Once I've given someone a minimal introduction to Haskell, hoogle is a wonderful surprise
2021-03-15 03:42:24 +0100 <shapr> but you couldn't build hoogle for Python
2021-03-15 03:42:34 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-03-15 03:42:35 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 240 seconds)
2021-03-15 03:43:43 +0100xff0x(~xff0x@2001:1a81:527c:ad00:a70:55a0:fd29:c4d4) (Ping timeout: 258 seconds)
2021-03-15 03:44:15 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 03:44:35 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 03:45:25 +0100xff0x(~xff0x@2001:1a81:52b7:0:124b:8415:a163:5525)
2021-03-15 03:47:27 +0100conal(~conal@64.71.133.70)
2021-03-15 03:49:03 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2021-03-15 03:49:32 +0100 <nshepperd> type signatures are probably a bit less informative when everything's mutable yeah
2021-03-15 03:50:52 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 03:52:29 +0100Wuzzy(~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) (Quit: Wuzzy)
2021-03-15 03:55:00 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-03-15 04:01:09 +0100 <int-e> @hoogle IO ()
2021-03-15 04:01:10 +0100 <lambdabot> Control.Concurrent yield :: IO ()
2021-03-15 04:01:10 +0100 <lambdabot> Control.Exception allowInterrupt :: IO ()
2021-03-15 04:01:10 +0100 <lambdabot> Foreign.C.Error resetErrno :: IO ()
2021-03-15 04:01:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 04:01:33 +0100 <int-e> (yeah that's about as useful as could be expected :-) )
2021-03-15 04:03:13 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 04:04:56 +0100alx741(~alx741@181.196.68.64) (Quit: alx741)
2021-03-15 04:04:58 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-03-15 04:05:23 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de) (Ping timeout: 265 seconds)
2021-03-15 04:07:09 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe) (Ping timeout: 264 seconds)
2021-03-15 04:07:11 +0100FinnElija(~finn_elij@gateway/tor-sasl/finnelija/x-67402716)
2021-03-15 04:07:11 +0100finn_elijaGuest69036
2021-03-15 04:07:11 +0100FinnElijafinn_elija
2021-03-15 04:07:36 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 246 seconds)
2021-03-15 04:10:28 +0100Jd007(~Jd007@162.156.11.151)
2021-03-15 04:11:15 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-15 04:11:29 +0100 <curiousgay> `fst $ head [(3,"four")]` -> 3, `fst . head [(3,"four")]` -> error
2021-03-15 04:11:33 +0100Guest69036(~finn_elij@gateway/tor-sasl/finnelija/x-67402716) (Ping timeout: 268 seconds)
2021-03-15 04:12:20 +0100 <Axman6> because you've written fst . (head [(3,"four"])
2021-03-15 04:12:34 +0100 <Axman6> uh, with the extra bracket I forgot for the tuple
2021-03-15 04:13:48 +0100__minoru__shirae(~shiraeesh@46.34.207.217) (Ping timeout: 245 seconds)
2021-03-15 04:13:53 +0100 <Axman6> two things to remember: function application binds the strongest, so f x means (f x), no matter which operators are around it. (.) takes in two functions, but the second argument you've provided it is not a function, it has type (Int,String) (or somerthing like it)
2021-03-15 04:14:40 +0100 <Axman6> expanding the definition of (.) you can see we get \x -> fst (head [(3,"four)] x), which doesn't make much sense
2021-03-15 04:15:07 +0100 <curiousgay> guh
2021-03-15 04:15:09 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 04:15:15 +0100 <curiousgay> this only happens with tupples?
2021-03-15 04:15:30 +0100 <Axman6> no, it has nothing to do with tuples
2021-03-15 04:16:15 +0100 <curiousgay> but I usually have (.) working when function on the right has argument
2021-03-15 04:16:39 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:85cc:3a34:36cf:1a53) (Ping timeout: 272 seconds)
2021-03-15 04:16:52 +0100 <Axman6> what you probably meant to write was: fst . head $ [(3,"four")], which is the same as (fst . head) [(3,"four")], which expands into (\x -> fst (head x)) [(3,"four")]
2021-03-15 04:18:55 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-15 04:19:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2021-03-15 04:20:08 +0100Tario(~Tario@201.192.165.173) (Read error: Connection reset by peer)
2021-03-15 04:20:22 +0100Tario(~Tario@201.192.165.173)
2021-03-15 04:20:40 +0100 <Axman6> curiousgay: you don;t have a function as the right argument though
2021-03-15 04:20:44 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
2021-03-15 04:20:46 +0100 <Axman6> head [(3,"four")] isn't a function
2021-03-15 04:21:18 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-15 04:22:12 +0100 <koz_> :t head [(3, "four")]
2021-03-15 04:22:13 +0100 <lambdabot> Num a => (a, [Char])
2021-03-15 04:22:20 +0100 <koz_> Confirmed, not a function.
2021-03-15 04:22:20 +0100kiweun(~kiweun@2607:fea8:2a62:9600:2584:bfd8:4ff2:6f57) (Remote host closed the connection)
2021-03-15 04:22:47 +0100 <curiousgay> so (.) composes functions only when I don't give the rightmost function an argument
2021-03-15 04:23:07 +0100 <Axman6> s/only when I don't give the rightmost function an argument//
2021-03-15 04:23:17 +0100 <Axman6> :t (.)
2021-03-15 04:23:18 +0100 <lambdabot> (b -> c) -> (a -> b) -> a -> c
2021-03-15 04:23:38 +0100 <Axman6> :t fst . head
2021-03-15 04:23:40 +0100 <lambdabot> [(c, b)] -> c
2021-03-15 04:23:57 +0100 <Axman6> :t (fst . head) [(3,"four")]
2021-03-15 04:23:58 +0100 <lambdabot> Num c => c
2021-03-15 04:24:03 +0100 <Axman6> > (fst . head) [(3,"four")]
2021-03-15 04:24:05 +0100 <lambdabot> 3
2021-03-15 04:24:11 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 04:24:13 +0100azure2(~azure@103.154.230.130) (Ping timeout: 245 seconds)
2021-03-15 04:24:34 +0100 <curiousgay> I mean I thought `fst . head [(3, "four")]` would translate to `fst(head [(3, "four")])`
2021-03-15 04:24:52 +0100 <Axman6> > fst . head $ [(3,"four")] -- $ isn't magic, it just has lower precidence and the correct fixity to remove the need for brackets on the right when using (.)
2021-03-15 04:24:54 +0100 <lambdabot> 3
2021-03-15 04:25:05 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-15 04:25:08 +0100azure2(~azure@103.154.230.130)
2021-03-15 04:25:27 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-03-15 04:25:43 +0100 <Axman6> curiousgay: nope, we've gone through that that means, fst . head [(3,"four")] means fst . (head [(3,"four")])
2021-03-15 04:25:48 +0100 <Axman6> what that*
2021-03-15 04:26:15 +0100 <curiousgay> ok
2021-03-15 04:27:17 +0100 <Axman6> the invisible function application operator, whitespace, binds more tightly than any binary operator
2021-03-15 04:27:54 +0100 <Axman6> > f $ g $ g $ x :: Expr
2021-03-15 04:27:56 +0100 <lambdabot> error:
2021-03-15 04:27:56 +0100 <lambdabot> • Ambiguous type variable ‘t0’ arising from a use of ‘f’
2021-03-15 04:27:56 +0100 <lambdabot> prevents the constraint ‘(Show t0)’ from being solved.
2021-03-15 04:28:05 +0100 <Axman6> :(
2021-03-15 04:28:10 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-15 04:28:37 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe)
2021-03-15 04:28:43 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 260 seconds)
2021-03-15 04:32:06 +0100theDon(~td@94.134.91.134) (Ping timeout: 246 seconds)
2021-03-15 04:34:01 +0100theDon(~td@94.134.91.151)
2021-03-15 04:34:05 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber)
2021-03-15 04:34:17 +0100 <curiousgay> haha, that reminds me spending some time to verify list holding curried functions :)
2021-03-15 04:35:03 +0100brandly(~brandly@c-73-68-15-46.hsd1.ma.comcast.net)
2021-03-15 04:35:29 +0100 <curiousgay> s/holding/of/
2021-03-15 04:35:50 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-15 04:38:02 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-15 04:44:30 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 260 seconds)
2021-03-15 04:44:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 04:45:41 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 04:45:56 +0100__minoru__shirae(~shiraeesh@46.34.207.217)
2021-03-15 04:46:14 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 04:47:43 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 04:47:43 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 04:48:38 +0100Sgeo_(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-15 04:48:40 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 04:50:06 +0100arrowsvc_(~arr@2.93.163.35)
2021-03-15 04:50:45 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 04:50:53 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 260 seconds)
2021-03-15 04:51:53 +0100tromp_(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 04:52:12 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 04:52:55 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 04:53:23 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 04:54:08 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Read error: Connection reset by peer)
2021-03-15 04:54:38 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 04:59:43 +0100joebobjoe(~joebobjoe@unaffiliated/joebobjoe) (Quit: Lost terminal)
2021-03-15 05:00:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 265 seconds)
2021-03-15 05:01:43 +0100dfeuer(~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-15 05:02:05 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: Lost terminal)
2021-03-15 05:02:20 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 05:04:26 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 05:05:20 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-15 05:05:27 +0100shailangsa(~shailangs@host86-162-150-241.range86-162.btcentralplus.com)
2021-03-15 05:09:38 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-15 05:12:19 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-15 05:12:37 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-15 05:14:22 +0100Tario(~Tario@201.192.165.173) (Ping timeout: 256 seconds)
2021-03-15 05:15:30 +0100elliott__(~elliott@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2021-03-15 05:18:42 +0100moleillish(~moleillis@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f)
2021-03-15 05:20:01 +0100moleillish(~moleillis@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) (Client Quit)
2021-03-15 05:20:59 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f)
2021-03-15 05:21:50 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-15 05:25:05 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-15 05:25:24 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-03-15 05:29:43 +0100codygman__(~user@47.186.207.161)
2021-03-15 05:32:43 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-03-15 05:32:49 +0100 <molehillish> silly question, is Haskell more popular in Europe, or US ?
2021-03-15 05:34:12 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred)
2021-03-15 05:34:57 +0100plutoniix(~q@184.82.207.25)
2021-03-15 05:36:37 +0100irc_user(uid423822@gateway/web/irccloud.com/x-nlsxajxsercntvta) (Quit: Connection closed for inactivity)
2021-03-15 05:39:14 +0100 <glguy> I wouldn't think so
2021-03-15 05:42:49 +0100Jd007(~Jd007@162.156.11.151) (Quit: Jd007)
2021-03-15 05:44:24 +0100conal(~conal@64.71.133.70)
2021-03-15 05:48:06 +0100codygman__(~user@47.186.207.161) (Quit: ERC (IRC client for Emacs 28.0.50))
2021-03-15 05:48:28 +0100codygman__(~user@47.186.207.161)
2021-03-15 05:48:44 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-15 05:49:48 +0100codygman__(~user@47.186.207.161)
2021-03-15 05:50:47 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
2021-03-15 05:51:06 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 05:51:54 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 246 seconds)
2021-03-15 05:53:13 +0100kiweun(~kiweun@2607:fea8:2a62:9600:4cd1:619d:db56:98e6)
2021-03-15 05:54:08 +0100arrowsvc_(~arr@2.93.163.35) (Ping timeout: 265 seconds)
2021-03-15 05:55:48 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) (Remote host closed the connection)
2021-03-15 05:57:51 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-woyfwvonkmfyvkag)
2021-03-15 05:58:14 +0100codygman__(~user@47.186.207.161) (Ping timeout: 260 seconds)
2021-03-15 06:00:52 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f)
2021-03-15 06:02:24 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 246 seconds)
2021-03-15 06:02:45 +0100__minoru__shirae(~shiraeesh@46.34.207.217) (Ping timeout: 246 seconds)
2021-03-15 06:02:45 +0100darjeeling_(~darjeelin@122.245.218.190) (Ping timeout: 246 seconds)
2021-03-15 06:03:00 +0100kiweun(~kiweun@2607:fea8:2a62:9600:4cd1:619d:db56:98e6) (Remote host closed the connection)
2021-03-15 06:06:02 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) (Ping timeout: 264 seconds)
2021-03-15 06:09:28 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 06:09:51 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-15 06:12:56 +0100elusive(~Jeanne-Ka@static-198-54-134-107.cust.tzulo.com) (Quit: Leaving)
2021-03-15 06:13:48 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 245 seconds)
2021-03-15 06:14:35 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 06:16:01 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 06:19:45 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-03-15 06:21:12 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 265 seconds)
2021-03-15 06:23:38 +0100brandly(~brandly@c-73-68-15-46.hsd1.ma.comcast.net) (Quit: https://github.com/brandly/Lax)
2021-03-15 06:24:39 +0100brandly(~brandly@c-73-68-15-46.hsd1.ma.comcast.net)
2021-03-15 06:28:20 +0100brandly(~brandly@c-73-68-15-46.hsd1.ma.comcast.net) (Client Quit)
2021-03-15 06:30:40 +0100cheater1(~user@unaffiliated/cheater)
2021-03-15 06:31:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 06:32:00 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2021-03-15 06:32:05 +0100cheater1cheater
2021-03-15 06:34:09 +0100forgottenone(~forgotten@176.42.30.60)
2021-03-15 06:37:17 +0100myShoggoth(~myShoggot@75.164.81.55) (Ping timeout: 245 seconds)
2021-03-15 06:41:22 +0100santiweight(622165e4@c-98-33-101-228.hsd1.ca.comcast.net) (Ping timeout: 240 seconds)
2021-03-15 06:44:06 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net)
2021-03-15 06:44:36 +0100kam1(~kam1@83.123.154.198)
2021-03-15 06:45:09 +0100kam1(~kam1@83.123.154.198) (Read error: Connection reset by peer)
2021-03-15 06:47:28 +0100ezrakilty(~ezrakilty@97-113-58-224.tukw.qwest.net) (Remote host closed the connection)
2021-03-15 06:48:26 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2021-03-15 06:50:53 +0100cheater(~user@unaffiliated/cheater)
2021-03-15 06:51:56 +0100myShoggoth(~myShoggot@75.164.81.55)
2021-03-15 06:52:37 +0100average(uid473595@gateway/web/irccloud.com/x-syihsbtugiothwsv) (Quit: Connection closed for inactivity)
2021-03-15 06:54:27 +0100takuan(~takuan@178-116-218-225.access.telenet.be)
2021-03-15 06:55:27 +0100The20YearIRCloud(~The20Year@195.140.213.38) (Remote host closed the connection)
2021-03-15 07:00:04 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-15 07:00:22 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
2021-03-15 07:02:30 +0100toorevitimirp(~tooreviti@117.182.182.40)
2021-03-15 07:06:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-15 07:09:26 +0100rotaerk_(rotaerk@2600:3c02::f03c:91ff:fe70:4a45) (Ping timeout: 240 seconds)
2021-03-15 07:12:30 +0100sord937(~sord937@gateway/tor-sasl/sord937)
2021-03-15 07:22:46 +0100carlomagno(~cararell@148.87.23.6) (Quit: Leaving.)
2021-03-15 07:24:40 +0100rotaerk(~rotaerk@ender.afternet.org)
2021-03-15 07:24:42 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 07:26:56 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz)
2021-03-15 07:27:41 +0100maop(~maop@195.140.213.38)
2021-03-15 07:28:58 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Ping timeout: 260 seconds)
2021-03-15 07:33:58 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-15 07:34:36 +0100 <arahael> I seem to feel that europe is more Delphi historically, and now C++.
2021-03-15 07:36:00 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-15 07:37:26 +0100 <opqdonut> most of the haskell companies I can name are in london or switzerland, I think
2021-03-15 07:37:53 +0100 <opqdonut> of course where a company is is kinda badly defined, especially these days
2021-03-15 07:38:00 +0100 <opqdonut> and I'm from europe, so that's a bias definitely
2021-03-15 07:38:20 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Read error: Connection reset by peer)
2021-03-15 07:38:38 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362)
2021-03-15 07:42:18 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de)
2021-03-15 07:43:03 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de) (Client Quit)
2021-03-15 07:48:04 +0100ph88_(~ph88@2a02:8109:9e00:7e5c:85cc:3a34:36cf:1a53)
2021-03-15 07:51:18 +0100 <curiousgay> me from ukraine: no Haskell jobs here :(
2021-03-15 07:52:06 +0100Sgeo_(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Read error: Connection reset by peer)
2021-03-15 07:52:50 +0100kam1(~kam1@83.123.154.198)
2021-03-15 07:56:36 +0100Varis(~Tadas@unaffiliated/varis) (Quit: Leaving)
2021-03-15 07:57:00 +0100rotaerk(~rotaerk@ender.afternet.org) (Ping timeout: 256 seconds)
2021-03-15 08:03:31 +0100michalz(~user@185.246.204.111)
2021-03-15 08:04:58 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-15 08:06:07 +0100myShoggoth(~myShoggot@75.164.81.55) (Read error: Connection reset by peer)
2021-03-15 08:08:37 +0100jhrcek(~jhrcek@ip-89-103-183-101.net.upcbroadband.cz)
2021-03-15 08:10:24 +0100rotaerk(~rotaerk@ender.afternet.org)
2021-03-15 08:11:15 +0100 <jhrcek> Hello hvr_, not sure if you saw this already, but could you please check this PR? https://github.com/haskell-hvr/base-noprelude/pull/13
2021-03-15 08:12:41 +0100 <koz_> jhrcek: HVR is pretty AWOL and has been for months. tapas - maybe you can assist?
2021-03-15 08:13:50 +0100__minoru__shirae(~shiraeesh@46.34.207.217)
2021-03-15 08:13:54 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-15 08:13:55 +0100 <dmj`> curiousgay: you should make some haskell jobs in ukraine
2021-03-15 08:14:24 +0100forgottenone(~forgotten@176.42.30.60) (Quit: Konversation terminated!)
2021-03-15 08:16:13 +0100kam1(~kam1@83.123.154.198) (Ping timeout: 260 seconds)
2021-03-15 08:16:22 +0100Neuromancer(~Neuromanc@unaffiliated/neuromancer) (Read error: Connection reset by peer)
2021-03-15 08:16:53 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 08:17:54 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-15 08:18:10 +0100malumore(~malumore@151.62.122.60)
2021-03-15 08:18:29 +0100 <koz_> What should I read if I wanna understand how HM is extended with type classes?
2021-03-15 08:18:35 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:4b06:962b:f728:a206) (Ping timeout: 272 seconds)
2021-03-15 08:20:03 +0100waleee-cl(uid373333@gateway/web/irccloud.com/x-ajfxjvyfxwkenmku) (Quit: Connection closed for inactivity)
2021-03-15 08:21:56 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 256 seconds)
2021-03-15 08:22:30 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds)
2021-03-15 08:23:12 +0100xff0x(~xff0x@2001:1a81:52b7:0:124b:8415:a163:5525) (Ping timeout: 260 seconds)
2021-03-15 08:23:39 +0100xff0x(~xff0x@2001:1a81:52b7:0:bee:1401:3159:8dea)
2021-03-15 08:23:54 +0100 <dmj`> koz_: typing haskell in haskell is good
2021-03-15 08:24:05 +0100 <koz_> dmj`: Link if you got it?
2021-03-15 08:24:23 +0100 <dmj`> @google typing haskell in haskell
2021-03-15 08:24:24 +0100 <lambdabot> No Result Found.
2021-03-15 08:24:38 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 08:24:49 +0100 <dmj`> koz_: http://web.cecs.pdx.edu/~mpj/thih/thih.pdf
2021-03-15 08:24:55 +0100 <koz_> Thanks!
2021-03-15 08:29:45 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:9289:77c9:1590:330e)
2021-03-15 08:33:26 +0100Hi-Angel(~constanti@broadband-188-32-15-112.ip.moscow.rt.ru)
2021-03-15 08:34:43 +0100 <Hi-Angel> Does anybody know, how to do a `cabal install` into a DESTDIR? I need to build a deb package from some software written in Haskell, so I'm trying to use `DESTDIR=deb cabal install`, but deb dir is empty
2021-03-15 08:38:21 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 08:39:27 +0100 <jhrcek> Try `cabal install --help`. At the end you'll see:
2021-03-15 08:39:30 +0100 <jhrcek> cabal install ./pkgfoo
2021-03-15 08:39:30 +0100 <jhrcek> Install the package in the ./pkgfoo directory
2021-03-15 08:39:50 +0100 <Hi-Angel> Thanks
2021-03-15 08:41:20 +0100 <jhrcek> Sorry, looking at help again, this should be what you're looking for:
2021-03-15 08:41:21 +0100 <jhrcek> --installdir=DIR Where to install (by
2021-03-15 08:41:21 +0100 <jhrcek> symlinking or copying) the
2021-03-15 08:41:21 +0100 <jhrcek> executables in.
2021-03-15 08:41:35 +0100 <Hi-Angel> Cool, thanks!
2021-03-15 08:42:04 +0100Lycurgus(~niemand@98.4.115.230)
2021-03-15 08:43:00 +0100kuribas(~user@ptr-25vy0i6y98flue533si.18120a2.ip6.access.telenet.be)
2021-03-15 08:52:03 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-15 08:52:32 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 256 seconds)
2021-03-15 08:53:20 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 08:53:26 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 08:55:30 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-03-15 08:57:51 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-15 08:58:07 +0100rdivyanshu(uid322626@gateway/web/irccloud.com/x-woyfwvonkmfyvkag) (Quit: Connection closed for inactivity)
2021-03-15 08:59:03 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-15 08:59:45 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 09:00:45 +0100Stanley|00(~stanley00@unaffiliated/stanley00)
2021-03-15 09:01:25 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com) (Read error: Connection reset by peer)
2021-03-15 09:01:45 +0100zfnmxt_znfmxt
2021-03-15 09:01:51 +0100znfmxtzfnmxt
2021-03-15 09:02:07 +0100Stanley00(~stanley00@unaffiliated/stanley00) (Read error: Connection reset by peer)
2021-03-15 09:02:34 +0100Stanley00(~stanley00@unaffiliated/stanley00)
2021-03-15 09:02:35 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 09:03:04 +0100evanjs(~evanjs@075-129-098-007.res.spectrum.com)
2021-03-15 09:03:18 +0100__minoru__shirae(~shiraeesh@46.34.207.217) (Ping timeout: 256 seconds)
2021-03-15 09:03:58 +0100malumore(~malumore@151.62.122.60) (Ping timeout: 260 seconds)
2021-03-15 09:04:14 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-03-15 09:05:49 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-15 09:05:57 +0100Stanley|00(~stanley00@unaffiliated/stanley00) (Ping timeout: 264 seconds)
2021-03-15 09:05:57 +0100cfricke(~cfricke@unaffiliated/cfricke)
2021-03-15 09:07:10 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-15 09:08:57 +0100 <jhrcek> tapas : for context regarding what koz_ wrote above for context: I'd like base-noprelude version compatible with base 4.14.1.0 to be released to hackage, but I'm unable to reach hvr_ to take a look at my PR (https://github.com/haskell-hvr/base-noprelude/pull/13). I'd greatly appreciate any help with moving this forward.
2021-03-15 09:09:48 +0100Lycurgus(~niemand@98.4.115.230) (Quit: Exeunt)
2021-03-15 09:11:00 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de)
2021-03-15 09:11:26 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 260 seconds)
2021-03-15 09:11:42 +0100asheshambasta(~user@ptr-e1lysaujm2qol2f684n.18120a2.ip6.access.telenet.be)
2021-03-15 09:11:49 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 265 seconds)
2021-03-15 09:12:02 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:12:58 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-umfzpfeguzyfkkwm)
2021-03-15 09:13:18 +0100malumore(~malumore@151.62.122.60)
2021-03-15 09:18:39 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1)
2021-03-15 09:19:02 +0100Sorna(~Sornaensi@79.142.232.102.static.router4.bolignet.dk)
2021-03-15 09:20:18 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-03-15 09:20:18 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:20:40 +0100Sornaensis(~Sornaensi@077213203030.dynamic.telenor.dk) (Disconnected by services)
2021-03-15 09:20:44 +0100SornaSornaensis
2021-03-15 09:20:52 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 09:22:08 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 245 seconds)
2021-03-15 09:23:34 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-15 09:24:35 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:25:37 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 09:27:14 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:29:27 +0100m1dnight_(~m1dnight@78-22-9-5.access.telenet.be) (Quit: WeeChat 2.4)
2021-03-15 09:30:10 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 09:30:13 +0100m1dnight_(~m1dnight@78-22-9-5.access.telenet.be)
2021-03-15 09:30:55 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl) (Remote host closed the connection)
2021-03-15 09:31:18 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:31:47 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 09:32:25 +0100 <curiousgay> dmj` how if I don't run business?
2021-03-15 09:32:56 +0100 <curiousgay> btw, gentle introduction to haskell has broken example at page 40
2021-03-15 09:33:30 +0100 <curiousgay> the working definition of readsTree is on page 39
2021-03-15 09:33:43 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:34:24 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:e1d5:3025:9098:a295)
2021-03-15 09:34:55 +0100conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2021-03-15 09:35:20 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 09:35:49 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:35:54 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 09:36:36 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-15 09:37:16 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be)
2021-03-15 09:39:03 +0100DTZUZU_(~DTZUZO@207.81.119.43)
2021-03-15 09:39:36 +0100aqd(~aqd@84.20.147.33)
2021-03-15 09:39:43 +0100 <curiousgay> were there incompatible changes to lex function?
2021-03-15 09:40:55 +0100tomboy64(~tomboy64@unaffiliated/tomboy64) (Quit: Off to see the wizard.)
2021-03-15 09:41:07 +0100conal(~conal@64.71.133.70)
2021-03-15 09:41:18 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 265 seconds)
2021-03-15 09:41:48 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:42:29 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 09:42:51 +0100tomboy64(~tomboy64@unaffiliated/tomboy64)
2021-03-15 09:42:54 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-15 09:43:48 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-15 09:45:39 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net)
2021-03-15 09:46:16 +0100kritzefitz(~kritzefit@fw-front.credativ.com)
2021-03-15 09:47:48 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 246 seconds)
2021-03-15 09:49:06 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1)
2021-03-15 09:50:09 +0100drbean(~drbean@TC210-63-209-145.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-15 09:51:48 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 09:53:07 +0100fendor(~fendor@178.165.129.162.wireless.dyn.drei.com)
2021-03-15 09:53:26 +0100xff0x(~xff0x@2001:1a81:52b7:0:bee:1401:3159:8dea) (Ping timeout: 264 seconds)
2021-03-15 09:53:40 +0100tromp(~tromp@dhcp-077-249-230-040.chello.nl)
2021-03-15 09:53:44 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 09:53:53 +0100xff0x(~xff0x@2001:1a81:52b7:0:73fe:50f7:6050:551e)
2021-03-15 09:55:57 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-15 10:00:07 +0100my_name_is_not_j(mynameisno@gateway/shell/matrix.org/x-iewfemdhthafipdk) (Quit: Idle for 30+ days)
2021-03-15 10:02:17 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-15 10:07:03 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh)
2021-03-15 10:11:30 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-15 10:11:43 +0100mrchampion(~mrchampio@38.18.109.23) (Ping timeout: 260 seconds)
2021-03-15 10:13:07 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-15 10:14:28 +0100thunderrd(~thunderrd@183.182.111.238) (Ping timeout: 272 seconds)
2021-03-15 10:14:45 +0100 <curiousgay> I've figured out that the first string returned by lex can contain more than one character, this behavior was not expected by tutorial (or what its pattern condition was thinking)
2021-03-15 10:15:08 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 10:16:12 +0100vicfred(vicfred@gateway/vpn/mullvad/vicfred) (Quit: Leaving)
2021-03-15 10:17:47 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 10:22:50 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 260 seconds)
2021-03-15 10:22:55 +0100 <curiousgay> monochrom: I've made a workaround for that with pattern matching, the result doesn't look nice at all (warning - hindent formatted): https://pastebin.com/raw/pbbfZBEf
2021-03-15 10:25:15 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 246 seconds)
2021-03-15 10:26:53 +0100thunderrd(~thunderrd@183.182.111.116)
2021-03-15 10:27:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Remote host closed the connection)
2021-03-15 10:27:37 +0100gitgood(~gitgood@80-44-12-39.dynamic.dsl.as9105.com)
2021-03-15 10:27:45 +0100gitgood(~gitgood@80-44-12-39.dynamic.dsl.as9105.com) (Remote host closed the connection)
2021-03-15 10:28:49 +0100thaumavorio(~thaumavor@thaumavor.io)
2021-03-15 10:32:18 +0100 <merijn> oof
2021-03-15 10:33:25 +0100mrchampion(~mrchampio@38.18.109.23)
2021-03-15 10:33:43 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 10:34:15 +0100 <curiousgay> well, I use editor where tabs are easier to type than spaces
2021-03-15 10:34:51 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-03-15 10:35:18 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr)
2021-03-15 10:35:39 +0100idhugo_(~idhugo@130.225.16.16)
2021-03-15 10:35:46 +0100 <yorick> hi! I'm trying to foreign dynamic export a haskell function that uses C variadic arguments
2021-03-15 10:35:57 +0100 <yorick> is this.. possible? or do I need cbits
2021-03-15 10:36:44 +0100 <merijn> yorick: You need cbits
2021-03-15 10:36:57 +0100 <merijn> yorick: variadic arguments aren't party of any portable C ABI
2021-03-15 10:37:11 +0100 <yorick> sad, thanks
2021-03-15 10:37:16 +0100 <merijn> s/party/part
2021-03-15 10:37:21 +0100 <yorick> I don't know why they went for this since all everyone is gonna do is call snprintf on them
2021-03-15 10:37:51 +0100rotaerk(~rotaerk@ender.afternet.org) (Ping timeout: 246 seconds)
2021-03-15 10:38:21 +0100idhugo(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 264 seconds)
2021-03-15 10:39:20 +0100bahamas(~lucian@unaffiliated/bahamas)
2021-03-15 10:40:33 +0100pfurla_(~pfurla@ool-182ed2e2.dyn.optonline.net)
2021-03-15 10:41:18 +0100 <merijn> yorick: Maybe they nerdsniped themselves while coding it?
2021-03-15 10:42:50 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de) (Quit: bitmagie)
2021-03-15 10:42:59 +0100pfurla(~pfurla@ool-182ed2e2.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-03-15 10:43:26 +0100 <hololeap> i wonder why the Profunctor instance for Kleisli has a Monad constraint for m as opposed to Functor
2021-03-15 10:43:34 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 10:45:44 +0100rotaerk(rotaerk@2600:3c02::f03c:91ff:fe70:4a45)
2021-03-15 10:47:10 +0100 <merijn> hololeap: Because the functor instance for Kleisli wasn't added until 8.10, apparently
2021-03-15 10:48:38 +0100 <hololeap> huh that's surprising
2021-03-15 10:49:13 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net) (Quit: zzz)
2021-03-15 10:50:58 +0100alexanderdgreat(~alex@117.222.64.113)
2021-03-15 10:50:59 +0100 <yorick> merijn: I bet it saves entire cycles and stack space in case you want to do printf directly
2021-03-15 10:53:51 +0100 <alexanderdgreat> Hello. Sorry if this seems off-topic. I want to ask: (imagine) I have a toy chatbot program written in Haskell and I can run it on my system. Now I want to deploy this online but the backend server I am writing is in runs NodeJS. What is the preferred way to call my Haskell toy chatbot program from NodeJS.
2021-03-15 10:53:58 +0100 <merijn> hololeap: Not really, because no one really uses Kleisli :p
2021-03-15 10:55:00 +0100 <merijn> alexanderdgreat: tbh, that's probably more of a node question? The usual ways would be: Spawn it as a subprocess and talk with the bot over stdin/stdout, use a unix domain socket, or just a regular TCP socket
2021-03-15 10:55:13 +0100 <merijn> But I have no clue how easy/hard any of those are in node.js
2021-03-15 10:56:23 +0100sz0(uid110435@gateway/web/irccloud.com/x-tawqhplyvvjuqusl)
2021-03-15 10:56:48 +0100darjeeling_(~darjeelin@122.245.218.190)
2021-03-15 10:58:16 +0100 <alexanderdgreat> merijn: Thanks for answering. My problem is not NodeJS specific. I wanted to ask if I have to perform IPC from a Haskell binary on my backend server regardless of the language used in my business, can I wrap my chatbot with HTTP API using some Haskell web framework and call GET like requests from my backend business logic.
2021-03-15 10:58:22 +0100 <alexanderdgreat> ?
2021-03-15 11:01:33 +0100 <merijn> Sure
2021-03-15 11:01:58 +0100 <merijn> I don't really do web stuff, so I can't recommend any libraries, but I can't see why you couldn't
2021-03-15 11:02:31 +0100 <alexanderdgreat> merijn: Thanks a lot.
2021-03-15 11:02:33 +0100 <alexanderdgreat> merijn++
2021-03-15 11:03:31 +0100Kaiepi(~Kaiepi@47.54.252.148) (Read error: Connection reset by peer)
2021-03-15 11:03:43 +0100wopas32(uid384704@gateway/web/irccloud.com/x-tpyrxxcvbruhblyb)
2021-03-15 11:04:01 +0100alexanderdgreat(~alex@117.222.64.113) ()
2021-03-15 11:04:18 +0100Rudd0(~Rudd0@185.189.115.103)
2021-03-15 11:04:47 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-15 11:05:03 +0100__monty__(~toonn@unaffiliated/toonn)
2021-03-15 11:08:03 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-15 11:12:01 +0100son0p(~son0p@181.58.39.182)
2021-03-15 11:12:46 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 260 seconds)
2021-03-15 11:12:49 +0100Guest14001(~textual@2603-7000-3040-0000-e957-83a9-14ba-56cc.res6.spectrum.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-03-15 11:14:02 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-15 11:14:02 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-15 11:14:02 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-15 11:14:52 +0100xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx) (Read error: Connection reset by peer)
2021-03-15 11:16:44 +0100bahamas(~lucian@unaffiliated/bahamas) (Quit: leaving)
2021-03-15 11:16:53 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-15 11:17:14 +0100idhugo_(~idhugo@130.225.16.16) (Read error: Connection reset by peer)
2021-03-15 11:19:03 +0100idhugo_(~idhugo@80-62-116-51-mobile.dk.customer.tdc.net)
2021-03-15 11:19:11 +0100Stanley00(~stanley00@unaffiliated/stanley00) ()
2021-03-15 11:21:21 +0100teardown(~user@gateway/tor-sasl/mrush) (Remote host closed the connection)
2021-03-15 11:26:52 +0100teardown(~user@gateway/tor-sasl/mrush)
2021-03-15 11:28:10 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 11:28:33 +0100xwvvvvwx(xwvvvvwx@gateway/vpn/mullvad/xwvvvvwx)
2021-03-15 11:33:02 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Ping timeout: 264 seconds)
2021-03-15 11:35:42 +0100thc202(~thc202@unaffiliated/thc202)
2021-03-15 11:36:21 +0100zaquest(~notzaques@5.128.210.178) (Quit: Leaving)
2021-03-15 11:37:12 +0100ubert(~Thunderbi@p200300ecdf25d935e6b318fffe838f33.dip0.t-ipconnect.de)
2021-03-15 11:37:44 +0100zaquest(~notzaques@5.128.210.178)
2021-03-15 11:38:04 +0100dhil(~dhil@80.208.56.181)
2021-03-15 11:39:52 +0100rayyyy(~nanoz@gateway/tor-sasl/nanoz) (Quit: Leaving)
2021-03-15 11:39:52 +0100conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2021-03-15 11:46:36 +0100conal(~conal@64.71.133.70)
2021-03-15 11:46:58 +0100m0rphism(~m0rphism@HSI-KBW-085-216-104-059.hsi.kabelbw.de)
2021-03-15 11:47:22 +0100ubert(~Thunderbi@p200300ecdf25d935e6b318fffe838f33.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-03-15 11:47:30 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck)
2021-03-15 11:49:09 +0100Franciman(~francesco@host-82-49-79-189.retail.telecomitalia.it)
2021-03-15 11:49:19 +0100graf_blutwurst(~user@2001:171b:226e:adc0:f5d5:a07f:9e46:8981)
2021-03-15 11:49:47 +0100asheshambasta(~user@ptr-e1lysaujm2qol2f684n.18120a2.ip6.access.telenet.be) (Ping timeout: 258 seconds)
2021-03-15 11:52:29 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 11:53:47 +0100__minoru__shirae(~shiraeesh@46.34.206.121)
2021-03-15 11:56:17 +0100pavonia(~user@unaffiliated/siracusa) (Quit: Bye!)
2021-03-15 11:59:31 +0100Alleria(~textual@mskresolve-a.mskcc.org)
2021-03-15 11:59:56 +0100AlleriaGuest54670
2021-03-15 12:04:38 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 256 seconds)
2021-03-15 12:08:29 +0100jhrcek(~jhrcek@ip-89-103-183-101.net.upcbroadband.cz) (Read error: Connection reset by peer)
2021-03-15 12:09:05 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se) (Remote host closed the connection)
2021-03-15 12:09:24 +0100jonathanx(~jonathan@h-176-109.A357.priv.bahnhof.se)
2021-03-15 12:10:10 +0100jhrcek(~jhrcek@ip-89-103-183-101.net.upcbroadband.cz)
2021-03-15 12:10:23 +0100average(uid473595@gateway/web/irccloud.com/x-gpzntdlygmwptuws)
2021-03-15 12:10:39 +0100poscat(~poscat@123.112.148.153) (Ping timeout: 265 seconds)
2021-03-15 12:13:07 +0100idhugo__(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-15 12:13:52 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 12:14:12 +0100mirrorbird(dwsjeid911@gateway/vpn/mullvad/dwsjeid911)
2021-03-15 12:15:28 +0100idhugo_(~idhugo@80-62-116-51-mobile.dk.customer.tdc.net) (Ping timeout: 245 seconds)
2021-03-15 12:16:27 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-15 12:17:57 +0100__minoru__shirae(~shiraeesh@46.34.206.121) (Ping timeout: 246 seconds)
2021-03-15 12:18:48 +0100geowiesnot_bis(~user@87-89-181-157.abo.bbox.fr) (Ping timeout: 245 seconds)
2021-03-15 12:19:16 +0100koz_(~koz@121.99.240.58) (Ping timeout: 276 seconds)
2021-03-15 12:19:22 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-15 12:20:30 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 12:20:57 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 264 seconds)
2021-03-15 12:25:39 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-15 12:26:37 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 12:29:03 +0100koz(~koz@121.99.240.58)
2021-03-15 12:32:06 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-15 12:32:27 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 12:33:32 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1)
2021-03-15 12:34:17 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 12:35:04 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 12:35:24 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 12:35:37 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Client Quit)
2021-03-15 12:35:54 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 12:36:37 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 12:37:45 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-15 12:37:54 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 12:37:58 +0100machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-03-15 12:39:42 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 12:40:14 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-03-15 12:40:25 +0100hexfive(~hexfive@50.35.83.177) (Quit: i must go. my people need me.)
2021-03-15 12:40:39 +0100curiousgayseeing laws of monads
2021-03-15 12:40:44 +0100 <curiousgay> my brain: that hurts
2021-03-15 12:41:53 +0100 <mouseghost> curiousgay, everyone was there, i think
2021-03-15 12:42:00 +0100 <jumper149> curiousgay: Specific to Monad is just the bind operator >>=
2021-03-15 12:42:08 +0100 <mouseghost> nice username btw
2021-03-15 12:42:21 +0100 <jumper149> curiousgay: The rest is built up on other typeclasses
2021-03-15 12:43:04 +0100 <jumper149> Maybe that will help you distinguish the laws from one another
2021-03-15 12:43:09 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 264 seconds)
2021-03-15 12:43:43 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 12:44:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 12:44:14 +0100 <curiousgay> mouseghost: thanks, you're the first one commenting my nick :)
2021-03-15 12:44:29 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 265 seconds)
2021-03-15 12:44:59 +0100 <mouseghost> :D
2021-03-15 12:45:52 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-15 12:47:36 +0100 <curiousgay> jumper149: `xs >>= return . f = fmap f xs` is so mind blowing
2021-03-15 12:47:46 +0100mirrorbird(dwsjeid911@gateway/vpn/mullvad/dwsjeid911) (Quit: Leaving)
2021-03-15 12:48:00 +0100epstein(dwsjeid911@gateway/vpn/mullvad/dwsjeid911)
2021-03-15 12:49:21 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-15 12:49:31 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 12:51:45 +0100 <jumper149> curiousgay: It's important to understand why that works, but from a practical perspective the lhs is kind of an antipattern.
2021-03-15 12:52:36 +0100 <enikar> curiousgay: use lambda to understand.
2021-03-15 12:54:12 +0100__minoru__shirae(~shiraeesh@46.34.206.121)
2021-03-15 12:54:51 +0100 <enikar> xs >>= return . f = xs >>= (\x -> return (f x))
2021-03-15 12:55:01 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 256 seconds)
2021-03-15 12:55:06 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 12:55:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 12:55:26 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 12:56:36 +0100 <enikar> if xs :: m a, then (\x -> return (f x)) should be 'm b', then the type of is: f :: a -> b
2021-03-15 12:57:23 +0100 <enikar> because (>>=) :: m a -> (\a -> m b) -> m b)
2021-03-15 12:58:53 +0100curiousgaystill thinking how it's equivalent to Functor
2021-03-15 12:58:58 +0100 <enikar> then: f :: a -> b
2021-03-15 12:59:04 +0100divVerent(~divVerent@xonotic/core-team/divVerent) (Quit: WeeChat 2.3)
2021-03-15 13:00:12 +0100usr25(~usr25@unaffiliated/usr25)
2021-03-15 13:01:15 +0100 <enikar> curiousgay: the first time, it was difficult also for me, anyway.
2021-03-15 13:01:25 +0100 <jumper149> curiousgay: That's why I call it an antipattern. (>>=) binds monadic values (xs :: m a) to monadic functions (f :: a -> m b).
2021-03-15 13:01:58 +0100 <jumper149> But your example with `xs >>= return . f` doesn't care what kind of function f is.
2021-03-15 13:02:13 +0100 <jumper149> Instead you turn it into a monadic function by adding the `return`.
2021-03-15 13:02:52 +0100geekosaur(ac3a3c95@172.58.60.149)
2021-03-15 13:02:53 +0100 <jumper149> So the `return` wasn't necessary at all. Should have just used `fmap` :p
2021-03-15 13:04:29 +0100 <systemfault> > join . fmap (\x -> [x, x]) $ [1,2,3]
2021-03-15 13:04:31 +0100 <enikar> we can express the type just for list. If xs :: [a], then: return (f x) = [f x] :: [b].
2021-03-15 13:04:31 +0100 <lambdabot> [1,1,2,2,3,3]
2021-03-15 13:06:41 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 13:07:10 +0100 <curiousgay> jumper149: I'm thinking about functor instance on the left...
2021-03-15 13:08:01 +0100carldd(~carldd@90-224-49-113-no56.tbcn.telia.com) (Ping timeout: 276 seconds)
2021-03-15 13:08:25 +0100carldd(~carldd@90-224-49-113-no56.tbcn.telia.com)
2021-03-15 13:09:09 +0100 <curiousgay> enikar: it looks like an implicit call to map
2021-03-15 13:09:29 +0100 <enikar> yes indeed.
2021-03-15 13:09:30 +0100 <merijn> curiousgay: That's because "map" *is* fmap for lists :p
2021-03-15 13:09:39 +0100 <jumper149> @src map
2021-03-15 13:09:39 +0100 <lambdabot> map _ [] = []
2021-03-15 13:09:39 +0100 <lambdabot> map f (x:xs) = f x : map f xs
2021-03-15 13:09:50 +0100 <geekosaur> @src [] fmap
2021-03-15 13:09:50 +0100 <lambdabot> fmap = map
2021-03-15 13:10:35 +0100jespada(~jespada@90.254.243.187) (Ping timeout: 265 seconds)
2021-03-15 13:11:26 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-03-15 13:11:59 +0100jespada(~jespada@90.254.243.187)
2021-03-15 13:13:55 +0100codygman__(~user@47.186.207.161)
2021-03-15 13:15:00 +0100 <enikar> :t [1..3] >>= return .show
2021-03-15 13:15:03 +0100 <curiousgay> merijn: I mean that (>>=) takes every element in the list and transforms them just like map
2021-03-15 13:15:03 +0100 <lambdabot> [String]
2021-03-15 13:15:17 +0100 <enikar> :t fmap show [1..3]
2021-03-15 13:15:19 +0100 <lambdabot> [String]
2021-03-15 13:16:55 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 13:17:14 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 13:17:22 +0100 <merijn> curiousgay: >>= is more like concatMap
2021-03-15 13:17:25 +0100 <enikar> perhaps, it's easier to think in the other direction, I mean, write fmap with >>=
2021-03-15 13:17:26 +0100 <merijn> :t concatMap
2021-03-15 13:17:27 +0100miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7) (Quit: http://quassel-irc.org - Chat comfortably. Anywhere.)
2021-03-15 13:17:27 +0100 <lambdabot> Foldable t => (a -> [b]) -> t a -> [b]
2021-03-15 13:17:39 +0100 <merijn> In fact, >>= *is* concatMap with a different argument order :p
2021-03-15 13:18:07 +0100 <curiousgay> lol
2021-03-15 13:18:32 +0100 <hpc> most useful specialized functions are secretly more useful and more abstract functions in disguise :D
2021-03-15 13:18:55 +0100miklcct(quasselcor@2001:19f0:7001:5ad:5400:2ff:feb6:50d7)
2021-03-15 13:21:06 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 13:21:15 +0100 <curiousgay> merijn: that signature and that name mean: concatMap takes a function that transforms each element into the list, then it concatenates all those lists?
2021-03-15 13:21:18 +0100plutoniix(~q@184.82.207.25) (Quit: Leaving)
2021-03-15 13:23:42 +0100 <curiousgay> concatenated monads... so lists are monads
2021-03-15 13:23:42 +0100 <merijn> yes
2021-03-15 13:23:51 +0100xff0x(~xff0x@2001:1a81:52b7:0:73fe:50f7:6050:551e) (Ping timeout: 272 seconds)
2021-03-15 13:24:38 +0100xff0x(~xff0x@2001:1a81:52b7:0:73fe:50f7:6050:551e)
2021-03-15 13:25:34 +0100hidedagger(~nate@unaffiliated/hidedagger)
2021-03-15 13:25:43 +0100 <__minoru__shirae> if we talk in terms of kleisli arrows, then return is like id for kleisli arrows and bind is like fmap?
2021-03-15 13:25:52 +0100 <__minoru__shirae> not sure about bind
2021-03-15 13:26:45 +0100 <merijn> __minoru__shirae: You're thinking of the fish operator!
2021-03-15 13:26:50 +0100 <merijn> :t (>=>)
2021-03-15 13:26:51 +0100 <lambdabot> Monad m => (a -> m b) -> (b -> m c) -> a -> m c
2021-03-15 13:27:14 +0100 <merijn> With: f >=> g = \x -> f x >>= g
2021-03-15 13:28:18 +0100 <curiousgay> `(>>=) :: m a -> (a -> m b) -> m b` looks strange to me, because when I do something like `[1..5] >>= return . (+5)`, (+5) function doesn't generate lists
2021-03-15 13:28:18 +0100 <merijn> Well, >=> is more like (.) for Kleisli than fmap. But then again, fmap is (.) for "regular" functions
2021-03-15 13:28:49 +0100 <jumper149> curiousgay: Check the type of `return`
2021-03-15 13:29:20 +0100 <curiousgay> a -> m a
2021-03-15 13:29:29 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 13:29:36 +0100 <jumper149> What is `m` in your example
2021-03-15 13:29:41 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-15 13:29:58 +0100 <curiousgay> jumper149: "class Monad m where"
2021-03-15 13:30:09 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 256 seconds)
2021-03-15 13:30:31 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 13:30:37 +0100 <jumper149> curiousgay: Ok, write something like `return 5` into ghci
2021-03-15 13:30:57 +0100forgottenone(~forgotten@176.42.16.157)
2021-03-15 13:31:35 +0100 <jumper149> curiousgay: ahhhhhh, sry no that is just confusing
2021-03-15 13:31:42 +0100 <enikar> into ghci, monad are "extracted"
2021-03-15 13:32:03 +0100 <enikar> so 'return 5', just prints 5
2021-03-15 13:32:30 +0100 <enikar> :t return 5
2021-03-15 13:32:33 +0100 <lambdabot> (Monad m, Num a) => m a
2021-03-15 13:32:34 +0100 <jumper149> What I wanted to say is: In the example `[1..5] >>= return . (+5)` the type of `return` gets unified to a concrete type
2021-03-15 13:33:03 +0100 <jumper149> The type of return is just:
2021-03-15 13:33:05 +0100 <jumper149> :t return
2021-03-15 13:33:07 +0100 <lambdabot> Monad m => a -> m a
2021-03-15 13:33:17 +0100 <geekosaur> enikar, not quite right, ghci will try to instantiate a monadic value as an IO action and if it succeeds, run the action
2021-03-15 13:33:35 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Ping timeout: 240 seconds)
2021-03-15 13:33:46 +0100isson(1b7769ae@27.119.105.174)
2021-03-15 13:33:47 +0100 <enikar> geekosaur: ok.
2021-03-15 13:34:10 +0100 <jumper149> But in the context of lists it gets unfified to `return :: a -> [a]`
2021-03-15 13:34:29 +0100drbean(~drbean@TC210-63-209-218.static.apol.com.tw)
2021-03-15 13:34:49 +0100ukari(~ukari@unaffiliated/ukari) (Remote host closed the connection)
2021-03-15 13:34:59 +0100 <enikar> :t return @[]
2021-03-15 13:35:00 +0100 <lambdabot> error:
2021-03-15 13:35:00 +0100 <lambdabot> Pattern syntax in expression context: return@[]
2021-03-15 13:35:00 +0100 <lambdabot> Did you mean to enable TypeApplications?
2021-03-15 13:35:06 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com) (Ping timeout: 260 seconds)
2021-03-15 13:35:11 +0100 <geekosaur> % :t return @[]
2021-03-15 13:35:11 +0100 <yahb> geekosaur: a -> [a]
2021-03-15 13:35:21 +0100 <geekosaur> use yahb for TypeApplications
2021-03-15 13:35:23 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-15 13:35:33 +0100 <enikar> yes
2021-03-15 13:36:41 +0100 <__minoru__shirae> I mean, there is some relationship between fmap - bind and regular functions - kleisli arrows, but I don't know what that relationship is
2021-03-15 13:37:07 +0100 <isson> hi. i have a question. ( i am sorry i am not good to speak english.)
2021-03-15 13:37:07 +0100 <__minoru__shirae> hmm, what if we talk about Identity monad?
2021-03-15 13:37:40 +0100 <curiousgay> `return . f :: a -> m b` and `(>>=) -> m a -> (a -> m b) -> m b`, ah, so it's the return function being responsible for turning the result of (+5) into the list, but that means the return function itself is called many times?
2021-03-15 13:37:45 +0100 <isson> test = f (undefined :: a -> a)
2021-03-15 13:37:45 +0100 <isson> f :: (a -> b -> c) -> String
2021-03-15 13:37:46 +0100 <isson> f g = "test"
2021-03-15 13:38:13 +0100 <jumper149> __minoru__shirae: `Identity` is just a regular monad. What's the question?
2021-03-15 13:38:13 +0100 <enikar> curiousgay: exactly.
2021-03-15 13:38:24 +0100 <isson> [/home/isson/mynote/projs/haskell/Test/app/Main.hs:17:8-13] *Main Lib Paths_Test> :print g
2021-03-15 13:38:24 +0100 <isson> g = (_t1::(a -> b) -> String)
2021-03-15 13:38:50 +0100pjbGuest83433
2021-03-15 13:38:51 +0100Sheilong(uid293653@gateway/web/irccloud.com/x-dbopwiciasztapdp)
2021-03-15 13:38:55 +0100 <isson> i cannot understand, how id type is (a -> b) -> String ?
2021-03-15 13:39:19 +0100usr25(~usr25@unaffiliated/usr25) (Quit: Leaving)
2021-03-15 13:39:29 +0100 <isson> how g's type is (a -> b) -> String ?
2021-03-15 13:39:36 +0100 <__minoru__shirae> jumper149, the question is how do you formulate (in simple terms) the relationship between fmap and regular functions and bind and kleisli arrows. Maybe they are the same?
2021-03-15 13:40:11 +0100 <merijn> __minoru__shirae: That depends on which relationship you're thinking off?
2021-03-15 13:40:31 +0100arrowsvc_(~arr@2.93.163.35)
2021-03-15 13:41:05 +0100Guest83433(~t@2a01cb04063ec500f0530f573da1cece.ipv6.abo.wanadoo.fr) (Ping timeout: 246 seconds)
2021-03-15 13:41:24 +0100pjb(~t@2a01cb04063ec50044b6cbec1ec8dc3b.ipv6.abo.wanadoo.fr)
2021-03-15 13:41:24 +0100 <merijn> __minoru__shirae: There are several I can think of, both Kleisli and functios are instances of: Profunctor, Kleisli, and Arrow
2021-03-15 13:41:33 +0100 <curiousgay> enikar: I remember tutorial mentioning that makes list comprehensions the syntactic sugar to these monad functions, it's just was mentioned too early
2021-03-15 13:42:00 +0100 <merijn> __minoru__shirae: Their functor/applicative/monad instances are also similar/the same
2021-03-15 13:42:25 +0100 <__minoru__shirae> "a monad is just a monoid in the category in which objects are functors" - I took this sentence from a book. I think it has somethig to do with the subject, and I don't yet fully understand it.
2021-03-15 13:43:31 +0100 <merijn> __minoru__shirae: You're maybe thinking off arrows/morphisms, because both functions and Kleisli are classical examples of CT morphisms
2021-03-15 13:44:22 +0100 <curiousgay> thanks everybody, now it's clear
2021-03-15 13:44:28 +0100 <curiousgay> :)
2021-03-15 13:44:28 +0100 <__minoru__shirae> and a monad is itself a functor
2021-03-15 13:44:42 +0100 <merijn> __minoru__shirae: Define "is"
2021-03-15 13:45:38 +0100 <__minoru__shirae> monad typeclass needs a functor constraint
2021-03-15 13:45:45 +0100 <merijn> __minoru__shirae: A functor consists of two morphisms: one between objects of two categories and one between morphisms in both categories
2021-03-15 13:46:40 +0100 <merijn> __minoru__shirae: ah, in that sense
2021-03-15 13:48:12 +0100 <merijn> __minoru__shirae: The things you need to define for a monad are a superset of the things you need to define a functor, so defining a monad (implicitly) defines a functor too (as shown by "fmap f x = x >>= return . f")
2021-03-15 13:50:12 +0100 <__minoru__shirae> fmap is like bind in which there is an implicit Identity monad
2021-03-15 13:51:23 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1)
2021-03-15 13:52:51 +0100 <geekosaur> isson, the g you show isn't in scope in ghci's top level, so I don't think you're getting a related response
2021-03-15 13:52:53 +0100 <__minoru__shirae> you have "Id a" and a function "a -> Id b" and using fmap you get "Id b", but you omit Ids
2021-03-15 13:53:23 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 13:53:23 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (Read error: Connection reset by peer)
2021-03-15 13:53:24 +0100 <__minoru__shirae> no, that sounds like a regular function application
2021-03-15 13:55:10 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-15 13:56:27 +0100mirrorb2rd(~dwsjeid91@185.204.1.223)
2021-03-15 13:56:31 +0100 <__minoru__shirae> no, regular function application would be when you have a function "Id a -> Id b"
2021-03-15 13:57:40 +0100urodna(~urodna@unaffiliated/urodna)
2021-03-15 13:57:58 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 245 seconds)
2021-03-15 13:58:23 +0100bennofs__(~quassel@dslb-188-103-037-063.188.103.pools.vodafone-ip.de) (Ping timeout: 245 seconds)
2021-03-15 14:00:14 +0100epstein(dwsjeid911@gateway/vpn/mullvad/dwsjeid911) (Ping timeout: 256 seconds)
2021-03-15 14:00:30 +0100Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net)
2021-03-15 14:00:48 +0100Tario(~Tario@201.192.165.173)
2021-03-15 14:00:53 +0100isson(1b7769ae@27.119.105.174) (Quit: Connection closed)
2021-03-15 14:01:04 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-15 14:01:56 +0100bergey`(~user@pool-74-108-99-127.nycmny.fios.verizon.net)
2021-03-15 14:03:30 +0100epstein(~dwsjeid91@2a00:801:3f8:23a5:cea1:f987:d427:ba9b)
2021-03-15 14:03:51 +0100bennofs_(~quassel@dslb-094-222-035-180.094.222.pools.vodafone-ip.de)
2021-03-15 14:04:27 +0100ubert(~Thunderbi@p200300ecdf25d935e6b318fffe838f33.dip0.t-ipconnect.de)
2021-03-15 14:05:12 +0100mirrorb2rd(~dwsjeid91@185.204.1.223) (Read error: Connection reset by peer)
2021-03-15 14:05:47 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net)
2021-03-15 14:06:15 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1)
2021-03-15 14:06:57 +0100mirrorb2rd(dwsjeid911@gateway/vpn/mullvad/dwsjeid911)
2021-03-15 14:07:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:07:26 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:07:32 +0100ADG1089__(~aditya@122.163.232.170)
2021-03-15 14:07:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 14:08:05 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 14:08:06 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:08:27 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:08:34 +0100gitgood(~gitgood@80-44-12-39.dynamic.dsl.as9105.com)
2021-03-15 14:09:45 +0100epstein(~dwsjeid91@2a00:801:3f8:23a5:cea1:f987:d427:ba9b) (Ping timeout: 265 seconds)
2021-03-15 14:11:43 +0100ubert(~Thunderbi@p200300ecdf25d935e6b318fffe838f33.dip0.t-ipconnect.de) (Remote host closed the connection)
2021-03-15 14:11:54 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de)
2021-03-15 14:12:45 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2021-03-15 14:13:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:13:26 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:14:00 +0100bitmapper(uid464869@gateway/web/irccloud.com/x-sowvivaeecbildoj)
2021-03-15 14:14:35 +0100ephemient(uid407513@gateway/web/irccloud.com/x-fipeqpvxkwvjfhxb) (Quit: Connection closed for inactivity)
2021-03-15 14:15:39 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 14:16:07 +0100 <__minoru__shirae> anyway, in the meantime, while I don't have an intuition of those things, the rule of thumb is
2021-03-15 14:16:23 +0100 <__minoru__shirae> if you have a regular value and a regular function, you apply it
2021-03-15 14:16:45 +0100 <__minoru__shirae> if you have a functor, applicative, or a monad and a regular function, you use fmap
2021-03-15 14:16:48 +0100iomonad(~iomonad@unaffiliated/iomonad) (Ping timeout: 265 seconds)
2021-03-15 14:17:07 +0100 <__minoru__shirae> if you have a monad and a kleisli arrow, you use bind
2021-03-15 14:18:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:18:27 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:19:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:19:07 +0100iomonad(~iomonad@unaffiliated/iomonad)
2021-03-15 14:19:28 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:20:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:20:28 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:20:38 +0100bennofs_(~quassel@dslb-094-222-035-180.094.222.pools.vodafone-ip.de) (Ping timeout: 256 seconds)
2021-03-15 14:21:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:21:27 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:21:54 +0100 <__minoru__shirae> if you have an applicative and a regular function, you can use applicative style, it will be analogous to using fmap
2021-03-15 14:22:05 +0100gzj(~gzj@unaffiliated/gzj) (Remote host closed the connection)
2021-03-15 14:22:11 +0100alx741(~alx741@181.196.68.64)
2021-03-15 14:22:27 +0100gzj(~gzj@unaffiliated/gzj)
2021-03-15 14:22:58 +0100 <__minoru__shirae> if you have a monad and a regular function, you can use bind with return, but fmap is simpler
2021-03-15 14:23:05 +0100gzj(~gzj@unaffiliated/gzj) (Read error: Connection reset by peer)
2021-03-15 14:23:30 +0100ADG1089__(~aditya@122.163.232.170) (Remote host closed the connection)
2021-03-15 14:25:19 +0100son0p(~son0p@181.58.39.182) (Quit: Lost terminal)
2021-03-15 14:25:26 +0100 <toasty_avocado[m> Can someone explain what `fold` does? I'm new to functional programming and am unfamiliar with this concept. My understanding is it i applies a function to a data structure recursively?
2021-03-15 14:25:47 +0100 <hyperisco> toasty_avocado[m, do you know what foldr does?
2021-03-15 14:26:06 +0100 <toasty_avocado[m> Not exactly other than it does the same thing on the right side?
2021-03-15 14:26:28 +0100 <hyperisco> fold, foldl, and foldr are not quite the same
2021-03-15 14:26:43 +0100 <jumper149> foldl and foldr take a function argument
2021-03-15 14:26:48 +0100 <hyperisco> > foldr f z [1,2,3,4,5]
2021-03-15 14:26:51 +0100 <lambdabot> f 1 (f 2 (f 3 (f 4 (f 5 z))))
2021-03-15 14:26:58 +0100 <jumper149> fold uses a Monoid instance instead
2021-03-15 14:27:11 +0100 <hyperisco> fold = foldr mappend mempty
2021-03-15 14:27:24 +0100 <jumper149> @src fold
2021-03-15 14:27:24 +0100 <lambdabot> Source not found. My brain just exploded
2021-03-15 14:27:44 +0100 <jumper149> rip lambdabot
2021-03-15 14:27:50 +0100 <toasty_avocado[m> T.T
2021-03-15 14:27:58 +0100 <toasty_avocado[m> thanks for the explanation!
2021-03-15 14:28:18 +0100mirrorb2rd(dwsjeid911@gateway/vpn/mullvad/dwsjeid911) (Ping timeout: 260 seconds)
2021-03-15 14:28:38 +0100 <hyperisco> > (fold (Just "hello sailor!"), fold Nothing)
2021-03-15 14:28:40 +0100 <lambdabot> ("hello sailor!",())
2021-03-15 14:28:45 +0100 <hyperisco> whoops
2021-03-15 14:28:52 +0100 <hyperisco> > fold (Nothing :: Maybe String)
2021-03-15 14:28:54 +0100 <lambdabot> ""
2021-03-15 14:28:57 +0100 <hyperisco> a common way I use it
2021-03-15 14:29:13 +0100 <toasty_avocado[m> Thanks!
2021-03-15 14:30:28 +0100 <hyperisco> Maybe A is A plus one value, and if A has a Monoid instance you can take it back to simply A
2021-03-15 14:30:44 +0100 <hyperisco> mapping Nothing to mempty and Just a to a
2021-03-15 14:31:07 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 14:35:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Ping timeout: 264 seconds)
2021-03-15 14:37:25 +0100 <__minoru__shirae> I think I'm getting somewhere. Let's say we created a new language, and regular functions in that language translate to kleisli arrows in haskell
2021-03-15 14:37:56 +0100 <__minoru__shirae> then that language's fmap would translate to haskell's bind
2021-03-15 14:38:42 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-15 14:38:52 +0100berberman(~berberman@unaffiliated/berberman)
2021-03-15 14:39:00 +0100codygman__(~user@47.186.207.161)
2021-03-15 14:39:20 +0100seveg_(~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Quit: WeeChat 3.0)
2021-03-15 14:39:25 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-03-15 14:39:36 +0100maop(~maop@195.140.213.38) (Remote host closed the connection)
2021-03-15 14:40:00 +0100seveg(~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk)
2021-03-15 14:40:29 +0100berberman_(~berberman@unaffiliated/berberman) (Ping timeout: 272 seconds)
2021-03-15 14:42:28 +0100nhs(~nhs@cpe-70-113-67-118.austin.res.rr.com)
2021-03-15 14:43:06 +0100 <__minoru__shirae> but what would that language's bind translate to? a bind for a monad stack.
2021-03-15 14:43:16 +0100codygman__(~user@47.186.207.161) (Remote host closed the connection)
2021-03-15 14:43:29 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 14:43:38 +0100codygman__(~user@47.186.207.161)
2021-03-15 14:43:38 +0100drbean(~drbean@TC210-63-209-218.static.apol.com.tw) (Quit: ZNC 1.8.2+cygwin2 - https://znc.in)
2021-03-15 14:43:48 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 14:47:07 +0100bergey`bergey
2021-03-15 14:47:50 +0100codygman`(~user@209.251.131.98)
2021-03-15 14:49:13 +0100 <__minoru__shirae> no, regular function application would translate to bind, and fmap would translate to something else
2021-03-15 14:49:40 +0100codygman__(~user@47.186.207.161) (Ping timeout: 265 seconds)
2021-03-15 14:50:52 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 14:51:02 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
2021-03-15 14:51:12 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 14:52:26 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-15 14:54:08 +0100st8less(~st8less@inet-167-224-197-181.isp.ozarksgo.net)
2021-03-15 14:54:13 +0100isson(1b7769ae@27.119.105.174)
2021-03-15 14:54:41 +0100 <isson> thanks minoru_shirae
2021-03-15 14:54:41 +0100 <isson> test = f id
2021-03-15 14:54:42 +0100 <isson> f :: (a -> b -> c) -> String
2021-03-15 14:54:42 +0100 <isson> f g = "test"
2021-03-15 14:54:43 +0100 <isson> it compiles successfully.
2021-03-15 14:54:43 +0100 <isson> id have a type a -> a
2021-03-15 14:54:44 +0100 <isson> but f have a type it's first argument is (a -> b -> c)
2021-03-15 14:54:44 +0100isson(1b7769ae@27.119.105.174) (Killed (Sigyn (Spam is off topic on freenode.)))
2021-03-15 14:55:49 +0100carlomagno(~cararell@148.87.23.6)
2021-03-15 14:57:02 +0100 <mouseghost> cant "g" be very well (a -> b -> c) ?
2021-03-15 14:57:05 +0100 <geekosaur> which becomes (b -> c) -> (b -> c)
2021-03-15 14:57:59 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de) (Ping timeout: 256 seconds)
2021-03-15 14:58:15 +0100jumper149(~jumper149@ip185225.wh.uni-hannover.de) (Quit: WeeChat 3.1)
2021-03-15 14:58:32 +0100qwerty2o(~qwerty2o@138.199.52.69)
2021-03-15 14:58:46 +0100 <geekosaur> which can also be written (b -> c) -> b -> c which matches a -> b -> c
2021-03-15 14:59:00 +0100 <geekosaur> (that is, a is found to be b -> c)
2021-03-15 15:00:07 +0100xff0x(~xff0x@2001:1a81:52b7:0:73fe:50f7:6050:551e) (Ping timeout: 272 seconds)
2021-03-15 15:00:20 +0100 <jess> that looks like an accidental spam kline
2021-03-15 15:00:38 +0100 <jess> i've removed it
2021-03-15 15:00:51 +0100xff0x(~xff0x@2001:1a81:52b7:0:8b9f:ee81:7bdc:f7e8)
2021-03-15 15:01:00 +0100geekosaur(ac3a3c95@172.58.60.149) (Quit: Connection closed)
2021-03-15 15:02:33 +0100Mrbuck(~Mrbuck@gateway/tor-sasl/mrbuck) (Quit: WeeChat 2.8)
2021-03-15 15:03:47 +0100 <__minoru__shirae> isson, I was thinking about what happens to fmap when you translate regular functions to kleisli arrows, it was not related to your question, but if you found it useful, that's even better
2021-03-15 15:09:58 +0100chirpsalot(~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net) (Quit: WeeChat 1.9.1)
2021-03-15 15:09:58 +0100Chobbes(~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net) (Quit: WeeChat 1.9.1)
2021-03-15 15:10:04 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-03-15 15:10:31 +0100chirpsalot(~Chirps@pool-98-115-239-235.phlapa.fios.verizon.net)
2021-03-15 15:10:35 +0100Chobbes(~Chobbes@pool-98-115-239-235.phlapa.fios.verizon.net)
2021-03-15 15:11:47 +0100yangby(~secret@115.199.177.193)
2021-03-15 15:11:57 +0100yangby(~secret@115.199.177.193) (Client Quit)
2021-03-15 15:12:38 +0100DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 264 seconds)
2021-03-15 15:14:46 +0100 <hololeap> fmap' :: Monad m => (a -> m b) -> f a -> m (f b)
2021-03-15 15:15:58 +0100 <hololeap> :t mapM
2021-03-15 15:16:00 +0100 <lambdabot> (Traversable t, Monad m) => (a -> m b) -> t a -> m (t b)
2021-03-15 15:16:29 +0100 <hololeap> __minoru__shirae: i think fmap would translate to mapM
2021-03-15 15:16:57 +0100 <hololeap> maybe not quite...
2021-03-15 15:17:08 +0100ukari(~ukari@unaffiliated/ukari) (Ping timeout: 245 seconds)
2021-03-15 15:18:46 +0100 <hololeap> although that is interesting that fmap in a kleisli category looks _very_ similar to mapM
2021-03-15 15:20:02 +0100 <__minoru__shirae> I think fmap would translate to nested monads, so that if you call join on them they would become one layer
2021-03-15 15:20:28 +0100 <__minoru__shirae> there is a definition of bind in terms of fmap and join
2021-03-15 15:20:59 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-15 15:21:16 +0100epstein(~dwsjeid91@193.27.14.71)
2021-03-15 15:21:26 +0100Jd007(~Jd007@162.156.11.151)
2021-03-15 15:22:44 +0100dminuoso_dminuoso
2021-03-15 15:23:17 +0100 <__minoru__shirae> I forgot that you can define a monad using only the definitions of return and join
2021-03-15 15:24:13 +0100 <__minoru__shirae> so monad is something like a weird joinable functor
2021-03-15 15:24:50 +0100dminuoso(~dminuoso@static.88-198-218-68.clients.your-server.de) (Changing host)
2021-03-15 15:24:50 +0100dminuoso(~dminuoso@unaffiliated/dminuoso)
2021-03-15 15:24:58 +0100vBm1(~vBm@195.140.213.38)
2021-03-15 15:25:23 +0100 <dminuoso> __minoru__shirae: To make a slight connection to a common joke, there's a monoid here!
2021-03-15 15:25:35 +0100aarvar(~foewfoiew@2601:602:a080:fa0:6cfb:c91f:3c9a:a8cb) (Ping timeout: 240 seconds)
2021-03-15 15:25:46 +0100 <dminuoso> This act of "joining" can be thought of as "combining" layers - and that happens to be monoidal (with all the laws)
2021-03-15 15:26:43 +0100qwerty2o(~qwerty2o@138.199.52.69) (Ping timeout: 245 seconds)
2021-03-15 15:27:03 +0100 <dminuoso> https://gist.github.com/dminuoso/d5ab4ba5d8a5142dde9f4d4c736e3ecb
2021-03-15 15:27:08 +0100 <__minoru__shirae> dminuoso: what's the identity of that monoid? I mean, mempty
2021-03-15 15:27:22 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-15 15:27:34 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 15:27:38 +0100 <__minoru__shirae> Identity monad?
2021-03-15 15:27:39 +0100 <dminuoso> __minoru__shirae: the layer introduced by return.
2021-03-15 15:27:46 +0100 <dminuoso> __minoru__shirae: Checkout my gist, I made some drawings even
2021-03-15 15:28:11 +0100 <dminuoso> Note that :.: is type level composition. That is `(T :.: T) a` is isomorphic to `T (T a)`
2021-03-15 15:28:38 +0100 <dminuoso> That helps you realize that `Monad` is really *just* about the these `T` layers, not the `a`
2021-03-15 15:29:08 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-15 15:30:06 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-15 15:30:33 +0100ukari(~ukari@unaffiliated/ukari)
2021-03-15 15:31:20 +0100 <__minoru__shirae> hey, those are monad laws
2021-03-15 15:31:53 +0100 <dminuoso> Cute, isnt it? :)
2021-03-15 15:32:26 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Ping timeout: 264 seconds)
2021-03-15 15:33:07 +0100 <__minoru__shirae> I've read in some article lately, that monad laws are a specialization of some more general laws - category laws
2021-03-15 15:33:19 +0100 <dminuoso> Well they can be stated as category laws too
2021-03-15 15:33:35 +0100 <__minoru__shirae> so, in the category of functions, you have the same laws for functions
2021-03-15 15:33:46 +0100 <__minoru__shirae> in the category of functors - the same
2021-03-15 15:33:54 +0100 <__minoru__shirae> and for monads you have monad laws
2021-03-15 15:34:53 +0100 <__minoru__shirae> so, we have functions, lifted functions and kleisli arrows
2021-03-15 15:35:06 +0100 <dminuoso> Roughly, and this is with a bit of handwaving, a third way of expressing the above (monoid and/or monad laws) is this:
2021-03-15 15:35:07 +0100 <__minoru__shirae> or we have regular values, functors and monads
2021-03-15 15:35:13 +0100 <dminuoso> Kleisli composition is associative
2021-03-15 15:35:38 +0100 <dminuoso> that is: (f >=> g) >=> h === f >=> (g >=> h)
2021-03-15 15:35:48 +0100 <dminuoso> And `return` is both left and right identity for (>=>)
2021-03-15 15:35:59 +0100 <dminuoso> They're all equivalent
2021-03-15 15:36:01 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 15:36:36 +0100 <dminuoso> The interface of `=<<` has very quirky and non-elegant laws. But we have =<< because it has the right ergonomics for us as a programmer most of the time
2021-03-15 15:36:44 +0100 <__minoru__shirae> I'm waiting for something to "click" in my head, but maybe there is nothing to click, there is just an equivalence and that's all
2021-03-15 15:36:50 +0100 <dminuoso> That's fine, really
2021-03-15 15:37:02 +0100 <dminuoso> Perhaps, think of associativity of having the following relevant impact:
2021-03-15 15:37:14 +0100 <dminuoso> Say you're writing some code in do-notation
2021-03-15 15:37:41 +0100 <dminuoso> do { f <- x; g f; h f; pure (i f) }
2021-03-15 15:37:59 +0100 <dminuoso> Then associativity says floating any fragment out into a separate binding does not alter meaning
2021-03-15 15:38:31 +0100 <dminuoso> So `let c t = g t >> h t in do { f <- x; c f; pure (i f) }` is the same thing
2021-03-15 15:39:05 +0100 <dminuoso> As long as monad laws hold, you can refactor into bindings (changing how things associate implicitly) without altering meaning
2021-03-15 15:39:19 +0100 <dminuoso> And this holds regardless of the monad
2021-03-15 15:39:36 +0100 <dminuoso> So say for `IO`, the following two pieces have the same meaning:
2021-03-15 15:40:18 +0100 <dminuoso> % let f = putStr "Hello" >> putStr " World" in f >> (putStrLn ", Frank")
2021-03-15 15:40:18 +0100 <yahb> dminuoso: Hello World, Frank
2021-03-15 15:40:45 +0100 <dminuoso> % let f = putStr " World" >> putStrLn ", Frank" in (putStr "Hello" >> f)
2021-03-15 15:40:45 +0100 <yahb> dminuoso: Hello World, Frank
2021-03-15 15:41:18 +0100 <dminuoso> As programmers this associativity might be intuitive and natural. Since IO is a monad, we can argue that this holds true precisely for the monad laws.
2021-03-15 15:41:43 +0100marinelli(~marinelli@gateway/tor-sasl/marinelli)
2021-03-15 15:46:00 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta) (Remote host closed the connection)
2021-03-15 15:46:17 +0100 <__minoru__shirae> why am I thinking about this: there was a question about applying a regular function to a monad
2021-03-15 15:46:33 +0100 <__minoru__shirae> and the first thing that came to my mind was using bind with return
2021-03-15 15:46:56 +0100 <__minoru__shirae> I forgot about much simpler solution that uses fmap
2021-03-15 15:47:24 +0100 <__minoru__shirae> So, now I think, why did I miss it? Maybe I'm missing some intuition here?
2021-03-15 15:50:39 +0100rj_(~x@gateway/tor-sasl/rj)
2021-03-15 15:50:40 +0100 <__minoru__shirae> maybe the intuition is as simple as "a monad is a functor"
2021-03-15 15:50:51 +0100 <__minoru__shirae> nothing fancy
2021-03-15 15:51:09 +0100 <dminuoso> Well, all monads are functors, yes.
2021-03-15 15:52:07 +0100 <__minoru__shirae> ok, I think it takes time to get used to that idea at a subconscious level
2021-03-15 15:52:41 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-15 15:52:58 +0100 <dminuoso> I think the main problem with the term "monad" is that it makes you want to understand "what is a monad" - and the question is about as useful as "what is a monoid"
2021-03-15 15:53:09 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 15:53:09 +0100 <dminuoso> or "what is a semigroup"
2021-03-15 15:53:29 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 15:53:32 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889) (Ping timeout: 260 seconds)
2021-03-15 15:53:41 +0100 <dminuoso> And while people say "the IO monad", you rarely hear people talking about "the Integer semigroup"
2021-03-15 15:54:24 +0100 <Uniaika> (I hope not!!)
2021-03-15 15:54:35 +0100 <merijn> dminuoso: https://blog.jle.im/entry/io-monad-considered-harmful.html :p
2021-03-15 15:54:44 +0100 <merijn> There, saved you some typing and explanation ;)
2021-03-15 15:55:13 +0100 <dminuoso> merijn: Yeah, that's not quite what Im getting at
2021-03-15 15:55:22 +0100peanut_(~peanut@2a02:8388:a101:2600:6b6d:4c3f:e9f8:2601)
2021-03-15 15:56:13 +0100 <dminuoso> It's just that, being a semigroup has no meaning other than satisfying some laws. It doesn't tell you at all what the operation means, or any other properties.
2021-03-15 15:56:18 +0100 <dminuoso> And monad is just the same
2021-03-15 15:56:25 +0100jessty(~jessty___@180.254.160.158)
2021-03-15 15:57:58 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 245 seconds)
2021-03-15 15:58:09 +0100 <codygman`> I've been hitting a wall debugging a "libpq: failed (another command is already in progress" error using Data.Pool with persistent. I was wondering if anyone here might be able to help. It seems like Data.Pool happily puts back connections that still have queries running on them. Way more detail here: https://github.com/yesodweb/persistent/issues/1199
2021-03-15 15:58:31 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-15 15:58:52 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
2021-03-15 15:59:08 +0100 <dminuoso> codygman`: Did you see https://github.com/lpsmith/postgresql-simple/issues/177?
2021-03-15 15:59:21 +0100Ranhir(~Ranhir@157.97.53.139) (Read error: Connection reset by peer)
2021-03-15 16:00:18 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-15 16:00:36 +0100 <merijn> codygman`: Are you using any of the conduit query functions from persistent?
2021-03-15 16:00:58 +0100 <merijn> codygman`: like selectSource
2021-03-15 16:01:07 +0100raehik1(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.0.1)
2021-03-15 16:01:18 +0100 <codygman`> We were in prod, but I reproduced without conduit here: https://github.com/codygman/persistent-postgresql-query-in-progress-repro/blob/master/src/Main.hs
2021-03-15 16:01:24 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 16:02:14 +0100 <dminuoso> Oh nvm me
2021-03-15 16:02:36 +0100malumore(~malumore@151.62.122.60) (Remote host closed the connection)
2021-03-15 16:02:55 +0100 <dminuoso> codygman`: Just a random thought, but you are not using COPY are you?
2021-03-15 16:03:18 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 16:03:44 +0100 <codygman`> We are using LISTEN in prod via oddjobs, but in that minimal repro it's just a simple rawSql query.
2021-03-15 16:07:30 +0100 <codygman`> If interested and one has the time, it's easy to run yourself with stack and the copy-pastable docker postgres here: https://github.com/codygman/persistent-postgresql-query-in-progress-repro/blob/958e66963c0ad976114…
2021-03-15 16:07:35 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Ping timeout: 240 seconds)
2021-03-15 16:08:03 +0100 <merijn> codygman`: Hold on
2021-03-15 16:08:34 +0100 <merijn> codygman`: Are you *sure* the exception happens during the rawSql
2021-03-15 16:08:51 +0100jessty_(~jessty___@180.254.160.158)
2021-03-15 16:08:57 +0100 <merijn> codygman`: It looks to me that that exception is just from your concurrent inserts
2021-03-15 16:10:24 +0100Lycurgus(~niemand@98.4.115.230)
2021-03-15 16:10:50 +0100tsaka__(~torstein@ppp-2-87-239-251.home.otenet.gr)
2021-03-15 16:10:53 +0100jessty(~jessty___@180.254.160.158) (Ping timeout: 245 seconds)
2021-03-15 16:11:03 +0100todda7(~torstein@2a02:587:1b10:ea00:db5:2d40:d00d:cce4) (Ping timeout: 272 seconds)
2021-03-15 16:11:31 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-15 16:11:59 +0100 <codygman`> I know the error is coming from `result`: https://github.com/codygman/persistent-postgresql-query-in-progress-repro/blob/958e66963c0ad976114… Wouldn't I never get to result if an async exception in inserts happened here: https://github.com/codygman/persistent-postgresql-query-in-progress-repro/blob/958e66963c0ad976114…
2021-03-15 16:12:05 +0100 <merijn> Anyway
2021-03-15 16:12:28 +0100 <merijn> My recommendation would be to not use persistent if you care about your transactions/cleanup/etc. actually being predictable
2021-03-15 16:12:57 +0100Wuzzy(~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de)
2021-03-15 16:13:00 +0100 <merijn> The entire API is in an entirely incoherent state and IMO cannot be used safely without spending several hours staring at the persistent internals
2021-03-15 16:13:17 +0100jessty_(~jessty___@180.254.160.158) (Ping timeout: 265 seconds)
2021-03-15 16:13:47 +0100dyeplexer(~lol@unaffiliated/terpin)
2021-03-15 16:14:10 +0100 <merijn> actually
2021-03-15 16:14:10 +0100 <codygman`> I actually spent the time to fork persistent and use unliftio everywhere. And to use the fork of Data.Pool that uses unliftio. That still didn't help :)
2021-03-15 16:14:10 +0100ambiso992(~ambiso@209.182.239.205) (Quit: The Lounge - https://thelounge.chat)
2021-03-15 16:14:13 +0100 <merijn> I see the issue
2021-03-15 16:14:25 +0100 <merijn> And it's related to my existing issue on persistent
2021-03-15 16:14:27 +0100aggin(~ecm@103.88.87.37)
2021-03-15 16:14:32 +0100 <merijn> codygman`: The problem isn't the pool
2021-03-15 16:14:43 +0100 <merijn> codygman`: The problem is that persistent's Statement cache is garbage
2021-03-15 16:14:44 +0100ambiso992(~ambiso@209.182.239.205)
2021-03-15 16:15:23 +0100 <codygman`> I saw that conversation and I was exploring that, but wasn't sure how it would affect this in particular.
2021-03-15 16:15:28 +0100 <merijn> codygman`: https://hackage.haskell.org/package/persistent-2.11.0.2/docs/src/Database.Persist.Sql.Raw.html#raw…
2021-03-15 16:16:03 +0100 <merijn> codygman`: Note how: 1) rawExecute is just rawExecuteCount and 2) "stmtReset" is not called via a bracket
2021-03-15 16:16:41 +0100 <merijn> codygman`: That means that if you async interrupt the statement, it's not reset, but the connection is returned to the pool
2021-03-15 16:17:15 +0100 <merijn> codygman`: I don't know postgres, but I suspect the problem is issuing a new statement while one is "still running"
2021-03-15 16:17:25 +0100 <codygman`> It looks like for persistent the postgres stmtReset is just `return ()` lol
2021-03-15 16:17:29 +0100 <codygman`> for postgres*
2021-03-15 16:17:57 +0100 <merijn> ah, not sure about that
2021-03-15 16:17:59 +0100 <codygman`> that is indeed the issue... I tried a workaround where I call PQ.cancel
2021-03-15 16:18:02 +0100 <merijn> but that seems weird
2021-03-15 16:18:21 +0100 <codygman`> Actually the full solution is: PQ.cancel, PQ.consumeInput, PQ.disconnect
2021-03-15 16:18:23 +0100 <merijn> I can't imagine postgres doesn't require resetting/freeing an "in progress" statement
2021-03-15 16:19:06 +0100 <codygman`> Okay, I think I'll try out adding that logic into reset
2021-03-15 16:19:13 +0100jrqc(~rofl@96.78.87.197) (Ping timeout: 245 seconds)
2021-03-15 16:20:02 +0100polyphem(~p0lyph3m@2a02:810d:640:776c:76d7:55f6:f85b:c889)
2021-03-15 16:20:37 +0100 <merijn> codygman`: I stand by my earlier recommendation, though :)
2021-03-15 16:22:25 +0100 <codygman`> Yeah, but my team is pretty heavily invested in Persistent by now.
2021-03-15 16:22:27 +0100jrqc(~rofl@96.78.87.197)
2021-03-15 16:22:36 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (Ping timeout: 246 seconds)
2021-03-15 16:22:43 +0100 <merijn> codygman`: I know all about sunk cost fallacy :p
2021-03-15 16:22:48 +0100 <codygman`> :D
2021-03-15 16:23:06 +0100 <merijn> But at least my excuse is that no one is paying me for future maintenance on my code so since it's working now it can just rot
2021-03-15 16:23:33 +0100 <merijn> That doesn't apply if you have to maintain it long term :p
2021-03-15 16:27:00 +0100aggin(~ecm@103.88.87.37) (Quit: WeeChat 3.0.1)
2021-03-15 16:27:32 +0100 <peanut_> Hey I'm analyzing GHC Core expressions from GHC.compileToCoreModule and was wondering if theres a way to get a definition (Core Expression) from a vanilla global Var.Id, probably from another module
2021-03-15 16:28:08 +0100 <merijn> peanut_: Sounds like a question with a better chance of success in #ghc? :)
2021-03-15 16:28:21 +0100 <peanut_> Thing is, I'm not working on the GHC
2021-03-15 16:28:28 +0100 <peanut_> I'm just using the GHC package
2021-03-15 16:29:14 +0100 <peanut_> Is #ghc exclusively about GHC development?
2021-03-15 16:29:33 +0100 <merijn> peanut_: tbh, any question involving GHC internals is on-topic there
2021-03-15 16:29:54 +0100 <peanut_> alright thanks, I'll try my luck there
2021-03-15 16:30:10 +0100 <peanut_> didn't want to disrupt GHC development
2021-03-15 16:30:13 +0100 <merijn> peanut_: As long as they're not n00b tier beginner Haskell questions or getting too spammy
2021-03-15 16:30:29 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 16:30:36 +0100 <merijn> peanut_: It's fine, it's a fairly quiet channel
2021-03-15 16:30:55 +0100 <peanut_> thanks for the advice :)
2021-03-15 16:31:32 +0100Guest54670(~textual@mskresolve-a.mskcc.org) (Ping timeout: 256 seconds)
2021-03-15 16:31:39 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 265 seconds)
2021-03-15 16:32:59 +0100DTZUZU_(~DTZUZO@207.81.119.43)
2021-03-15 16:33:26 +0100wopas32(uid384704@gateway/web/irccloud.com/x-tpyrxxcvbruhblyb) (Quit: Connection closed for inactivity)
2021-03-15 16:34:05 +0100 <codygman`> I was happy to see you online merijn... it's remarkably difficult to get help on issues with Async exceptions and resource finalization in Haskell. I was wondering if I'd have to jump to #ghc too :)
2021-03-15 16:35:30 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 256 seconds)
2021-03-15 16:36:03 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 16:36:49 +0100Alleria(~textual@mskresolve-a.mskcc.org)
2021-03-15 16:37:12 +0100AlleriaGuest53837
2021-03-15 16:37:30 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl)
2021-03-15 16:37:31 +0100robweb(ac3811c3@172.56.17.195)
2021-03-15 16:37:35 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-15 16:39:10 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection)
2021-03-15 16:39:44 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f)
2021-03-15 16:40:31 +0100bobweb(ac3a1790@172.58.23.144)
2021-03-15 16:41:49 +0100 <merijn> That's because most people aren't anywhere close to paranoid enough for async exceptions :p
2021-03-15 16:43:08 +0100geekosaur(ac3a56e4@172.58.86.228)
2021-03-15 16:43:41 +0100Lycurgus(~niemand@98.4.115.230) (Quit: Exeunt)
2021-03-15 16:44:09 +0100 <bobweb> Hi. I have this problem: https://paste.tomsmeding.com/cpY67dWg. Would you please help me get this QuickCheck issue from "Haskell from First Principles" resolved? Thank you.
2021-03-15 16:45:57 +0100 <merijn> bobweb: Did the "Double -> Double" signature come from the book or from you?
2021-03-15 16:47:01 +0100 <bobweb> merijin: from me. I got a different error with no type signiture so I added one.
2021-03-15 16:47:06 +0100 <int-e> bobweb: you need a function that returns a Bool.
2021-03-15 16:47:07 +0100malumore(~malumore@151.62.122.60)
2021-03-15 16:47:34 +0100 <geekosaur> right, you need a predicate, something that does a test and produces a Bool result
2021-03-15 16:47:44 +0100 <int-e> so if the book says that
2021-03-15 16:47:54 +0100toorevitimirp(~tooreviti@117.182.182.40) (Remote host closed the connection)
2021-03-15 16:47:54 +0100 <geekosaur> so halfIdentity is incomplete
2021-03-15 16:48:08 +0100 <int-e> "halfIdentity = (*2) . half" is a property then the book is wrong... but maybe you misread?
2021-03-15 16:48:53 +0100 <bobweb> Well, @#$%! I totally didn't see that and of course it needs a Bool to test against. DUH! Thank you all.
2021-03-15 16:48:58 +0100olligobber(olligobber@gateway/vpn/privateinternetaccess/olligobber) (Remote host closed the connection)
2021-03-15 16:49:17 +0100Sorna(~Sornaensi@077213203030.dynamic.telenor.dk)
2021-03-15 16:49:26 +0100 <bobweb> No, the book expected me to see the need for a Bool function.
2021-03-15 16:50:00 +0100 <bobweb> int-e
2021-03-15 16:50:05 +0100vicfred(~vicfred@unaffiliated/vicfred)
2021-03-15 16:50:32 +0100 <bobweb> Thanks again.
2021-03-15 16:50:45 +0100bobweb(ac3a1790@172.58.23.144) (Quit: Connection closed)
2021-03-15 16:51:45 +0100asheshambasta(~user@ptr-e1lysavzjd712yoren8.18120a2.ip6.access.telenet.be)
2021-03-15 16:51:46 +0100ephemient(uid407513@gateway/web/irccloud.com/x-jereqnktqbcrezfu)
2021-03-15 16:51:58 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-15 16:52:30 +0100aqd(~aqd@84.20.147.33) (Quit: Textual IRC Client: www.textualapp.com)
2021-03-15 16:53:37 +0100Kaiepi(~Kaiepi@47.54.252.148)
2021-03-15 16:53:38 +0100Sornaensis(~Sornaensi@79.142.232.102.static.router4.bolignet.dk) (Ping timeout: 256 seconds)
2021-03-15 16:54:46 +0100robweb(ac3811c3@172.56.17.195) (Quit: Connection closed)
2021-03-15 16:54:54 +0100peanut_(~peanut@2a02:8388:a101:2600:6b6d:4c3f:e9f8:2601) (Quit: Leaving)
2021-03-15 16:55:02 +0100jakalx(~jakalx@base.jakalx.net) ("Error from remote client")
2021-03-15 16:55:21 +0100tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net)
2021-03-15 16:56:11 +0100 <codygman`> merijn: I agree... people are too lax about async exceptions. I think part of the problem is how far you can get without worrying about them. If you had to confront them earlier though... would people stick around? :D
2021-03-15 16:56:18 +0100tinhatcat(~tsranso@108-91-101-161.lightspeed.gnvlsc.sbcglobal.net) (Client Quit)
2021-03-15 16:56:29 +0100 <merijn> codygman`: I mean, they're not worse than in other languages
2021-03-15 16:56:41 +0100 <merijn> async exceptions are just hard
2021-03-15 16:57:24 +0100 <c_wraith> they're not a problem in Haskell if your program is allowed to just.. fail
2021-03-15 16:57:34 +0100 <merijn> c_wraith: Then they still are
2021-03-15 16:57:42 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-15 16:57:50 +0100Ranhir(~Ranhir@157.97.53.139)
2021-03-15 16:57:54 +0100 <merijn> Resource cleanup is still a mess, see persistent
2021-03-15 16:58:05 +0100 <geekosaur> that's not "just.. fail"
2021-03-15 16:58:31 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-15 16:58:41 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) (Remote host closed the connection)
2021-03-15 16:58:51 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
2021-03-15 17:00:07 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-15 17:00:29 +0100 <c_wraith> persistent? the database interface? What does it need to clean up that the database doesn't handle?
2021-03-15 17:01:09 +0100 <merijn> c_wraith: I meant that the earlier example shows how it's near impossible to reliably trigger cleanups for async exceptions
2021-03-15 17:01:16 +0100 <codygman`> For my case with postgres, it needs to destroy connections that are aborted or properly reset them before putting them back in the pool.
2021-03-15 17:01:30 +0100 <codygman`> my case above*
2021-03-15 17:01:36 +0100 <c_wraith> once you have a pool, you're way past just failing.
2021-03-15 17:01:46 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (Remote host closed the connection)
2021-03-15 17:02:06 +0100APic(apic@apic.name) (Ping timeout: 265 seconds)
2021-03-15 17:02:07 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-15 17:02:21 +0100 <merijn> c_wraith: I didn't mean that persistent is an example of "can't just fail", if your application just exists the DB will recover
2021-03-15 17:02:50 +0100 <merijn> c_wraith: My point was that persistent illustrates that simply "trigger cleanup before bailing/crashing" is already near impossible
2021-03-15 17:04:07 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 17:05:32 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Remote host closed the connection)
2021-03-15 17:06:49 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (Remote host closed the connection)
2021-03-15 17:07:08 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-15 17:07:25 +0100 <dminuoso> merijn: Regarding persistent, Ive been handrolling a few bits and pieces for neat SQL generation.
2021-03-15 17:07:46 +0100 <dminuoso> And every time I do it, I too stand by "dont use persistent" :)
2021-03-15 17:09:05 +0100 <codygman`> c_wraith: I'm not sure what you mean by 'once you have a pool you're way past just failing'. The pool is supposed to help you be resilient to failure and use resources more efficiently right?
2021-03-15 17:09:24 +0100 <merijn> codygman`: Right, so you're not itending to "just fail"
2021-03-15 17:09:32 +0100 <c_wraith> codygman`: By "just fail", I mean the whole program. If you're recovering, you're doing way more than just failing
2021-03-15 17:10:55 +0100 <dminuoso> 16:17:25 codygman` | It looks like for persistent the postgres stmtReset is just `return ()` lol
2021-03-15 17:11:06 +0100 <dminuoso> codygman`: You're leaping to conclusions I think
2021-03-15 17:11:21 +0100 <dminuoso> Staring at the persistent code, `stmtReset = return ()` *only* for prepare
2021-03-15 17:11:44 +0100 <merijn> dminuoso: What I like is that the whole persistent API is designed around the eager resource cleanup of conduit
2021-03-15 17:11:53 +0100DataComputist(~lumeng@50.43.26.251) (Quit: Leaving...)
2021-03-15 17:12:02 +0100 <merijn> dminuoso: "Wait, but didn't conduit stop supporting eager resource cleanup?"
2021-03-15 17:12:09 +0100 <merijn> Why yes, yes, it did.
2021-03-15 17:12:27 +0100 <merijn> Did the persistent API get refactored to be sensible in this new world?
2021-03-15 17:12:34 +0100 <merijn> Well, no, duh
2021-03-15 17:14:57 +0100CoconutCrab(~Cua@unaffiliated/coconutcrab) (Ping timeout: 264 seconds)
2021-03-15 17:15:20 +0100DataComputist(~lumeng@50.43.26.251)
2021-03-15 17:15:37 +0100 <codygman`> dminuoso: prepare is the stmtReset that is called by Database.Persist.Sql.Raw.getStmtConnection meaning for postgres stmtReset does nothing.
2021-03-15 17:15:49 +0100 <codygman`> I just rechecked in case though :)
2021-03-15 17:16:18 +0100idhugo__(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 256 seconds)
2021-03-15 17:16:44 +0100 <dminuoso> codygman`: not quite
2021-03-15 17:17:10 +0100epstein(~dwsjeid91@193.27.14.71) (Quit: Leaving)
2021-03-15 17:17:12 +0100 <dminuoso> oh hold on
2021-03-15 17:17:14 +0100 <dminuoso> I see
2021-03-15 17:17:46 +0100 <dminuoso> This code looks a bit fishy
2021-03-15 17:18:10 +0100 <codygman`> >--<>
2021-03-15 17:18:44 +0100 <dminuoso> >=>
2021-03-15 17:20:16 +0100kadoban_(~mud@unaffiliated/kadoban) (Remote host closed the connection)
2021-03-15 17:20:46 +0100conal(~conal@64.71.133.70)
2021-03-15 17:21:30 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-15 17:21:50 +0100SornaSornaeniss
2021-03-15 17:21:53 +0100SornaenissSornaensis
2021-03-15 17:24:26 +0100jamm_(~jamm@unaffiliated/jamm) (Remote host closed the connection)
2021-03-15 17:26:59 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 17:27:05 +0100mouseghost(~draco@wikipedia/desperek) (Quit: mew wew)
2021-03-15 17:27:20 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 17:27:28 +0100dfeuer(~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net)
2021-03-15 17:28:14 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:9289:77c9:1590:330e) (Ping timeout: 264 seconds)
2021-03-15 17:30:26 +0100zar(~zar@fw1.ciirc.cvut.cz) (Quit: Leaving)
2021-03-15 17:30:58 +0100jakalx(~jakalx@base.jakalx.net)
2021-03-15 17:31:54 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2021-03-15 17:37:08 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 17:37:12 +0100APic(apic@apic.name)
2021-03-15 17:37:51 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.1)
2021-03-15 17:38:55 +0100arrowsvc_(~arr@2.93.163.35) (Quit: Konversation terminated!)
2021-03-15 17:39:13 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 17:39:58 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Remote host closed the connection)
2021-03-15 17:40:22 +0100APic(apic@apic.name) (Client Quit)
2021-03-15 17:40:26 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 17:40:30 +0100 <__minoru__shirae> codygman`: "people are too lax about async exceptions. I think part of the problem is how far you can get without worrying about them. If you had to confront them earlier though... would people stick around? :D"
2021-03-15 17:40:58 +0100asheshambasta(~user@ptr-e1lysavzjd712yoren8.18120a2.ip6.access.telenet.be) (Ping timeout: 265 seconds)
2021-03-15 17:41:00 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:dcdc:9829:bf56:9867)
2021-03-15 17:41:19 +0100 <__minoru__shirae> so what one to do with async exceptions?
2021-03-15 17:41:21 +0100 <__minoru__shirae> a beginner doesn't worry about them
2021-03-15 17:41:34 +0100 <dminuoso> [pack (tagFieldName (sumEncoding opts)) | fromTaggedSum]
2021-03-15 17:41:38 +0100 <dminuoso> What kind of syntax is this?
2021-03-15 17:41:41 +0100 <__minoru__shirae> a next-level beginner uses mask and bracket
2021-03-15 17:41:47 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-15 17:42:53 +0100 <dminuoso> Oh hold on, this is just a conditionally empty list.
2021-03-15 17:42:58 +0100 <__minoru__shirae> does stm take care of async exceptions somehow? so a programmer doesn't have to worry about them.
2021-03-15 17:43:12 +0100 <dminuoso> __minoru__shirae: The problem of async exceptions begins when you escape the haskell RTS.
2021-03-15 17:43:22 +0100 <merijn> dminuoso: pfft
2021-03-15 17:43:27 +0100 <merijn> dminuoso: It begins waaaaay earlier
2021-03-15 17:43:29 +0100 <dminuoso> heh
2021-03-15 17:43:32 +0100 <dminuoso> well thats when it gets real nasty
2021-03-15 17:43:49 +0100 <dminuoso> Some bits I really dont get.
2021-03-15 17:44:09 +0100 <dminuoso> Like how `mask` is named `mask` and not just `maskSometimes`
2021-03-15 17:44:14 +0100texasmynsted(~texasmyns@99.96.221.112) (Read error: Connection reset by peer)
2021-03-15 17:44:20 +0100 <dminuoso> Or maybe `maskButNotReally`
2021-03-15 17:45:17 +0100 <__minoru__shirae> there is uninterruptibleMask
2021-03-15 17:45:20 +0100APic(apic@apic.name)
2021-03-15 17:45:41 +0100 <__minoru__shirae> but the book says "
2021-03-15 17:45:43 +0100 <__minoru__shirae> Every instance of uninterruptibleMask should be
2021-03-15 17:45:44 +0100 <__minoru__shirae> treated with the utmost suspicion.
2021-03-15 17:45:49 +0100 <__minoru__shirae> "
2021-03-15 17:46:05 +0100 <merijn> Every use of mask should be treated with the utmost suspicion
2021-03-15 17:46:17 +0100 <dminuoso> __minoru__shirae: the thing is, `mask` does not even give you the slightest hint that it doesnt really mask
2021-03-15 17:46:24 +0100 <dminuoso> Which makes it dangerous to use
2021-03-15 17:46:30 +0100 <merijn> All code that's not been examined should be assumed "wrong" when it comes to async exceptions
2021-03-15 17:46:31 +0100 <dminuoso> You get a false sense of security
2021-03-15 17:46:54 +0100 <merijn> All code that's been examined and proven "not wrong" should be assumed "only probably wrong"
2021-03-15 17:47:03 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 265 seconds)
2021-03-15 17:47:11 +0100 <dminuoso> __minoru__shirae: then add that `bracket` uses `mask`
2021-03-15 17:47:22 +0100 <dminuoso> so suddenly if you use `bracket`, you're only semi protected against async exceptoins
2021-03-15 17:47:29 +0100 <merijn> dminuoso: I already campaigned against that in 7 years ago
2021-03-15 17:47:39 +0100 <merijn> dminuoso: Got too many complaints to go through with it
2021-03-15 17:47:52 +0100 <dminuoso> merijn: Just go and use `unliftio` everywhere
2021-03-15 17:47:56 +0100 <merijn> dminuoso: No
2021-03-15 17:48:01 +0100 <dminuoso> It comes with cleaned up Control.Exception :P
2021-03-15 17:48:08 +0100 <merijn> It does not
2021-03-15 17:48:13 +0100 <dminuoso> Its surely better than what base comes with
2021-03-15 17:48:30 +0100 <dminuoso> No accidentally catching async exceptions, and bracket defaults to uninterruptibleMask
2021-03-15 17:48:36 +0100 <merijn> It comes with a Snoyman-opinionated cleaned up Control.Exception that is useless unless all your transitive dependencies use it too
2021-03-15 17:48:46 +0100 <merijn> It also has a massive dependency footprint
2021-03-15 17:48:59 +0100RusAlex(~Chel@unaffiliated/rusalex) (Ping timeout: 265 seconds)
2021-03-15 17:49:07 +0100 <dminuoso> a massive dependency footprint?
2021-03-15 17:49:13 +0100 <dminuoso> dunno, most of them I depend on anyway
2021-03-15 17:49:23 +0100 <dminuoso> and its *really* harmless
2021-03-15 17:51:38 +0100 <dminuoso> merijn: Also I disagree with your characterization that its useless unless [...]
2021-03-15 17:51:51 +0100 <dminuoso> It adds value the moment you use it. Every boundary that doesnt recover from an async exception is good.
2021-03-15 17:52:25 +0100 <dminuoso> Of course it'd be great if the entirety of hackage adhered to this, but in an imperfect world I take some cleanliness over none
2021-03-15 17:52:27 +0100 <merijn> dminuoso: I mean that it leaves all of my transitive dependencies free to have completely broken async exception handling/bracketing
2021-03-15 17:52:36 +0100 <dminuoso> sure
2021-03-15 17:52:46 +0100 <dminuoso> but my goal is not to make the world perfect
2021-03-15 17:52:47 +0100 <merijn> And all in all I trust my transitive dependencies far less than *my* async code :p
2021-03-15 17:53:09 +0100 <merijn> Because I am paranoid and have worked on async + distributed runtime systems before :p
2021-03-15 17:53:34 +0100 <merijn> I don't need protecting from me (well, I do...but not as much as I need protecting from *everyone else*)
2021-03-15 17:55:51 +0100idhugo__(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-15 17:55:53 +0100 <__minoru__shirae> how about using stm? a transaction gets rolled back, so no need to worry about async exceptions breaking consistency, right?
2021-03-15 17:58:16 +0100fresheyeball(~isaac@c-71-237-105-37.hsd1.co.comcast.net)
2021-03-15 17:58:17 +0100 <geekosaur> you can't do IO during an STM transaction, and if you could how would you e.g. rollback a write?
2021-03-15 17:58:29 +0100 <fresheyeball> If Maybe = (+ 1)
2021-03-15 17:58:31 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr) (Quit: Konversation terminated!)
2021-03-15 17:58:33 +0100 <fresheyeball> what is []?
2021-03-15 17:58:45 +0100 <fresheyeball> is [] = (+ Infinity)?
2021-03-15 17:58:52 +0100zebrag(~inkbottle@aaubervilliers-654-1-101-29.w86-212.abo.wanadoo.fr)
2021-03-15 17:58:54 +0100 <__minoru__shirae> geekosaur: yeah, was wondering about that too
2021-03-15 17:59:50 +0100 <geekosaur> fresheyeball: look at it in terms of its definition, data List a = [] | Cons a (List a)
2021-03-15 18:00:25 +0100 <geekosaur> so not quite (+ Inf), since it can be finite
2021-03-15 18:01:23 +0100 <monochrom> Infinite series. [a] = 1 + a + a*a + a*a*a + ...
2021-03-15 18:01:27 +0100 <fresheyeball> geekosaur: doesn't that just make it a larger infinite?
2021-03-15 18:01:36 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 18:01:45 +0100lewky_(~lewky@159.65.37.240) (Quit: ZNC 1.9.x-git-111-f2cdc3db - https://znc.in)
2021-03-15 18:01:54 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-15 18:01:55 +0100graf_blutwurst(~user@2001:171b:226e:adc0:f5d5:a07f:9e46:8981) (Remote host closed the connection)
2021-03-15 18:01:55 +0100 <codygman`> merijn: Perhaps I'll carry on your "fix bracket" torch from 7 years ago if I ever get this fixed.
2021-03-15 18:01:55 +0100 <fresheyeball> If it can be infinite list, or a finite list, doesn't that just mean the cardinality is bigger than a countable infinity?
2021-03-15 18:02:15 +0100Ranhir(~Ranhir@157.97.53.139) (Quit: KVIrc 5.0.0 Aria http://www.kvirc.net/)
2021-03-15 18:02:25 +0100 <geekosaur> it's still countable
2021-03-15 18:02:36 +0100 <monochrom> You are really better off writing out "Maybe a = 1+a" instead of trying to be pointfree with "Maybe = (1 +)". The pointfree form doesn't scale.
2021-03-15 18:03:14 +0100 <dminuoso> monochrom: I disagree. Everybody should @pl their code to lambdabot before committing. It scales!
2021-03-15 18:03:28 +0100 <dminuoso> Completely pointless code. Guaranteed.
2021-03-15 18:04:01 +0100 <fresheyeball> geekosaur: how so? Does the diagonal proof not apply here? Can't I just invent a new list with a different member?
2021-03-15 18:04:36 +0100 <geekosaur> it wouldn't describe the same type
2021-03-15 18:04:48 +0100 <fresheyeball> [Int] ?
2021-03-15 18:05:00 +0100 <fresheyeball> why not?
2021-03-15 18:05:17 +0100 <fresheyeball> I don't see why the diagonal proof doesn't apply to lists
2021-03-15 18:05:27 +0100cfricke(~cfricke@unaffiliated/cfricke) (Ping timeout: 258 seconds)
2021-03-15 18:05:36 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 256 seconds)
2021-03-15 18:05:37 +0100Ranhir(~Ranhir@157.97.53.139)
2021-03-15 18:05:47 +0100howdoi(uid224@gateway/web/irccloud.com/x-evlatajzqwspjogs)
2021-03-15 18:05:48 +0100 <geekosaur> maybe I'm misunderstanding you. but if you added an arbitrary thing it would not then be a list of a, but a list of a plus an item of some b /= a
2021-03-15 18:06:03 +0100 <fresheyeball> oic
2021-03-15 18:06:15 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 18:06:21 +0100 <fresheyeball> well I then I think perhaps let's consider this
2021-03-15 18:06:23 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 265 seconds)
2021-03-15 18:06:23 +0100 <fresheyeball> [()]
2021-03-15 18:06:32 +0100 <fresheyeball> because then no diagonal right?
2021-03-15 18:06:40 +0100 <fresheyeball> but still, I can have an infinite list of [()]
2021-03-15 18:06:47 +0100 <fresheyeball> and a finite list of arbitrary size
2021-03-15 18:07:19 +0100roconnor(~roconnor@host-45-58-230-226.dyn.295.ca)
2021-03-15 18:07:28 +0100 <monochrom> That is still not "1 + infinity".
2021-03-15 18:07:59 +0100 <monochrom> If [Int] were = 1 + infinity, where is "Int" in "1 + infinity"?
2021-03-15 18:08:00 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Remote host closed the connection)
2021-03-15 18:08:09 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 18:08:10 +0100 <monochrom> err sorry misread, nevermind.
2021-03-15 18:08:26 +0100 <fresheyeball> I start counting like this
2021-03-15 18:08:26 +0100conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2021-03-15 18:08:29 +0100 <fresheyeball> [] = 1
2021-03-15 18:08:33 +0100 <fresheyeball> [()] = 2
2021-03-15 18:08:34 +0100 <monochrom> But [()] is still not () + infinity. [Int] is still not Int + Infinity. (Where is the empty list?)
2021-03-15 18:08:38 +0100 <fresheyeball> [(), ()] = 3
2021-03-15 18:09:00 +0100ephemient_(uid407513@gateway/web/irccloud.com/x-vpzhtzbqasvuzanc)
2021-03-15 18:09:08 +0100 <monochrom> How about [Int]? How abou [Bool]?
2021-03-15 18:09:25 +0100frozenErebus(~frozenEre@94.128.82.20)
2021-03-15 18:09:29 +0100 <monochrom> Where is [True, False, False, True, False] in your scheme?
2021-03-15 18:09:43 +0100runeks__(sid21167@gateway/web/irccloud.com/x-tcwtgsjwiokaatdr)
2021-03-15 18:09:53 +0100 <fresheyeball> Well if [()] is an uncountable infinity, because of infinite lists in addition to an infinite number of finite lists.
2021-03-15 18:10:00 +0100RusAlex_(~Chel@BSN-77-82-41.static.siol.net)
2021-03-15 18:10:02 +0100 <fresheyeball> then I think it doesn't matter actually
2021-03-15 18:10:17 +0100 <fresheyeball> Whatever we put in the list, it wont change the cardinality
2021-03-15 18:10:22 +0100 <hyperisco> fresheyeball, the arithmetic interpretation is just the same as if you have a recursive arithmetic expression
2021-03-15 18:10:39 +0100 <hyperisco> fresheyeball, so you can analyse in various ways... it is an infinite series
2021-03-15 18:10:45 +0100tzh(~tzh@c-24-21-73-154.hsd1.wa.comcast.net)
2021-03-15 18:11:50 +0100dfeuer(~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net) (Ping timeout: 260 seconds)
2021-03-15 18:12:05 +0100 <hyperisco> fresheyeball, for example you can rearrange to a polynomial and, interestingly, the derivative is the same as the zipper https://pavpanchekha.com/blog/zippers/derivative.html
2021-03-15 18:12:11 +0100toasty_avocado[4(toastyavoc@gateway/shell/matrix.org/x-ofixjwdrwojfkcuv)
2021-03-15 18:12:13 +0100ntjns_(~jones@167.88.120.129)
2021-03-15 18:12:35 +0100coddinkn_(~coddinkn@octayn.net)
2021-03-15 18:12:57 +0100 <fresheyeball> math buddy of mine in another channel is telling me it's aleph nought
2021-03-15 18:13:07 +0100Hanma[m]1(hanmamatri@gateway/shell/matrix.org/x-dducjpohzbpbsrrp)
2021-03-15 18:13:13 +0100 <geekosaur> there''s some questions there iirc
2021-03-15 18:13:37 +0100invent[m]1(inventmatr@gateway/shell/matrix.org/x-lpuieaxgzfdbucdc)
2021-03-15 18:14:00 +0100 <geekosaur> well, no, aleph0 is pretty well accepted, it's the next one up there are questions about. but they're just describing countable infinity in another way
2021-03-15 18:14:02 +0100ephemient(uid407513@gateway/web/irccloud.com/x-jereqnktqbcrezfu) (Read error: Connection reset by peer)
2021-03-15 18:14:02 +0100alanz(sid110616@gateway/web/irccloud.com/x-lduezzrbwnigpcym) (Read error: Connection reset by peer)
2021-03-15 18:14:02 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:dcdc:9829:bf56:9867) (Ping timeout: 265 seconds)
2021-03-15 18:14:02 +0100runeks(sid21167@gateway/web/irccloud.com/x-rckbkalawmplrynn) (Ping timeout: 265 seconds)
2021-03-15 18:14:02 +0100alanz(sid110616@gateway/web/irccloud.com/session)
2021-03-15 18:14:02 +0100alanz(sid110616@gateway/web/irccloud.com/session) (Changing host)
2021-03-15 18:14:02 +0100alanz(sid110616@gateway/web/irccloud.com/x-nvhulchvfobjcadn)
2021-03-15 18:14:03 +0100Hanma[m](hanmamatri@gateway/shell/matrix.org/x-efytsvxrhnkbgydz) (Ping timeout: 265 seconds)
2021-03-15 18:14:03 +0100JSharp(sid4580@wikia/JSharp) (Ping timeout: 265 seconds)
2021-03-15 18:14:03 +0100enya[m](enyaismatr@gateway/shell/matrix.org/x-kggzrjtkshyubmxt) (Ping timeout: 265 seconds)
2021-03-15 18:14:03 +0100conal(~conal@64.71.133.70)
2021-03-15 18:14:03 +0100coddinkn(~coddinkn@octayn.net) (Ping timeout: 265 seconds)
2021-03-15 18:14:03 +0100noexcept(~noexcept@2a03:b0c0:3:d0::33:9001) (Ping timeout: 265 seconds)
2021-03-15 18:14:03 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (Ping timeout: 265 seconds)
2021-03-15 18:14:03 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-cecwjfvchqqwsnbp) (Ping timeout: 265 seconds)
2021-03-15 18:14:03 +0100megaTherion(~therion@unix.io) (Ping timeout: 265 seconds)
2021-03-15 18:14:04 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar) (Ping timeout: 265 seconds)
2021-03-15 18:14:04 +0100alanz(sid110616@gateway/web/irccloud.com/x-nvhulchvfobjcadn) (Max SendQ exceeded)
2021-03-15 18:14:04 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 265 seconds)
2021-03-15 18:14:04 +0100invent[m](inventmatr@gateway/shell/matrix.org/x-cwuovopaejsudboe) (Ping timeout: 265 seconds)
2021-03-15 18:14:04 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-tqmoejehpjuaehyj) (Ping timeout: 265 seconds)
2021-03-15 18:14:05 +0100immae(immaematri@gateway/shell/matrix.org/x-ddgivafyzeufmhvd) (Ping timeout: 265 seconds)
2021-03-15 18:14:05 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-gnxotcamcepjeexd) (Ping timeout: 265 seconds)
2021-03-15 18:14:05 +0100jjhoo(jahakala@dsl-trebng21-b048b5-171.dhcp.inet.fi) (Ping timeout: 265 seconds)
2021-03-15 18:14:05 +0100alanz(sid110616@gateway/web/irccloud.com/session)
2021-03-15 18:14:05 +0100ntjns(~jones@167.88.120.129) (Ping timeout: 265 seconds)
2021-03-15 18:14:05 +0100JSharp(sid4580@gateway/web/irccloud.com/session)
2021-03-15 18:14:05 +0100domenkozar[m](domenkozar@gateway/shell/matrix.org/session)
2021-03-15 18:14:05 +0100domenkozar[m](domenkozar@gateway/shell/matrix.org/session) (Changing host)
2021-03-15 18:14:05 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-03-15 18:14:05 +0100JSharp(sid4580@gateway/web/irccloud.com/session) (Changing host)
2021-03-15 18:14:05 +0100JSharp(sid4580@wikia/JSharp)
2021-03-15 18:14:06 +0100alanz(sid110616@gateway/web/irccloud.com/session) (Changing host)
2021-03-15 18:14:06 +0100alanz(sid110616@gateway/web/irccloud.com/x-naowehghrfohzhyt)
2021-03-15 18:14:06 +0100JSharp(sid4580@wikia/JSharp) (Changing host)
2021-03-15 18:14:06 +0100JSharp(sid4580@gateway/web/irccloud.com/x-ezbpiqdpwygbcxhm)
2021-03-15 18:14:06 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar) (Changing host)
2021-03-15 18:14:06 +0100domenkozar[m](domenkozar@gateway/shell/matrix.org/x-cjmeprkmsvghrodo)
2021-03-15 18:14:06 +0100ephemient_ephemient
2021-03-15 18:14:06 +0100domenkozar[m](domenkozar@gateway/shell/matrix.org/x-cjmeprkmsvghrodo) (Changing host)
2021-03-15 18:14:06 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-03-15 18:14:06 +0100JSharp(sid4580@gateway/web/irccloud.com/x-ezbpiqdpwygbcxhm) (Changing host)
2021-03-15 18:14:06 +0100JSharp(sid4580@wikia/JSharp)
2021-03-15 18:14:07 +0100runeks__runeks
2021-03-15 18:14:07 +0100jess(jess@freenode/staff/jess) (Quit: Reconnecting)
2021-03-15 18:14:10 +0100jess(jess@freenode/staff/jess)
2021-03-15 18:14:36 +0100noexcept(~noexcept@noexcept.org)
2021-03-15 18:14:38 +0100 <hyperisco> I suspect this is liable to get lost in translation
2021-03-15 18:14:47 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-03-15 18:14:55 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-15 18:15:52 +0100immae1(immaematri@gateway/shell/matrix.org/x-ckpvkldgpyouvavg)
2021-03-15 18:16:18 +0100enya[m](enyaismatr@gateway/shell/matrix.org/x-xztdnbxlyijkfvcb)
2021-03-15 18:16:21 +0100DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 246 seconds)
2021-03-15 18:16:21 +0100jespada(~jespada@90.254.243.187) (Ping timeout: 246 seconds)
2021-03-15 18:16:21 +0100Cthalupa(~cthulhu@47.186.47.75) (Ping timeout: 246 seconds)
2021-03-15 18:16:24 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-ugmborfniejfujki)
2021-03-15 18:16:37 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-jghiowexfiqyfpvv)
2021-03-15 18:16:42 +0100beka(~beka@gothdyke.mom) (Ping timeout: 246 seconds)
2021-03-15 18:17:57 +0100michalz(~user@185.246.204.111) (Ping timeout: 264 seconds)
2021-03-15 18:18:19 +0100cfricke(cfricke@gateway/vpn/mullvad/cfricke)
2021-03-15 18:18:41 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-15 18:18:54 +0100Cthalupa(~cthulhu@47.186.47.75)
2021-03-15 18:18:59 +0100rj_(~x@gateway/tor-sasl/rj) (Quit: rj_)
2021-03-15 18:19:25 +0100beka(~beka@gothdyke.mom)
2021-03-15 18:19:28 +0100jespada(~jespada@90.254.243.187)
2021-03-15 18:20:58 +0100fuzzypixelz(2ec10464@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-03-15 18:22:15 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Client Quit)
2021-03-15 18:22:42 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-15 18:22:42 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Client Quit)
2021-03-15 18:23:32 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-15 18:23:48 +0100kiweun(~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com)
2021-03-15 18:24:56 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:4aab:53fc:fe7e:1057)
2021-03-15 18:24:58 +0100kadoban_(~mud@unaffiliated/kadoban)
2021-03-15 18:25:02 +0100geekosaur(ac3a56e4@172.58.86.228) (Ping timeout: 240 seconds)
2021-03-15 18:25:14 +0100rickygee(~rickygee@236-53-74-65.gci.net) (Ping timeout: 265 seconds)
2021-03-15 18:25:44 +0100lawid(~quassel@dslb-090-186-208-048.090.186.pools.vodafone-ip.de) (Quit: lawid)
2021-03-15 18:26:11 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f)
2021-03-15 18:27:05 +0100jjhoo(jahakala@dsl-trebng21-b048b5-171.dhcp.inet.fi)
2021-03-15 18:27:53 +0100lawid(~quassel@dslb-090-186-208-048.090.186.pools.vodafone-ip.de)
2021-03-15 18:28:41 +0100rj_(~x@gateway/tor-sasl/rj)
2021-03-15 18:30:01 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net)
2021-03-15 18:32:06 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-15 18:32:13 +0100frozenErebus(~frozenEre@94.128.82.20) (Ping timeout: 260 seconds)
2021-03-15 18:32:39 +0100frozenErebus(~frozenEre@94.128.82.20)
2021-03-15 18:33:05 +0100 <__minoru__shirae> so if you're paranoid about async exceptions, you can prepend everything with mask_
2021-03-15 18:33:07 +0100 <__minoru__shirae> right?
2021-03-15 18:33:15 +0100 <fresheyeball> ok it's been explained to me
2021-03-15 18:33:30 +0100 <__minoru__shirae> it will make everything unresponsive to async exceptions
2021-03-15 18:33:57 +0100texasmynsted(~texasmyns@99.96.221.112)
2021-03-15 18:34:05 +0100 <codygman`> __minoru__shirae: That doesn't catch all async exceptions :) uninterruptibleMask roughly does what you believe mask does
2021-03-15 18:34:21 +0100 <__minoru__shirae> yeah, was about to write about that
2021-03-15 18:35:21 +0100 <__minoru__shirae> how about emulating actors?
2021-03-15 18:35:55 +0100 <__minoru__shirae> if you want to kill a thread, you don't throw an async exception to it, you send a PoisonPill message instead
2021-03-15 18:36:10 +0100 <__minoru__shirae> sounds like it solves a problem of async exceptions
2021-03-15 18:36:27 +0100 <__minoru__shirae> (those that a programmer sends)
2021-03-15 18:36:52 +0100 <__minoru__shirae> not sure about async exceptions that a system sends
2021-03-15 18:38:24 +0100 <__minoru__shirae> a thread handles one message at a time and eventually it will get to that PoisonPill message and terminate safely
2021-03-15 18:38:32 +0100conal(~conal@64.71.133.70)
2021-03-15 18:40:38 +0100 <__minoru__shirae> the question is, can you be sure that since you don't throw async exceptions they won't be thrown at all
2021-03-15 18:40:40 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-03-15 18:40:49 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net)
2021-03-15 18:41:05 +0100 <codygman`> No, you have to depend on your dependencies not throwing them
2021-03-15 18:41:17 +0100 <__minoru__shirae> seems to me that a system can do it on its own
2021-03-15 18:41:36 +0100 <__minoru__shirae> and dependencies too
2021-03-15 18:44:02 +0100Major_Biscuit(~Major_Bis@82-169-100-198.biz.kpn.net) (Ping timeout: 260 seconds)
2021-03-15 18:44:08 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Ping timeout: 256 seconds)
2021-03-15 18:44:09 +0100 <__minoru__shirae> and there is a need to cancel a long-running operation
2021-03-15 18:45:05 +0100megaTherion(~therion@unix.io)
2021-03-15 18:45:08 +0100 <__minoru__shirae> tricky
2021-03-15 18:45:19 +0100kritzefitz(~kritzefit@fw-front.credativ.com) (Remote host closed the connection)
2021-03-15 18:45:30 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-15 18:47:51 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-15 18:47:51 +0100 <codygman`> agreed
2021-03-15 18:48:11 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-15 18:48:13 +0100edwardkunsafeCoerces all the things.
2021-03-15 18:48:16 +0100elfets(~elfets@ip-37-201-23-96.hsi13.unitymediagroup.de)
2021-03-15 18:48:29 +0100 <Uniaika> edwardk: the gods are watching over you, that's cheating :P
2021-03-15 18:49:02 +0100 <edwardk> as georgew likes to slur out almost unintelligibly "she'll be right"
2021-03-15 18:49:42 +0100 <hyperisco> what are type systems for if not to explain valid uses of unsafeCoerce
2021-03-15 18:49:54 +0100Deide(~Deide@217.155.19.23)
2021-03-15 18:50:12 +0100 <edwardk> hyperisco: need a better type system than haskell for these sadly
2021-03-15 18:50:33 +0100 <edwardk> actually i only have 5 in the current codebase
2021-03-15 18:50:40 +0100 <edwardk> so i feel i'm getting better
2021-03-15 18:51:37 +0100rajivr(uid269651@gateway/web/irccloud.com/x-scfssrsbjzfzlhth) (Quit: Connection closed for inactivity)
2021-03-15 18:54:51 +0100epstein(~dwsjeid91@193.27.14.71)
2021-03-15 18:56:20 +0100Deide1(~Deide@217.155.19.23)
2021-03-15 18:56:41 +0100alanz_(sid110616@gateway/web/irccloud.com/x-atcbwlvnmzxwbozk)
2021-03-15 18:57:05 +0100JSharp_(sid4580@wikia/JSharp)
2021-03-15 18:57:33 +0100SaitamaPlus_(uid272474@gateway/web/irccloud.com/x-fuuiapjpwochxlja)
2021-03-15 18:58:03 +0100kadoban__(~mud@unaffiliated/kadoban)
2021-03-15 18:58:31 +0100kozkoz_
2021-03-15 18:59:47 +0100molehillish(~molehilli@2600:8800:8d06:1800:c9c1:cc0:ccd2:b4f) (Remote host closed the connection)
2021-03-15 19:00:34 +0100lawid_(~quassel@dslb-090-186-208-048.090.186.pools.vodafone-ip.de)
2021-03-15 19:00:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 19:01:16 +0100 <jhrcek> Hello tapas,
2021-03-15 19:01:16 +0100 <jhrcek> sorry for pinging your directly, but someone told me you help me with
2021-03-15 19:01:16 +0100 <jhrcek> I have a PR (https://github.com/haskell-hvr/base-noprelude/pull/13) to one of hvr_ 's repositories that I'd like to get merged and relase to hackage. But someone told me he's been AWOL for some time and that you could maybe assit in moving this forward?
2021-03-15 19:02:36 +0100 <__minoru__shirae> edwardk: did you mention unsafeCoerce in response to async exceptions discussion? It looks like it has nothing to do with them, but who knows?
2021-03-15 19:02:49 +0100 <edwardk> no relevance
2021-03-15 19:02:58 +0100 <edwardk> was just staring at a screen full of unsafeCoerces at the time
2021-03-15 19:02:58 +0100idhugo__(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Remote host closed the connection)
2021-03-15 19:03:23 +0100idhugo__(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net)
2021-03-15 19:03:51 +0100 <ephemient> ekmettCoerce = unsafeCoerce and alpha-rename throughout your codebase, now you only only have "one" reference ;)
2021-03-15 19:03:56 +0100Deide(~Deide@217.155.19.23) (*.net *.split)
2021-03-15 19:03:56 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (*.net *.split)
2021-03-15 19:03:56 +0100lawid(~quassel@dslb-090-186-208-048.090.186.pools.vodafone-ip.de) (*.net *.split)
2021-03-15 19:03:56 +0100jjhoo(jahakala@dsl-trebng21-b048b5-171.dhcp.inet.fi) (*.net *.split)
2021-03-15 19:03:56 +0100kadoban_(~mud@unaffiliated/kadoban) (*.net *.split)
2021-03-15 19:03:56 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:4aab:53fc:fe7e:1057) (*.net *.split)
2021-03-15 19:03:56 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-jghiowexfiqyfpvv) (*.net *.split)
2021-03-15 19:03:56 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa) (*.net *.split)
2021-03-15 19:03:56 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar) (*.net *.split)
2021-03-15 19:03:56 +0100JSharp(sid4580@wikia/JSharp) (*.net *.split)
2021-03-15 19:03:56 +0100alanz(sid110616@gateway/web/irccloud.com/x-naowehghrfohzhyt) (*.net *.split)
2021-03-15 19:03:56 +0100howdoi(uid224@gateway/web/irccloud.com/x-evlatajzqwspjogs) (*.net *.split)
2021-03-15 19:03:56 +0100SaitamaPlus(uid272474@gateway/web/irccloud.com/x-abijodguhnyidowb) (*.net *.split)
2021-03-15 19:03:56 +0100ericsagn1(~ericsagne@2405:6580:0:5100:b44d:6014:67a8:1b64) (*.net *.split)
2021-03-15 19:03:56 +0100sigmacool[m](sigmacoolm@gateway/shell/matrix.org/x-zreyiugydgdstsfc) (*.net *.split)
2021-03-15 19:03:56 +0100rust-rocks[m](rust-rocks@gateway/shell/matrix.org/x-aebtetgfiystofjh) (*.net *.split)
2021-03-15 19:03:56 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-jwmiqaganbdblqeb) (*.net *.split)
2021-03-15 19:03:56 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-jyuzgnopiyccambc) (*.net *.split)
2021-03-15 19:03:56 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-fctrgxohijfkpiha) (*.net *.split)
2021-03-15 19:03:56 +0100kadoban(kadobanemp@gateway/shell/matrix.org/x-qevyhmlpmumbzbbb) (*.net *.split)
2021-03-15 19:03:56 +0100martin02(silas@hund.fs.lmu.de) (*.net *.split)
2021-03-15 19:03:56 +0100farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split)
2021-03-15 19:03:56 +0100Deewiant(~deewiant@de1.ut.deewiant.iki.fi) (*.net *.split)
2021-03-15 19:03:58 +0100JSharp_JSharp
2021-03-15 19:03:59 +0100SaitamaPlus_SaitamaPlus
2021-03-15 19:03:59 +0100alanz_alanz
2021-03-15 19:04:16 +0100 <edwardk> ephemient: we used to do that in lens with 'coerce = unsafeCoerce'
2021-03-15 19:04:27 +0100 <edwardk> then coerce got good enough we could avoid it
2021-03-15 19:04:50 +0100Deewiant(~deewiant@de1.ut.deewiant.iki.fi)
2021-03-15 19:05:09 +0100jjhoo(jahakala@dsl-trebng21-b048b5-171.dhcp.inet.fi)
2021-03-15 19:05:09 +0100hiroaki(~hiroaki@2a02:8108:8c40:2bb8:4aab:53fc:fe7e:1057)
2021-03-15 19:05:09 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-jghiowexfiqyfpvv)
2021-03-15 19:05:09 +0100danvet(~Daniel@2a02:168:57f4:0:efd0:b9e5:5ae6:c2fa)
2021-03-15 19:05:09 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-03-15 19:05:09 +0100howdoi(uid224@gateway/web/irccloud.com/x-evlatajzqwspjogs)
2021-03-15 19:05:09 +0100ericsagn1(~ericsagne@2405:6580:0:5100:b44d:6014:67a8:1b64)
2021-03-15 19:05:09 +0100sigmacool[m](sigmacoolm@gateway/shell/matrix.org/x-zreyiugydgdstsfc)
2021-03-15 19:05:09 +0100rust-rocks[m](rust-rocks@gateway/shell/matrix.org/x-aebtetgfiystofjh)
2021-03-15 19:05:09 +0100kadoban(kadobanemp@gateway/shell/matrix.org/x-qevyhmlpmumbzbbb)
2021-03-15 19:05:09 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-fctrgxohijfkpiha)
2021-03-15 19:05:09 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-jwmiqaganbdblqeb)
2021-03-15 19:05:09 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-jyuzgnopiyccambc)
2021-03-15 19:05:09 +0100martin02(silas@hund.fs.lmu.de)
2021-03-15 19:05:16 +0100kadoban(kadobanemp@gateway/shell/matrix.org/x-qevyhmlpmumbzbbb) (Max SendQ exceeded)
2021-03-15 19:05:16 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-fctrgxohijfkpiha) (Max SendQ exceeded)
2021-03-15 19:05:21 +0100idhugo_(~idhugo@80-62-116-51-mobile.dk.customer.tdc.net)
2021-03-15 19:05:33 +0100wickedjargon(~ff@2607:9880:2198:4e:fd0d:cbfa:ce9e:8708)
2021-03-15 19:05:49 +0100epst3in(~dwsjeid91@193.27.14.71)
2021-03-15 19:06:09 +0100 <__minoru__shirae> edwardk: oh, ok lol. it's interesting how a mind tries to make sense of things that don't make sense. I tried to imagine a scenario when unsafeCoerce helps with async exceptions problem
2021-03-15 19:06:11 +0100farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
2021-03-15 19:06:11 +0100Tuplanolla(~Tuplanoll@91-159-68-239.elisa-laajakaista.fi)
2021-03-15 19:06:24 +0100makergrl(~ident@212.65.4.46.bc.googleusercontent.com) (Remote host closed the connection)
2021-03-15 19:06:24 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-15 19:06:24 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 246 seconds)
2021-03-15 19:06:41 +0100 <wickedjargon> Hello fellow haskellers. Has anyone read The Little Schemer?
2021-03-15 19:06:46 +0100 <edwardk> wickedjargon: yes
2021-03-15 19:07:22 +0100epstein(~dwsjeid91@193.27.14.71) (Read error: Connection reset by peer)
2021-03-15 19:07:55 +0100Robin[m]4(robinrobin@gateway/shell/matrix.org/x-rmeldrlzauncgswy) (Ping timeout: 240 seconds)
2021-03-15 19:07:55 +0100Haskman[m](haskmanmat@gateway/shell/matrix.org/x-dsesrypmapqljonq) (Ping timeout: 244 seconds)
2021-03-15 19:07:57 +0100alexfmpe(alexfmpema@gateway/shell/matrix.org/x-cqsqxuawqfrndsua) (Ping timeout: 240 seconds)
2021-03-15 19:07:57 +0100mud(kadobanmat@gateway/shell/matrix.org/x-sstqskkfxonsdequ) (Ping timeout: 240 seconds)
2021-03-15 19:07:57 +0100boistordu(boistordum@gateway/shell/matrix.org/x-zyzebanloxokwzhg) (Ping timeout: 240 seconds)
2021-03-15 19:07:57 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-pukypexbajprbsoa) (Ping timeout: 240 seconds)
2021-03-15 19:07:57 +0100unclechu(unclechuma@gateway/shell/matrix.org/x-oolmotqymaqrqhve) (Ping timeout: 240 seconds)
2021-03-15 19:07:57 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-srceybalqosrlkbm) (Ping timeout: 240 seconds)
2021-03-15 19:07:57 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-cmnwolhebsskkjat) (Ping timeout: 240 seconds)
2021-03-15 19:07:57 +0100darkcodi[m](darkcodima@gateway/shell/matrix.org/x-inrhfypeakwpuzyp) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100alecs[m](malumorema@gateway/shell/matrix.org/x-djxjolbuzjvpmhmg) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100meff[m](meffsunado@gateway/shell/matrix.org/x-uxntguxbrhbkikcw) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100heck-to-the-gnom(heck-to-th@gateway/shell/matrix.org/x-zxtltngejrmxkknu) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100plumenator[m](plumenator@gateway/shell/matrix.org/x-cpybsxhladtdobyy) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100M53K5HUN_8[m](m53k5hun8m@gateway/shell/matrix.org/x-euyfdyytbojgjnwt) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100JaakkoLuttinen[m(jluttinema@gateway/shell/matrix.org/x-yhocjihmkhvylkoh) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100anon1891[m](anon1891ma@gateway/shell/matrix.org/x-lippvhyxklxhxpra) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-xirgdwxbkruwrkvn) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100loyon(loyonmatri@gateway/shell/matrix.org/x-arvztttiwlrfmaxa) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100pineapples[m](pineapples@gateway/shell/matrix.org/x-szevzybcigkmsgol) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100kadobanana(kadoban9he@gateway/shell/matrix.org/x-drzyvrhvrhnnvqso) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-tlmsequqsufzwifv) (Ping timeout: 244 seconds)
2021-03-15 19:07:58 +0100jtojnar(jtojnarmat@gateway/shell/matrix.org/x-dslktdkisegakovj) (Ping timeout: 244 seconds)
2021-03-15 19:07:59 +0100Hanma[m]1(hanmamatri@gateway/shell/matrix.org/x-dducjpohzbpbsrrp) (Ping timeout: 241 seconds)
2021-03-15 19:07:59 +0100Lurkki[m]1(lurkkifene@gateway/shell/matrix.org/x-xphwbmetgcvojjrb) (Ping timeout: 241 seconds)
2021-03-15 19:07:59 +0100joe[m]1(joemonoida@gateway/shell/matrix.org/x-iwrcvynwdhbrkbpy) (Ping timeout: 241 seconds)
2021-03-15 19:08:00 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-hqnwkbzsghjmoxpi) (Ping timeout: 241 seconds)
2021-03-15 19:08:00 +0100freeman42x[m](freeman42x@gateway/shell/matrix.org/x-cwwewhwtciefkezc) (Ping timeout: 241 seconds)
2021-03-15 19:08:00 +0100beardhatcode(robbertbea@gateway/shell/matrix.org/x-vjzeowanvuthadhr) (Ping timeout: 241 seconds)
2021-03-15 19:08:02 +0100AbtractSingleton(rasurumatr@gateway/shell/matrix.org/x-nipocthdxyoqretr) (Ping timeout: 249 seconds)
2021-03-15 19:08:02 +0100a-tsioh[m](a-tsiohmat@gateway/shell/matrix.org/x-zwctixdaeewiqvbp) (Ping timeout: 249 seconds)
2021-03-15 19:08:02 +0100alar[m](alarmxalat@gateway/shell/matrix.org/x-zrexbuctbbpkrtod) (Ping timeout: 249 seconds)
2021-03-15 19:08:03 +0100maerwald[m](maerwaldma@gateway/shell/matrix.org/x-ywzbwktmcsnmejyh) (Ping timeout: 249 seconds)
2021-03-15 19:08:03 +0100jkaye[m](jkayematri@gateway/shell/matrix.org/x-udvlgksekwmzpkrv) (Ping timeout: 249 seconds)
2021-03-15 19:08:04 +0100lambdaclan(lambdaclan@gateway/shell/matrix.org/x-vfqoziwqnefwqyzn) (Ping timeout: 249 seconds)
2021-03-15 19:08:04 +0100jerin(jerinmatri@gateway/shell/matrix.org/x-wykbrvrddoywvmzp) (Ping timeout: 249 seconds)
2021-03-15 19:08:04 +0100CrabMan(phi-matrix@gateway/shell/matrix.org/x-nczsygxjwbeezjba) (Ping timeout: 249 seconds)
2021-03-15 19:08:04 +0100Ericson2314(ericson231@gateway/shell/matrix.org/x-tsyziegnksxmsvwe) (Ping timeout: 249 seconds)
2021-03-15 19:08:04 +0100psydruid(psydruidma@gateway/shell/matrix.org/x-hgwbwoywnwmngtzr) (Ping timeout: 249 seconds)
2021-03-15 19:08:04 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser)
2021-03-15 19:08:08 +0100invent[m]1(inventmatr@gateway/shell/matrix.org/x-lpuieaxgzfdbucdc) (Ping timeout: 247 seconds)
2021-03-15 19:08:08 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-scnkbpqnqrebckvs) (Ping timeout: 247 seconds)
2021-03-15 19:08:08 +0100Pressyware[m](pressyware@gateway/shell/matrix.org/x-ddhjwpogpizdplmn) (Ping timeout: 247 seconds)
2021-03-15 19:08:09 +0100Lurkki[m](lurkkipriv@gateway/shell/matrix.org/x-vfafddqdjrrwvxuo) (Ping timeout: 247 seconds)
2021-03-15 19:08:09 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-qngheqbemrlhymqo) (Ping timeout: 247 seconds)
2021-03-15 19:08:10 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-yflvdgmqjmthorbh) (Ping timeout: 247 seconds)
2021-03-15 19:08:10 +0100srid(sridmatrix@gateway/shell/matrix.org/x-cdqpzvogolvfjmux) (Ping timeout: 247 seconds)
2021-03-15 19:08:10 +0100arcontethegreat[(arcontethe@gateway/shell/matrix.org/x-nwmbkmnfxfryiwwe) (Ping timeout: 247 seconds)
2021-03-15 19:08:10 +0100maralorn(maralornma@gateway/shell/matrix.org/x-rezinnajdbsjgswd) (Ping timeout: 247 seconds)
2021-03-15 19:08:15 +0100idhugo__(~idhugo@87-49-147-45-mobile.dk.customer.tdc.net) (Ping timeout: 265 seconds)
2021-03-15 19:08:27 +0100sigmacool[m](sigmacoolm@gateway/shell/matrix.org/x-zreyiugydgdstsfc) (Ping timeout: 265 seconds)
2021-03-15 19:08:27 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-jwmiqaganbdblqeb) (Ping timeout: 265 seconds)
2021-03-15 19:08:27 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-jyuzgnopiyccambc) (Ping timeout: 265 seconds)
2021-03-15 19:08:39 +0100ManofLetters[m](manoflette@gateway/shell/matrix.org/x-yudatyptjaytneqs) (Ping timeout: 268 seconds)
2021-03-15 19:08:39 +0100speakerspivakeem(speakerdea@gateway/shell/matrix.org/x-qcoaaekhblbwfpsj) (Ping timeout: 268 seconds)
2021-03-15 19:08:40 +0100shieru[m](shierualet@gateway/shell/matrix.org/x-crtlzvguvlyzbkhj) (Ping timeout: 268 seconds)
2021-03-15 19:08:40 +0100jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-lnbuotkynhkztzqa) (Ping timeout: 268 seconds)
2021-03-15 19:08:40 +0100hsiktas[m](hsiktasmat@gateway/shell/matrix.org/x-wtctyeobgbtycmfg) (Ping timeout: 268 seconds)
2021-03-15 19:09:13 +0100 <wickedjargon> edwardk: Do you think it was helpful to you? I got frustarted with it after a few chapters and gave up a few years ago, but am now considering to finish reading it
2021-03-15 19:09:15 +0100enya[m](enyaismatr@gateway/shell/matrix.org/x-xztdnbxlyijkfvcb) (Ping timeout: 240 seconds)
2021-03-15 19:09:15 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-ljqtcmanvrbtjrvd) (Ping timeout: 240 seconds)
2021-03-15 19:09:24 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-ywomzlzeficbvvff) (Ping timeout: 246 seconds)
2021-03-15 19:09:25 +0100rust-rocks[m](rust-rocks@gateway/shell/matrix.org/x-aebtetgfiystofjh) (Ping timeout: 265 seconds)
2021-03-15 19:09:26 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-ugmborfniejfujki) (Ping timeout: 240 seconds)
2021-03-15 19:09:26 +0100fgaz(fgazmatrix@gateway/shell/matrix.org/x-friwaqabluxhmgej) (Ping timeout: 240 seconds)
2021-03-15 19:09:26 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-krnkqaczgxqcldno) (Ping timeout: 240 seconds)
2021-03-15 19:09:28 +0100immae1(immaematri@gateway/shell/matrix.org/x-ckpvkldgpyouvavg) (Ping timeout: 258 seconds)
2021-03-15 19:09:28 +0100ThaEwat(thaewraptm@gateway/shell/matrix.org/x-sinxsygzdymdglrs) (Ping timeout: 258 seconds)
2021-03-15 19:09:53 +0100pqwy[m](pqwymatrix@gateway/shell/matrix.org/x-tuhaqobqlcfizedi) (Ping timeout: 268 seconds)
2021-03-15 19:09:54 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar) (Ping timeout: 265 seconds)
2021-03-15 19:10:29 +0100seveg(~gabriel@2a02-ab04-0249-8d00-dea6-32ff-fe17-0993.dynamic.v6.chello.sk) (Quit: WeeChat 3.0)
2021-03-15 19:10:32 +0100 <nshepperd> the purpose of type safety is to give unsafeCoerce meaning, just as there is no joy without regret
2021-03-15 19:11:15 +0100toasty_avocado[4(toastyavoc@gateway/shell/matrix.org/x-ofixjwdrwojfkcuv) (Ping timeout: 240 seconds)
2021-03-15 19:11:21 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-jghiowexfiqyfpvv) (Ping timeout: 265 seconds)
2021-03-15 19:11:26 +0100MichaelHoffmannb(brisadmozi@gateway/shell/matrix.org/x-jkosmzrzdqsrpuhu) (Ping timeout: 240 seconds)
2021-03-15 19:14:18 +0100kiweun(~kiweun@cpe98524a8cef7c-cm98524a8cef7a.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-03-15 19:14:26 +0100vnz(~vnz@unaffiliated/vnz) (Quit: ZNC - http://znc.in)
2021-03-15 19:14:57 +0100lordyod(~lordyod@c-67-169-144-132.hsd1.ca.comcast.net) (Ping timeout: 264 seconds)
2021-03-15 19:16:21 +0100vnz(~vnz@2001:bc8:604:94f::1)
2021-03-15 19:16:21 +0100vnz(~vnz@2001:bc8:604:94f::1) (Changing host)
2021-03-15 19:16:21 +0100vnz(~vnz@unaffiliated/vnz)
2021-03-15 19:16:53 +0100 <wickedjargon> package install
2021-03-15 19:16:53 +0100 <wickedjargon> learn
2021-03-15 19:16:53 +0100 <wickedjargon> n
2021-03-15 19:16:55 +0100 <wickedjargon> plegxe-1exfexe;;'exe;'x1exelearn o
2021-03-15 19:17:09 +0100shailangsa(~shailangs@host86-162-150-241.range86-162.btcentralplus.com) ()
2021-03-15 19:17:14 +0100lordyod(~lordyod@c-67-169-144-132.hsd1.ca.comcast.net)
2021-03-15 19:18:22 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-15 19:20:02 +0100crobbins_(~crobbins@2601:2c1:200:ec50:a565:98e0:ff9f:df2e)
2021-03-15 19:20:41 +0100DTZUZU_(~DTZUZO@207.81.119.43)
2021-03-15 19:20:48 +0100kuribas(~user@ptr-25vy0i6y98flue533si.18120a2.ip6.access.telenet.be) (Remote host closed the connection)
2021-03-15 19:22:02 +0100geekosaur(82650c7a@130.101.12.122) (Ping timeout: 240 seconds)
2021-03-15 19:22:03 +0100__minoru__shirae(~shiraeesh@46.34.206.121) (Ping timeout: 256 seconds)
2021-03-15 19:22:45 +0100__minoru__shirae(~shiraeesh@109.166.58.121)
2021-03-15 19:22:50 +0100crobbins(~crobbins@2601:2c1:200:ec50:c8cd:d394:be82:ebad) (Ping timeout: 264 seconds)
2021-03-15 19:22:58 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 245 seconds)
2021-03-15 19:23:01 +0100 <tapas> jhrcek: i'll take a look later, but this may be something to take to the hackage trustees
2021-03-15 19:24:00 +0100frozenErebus(~frozenEre@94.128.82.20) (Quit: Lost terminal)
2021-03-15 19:24:15 +0100crobbins_(~crobbins@2601:2c1:200:ec50:a565:98e0:ff9f:df2e) (Ping timeout: 240 seconds)
2021-03-15 19:24:59 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 19:26:10 +0100conal(~conal@64.71.133.70)
2021-03-15 19:26:39 +0100dyeplexer(~lol@unaffiliated/terpin) (Remote host closed the connection)
2021-03-15 19:27:05 +0100augnun(~augnun@2804:14c:658b:41bb:3fc6:262a:d24a:2155)
2021-03-15 19:28:48 +0100epst3in(~dwsjeid91@193.27.14.71) (Ping timeout: 260 seconds)
2021-03-15 19:28:56 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 240 seconds)
2021-03-15 19:30:11 +0100frozenErebus(~frozenEre@94.128.82.20)
2021-03-15 19:31:21 +0100augnun_(~augnun@2804:14c:658b:41bb:2619:95b9:b021:720c)
2021-03-15 19:32:28 +0100augnun(~augnun@2804:14c:658b:41bb:3fc6:262a:d24a:2155) (Ping timeout: 258 seconds)
2021-03-15 19:33:00 +0100supercoven(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi)
2021-03-15 19:35:17 +0100 <adamCS> Given two things, a and b, which may or may not be of the same type, how do I somehow get Maybe (a :~: b)? I'm trying to write an instance of GEq for something of kind (Type -> Type) but not one with constructors to distinguish the possible types.
2021-03-15 19:35:21 +0100ystael(~ystael@209.6.50.55) (Ping timeout: 264 seconds)
2021-03-15 19:36:19 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 19:37:07 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de)
2021-03-15 19:37:26 +0100frozenErebus(~frozenEre@94.128.82.20) (Ping timeout: 240 seconds)
2021-03-15 19:37:33 +0100jayok(~jayok@cpc147358-belf12-2-0-cust581.2-1.cable.virginm.net) (Ping timeout: 246 seconds)
2021-03-15 19:38:18 +0100pineapples[m](pineapples@gateway/shell/matrix.org/x-cruihamqujucfumq)
2021-03-15 19:38:27 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-03-15 19:38:40 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-15 19:40:22 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de) (Client Quit)
2021-03-15 19:40:35 +0100DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 240 seconds)
2021-03-15 19:40:39 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de)
2021-03-15 19:41:57 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-03-15 19:44:00 +0100 <adamCS> Okay. I guess I can use TestEquality (?). But now I need GCompare and that seems...not sensible. Hrm.
2021-03-15 19:44:57 +0100 <WarzoneCommand> Can anyone give me some advice on writing a Storable instance for some sum-type? I don't really get what alignment is suposed to do/how to incorporate alignment in peek and poke.
2021-03-15 19:47:04 +0100 <geekosaur> alignment is because Storable is about making C-compatible structs from Haskell values, and C aligns struct members
2021-03-15 19:47:20 +0100 <WarzoneCommand> as a concrete example; I have something like 'data Node k v = Leaf v | Node {-#UNPACK #} !Int !k {-# Unpack #-} !Int. The I want a storeable instance when k and v are storeable, and I don't care about any sort of interop with C (I just want to be able to store these things in Storeable vectors).
2021-03-15 19:47:37 +0100ADG1089__(~aditya@122.163.232.170)
2021-03-15 19:47:59 +0100jhrcek(~jhrcek@ip-89-103-183-101.net.upcbroadband.cz) (Quit: Leaving)
2021-03-15 19:48:40 +0100 <WarzoneCommand> so I did something like: sizeOf _ = 1 + max(sizeOf @v, 2*sizeOf @Int + sizeOf @v). But so how do I determine the alignment?
2021-03-15 19:48:55 +0100 <WarzoneCommand> or at least that is what I would expect the size to be
2021-03-15 19:53:51 +0100 <geekosaur> I slightly misspoke earlier, because of unaligned memory accesses which are at best slower on some CPUs and at worst throw machine exceptions; you should assume the latter.
2021-03-15 19:55:55 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr)
2021-03-15 19:56:21 +0100 <geekosaur> and your 1 + becomes sizeOf Int + to avoid everything else being unaligned. plus I think you meant sizeOf @k for the second one? but k may not have a fixed size so that won't work anyway
2021-03-15 19:57:06 +0100dfeuer(~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net)
2021-03-15 19:57:13 +0100 <geekosaur> er, sizeOf @Int
2021-03-15 19:57:33 +0100 <WarzoneCommand> euh yes I meant sizeOf @k in the second part.
2021-03-15 19:58:17 +0100 <WarzoneCommand> hmm, but so in that case I would bascially use the amount of space for *both* options simulataneously?
2021-03-15 19:58:22 +0100is_null(~jpic@pdpc/supporter/professional/is-null)
2021-03-15 19:59:17 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-15 19:59:35 +0100geekosaur(82650c7a@130.101.12.122)
2021-03-15 20:00:34 +0100texasmynsted(~texasmyns@99.96.221.112) (Remote host closed the connection)
2021-03-15 20:00:39 +0100 <WarzoneCommand> let me maybe clarify again, because my earlier typo was confusing. Why would: '1 + max(sizeOf @v, 2*sizeOf @Int + sizeOf @k) not suffice?
2021-03-15 20:01:22 +0100 <WarzoneCommand> (i.e. as long as k and v are storable themselves / it is known how much space they will use beforehand that should not be an issue sholuld it?)
2021-03-15 20:01:54 +0100 <geekosaur> the 1+ means 1 byte for a discriminator and now you get a SIGBUS or equivalent accessing the rest on almost all platforms. I suggested using a CInt instead
2021-03-15 20:01:56 +0100geowiesnot_bis(~user@i15-les02-ix2-87-89-181-157.sfr.lns.abo.bbox.fr) (Ping timeout: 240 seconds)
2021-03-15 20:02:00 +0100fuzzypixelz(2ec10464@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Quit: Connection closed)
2021-03-15 20:02:12 +0100usr25(~usr25@unaffiliated/usr25)
2021-03-15 20:02:47 +0100 <geekosaur> hence sizeOf @Int
2021-03-15 20:03:28 +0100berberman_(~berberman@unaffiliated/berberman)
2021-03-15 20:03:55 +0100berberman(~berberman@unaffiliated/berberman) (Ping timeout: 240 seconds)
2021-03-15 20:04:34 +0100 <WarzoneCommand> Hmm, I see
2021-03-15 20:05:13 +0100 <Gurkenglas> @let VeryLazyNaturals = S VeryLazyNaturals -- All you get get out of these is a confirmation that they're in a set of form [n..].
2021-03-15 20:05:14 +0100 <lambdabot> .L.hs:173:1: error:
2021-03-15 20:05:14 +0100 <lambdabot> Not in scope: data constructor ‘VeryLazyNaturals’
2021-03-15 20:05:14 +0100 <lambdabot> |
2021-03-15 20:05:26 +0100 <Gurkenglas> @let data VeryLazyNaturals = S VeryLazyNaturals -- :(
2021-03-15 20:05:27 +0100 <lambdabot> Defined.
2021-03-15 20:05:46 +0100frozenErebus(~frozenEre@94.128.82.20)
2021-03-15 20:06:05 +0100 <geekosaur> The rest, if it's Storable… try it, I guess.
2021-03-15 20:06:54 +0100Sgeo_(~Sgeo@ool-18b98aa4.dyn.optonline.net)
2021-03-15 20:07:07 +0100urodna_(~urodna@unaffiliated/urodna)
2021-03-15 20:07:26 +0100 <tomsmeding> Gurkenglas: can you give a terminating value of that type?
2021-03-15 20:07:53 +0100 <Gurkenglas> tomsmeding, well no, then you can get more than such a confirmation out of them
2021-03-15 20:08:05 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de) (Quit: bitmagie)
2021-03-15 20:08:13 +0100 <Gurkenglas> but i can write you a getter and a value and itll behave as i said
2021-03-15 20:08:16 +0100vicfred_(~vicfred@unaffiliated/vicfred)
2021-03-15 20:08:17 +0100 <tomsmeding> in the usual terminology, a type that has no terminating value is empty
2021-03-15 20:08:30 +0100 <tomsmeding> okay that makes no sense in haskell
2021-03-15 20:08:34 +0100 <Gurkenglas> then i would like to use the unusual terminology
2021-03-15 20:08:35 +0100dorkside6(~tdbgamer@208.190.197.222)
2021-03-15 20:08:39 +0100 <tomsmeding> ye s:p
2021-03-15 20:08:40 +0100 <tomsmeding> *yes
2021-03-15 20:08:52 +0100Sorna(~Sornaensi@077213203030.dynamic.telenor.dk)
2021-03-15 20:08:54 +0100 <dolio> Those aren't naturals.
2021-03-15 20:09:05 +0100 <tomsmeding> okay, try 2: there is only one value of VeryLazyNaturals
2021-03-15 20:09:08 +0100 <tomsmeding> namely 'fix S'
2021-03-15 20:09:12 +0100tstat_(~tstat@104.131.113.212)
2021-03-15 20:09:37 +0100 <tomsmeding> and hence it contains no information
2021-03-15 20:09:46 +0100valdyn_(valdyn@c6a7cbb3.vpn.njalla.net)
2021-03-15 20:10:01 +0100nitrix_(~nitrix@haskell/developer/nitrix)
2021-03-15 20:10:03 +0100aforemny_(~aforemny@static.248.158.34.188.clients.your-server.de)
2021-03-15 20:10:04 +0100gekh0(~gkh@thor.kevinhill.nl)
2021-03-15 20:10:04 +0100xarian(~xarian@104.236.81.162)
2021-03-15 20:10:07 +0100 <dolio> There's only one fully defined value.
2021-03-15 20:10:07 +0100jluttine_(~jluttine@85-23-95-149.bb.dnainternet.fi)
2021-03-15 20:10:22 +0100gargawel_(~gael@212.83.144.58)
2021-03-15 20:10:27 +0100dmwit_(~dmwit@pool-173-66-86-32.washdc.fios.verizon.net)
2021-03-15 20:10:36 +0100Zemyla_(~zemyla@ec2-54-196-11-2.compute-1.amazonaws.com)
2021-03-15 20:10:51 +0100drakonis-(~drakonis@unaffiliated/drakonis)
2021-03-15 20:11:15 +0100 <Gurkenglas> :t (isatleast, five)
2021-03-15 20:11:16 +0100 <lambdabot> (Int -> VeryLazyNaturals -> (), VeryLazyNaturals)
2021-03-15 20:11:21 +0100haskell_1(~twain@168.61.46.105)
2021-03-15 20:11:22 +0100stux|RC--(stux2@grid9.quadspeedi.net)
2021-03-15 20:11:23 +0100valdyn(valdyn@c6a7cbb4.vpn.njalla.net) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100jluttine(~jluttine@85-23-95-149.bb.dnainternet.fi) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100aforemny(~aforemny@static.248.158.34.188.clients.your-server.de) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100drakonis(~drakonis@unaffiliated/drakonis) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100tstat(~tstat@104.131.113.212) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100asm89(~asm89@unaffiliated/asm89) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100xarian_(~xarian@104.236.81.162) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100haskell_enthusia(~twain@168.61.46.105) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100msgctl(~msgctl@ometochtli.centzontotochtin.org) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100Sgeo(~Sgeo@ool-18b98aa4.dyn.optonline.net) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100urodna(~urodna@unaffiliated/urodna) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100Benzi-Junior(~BenziJuni@88-149-67-143.du.xdsl.is) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100dmwit(~dmwit@pool-173-66-86-32.washdc.fios.verizon.net) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100gargawel(~gael@212.83.144.58) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100fiddlerwoaroof(~fiddlerwo@unaffiliated/fiddlerwoaroof) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100stux|RC-only(stux2@grid9.quadspeedi.net) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100landonf(landonf@mac68k.info) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100Zemyla(~zemyla@ec2-54-196-11-2.compute-1.amazonaws.com) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100tessier(~treed@kernel-panic/copilotco) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100dorkside(~tdbgamer@208.190.197.222) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100vicfred(~vicfred@unaffiliated/vicfred) (Read error: Connection reset by peer)
2021-03-15 20:11:23 +0100Hi-Angel(~constanti@broadband-188-32-15-112.ip.moscow.rt.ru) (Read error: Connection reset by peer)
2021-03-15 20:11:23 +0100nitrix(~nitrix@haskell/developer/nitrix) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100lightandlight(sid135476@gateway/web/irccloud.com/x-mibnuuqzjpebbkzx) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100gekh(~gkh@thor.kevinhill.nl) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100malthe(~mborch@46.101.103.63) (Ping timeout: 256 seconds)
2021-03-15 20:11:23 +0100valdyn_valdyn
2021-03-15 20:11:30 +0100 <Gurkenglas> > isatleast 3 five
2021-03-15 20:11:31 +0100tessier_(~treed@kernel-panic/copilotco)
2021-03-15 20:11:32 +0100 <lambdabot> ()
2021-03-15 20:11:32 +0100Hi-Angel(~constanti@broadband-188-32-15-112.ip.moscow.rt.ru)
2021-03-15 20:11:34 +0100malthe(~mborch@46.101.103.63)
2021-03-15 20:11:38 +0100fiddlerwoaroof_(~fiddlerwo@unaffiliated/fiddlerwoaroof)
2021-03-15 20:11:46 +0100dorkside6dorkside
2021-03-15 20:11:55 +0100Sornaensis(~Sornaensi@077213203030.dynamic.telenor.dk) (Ping timeout: 256 seconds)
2021-03-15 20:11:55 +0100marek(~mmahut@fedora/pyxel) (Ping timeout: 256 seconds)
2021-03-15 20:12:09 +0100marek(~mmahut@209.250.249.245)
2021-03-15 20:12:25 +0100drakonis-drakonis
2021-03-15 20:12:28 +0100landonf(landonf@mac68k.info)
2021-03-15 20:12:36 +0100msgctl(~msgctl@ometochtli.centzontotochtin.org)
2021-03-15 20:12:39 +0100lightandlight(sid135476@gateway/web/irccloud.com/x-hvpeqcuanlcmmucf)
2021-03-15 20:12:44 +0100crobbins(~crobbins@2600:1700:48eb:8490:f076:8bfb:8043:913e)
2021-03-15 20:12:53 +0100Benzi-Junior(~BenziJuni@dsl-149-67-143.hive.is)
2021-03-15 20:12:55 +0100Kaivo(~Kaivo@104-200-86-99.mc.derytele.com)
2021-03-15 20:13:08 +0100asm89(~asm89@unaffiliated/asm89)
2021-03-15 20:13:18 +0100 <tomsmeding> > isatleast 6 five
2021-03-15 20:13:20 +0100 <lambdabot> *Exception: Prelude.undefined
2021-03-15 20:13:36 +0100Guest53837(~textual@mskresolve-a.mskcc.org) (Ping timeout: 246 seconds)
2021-03-15 20:14:18 +0100conal(~conal@64.71.133.70) (Ping timeout: 246 seconds)
2021-03-15 20:14:46 +0100 <Gurkenglas> @let type VeryLazyNegativeIntegers = VeryLazyNaturals -> () -- All you can get out of these is that they're in a set of form [-n..], where n may be infinity.
2021-03-15 20:14:48 +0100 <lambdabot> Defined.
2021-03-15 20:15:08 +0100ystael(~ystael@26.sub-174-196-196.myvzw.com)
2021-03-15 20:16:12 +0100 <tomsmeding> only if you consider two elements distinct even if they can be distinguished only by checking whether a computation crashes or not
2021-03-15 20:16:24 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 265 seconds)
2021-03-15 20:16:25 +0100 <tomsmeding> you can, in IO
2021-03-15 20:16:41 +0100 <tomsmeding> but I'd guess that you don't want to involve IO here
2021-03-15 20:16:52 +0100Alleria(~textual@mskresolve-a.mskcc.org)
2021-03-15 20:17:01 +0100conal(~conal@64.71.133.70)
2021-03-15 20:17:15 +0100AlleriaGuest61706
2021-03-15 20:18:51 +0100idhugo_(~idhugo@80-62-116-51-mobile.dk.customer.tdc.net) (Remote host closed the connection)
2021-03-15 20:19:05 +0100 <Gurkenglas> :t (isatleast', negativethree)
2021-03-15 20:19:07 +0100 <lambdabot> (Int -> VeryLazyNegativeIntegers -> (), VeryLazyNaturals -> ())
2021-03-15 20:19:18 +0100idhugo_(~idhugo@80-62-116-51-mobile.dk.customer.tdc.net)
2021-03-15 20:19:28 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-03-15 20:20:44 +0100 <Gurkenglas> (Should have said Integral instead of Int there so you can test atleast' on infinity)
2021-03-15 20:21:55 +0100__minoru__shirae(~shiraeesh@109.166.58.121) (Ping timeout: 240 seconds)
2021-03-15 20:22:12 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 20:22:51 +0100 <Gurkenglas> VeryLazyNegativeIntegers prove that not every element of any type can be reached from bottom in an ordinal number of finest possible steps :(
2021-03-15 20:23:32 +0100frozen_burnman_(~frozen_bu@80-90-135-76.static.oxid.cz)
2021-03-15 20:24:13 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-15 20:24:44 +0100amerigo(uid331857@gateway/web/irccloud.com/x-dbmpchvgbnfltrjd)
2021-03-15 20:25:51 +0100frozen_burnman(~frozen_bu@80-90-135-76.static.oxid.cz) (Ping timeout: 246 seconds)
2021-03-15 20:26:20 +0100nfd(~nfd9001@2601:602:77f:1820:61ac:3926:b4ff:2973)
2021-03-15 20:26:21 +0100__minoru__shirae(~shiraeesh@109.166.58.121)
2021-03-15 20:26:29 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 20:27:12 +0100nitrix_nitrix
2021-03-15 20:27:33 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 264 seconds)
2021-03-15 20:28:21 +0100justan0theruser(~justanoth@unaffiliated/justanotheruser)
2021-03-15 20:29:13 +0100Alleria__(~textual@mskresolve-a.mskcc.org)
2021-03-15 20:30:02 +0100justanotheruser(~justanoth@unaffiliated/justanotheruser) (Ping timeout: 260 seconds)
2021-03-15 20:30:27 +0100styledash7(~styledash@157.230.173.136)
2021-03-15 20:30:38 +0100Guest61706(~textual@mskresolve-a.mskcc.org) (Ping timeout: 264 seconds)
2021-03-15 20:30:38 +0100johnstein(~johnstein@192.73.239.18) (Ping timeout: 264 seconds)
2021-03-15 20:31:07 +0100johnsteinVPS(~johnstein@192.73.239.18)
2021-03-15 20:31:09 +0100johnsteinVPSjohnstein
2021-03-15 20:31:14 +0100CitizenSnips(~CitizenSn@irc.refl.club) (Ping timeout: 264 seconds)
2021-03-15 20:31:22 +0100gekh09(~gkh@thor.kevinhill.nl)
2021-03-15 20:31:50 +0100gekh0(~gkh@thor.kevinhill.nl) (Ping timeout: 264 seconds)
2021-03-15 20:31:50 +0100aforemny_(~aforemny@static.248.158.34.188.clients.your-server.de) (Ping timeout: 264 seconds)
2021-03-15 20:32:21 +0100lewky(~lewky@159.65.37.240)
2021-03-15 20:32:25 +0100landonf_(landonf@mac68k.info)
2021-03-15 20:32:26 +0100landonf(landonf@mac68k.info) (Ping timeout: 264 seconds)
2021-03-15 20:32:26 +0100Hi-Angel(~constanti@broadband-188-32-15-112.ip.moscow.rt.ru) (Ping timeout: 264 seconds)
2021-03-15 20:32:26 +0100jluttine_(~jluttine@85-23-95-149.bb.dnainternet.fi) (Ping timeout: 264 seconds)
2021-03-15 20:32:26 +0100tomboy64(~tomboy64@unaffiliated/tomboy64) (Ping timeout: 264 seconds)
2021-03-15 20:32:27 +0100oleks(~oleks@188.166.34.97) (Ping timeout: 264 seconds)
2021-03-15 20:32:27 +0100styledash(~styledash@157.230.173.136) (Ping timeout: 264 seconds)
2021-03-15 20:32:27 +0100lep-delete(~lep@94.31.86.183) (Ping timeout: 264 seconds)
2021-03-15 20:32:27 +0100styledash7styledash
2021-03-15 20:32:46 +0100CitizenSnips(~CitizenSn@irc.refl.club)
2021-03-15 20:32:47 +0100aforemny(~aforemny@static.248.158.34.188.clients.your-server.de)
2021-03-15 20:32:52 +0100Pickchea(~private@unaffiliated/pickchea)
2021-03-15 20:33:02 +0100Varis(~Tadas@unaffiliated/varis) (Ping timeout: 264 seconds)
2021-03-15 20:33:38 +0100Jonno_FTW(~come@api.carswap.me) (Ping timeout: 264 seconds)
2021-03-15 20:33:38 +0100ent(entgod@kapsi.fi) (Ping timeout: 264 seconds)
2021-03-15 20:33:59 +0100lep-delete(~lep@94.31.86.183)
2021-03-15 20:33:59 +0100bitonic(bitonicmat@gateway/shell/matrix.org/x-ipickbqxisfxlldz)
2021-03-15 20:33:59 +0100hsiktas[m](hsiktasmat@gateway/shell/matrix.org/x-temqgekgducjbrsh)
2021-03-15 20:33:59 +0100darkcodi[m](darkcodima@gateway/shell/matrix.org/x-rhzmsthbyuqylump)
2021-03-15 20:34:00 +0100mly[m](mlydisenco@gateway/shell/matrix.org/x-sghcilcxhnhkwjdd)
2021-03-15 20:34:00 +0100themsay[m](themsaymat@gateway/shell/matrix.org/x-ptarvovruaurhxwp)
2021-03-15 20:34:00 +0100alexfmpe(alexfmpema@gateway/shell/matrix.org/x-nolwhhpwmbxikafc)
2021-03-15 20:34:00 +0100dyniec[m](dyniecmatr@gateway/shell/matrix.org/x-otvcijywljfvbaed)
2021-03-15 20:34:00 +0100simara[m](simaramatr@gateway/shell/matrix.org/x-chhuoljzwygcerfa)
2021-03-15 20:34:00 +0100loyon(loyonmatri@gateway/shell/matrix.org/x-mwratoiagnlssnyq)
2021-03-15 20:34:00 +0100rednaZ[m](r3dnazmatr@gateway/shell/matrix.org/x-rdaonbrqeuwtjxsm)
2021-03-15 20:34:01 +0100kadobanana(kadoban9he@gateway/shell/matrix.org/x-fjnlfufgdsbleegm)
2021-03-15 20:34:01 +0100Lurkki[m]1(lurkkipriv@gateway/shell/matrix.org/x-skpmtcneqlzaxmfh)
2021-03-15 20:34:01 +0100lnxw37d4(lnxw37d4ma@gateway/shell/matrix.org/x-civsnwekuzleyzwa)
2021-03-15 20:34:01 +0100plumenator[m](plumenator@gateway/shell/matrix.org/x-ourhytalkerxbsgx)
2021-03-15 20:34:01 +0100srid(sridmatrix@gateway/shell/matrix.org/x-rijgcnldikjyzqzg)
2021-03-15 20:34:01 +0100heck-to-the-gnom(heck-to-th@gateway/shell/matrix.org/x-ghqiohudnnrsihmj)
2021-03-15 20:34:01 +0100jkaye[m](jkayematri@gateway/shell/matrix.org/x-fepxtmokxrdmlycv)
2021-03-15 20:34:01 +0100michaelpj(michaelpjm@gateway/shell/matrix.org/x-fmbulfuorzhwugnj)
2021-03-15 20:34:01 +0100maralorn(maralornma@gateway/shell/matrix.org/x-jnnbxzasrfbfbikw)
2021-03-15 20:34:01 +0100M53K5HUN_8[m](m53k5hun8m@gateway/shell/matrix.org/x-spimlfphvtdpgjrd)
2021-03-15 20:34:01 +0100berberman[T](berberma4@gateway/shell/matrix.org/x-mlboebuijvpyfcgj)
2021-03-15 20:34:01 +0100shieru[m](shierualet@gateway/shell/matrix.org/x-xdjkjxjdwcrtmgsg)
2021-03-15 20:34:01 +0100alecs[m](malumorema@gateway/shell/matrix.org/x-xfixxujbpdqukczd)
2021-03-15 20:34:01 +0100boistordu(boistordum@gateway/shell/matrix.org/x-adhzavlsrujzyaqb)
2021-03-15 20:34:02 +0100maerwald[m](maerwaldma@gateway/shell/matrix.org/x-xejvrntxwtmqgyhk)
2021-03-15 20:34:02 +0100kadoban(kadobanemp@gateway/shell/matrix.org/x-cpfubhuixmbptrmi)
2021-03-15 20:34:02 +0100Lurkki[m](lurkkifene@gateway/shell/matrix.org/x-mqydqxgjfsfhihgm)
2021-03-15 20:34:02 +0100arcontethegreat[(arcontethe@gateway/shell/matrix.org/x-txxxgbpslkgekqok)
2021-03-15 20:34:02 +0100joe[m]2(joemonoida@gateway/shell/matrix.org/x-ygxypwuzgvmgbeva)
2021-03-15 20:34:02 +0100domenkozar[m](domenkozar@NixOS/user/domenkozar)
2021-03-15 20:34:02 +0100psydruid(psydruidma@gateway/shell/matrix.org/x-tfyqyfjqrbnqzjln)
2021-03-15 20:34:02 +0100johnnyboy[m](gifumatrix@gateway/shell/matrix.org/x-yikznzlhyzrbvnbz)
2021-03-15 20:34:02 +0100PotatoHatsue(berbermanp@gateway/shell/matrix.org/x-invzcgjtdukarzux)
2021-03-15 20:34:02 +0100pqwy[m](pqwymatrix@gateway/shell/matrix.org/x-pvxxvwuidasooizc)
2021-03-15 20:34:03 +0100Ericson2314(ericson231@gateway/shell/matrix.org/x-pmvxuyjweiegnupz)
2021-03-15 20:34:03 +0100siraben(sirabenmat@gateway/shell/matrix.org/x-fdyejfvjphhisdvz)
2021-03-15 20:34:03 +0100freeman42x[m](freeman42x@gateway/shell/matrix.org/x-tkncoclizmblbtxd)
2021-03-15 20:34:03 +0100JaakkoLuttinen[m(jluttinema@gateway/shell/matrix.org/x-gzujzorzbqrmauno)
2021-03-15 20:34:04 +0100lambdaclan(lambdaclan@gateway/shell/matrix.org/x-bzkoutlgvmwbkjji)
2021-03-15 20:34:04 +0100mjlbach(atriusmatr@gateway/shell/matrix.org/x-idxtsewlxoswzwgx)
2021-03-15 20:34:04 +0100DamienCassou(damiencass@gateway/shell/matrix.org/x-nsfdradfsgvmppix)
2021-03-15 20:34:04 +0100jerin(jerinmatri@gateway/shell/matrix.org/x-fwxmmxrkuyeqajhb)
2021-03-15 20:34:04 +0100mud(kadobanmat@gateway/shell/matrix.org/x-xvdyxlpvmhfdsgfh)
2021-03-15 20:34:04 +0100jtojnar(jtojnarmat@gateway/shell/matrix.org/x-jkmbbhsofbyjdeff)
2021-03-15 20:34:04 +0100speakerspivakeem(speakerdea@gateway/shell/matrix.org/x-siqwjicgmhjtsmhd)
2021-03-15 20:34:04 +0100toasty_avocado[m(toastyavoc@gateway/shell/matrix.org/x-qelmcqsxgzxxevri)
2021-03-15 20:34:04 +0100Hanma[m](hanmamatri@gateway/shell/matrix.org/x-kpgolzcdirmazavm)
2021-03-15 20:34:04 +0100meff[m](meffsunado@gateway/shell/matrix.org/x-rwpksxtqvpkndqzd)
2021-03-15 20:34:05 +0100VarikValefor[m](varikvalef@gateway/shell/matrix.org/x-jtxzvhexsrzjwzlt)
2021-03-15 20:34:05 +0100fgaz(fgazmatrix@gateway/shell/matrix.org/x-ihiahjvhbvnutlcv)
2021-03-15 20:34:05 +0100rust-rocks[m](rust-rocks@gateway/shell/matrix.org/x-bqohnijxfkxiysny)
2021-03-15 20:34:05 +0100beardhatcode(robbertbea@gateway/shell/matrix.org/x-jovouonixnxlxvtc)
2021-03-15 20:34:05 +0100unclechu(unclechuma@gateway/shell/matrix.org/x-awlwoecumntvuvlv)
2021-03-15 20:34:05 +0100anon1891[m](anon1891ma@gateway/shell/matrix.org/x-iijrpsnxyzdwzkmq)
2021-03-15 20:34:05 +0100jeffcasavant[m](jeffcasava@gateway/shell/matrix.org/x-pacacpixykpsrqbq)
2021-03-15 20:34:05 +0100ThaEwat(thaewraptm@gateway/shell/matrix.org/x-tqryjbcnpoqvwatf)
2021-03-15 20:34:05 +0100sm[m](simonmicma@gateway/shell/matrix.org/x-ujfsdlwwogwlclyc)
2021-03-15 20:34:05 +0100immae(immaematri@gateway/shell/matrix.org/x-ifxuogihibrvpfqo)
2021-03-15 20:34:05 +0100CrabMan(phi-matrix@gateway/shell/matrix.org/x-itonprswumarsonx)
2021-03-15 20:34:06 +0100alar[m](alarmxalat@gateway/shell/matrix.org/x-mybgwpghbptgmctl)
2021-03-15 20:34:06 +0100a-tsioh[m](a-tsiohmat@gateway/shell/matrix.org/x-hzsglvxmnibrcjwd)
2021-03-15 20:34:06 +0100sramsay64[m](sramsay64p@gateway/shell/matrix.org/x-bknpsyoyllijdxjm)
2021-03-15 20:34:06 +0100sigmacool[m](sigmacoolm@gateway/shell/matrix.org/x-wbtiyswnbxffiblk)
2021-03-15 20:34:07 +0100Robin[m]4(robinrobin@gateway/shell/matrix.org/x-gmvegrujqzpycakq)
2021-03-15 20:34:10 +0100ManofLetters[m](manoflette@gateway/shell/matrix.org/x-englwmmecwrzyoqt)
2021-03-15 20:34:10 +0100Haskman[m](haskmanmat@gateway/shell/matrix.org/x-tnrbzczkfzxhidmh)
2021-03-15 20:34:11 +0100invent[m](inventmatr@gateway/shell/matrix.org/x-djucmvmrumafpmmw)
2021-03-15 20:34:11 +0100AbtractSingleton(rasurumatr@gateway/shell/matrix.org/x-bshxgvdkrvkrlckp)
2021-03-15 20:34:12 +0100oleks(~oleks@188.166.34.97)
2021-03-15 20:34:12 +0100enya[m](enyaismatr@gateway/shell/matrix.org/x-jmjpjmcajmtxqdme)
2021-03-15 20:34:12 +0100Pressyware[m](pressyware@gateway/shell/matrix.org/x-merabgrvstchiodj)
2021-03-15 20:34:14 +0100nfd(~nfd9001@2601:602:77f:1820:61ac:3926:b4ff:2973) (Ping timeout: 264 seconds)
2021-03-15 20:34:51 +0100Jonno_FTW(~come@api.carswap.me)
2021-03-15 20:35:04 +0100ent(entgod@kapsi.fi)
2021-03-15 20:35:12 +0100MichaelHoffmannb(brisadmozi@gateway/shell/matrix.org/x-ebubrxwbqbyooquz)
2021-03-15 20:35:48 +0100 <Gurkenglas> @let plus a b = a `lub` let S b' = b in S $ plus a b' in plus -- sadly, lambdabot doesn't support the lub library.
2021-03-15 20:35:48 +0100 <lambdabot> Parse failed: Parse error: in
2021-03-15 20:36:05 +0100 <Gurkenglas> (hmm, worked with ":t " instead of "@")
2021-03-15 20:36:15 +0100 <Gurkenglas> oh, heh
2021-03-15 20:36:24 +0100 <Gurkenglas> @let plus a b = a `lub` let S b' = b in S $ plus a b'
2021-03-15 20:36:26 +0100 <lambdabot> Defined.
2021-03-15 20:36:43 +0100elliott_(~elliott_@pool-108-51-101-42.washdc.fios.verizon.net)
2021-03-15 20:38:50 +0100texasmynsted(~texasmyns@99.96.221.112)
2021-03-15 20:39:30 +0100idhugo_(~idhugo@80-62-116-51-mobile.dk.customer.tdc.net) (Ping timeout: 246 seconds)
2021-03-15 20:39:35 +0100tomboy64(~tomboy64@unaffiliated/tomboy64)
2021-03-15 20:40:22 +0100Varis(~Tadas@unaffiliated/varis)
2021-03-15 20:40:26 +0100thc202(~thc202@unaffiliated/thc202) (Ping timeout: 240 seconds)
2021-03-15 20:40:48 +0100jluttine_(~jluttine@85-23-95-149.bb.dnainternet.fi)
2021-03-15 20:41:59 +0100epstein(~dwsjeid91@193.27.14.135)
2021-03-15 20:46:17 +0100carlomagno(~cararell@148.87.23.6) (Remote host closed the connection)
2021-03-15 20:47:08 +0100carlomagno(~cararell@148.87.23.6)
2021-03-15 20:47:15 +0100dfeuer(~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net) (Ping timeout: 240 seconds)
2021-03-15 20:48:35 +0100kiweun(~kiweun@2607:fea8:2a62:9600:4dce:2716:8f3a:55c2)
2021-03-15 20:50:12 +0100ADG1089__(~aditya@122.163.232.170) (Quit: Konversation terminated!)
2021-03-15 20:51:37 +0100 <Gurkenglas> min and max are just glb and lub, of course.
2021-03-15 20:53:26 +0100kiweun(~kiweun@2607:fea8:2a62:9600:4dce:2716:8f3a:55c2) (Ping timeout: 264 seconds)
2021-03-15 20:53:57 +0100 <tomsmeding> Gurkenglas: can you define subtraction?
2021-03-15 20:54:59 +0100 <tomsmeding> (without IO)
2021-03-15 20:56:17 +0100 <Gurkenglas> I'm afraid not - the functions i can implement are exactly the monotonously increasing functions, and (3-) is not monotonous.
2021-03-15 20:56:34 +0100 <Gurkenglas> uh, it's called monotonic in english
2021-03-15 20:57:25 +0100 <Gurkenglas> (i mean, i think i can do all the monotonic ones... can you find one i can't? :) )
2021-03-15 20:57:28 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection)
2021-03-15 20:57:34 +0100waleee-cl(uid373333@gateway/web/irccloud.com/x-nlbmdcqymwlgkesq)
2021-03-15 20:57:47 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-03-15 21:00:46 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-03-15 21:00:52 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 265 seconds)
2021-03-15 21:02:48 +0100motte(~weechat@unaffiliated/motte)
2021-03-15 21:02:51 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-03-15 21:04:19 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Remote host closed the connection)
2021-03-15 21:04:50 +0100forgottenone(~forgotten@176.42.16.157) (Ping timeout: 264 seconds)
2021-03-15 21:05:14 +0100petersen(~petersen@redhat/juhp) (Ping timeout: 256 seconds)
2021-03-15 21:05:36 +0100 <tomsmeding> Gurkenglas: floor(log(x))
2021-03-15 21:05:48 +0100 <tomsmeding> okay perhaps floor(log(x+1))
2021-03-15 21:05:48 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-15 21:06:39 +0100 <hololeap> i don't understand where the `source-repository` stanza is supposed to go in my cabal file
2021-03-15 21:06:56 +0100 <tomsmeding> hololeap: what have you tried?
2021-03-15 21:07:23 +0100 <tomsmeding> hololeap: this works for me https://github.com/tomsmeding/pastebin-haskell/blob/master/pastebin-haskell.cabal
2021-03-15 21:07:31 +0100 <tomsmeding> though I haven't tried submitting to hackage
2021-03-15 21:07:41 +0100petersen(~petersen@redhat/juhp)
2021-03-15 21:07:48 +0100 <hololeap> tomsmeding: https://dpaste.com/5PJ4867V2
2021-03-15 21:09:13 +0100 <hololeap> tomsmeding: this is what it complains about https://dpaste.com/6895574ZH
2021-03-15 21:09:44 +0100 <tomsmeding> hololeap: does that only happen for 'cabal check'? Can you 'cabal build' successfully?
2021-03-15 21:09:51 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2021-03-15 21:10:01 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-03-15 21:11:21 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net)
2021-03-15 21:11:51 +0100sord937(~sord937@gateway/tor-sasl/sord937) (Quit: sord937)
2021-03-15 21:12:24 +0100 <motte> hi, i'm trying to use yesod and for some reason terminal input isn't working when doing stack exec -- yesod devel. pressing enter should trigger a rebuild, but nothing happens (except a blank line appearing in the terminal window)
2021-03-15 21:12:49 +0100 <hololeap> tomsmeding: no it was giving me the same for 'cabal build', but i figured out that it works if i move the stanza down near the 'library' stanza
2021-03-15 21:13:00 +0100 <motte> any idea what's wrong with my setup? tried a different shell, a different terminal emulator, still not working
2021-03-15 21:13:22 +0100 <tomsmeding> hololeap: and in that position cabal check still fails?
2021-03-15 21:14:10 +0100 <hololeap> tomsmeding: there are no errors or warnings after i moved it
2021-03-15 21:14:34 +0100 <motte> oh also, typing help should print a help text, but this also doesn't work
2021-03-15 21:14:53 +0100 <tomsmeding> hololeap: I am somewhat disturbed that you get a linker error, of all things, but it sounds to me like you've found a solution (move the clause down)
2021-03-15 21:14:53 +0100conal(~conal@64.71.133.70) (Read error: Connection reset by peer)
2021-03-15 21:15:07 +0100 <tomsmeding> motte: are you sure that 'yesod devel' should give a terminal interface?
2021-03-15 21:15:57 +0100 <hololeap> tomsmeding: i don't think i got a linker error, did i? just a bunch of warnings
2021-03-15 21:16:03 +0100sdressel(~sdressel@pwning.de)
2021-03-15 21:16:06 +0100 <tomsmeding> motte: https://www.yesodweb.com/page/quickstart says "Also, if you choose the "mini" scaffolding, yesod devel will not work." -- no idea about yesod, but that sounds perhaps related?
2021-03-15 21:16:09 +0100sdressel_(~sdressel@pwning.de) (Ping timeout: 256 seconds)
2021-03-15 21:16:15 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com) (Ping timeout: 246 seconds)
2021-03-15 21:16:20 +0100 <tomsmeding> hololeap: that 'error while loading shared libraries' is a linker error
2021-03-15 21:16:31 +0100sarahzrf(~sarahzrf_@sarahzrf.com) (Ping timeout: 256 seconds)
2021-03-15 21:16:37 +0100 <tomsmeding> or at least, it looks like one
2021-03-15 21:16:39 +0100sarahzrf_(~sarahzrf_@sarahzrf.com)
2021-03-15 21:17:31 +0100 <hololeap> oh, i think i know what that is from. it isn't an error i was getting except with this `wgetpaste` utility. my global env is screwy right now and it isn't finding the env installed by ghcup
2021-03-15 21:17:37 +0100 <ephemient> well, I see in https://github.com/yesodweb/yesod/blob/master/yesod-bin/Devel.hs that it runs stack build --fast --file-watch, so that's what would be interpreting enter to rebuild / help / etc.
2021-03-15 21:17:40 +0100vicfred_(~vicfred@unaffiliated/vicfred) (Quit: Leaving)
2021-03-15 21:17:40 +0100 <motte> tomsmeding: well i'm watching a tutorial of yesod, and the author demonstrates terminal input by pressing enter to rebuild, so i guess it should work
2021-03-15 21:17:48 +0100 <ephemient> but it's unclear to me if stdin is wired up for that
2021-03-15 21:18:00 +0100 <ephemient> it may have changed in different versions
2021-03-15 21:18:04 +0100 <motte> tomsmeding: i'm not using the mini scaffolding so probably unrelated
2021-03-15 21:18:21 +0100 <hololeap> tomsmeding: if that makes sense
2021-03-15 21:18:56 +0100statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com) (Ping timeout: 256 seconds)
2021-03-15 21:19:03 +0100statusbot(~statusbot@ec2-34-198-122-184.compute-1.amazonaws.com)
2021-03-15 21:19:17 +0100 <tomsmeding> hololeap: I don't see anything else than that error, so not sure what warnings you're getting
2021-03-15 21:19:29 +0100 <tomsmeding> but what about moving the stanza down does not work?
2021-03-15 21:19:37 +0100 <tomsmeding> putting it in between the header lines looks suspicious anyway
2021-03-15 21:20:05 +0100 <hololeap> wgetpaste is a utility that can publish the output of a command, and i didn't bother to check what it had published
2021-03-15 21:20:16 +0100conal(~conal@64.71.133.70)
2021-03-15 21:20:17 +0100 <hololeap> so that error is completely different from what i was getting
2021-03-15 21:20:26 +0100 <hololeap> but, no, moving it _did_ fix it
2021-03-15 21:20:53 +0100 <tomsmeding> in general, the form of a cabal file is cabal-version; further header lines; stanzas
2021-03-15 21:21:00 +0100abhixec(~abhixec@c-67-169-139-16.hsd1.ca.comcast.net)
2021-03-15 21:21:06 +0100 <tomsmeding> as far as I know
2021-03-15 21:21:22 +0100 <hololeap> gotcha. it does look 'better' with the stanza moved down. i will do that in the future.
2021-03-15 21:22:01 +0100 <ephemient> motte: I'm not familiar with Yesod, but it looks like the devel server changed behavior several years ago. do you know how old the tutorial you're watching is?
2021-03-15 21:22:06 +0100 <ephemient> https://github.com/yesodweb/yesod/pull/1305
2021-03-15 21:22:15 +0100dsrt^(dsrt@ip98-184-89-2.mc.at.cox.net) ()
2021-03-15 21:22:16 +0100alinab(sid468903@gateway/web/irccloud.com/x-pnysahqquupbvvmz) (Ping timeout: 256 seconds)
2021-03-15 21:22:38 +0100 <hololeap> i'm also a bit confused about the --documentation flag for cabal upload
2021-03-15 21:22:45 +0100Squarism(~someone@unaffiliated/squarism) (Ping timeout: 256 seconds)
2021-03-15 21:22:54 +0100 <hololeap> will the documentation be generated on hackage without this flag?
2021-03-15 21:23:01 +0100 <epstein> is there a haskell evaluator here?
2021-03-15 21:23:19 +0100 <Rembane> > 1 + 1
2021-03-15 21:23:21 +0100 <lambdabot> 2
2021-03-15 21:23:28 +0100 <codygman`> re: postgres connection leaking in persistent. I think my issues are because resourcet.with says "resource will be freed as soon as the inner block is exited, whether normally or via an exception." So even if a ReleaseException happens the resource goes back into the pool? Maybe freed also counts destroying a resource as freeing.
2021-03-15 21:23:51 +0100 <motte> it's from 2020 spring, so fairly new. i'm fairly sure this *should* work as the application says on startup "Type help for available commands", 'quit' to quit etc.
2021-03-15 21:24:56 +0100Kaiepi(~Kaiepi@47.54.252.148) (Remote host closed the connection)
2021-03-15 21:25:13 +0100alinab(sid468903@gateway/web/irccloud.com/x-rmachwsqzbwkxxoa)
2021-03-15 21:25:31 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 21:25:36 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net) (Ping timeout: 256 seconds)
2021-03-15 21:25:36 +0100Squarism(~someone@178.62.91.8)
2021-03-15 21:25:37 +0100Squarism(~someone@178.62.91.8) (Changing host)
2021-03-15 21:25:37 +0100Squarism(~someone@unaffiliated/squarism)
2021-03-15 21:25:51 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 21:26:01 +0100cole-h(~cole-h@c-73-48-197-220.hsd1.ca.comcast.net)
2021-03-15 21:26:22 +0100dbmikus(~dbmikus@cpe-76-167-86-219.natsow.res.rr.com)
2021-03-15 21:26:48 +0100 <epstein> > zip (repeat "anal") ["slavery", "bondage", "spanking", "juicing", "domination", "nuking"]
2021-03-15 21:26:50 +0100 <lambdabot> [("anal","slavery"),("anal","bondage"),("anal","spanking"),("anal","juicing"...
2021-03-15 21:27:25 +0100 <geekosaur> re cabal stanzas, it looks like source-repository comes after the header but before library and executable stanzas? per https://cabal.readthedocs.io/en/3.4/cabal-package.html#source-repositories
2021-03-15 21:27:33 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 268 seconds)
2021-03-15 21:27:50 +0100 <epstein> > (repeat "spank") ++ "geekosaur"
2021-03-15 21:27:52 +0100 <lambdabot> error:
2021-03-15 21:27:52 +0100 <lambdabot> • Couldn't match type ‘Char’ with ‘[Char]’
2021-03-15 21:27:53 +0100 <lambdabot> Expected type: [[Char]]
2021-03-15 21:28:08 +0100DTZUZU_(~DTZUZO@207.81.119.43)
2021-03-15 21:28:32 +0100 <tomsmeding> geekosaur: https://hackage.haskell.org/package/vector-0.12.2.0/vector.cabal does not conform to that
2021-03-15 21:28:36 +0100 <Gurkenglas> > join (repeat "spank") ++ "geekosaur" -- it's pushed to infinity, of course
2021-03-15 21:28:38 +0100 <lambdabot> "spankspankspankspankspankspankspankspankspankspankspankspankspankspankspank...
2021-03-15 21:29:23 +0100 <geekosaur> but it does follow the header, at least
2021-03-15 21:29:40 +0100 <tomsmeding> that it does :)
2021-03-15 21:30:03 +0100 <epstein> ah
2021-03-15 21:30:12 +0100 <epstein> huh
2021-03-15 21:30:32 +0100 <epstein> > zip (repeat "yummy ") (repeat "geekosaur")
2021-03-15 21:30:34 +0100 <lambdabot> [("yummy ","geekosaur"),("yummy ","geekosaur"),("yummy ","geekosaur"),("yumm...
2021-03-15 21:30:36 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan)
2021-03-15 21:30:42 +0100Someguy123(~someguy@unaffiliated/compgenius999) (Ping timeout: 256 seconds)
2021-03-15 21:31:00 +0100 <hololeap> anyone know the answer to my question, before all this started?
2021-03-15 21:31:06 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net) (Ping timeout: 268 seconds)
2021-03-15 21:32:37 +0100 <hololeap> https://hackage.haskell.org/package/unlift-stm-0.1.0.0/candidate
2021-03-15 21:32:50 +0100 <hololeap> this doesn't show any docs. is it because it is a candidate or do i need to upload them?
2021-03-15 21:33:08 +0100 <hololeap> they get built fine locally with `cabal haddock`
2021-03-15 21:33:37 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl)
2021-03-15 21:33:37 +0100mouseghost(~draco@87-206-9-185.dynamic.chello.pl) (Changing host)
2021-03-15 21:33:37 +0100mouseghost(~draco@wikipedia/desperek)
2021-03-15 21:34:01 +0100Wuzzy(~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de) (Ping timeout: 256 seconds)
2021-03-15 21:34:44 +0100 <geekosaur> becuase it's a candidate and it won't do a build until after it's published, iirc
2021-03-15 21:34:58 +0100 <hololeap> ok, i'm gonna go for it then
2021-03-15 21:34:59 +0100Someguy123(~someguy@unaffiliated/compgenius999)
2021-03-15 21:35:07 +0100 <hololeap> first upload to hackage, woo
2021-03-15 21:35:34 +0100mikoto-chan(~anass@gateway/tor-sasl/mikoto-chan) (Ping timeout: 268 seconds)
2021-03-15 21:35:34 +0100ystael(~ystael@26.sub-174-196-196.myvzw.com) (Read error: Connection reset by peer)
2021-03-15 21:35:51 +0100travv0(sid293381@gateway/web/irccloud.com/x-qfqftjhlfdqcrtoj) (Ping timeout: 256 seconds)
2021-03-15 21:36:18 +0100Tene(~tene@poipu/supporter/slacker/tene) (Ping timeout: 245 seconds)
2021-03-15 21:36:33 +0100ByronJohnson(~bairyn@unaffiliated/bob0) (Ping timeout: 260 seconds)
2021-03-15 21:36:55 +0100zceejkr(~wintermut@cpe-92-37-88-51.dynamic.amis.net) (Ping timeout: 256 seconds)
2021-03-15 21:37:03 +0100travv0(sid293381@gateway/web/irccloud.com/x-wgqufftjffzjttmi)
2021-03-15 21:37:17 +0100 <epstein> > foldl ++ "" (repeat "Lube")
2021-03-15 21:37:19 +0100 <lambdabot> error:
2021-03-15 21:37:19 +0100 <lambdabot> • Couldn't match expected type ‘[a]’
2021-03-15 21:37:19 +0100 <lambdabot> with actual type ‘(b0 -> a0 -> b0) -> b0 -> t0 a0 -> b0’
2021-03-15 21:37:35 +0100 <epstein> > foldl (++) "" (repeat "Lube")
2021-03-15 21:37:39 +0100zceejkr(~wintermut@cpe-92-37-88-51.dynamic.amis.net)
2021-03-15 21:37:41 +0100 <lambdabot> mueval-core: Time limit exceeded
2021-03-15 21:38:04 +0100 <epstein> >foldr (++) (repeat "Lube") (++)
2021-03-15 21:38:13 +0100 <epstein> >foldr (++) (repeat "Lube") ""
2021-03-15 21:38:29 +0100frozenErebus(~frozenEre@94.128.82.20) (Ping timeout: 246 seconds)
2021-03-15 21:38:44 +0100tomsmedingwonders if there is a moderator around
2021-03-15 21:38:57 +0100ChanServ+q *!*@193.27.14.135
2021-03-15 21:39:16 +0100 <tomsmeding> thank you kind person!
2021-03-15 21:40:09 +0100geekosaur(82650c7a@130.101.12.122) (Quit: Connection closed)
2021-03-15 21:40:22 +0100 <hololeap> 🎉️
2021-03-15 21:41:17 +0100wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-03-15 21:41:59 +0100 <jess> hi epstein
2021-03-15 21:42:04 +0100 <jess> oh
2021-03-15 21:42:05 +0100 <jess> im late
2021-03-15 21:42:37 +0100 <Gurkenglas> @let overS f (S x) = S $ f x; eval :: (Int -> Int) -> VeryLazyNaturals -> VeryLazyNaturals; eval f = foldr (.) (overS $ eval $ subtract (f 0) . f . (+1)) $ replicate (f 0) S -- tomsmeding, this applies any monotonic Int function to a VeryLazyNatural :)
2021-03-15 21:42:39 +0100 <lambdabot> Defined.
2021-03-15 21:42:41 +0100 <__minoru__shirae> codygman`: whether resourcet is a source of error or not depends on whether it runs the freeing function in response to an async exception, and also depends on what is written in that freeing function
2021-03-15 21:43:01 +0100ByronJohnson(~bairyn@unaffiliated/bob0)
2021-03-15 21:43:03 +0100Tene(~tene@mail.digitalkingdom.org)
2021-03-15 21:43:03 +0100Tene(~tene@mail.digitalkingdom.org) (Changing host)
2021-03-15 21:43:03 +0100Tene(~tene@poipu/supporter/slacker/tene)
2021-03-15 21:44:47 +0100DTZUZU(~DTZUZO@205.ip-149-56-132.net)
2021-03-15 21:46:43 +0100DTZUZU_(~DTZUZO@207.81.119.43) (Ping timeout: 245 seconds)
2021-03-15 21:47:36 +0100dfeuer(~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net)
2021-03-15 21:47:53 +0100aarvar(~foewfoiew@2601:602:a080:fa0:6cfb:c91f:3c9a:a8cb)
2021-03-15 21:48:48 +0100 <tomsmeding> Gurkenglas: for which 'f' is 'eval f x' not equal to 'iterate S x !! f 0'
2021-03-15 21:49:08 +0100todda7(~torstein@2a02:587:1b10:ea00:db5:2d40:d00d:cce4)
2021-03-15 21:49:12 +0100 <tomsmeding> (assuming we're only talking about functions 'f' that map naturals to naturals)
2021-03-15 21:49:17 +0100tsaka__(~torstein@ppp-2-87-239-251.home.otenet.gr) (Read error: Connection reset by peer)
2021-03-15 21:49:36 +0100supercoven(~Supercove@dsl-hkibng31-54fabd-233.dhcp.inet.fi) (Ping timeout: 268 seconds)
2021-03-15 21:49:36 +0100ByteEater(57cd846a@gateway/web/cgi-irc/kiwiirc.com/ip.87.205.132.106)
2021-03-15 21:52:11 +0100 <Gurkenglas> (actually that eval is slightly wrong but not in the way you say, lemme fix)
2021-03-15 21:54:22 +0100 <hololeap> this seems messed up as far as the docs and the links. publishing didn't seem to help: https://hackage.haskell.org/package/unlift-stm-0.1.0.0
2021-03-15 21:54:38 +0100 <hololeap> i'd appreciate any help
2021-03-15 21:54:39 +0100pincel(~pyon@unaffiliated/pyon)
2021-03-15 21:56:02 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-03-15 21:56:41 +0100 <hololeap> if anyone missed the context, this is my first upload to hackage and the docs and links were messed up in the candidate version. geekosaur seemed to think the docs would be built once it was fully published
2021-03-15 21:56:45 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net) (*.net *.split)
2021-03-15 21:56:45 +0100ent(entgod@kapsi.fi) (*.net *.split)
2021-03-15 21:56:45 +0100oleks(~oleks@188.166.34.97) (*.net *.split)
2021-03-15 21:56:45 +0100gekh09(~gkh@thor.kevinhill.nl) (*.net *.split)
2021-03-15 21:56:45 +0100styledash(~styledash@157.230.173.136) (*.net *.split)
2021-03-15 21:56:45 +0100frozen_burnman_(~frozen_bu@80-90-135-76.static.oxid.cz) (*.net *.split)
2021-03-15 21:56:45 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (*.net *.split)
2021-03-15 21:56:45 +0100dhil(~dhil@80.208.56.181) (*.net *.split)
2021-03-15 21:56:45 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (*.net *.split)
2021-03-15 21:56:45 +0100cheater(~user@unaffiliated/cheater) (*.net *.split)
2021-03-15 21:56:45 +0100sudden(~lax@unaffiliated/laxask) (*.net *.split)
2021-03-15 21:56:45 +0100quaestor(~quaestor@griffith.christophrauch.de) (*.net *.split)
2021-03-15 21:56:45 +0100wz1000(~wz1000@static.11.113.47.78.clients.your-server.de) (*.net *.split)
2021-03-15 21:56:45 +0100energizer(~energizer@unaffiliated/energizer) (*.net *.split)
2021-03-15 21:56:45 +0100cohn(~noone@unaffiliated/cohn) (*.net *.split)
2021-03-15 21:56:45 +0100chindy_(~quassel@51.15.63.78) (*.net *.split)
2021-03-15 21:56:45 +0100dminuoso(~dminuoso@unaffiliated/dminuoso) (*.net *.split)
2021-03-15 21:56:45 +0100ptrcmd_(~ptrcmd@unaffiliated/petercommand) (*.net *.split)
2021-03-15 21:56:45 +0100dddddd(~dddddd@unaffiliated/dddddd) (*.net *.split)
2021-03-15 21:56:45 +0100Logio(em@kapsi.fi) (*.net *.split)
2021-03-15 21:56:45 +0100DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de) (*.net *.split)
2021-03-15 21:56:45 +0100Aleksejs(~Aleksejs@haskell.lv) (*.net *.split)
2021-03-15 21:56:45 +0100a3Dman(~3Dman@unaffiliated/a3dman) (*.net *.split)
2021-03-15 21:56:45 +0100averell(~averell@unaffiliated/averell) (*.net *.split)
2021-03-15 21:56:45 +0100TMA(tma@twin.jikos.cz) (*.net *.split)
2021-03-15 21:56:45 +0100Sparad0x(~etienne@ns3123347.ip-51-68-152.eu) (*.net *.split)
2021-03-15 21:56:45 +0100maerwald(~maerwald@mail.hasufell.de) (*.net *.split)
2021-03-15 21:56:45 +0100arw(~arw@impulse.informatik.uni-erlangen.de) (*.net *.split)
2021-03-15 21:56:45 +0100chrisosa1rus(chris@segfault.net.nz) (*.net *.split)
2021-03-15 21:56:45 +0100brettgilio_(~brettgili@brettgilio.com) (*.net *.split)
2021-03-15 21:56:45 +0100ahri(~ahri@178.209.40.84) (*.net *.split)
2021-03-15 21:56:45 +0100leothrix(~leothrix@elastic/staff/leothrix) (*.net *.split)
2021-03-15 21:56:45 +0100absence(torgeihe@hildring.pvv.ntnu.no) (*.net *.split)
2021-03-15 21:56:45 +0100M2tias(m2@seri.fi) (*.net *.split)
2021-03-15 21:56:45 +0100bcoppens(~bartcopp@kde/coppens) (*.net *.split)
2021-03-15 21:56:45 +0100connrs_(~connrs@runciter.connrs.uk) (*.net *.split)
2021-03-15 21:56:45 +0100sea-gull(~sea-gull@li1815-136.members.linode.com) (*.net *.split)
2021-03-15 21:56:45 +0100tristanC(~tristanC@unaffiliated/tristanc) (*.net *.split)
2021-03-15 21:56:45 +0100adamCS(~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com) (*.net *.split)
2021-03-15 21:56:45 +0100hwabyong(~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (*.net *.split)
2021-03-15 21:56:45 +0100eldritch(~eldritch@unaffiliated/eldritch) (*.net *.split)
2021-03-15 21:56:45 +0100crtschin(~crtschin@104.131.9.149) (*.net *.split)
2021-03-15 21:56:45 +0100dilinger(~dilinger@spindle.queued.net) (*.net *.split)
2021-03-15 21:56:45 +0100sdx23(~sdx23@unaffiliated/sdx23) (*.net *.split)
2021-03-15 21:56:45 +0100blackdog(~blackdog@198.211.112.85) (*.net *.split)
2021-03-15 21:56:45 +0100iptq(~michael@142.93.75.170) (*.net *.split)
2021-03-15 21:56:45 +0100joeytwiddle(~joeytwidd@162.243.115.31) (*.net *.split)
2021-03-15 21:56:45 +0100mantovani(~mantovani@104.131.207.121) (*.net *.split)
2021-03-15 21:56:45 +0100xe4(~xe4@157.245.246.119) (*.net *.split)
2021-03-15 21:56:45 +0100Uniaika(~uniaika@163.172.211.189) (*.net *.split)
2021-03-15 21:56:45 +0100amosbird(~amosbird@13.75.119.182) (*.net *.split)
2021-03-15 21:56:45 +0100mjrosenb(~mrosenbe@nyc.schrodinger.com) (*.net *.split)
2021-03-15 21:56:45 +0100geal(~geal@195-154-200-217.rev.poneytelecom.eu) (*.net *.split)
2021-03-15 21:56:45 +0100electrocat(~michiel@revan.derhaeg.be) (*.net *.split)
2021-03-15 21:56:45 +0100anderson(~ande@159.65.95.130) (*.net *.split)
2021-03-15 21:56:45 +0100deni(~deni@unaffiliated/deni) (*.net *.split)
2021-03-15 21:56:45 +0100Eliel(~jojkaart@163.172.153.251) (*.net *.split)
2021-03-15 21:57:05 +0100 <tomsmeding> hololeap: it says "Docs pending" under status; perhaps patience is in order?
2021-03-15 21:57:16 +0100acarrico(~acarrico@dhcp-68-142-39-249.greenmountainaccess.net)
2021-03-15 21:57:16 +0100ent(entgod@kapsi.fi)
2021-03-15 21:57:16 +0100oleks(~oleks@188.166.34.97)
2021-03-15 21:57:16 +0100gekh09(~gkh@thor.kevinhill.nl)
2021-03-15 21:57:16 +0100styledash(~styledash@157.230.173.136)
2021-03-15 21:57:16 +0100frozen_burnman_(~frozen_bu@80-90-135-76.static.oxid.cz)
2021-03-15 21:57:16 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net)
2021-03-15 21:57:16 +0100dhil(~dhil@80.208.56.181)
2021-03-15 21:57:16 +0100_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-03-15 21:57:16 +0100cheater(~user@unaffiliated/cheater)
2021-03-15 21:57:16 +0100sudden(~lax@unaffiliated/laxask)
2021-03-15 21:57:16 +0100quaestor(~quaestor@griffith.christophrauch.de)
2021-03-15 21:57:16 +0100wz1000(~wz1000@static.11.113.47.78.clients.your-server.de)
2021-03-15 21:57:16 +0100cohn(~noone@unaffiliated/cohn)
2021-03-15 21:57:16 +0100chindy_(~quassel@51.15.63.78)
2021-03-15 21:57:16 +0100dminuoso(~dminuoso@unaffiliated/dminuoso)
2021-03-15 21:57:16 +0100ptrcmd_(~ptrcmd@unaffiliated/petercommand)
2021-03-15 21:57:16 +0100dddddd(~dddddd@unaffiliated/dddddd)
2021-03-15 21:57:16 +0100Logio(em@kapsi.fi)
2021-03-15 21:57:16 +0100DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de)
2021-03-15 21:57:16 +0100Aleksejs(~Aleksejs@haskell.lv)
2021-03-15 21:57:16 +0100TMA(tma@twin.jikos.cz)
2021-03-15 21:57:16 +0100Sparad0x(~etienne@ns3123347.ip-51-68-152.eu)
2021-03-15 21:57:16 +0100maerwald(~maerwald@mail.hasufell.de)
2021-03-15 21:57:16 +0100arw(~arw@impulse.informatik.uni-erlangen.de)
2021-03-15 21:57:16 +0100chrisosa1rus(chris@segfault.net.nz)
2021-03-15 21:57:16 +0100ahri(~ahri@178.209.40.84)
2021-03-15 21:57:16 +0100leothrix(~leothrix@elastic/staff/leothrix)
2021-03-15 21:57:16 +0100absence(torgeihe@hildring.pvv.ntnu.no)
2021-03-15 21:57:16 +0100M2tias(m2@seri.fi)
2021-03-15 21:57:16 +0100bcoppens(~bartcopp@kde/coppens)
2021-03-15 21:57:16 +0100connrs_(~connrs@runciter.connrs.uk)
2021-03-15 21:57:16 +0100sea-gull(~sea-gull@li1815-136.members.linode.com)
2021-03-15 21:57:16 +0100tristanC(~tristanC@unaffiliated/tristanc)
2021-03-15 21:57:16 +0100adamCS(~adamCS@ec2-34-207-160-255.compute-1.amazonaws.com)
2021-03-15 21:57:16 +0100hwabyong(~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com)
2021-03-15 21:57:16 +0100crtschin(~crtschin@104.131.9.149)
2021-03-15 21:57:16 +0100dilinger(~dilinger@spindle.queued.net)
2021-03-15 21:57:16 +0100sdx23(~sdx23@unaffiliated/sdx23)
2021-03-15 21:57:16 +0100mjrosenb(~mrosenbe@nyc.schrodinger.com)
2021-03-15 21:57:16 +0100blackdog(~blackdog@198.211.112.85)
2021-03-15 21:57:16 +0100iptq(~michael@142.93.75.170)
2021-03-15 21:57:16 +0100joeytwiddle(~joeytwidd@162.243.115.31)
2021-03-15 21:57:16 +0100mantovani(~mantovani@104.131.207.121)
2021-03-15 21:57:16 +0100xe4(~xe4@157.245.246.119)
2021-03-15 21:57:16 +0100Uniaika(~uniaika@163.172.211.189)
2021-03-15 21:57:16 +0100geal(~geal@195-154-200-217.rev.poneytelecom.eu)
2021-03-15 21:57:16 +0100electrocat(~michiel@revan.derhaeg.be)
2021-03-15 21:57:16 +0100anderson(~ande@159.65.95.130)
2021-03-15 21:57:16 +0100deni(~deni@unaffiliated/deni)
2021-03-15 21:57:16 +0100Eliel(~jojkaart@163.172.153.251)
2021-03-15 21:57:26 +0100 <hololeap> lol that was not obviouis
2021-03-15 21:57:34 +0100 <hololeap> anyway, that's good
2021-03-15 21:58:11 +0100amosbird(~amosbird@13.75.119.182)
2021-03-15 21:58:22 +0100nf(~n@monade.li) (Quit: Fairfarren.)
2021-03-15 21:58:33 +0100nf(~n@monade.li)
2021-03-15 21:59:02 +0100averell(~averell@unaffiliated/averell)
2021-03-15 21:59:04 +0100sdx32(~sdx23@unaffiliated/sdx23)
2021-03-15 21:59:30 +0100a3Dman(~3Dman@ns334323.ip-5-196-65.eu)
2021-03-15 21:59:30 +0100a3Dman(~3Dman@ns334323.ip-5-196-65.eu) (Changing host)
2021-03-15 21:59:30 +0100a3Dman(~3Dman@unaffiliated/a3dman)
2021-03-15 21:59:34 +0100 <slack1256> 11
2021-03-15 21:59:39 +0100conal(~conal@64.71.133.70) (Ping timeout: 246 seconds)
2021-03-15 21:59:42 +0100 <slack1256> Sorry. mistyped.
2021-03-15 21:59:43 +0100sdx23(~sdx23@unaffiliated/sdx23) (Read error: Connection reset by peer)
2021-03-15 22:00:23 +0100brettgilio(~brettgili@brettgilio.com)
2021-03-15 22:00:30 +0100d(4cba4096@cpe-76-186-64-150.tx.res.rr.com)
2021-03-15 22:00:54 +0100dGuest25859
2021-03-15 22:01:09 +0100 <Gurkenglas> @let eval' :: (Int -> Int) -> VeryLazyNaturals -> VeryLazyNaturals; eval' f = foldr (.) id (replicate (f 0) S) . (\(S x) -> eval' (subtract (f 0) . f . (+1)) x) -- that actually took a fair number of tries. turns out foo . unS is more like (\ ~(S x) -> foo x) than (\(S x) -> foo x)
2021-03-15 22:01:11 +0100 <lambdabot> Defined.
2021-03-15 22:01:17 +0100Yumasi(~guillaume@2a01:e0a:5cb:4430:e1d5:3025:9098:a295) (Ping timeout: 272 seconds)
2021-03-15 22:01:17 +0100xe4(~xe4@157.245.246.119) (Ping timeout: 256 seconds)
2021-03-15 22:01:17 +0100mjrosenb(~mrosenbe@nyc.schrodinger.com) (Ping timeout: 256 seconds)
2021-03-15 22:01:17 +0100Eliel(~jojkaart@163.172.153.251) (Ping timeout: 256 seconds)
2021-03-15 22:01:23 +0100 <tomsmeding> hololeap: it says "no install-plan found" in the CI matrix: https://matrix.hackage.haskell.org/#/package/unlift-stm
2021-03-15 22:01:32 +0100 <tomsmeding> not sure if that's temporary, but it doesn't sound good
2021-03-15 22:01:33 +0100energizer(~energizer@unaffiliated/energizer)
2021-03-15 22:01:36 +0100Guest25859(4cba4096@cpe-76-186-64-150.tx.res.rr.com) (Client Quit)
2021-03-15 22:01:44 +0100 <tomsmeding> ooooo ignore that it has only checked old ghc's still
2021-03-15 22:01:46 +0100eldritch(~eldritch@unaffiliated/eldritch)
2021-03-15 22:01:51 +0100absence(torgeihe@hildring.pvv.ntnu.no) (Ping timeout: 256 seconds)
2021-03-15 22:01:51 +0100iptq(~michael@142.93.75.170) (Ping timeout: 256 seconds)
2021-03-15 22:01:51 +0100_ht(~quassel@82-169-194-8.biz.kpn.net) (Read error: Connection reset by peer)
2021-03-15 22:01:54 +0100Eliel(~jojkaart@163.172.153.251)
2021-03-15 22:01:54 +0100xe4(~xe4@157.245.246.119)
2021-03-15 22:02:04 +0100mjrosenb(~mrosenbe@104.225.243.2)
2021-03-15 22:02:05 +0100 <Gurkenglas> tomsmeding, do you think this is right?
2021-03-15 22:02:15 +0100conal(~conal@64.71.133.70)
2021-03-15 22:02:16 +0100absence(torgeihe@hildring.pvv.ntnu.no)
2021-03-15 22:02:25 +0100electrocat(~michiel@revan.derhaeg.be) (Ping timeout: 256 seconds)
2021-03-15 22:02:35 +0100iptq(~michael@142.93.75.170)
2021-03-15 22:02:52 +0100electrocat(~michiel@revan.derhaeg.be)
2021-03-15 22:03:30 +0100 <hololeap> ok, cool. the docs have been built. however, the links in my description are pointing to the wrong locations
2021-03-15 22:04:07 +0100cohn(~noone@unaffiliated/cohn) (Ping timeout: 256 seconds)
2021-03-15 22:04:21 +0100cohn(~noone@unaffiliated/cohn)
2021-03-15 22:05:14 +0100 <hololeap> for instance, i have this in the cabal file description: ... analagous to the functionalty for the IO monad found in "Control.Monad.IO.Class" ...
2021-03-15 22:05:50 +0100 <hololeap> but it's pointing to https://hackage.haskell.org/package/unlift-stm-0.1.0.0/docs/Control-Monad-IO-Class.html
2021-03-15 22:06:21 +0100 <hololeap> as opposed to https://hackage.haskell.org/package/base/docs/Control-Monad-IO-Class.html
2021-03-15 22:06:22 +0100epst3in(~dwsjeid91@91.193.7.55)
2021-03-15 22:07:30 +0100 <hololeap> how would i correct this?
2021-03-15 22:08:05 +0100chrisosa1rus(chris@segfault.net.nz) (Ping timeout: 256 seconds)
2021-03-15 22:08:12 +0100chrisosaurus(chris@segfault.net.nz)
2021-03-15 22:08:26 +0100hyperisco(~hyperisco@d192-186-117-226.static.comm.cgocable.net) (Ping timeout: 260 seconds)
2021-03-15 22:08:37 +0100 <Gurkenglas> > eval (+1) $ S undefined -- <tomsmeding> Gurkenglas: for which 'f' is 'eval f x' not equal to 'iterate S x !! f 0' :) although you may have been thinking "either that implementation is wrong or this equality holds"
2021-03-15 22:08:40 +0100 <lambdabot> S (S (S *Exception: Prelude.undefined
2021-03-15 22:08:53 +0100 <tomsmeding> Gurkenglas: I was indeed :p
2021-03-15 22:09:58 +0100 <tomsmeding> funny how lambdabot seems to go one S too deep
2021-03-15 22:10:01 +0100 <Gurkenglas> should have been like "there's your counterexample! wait." before talking about it being wrong
2021-03-15 22:10:14 +0100epstein(~dwsjeid91@193.27.14.135) (Ping timeout: 264 seconds)
2021-03-15 22:11:55 +0100 <monochrom> If foo is non-strict, foo (unS x) is non-strict in x, too, yes.
2021-03-15 22:13:12 +0100 <__minoru__shirae> hololeap: what does unlift-stm library do?
2021-03-15 22:13:13 +0100 <monochrom> My favourite example is "const () (unS whatever)" and generally "const () (f $!!!!! x)" it doesn't matter how many seqs and pattern matchings you have in "f $!!!! x", const simply doesn't care.
2021-03-15 22:15:30 +0100 <monochrom> The subtle difference between "'seq x y' causes evaluation of x" and "evaluation of 'seq x y' causes evaluation of x".
2021-03-15 22:16:04 +0100 <hololeap> __minoru__shirae: eh, i was hoping the docs would explain that... :)
2021-03-15 22:16:22 +0100 <hololeap> do you know about MonadIO?
2021-03-15 22:16:27 +0100 <epst3in> > (repeat "i love jess ")
2021-03-15 22:16:27 +0100coot(~coot@37.30.55.141.nat.umts.dynamic.t-mobile.pl) (Quit: coot)
2021-03-15 22:16:30 +0100 <lambdabot> ["i love jess ","i love jess ","i love jess ","i love jess ","i love jess ",...
2021-03-15 22:17:07 +0100 <hpc> yeah, a good mental model is that evaluation is always caused by something
2021-03-15 22:17:10 +0100 <hpc> (such as execution)
2021-03-15 22:17:16 +0100 <hpc> also, execution is always caused by something
2021-03-15 22:17:31 +0100epst3in(~dwsjeid91@91.193.7.55) (K-Lined)
2021-03-15 22:17:42 +0100 <dolio> Should have used `cycle`.
2021-03-15 22:18:03 +0100 <int-e> monochrom: As Archimedes said, let me define a thunk that's is evaluated and I'll move the whole world.
2021-03-15 22:18:11 +0100 <monochrom> hpc: I wonder if the docs of unliftio-core explains better what unliftio is about. Then unlift-stm is just an instance of that.
2021-03-15 22:18:22 +0100 <monochrom> haha int-e.
2021-03-15 22:18:27 +0100SornaSornaensis
2021-03-15 22:18:27 +0100 <{abby}> what's recommended for compiling haskell to javascript these days?
2021-03-15 22:18:40 +0100 <monochrom> oops hpc sorry, wrong person
2021-03-15 22:18:43 +0100maerwald(~maerwald@mail.hasufell.de) (Quit: gone)
2021-03-15 22:18:48 +0100son0p(~son0p@181.136.122.143)
2021-03-15 22:18:56 +0100 <monochrom> hololeap: I wonder if the docs of unliftio-core explains better what unliftio is about. Then unlift-stm is just an instance of that.
2021-03-15 22:19:10 +0100Lord_of_Life(~Lord@unaffiliated/lord-of-life/x-0885362) (Ping timeout: 260 seconds)
2021-03-15 22:19:17 +0100 <dolio> {abby}: The only option is GHCJS if you literally mean Haskell, I think.
2021-03-15 22:19:28 +0100 <hololeap> __minoru__shirae: basically, it's a convenience library when working with the STM monad. so you can use the same functions for STM or (WriterT String STM) or (ReaderT Env (ExceptT String STM)), etc
2021-03-15 22:19:43 +0100maerwald(~maerwald@mail.hasufell.de)
2021-03-15 22:19:44 +0100 <hololeap> {abby}: i recommend elm or purescript
2021-03-15 22:19:56 +0100 <hololeap> which aren't haskell, but similar
2021-03-15 22:20:03 +0100 <hololeap> (especially purescript)
2021-03-15 22:20:08 +0100 <__minoru__shirae> hololeap: something like a MonadBase instance for Stm?
2021-03-15 22:20:10 +0100 <dolio> Yeah, PureScript is pretty close.
2021-03-15 22:20:18 +0100 <{abby}> there is no way i'm rewriting all this code
2021-03-15 22:20:33 +0100dhil(~dhil@80.208.56.181) (Ping timeout: 256 seconds)
2021-03-15 22:20:34 +0100 <{abby}> has there really been nothing better than ghcjs? that's 13 months out of date
2021-03-15 22:20:57 +0100dhil(~dhil@80.208.56.181)
2021-03-15 22:21:09 +0100 <hololeap> {abby}: purescript won't be far off. it's very very similar to haskell
2021-03-15 22:21:13 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-03-15 22:21:24 +0100 <hololeap> __minoru__shirae: it's closest to MonadIO for the IO monad
2021-03-15 22:21:29 +0100 <maerwald> do ppl even consider maturity and ecosystem when suggesting languages? :p
2021-03-15 22:21:35 +0100 <{abby}> hololeap: that's still rewriting ~3000 lines of code in a strict language
2021-03-15 22:22:20 +0100 <monochrom> I think suggesting elm or purescript is precisely on consideration of ecosystem maturity.
2021-03-15 22:22:32 +0100 <maerwald> monochrom: they are very different
2021-03-15 22:22:34 +0100 <monochrom> I mean in the context of "compiles to javascript".
2021-03-15 22:23:05 +0100 <monochrom> GHCJS is the ecosystemly immature one here.
2021-03-15 22:23:23 +0100 <maerwald> I think of all of those I'd only call elm mature
2021-03-15 22:23:32 +0100 <monochrom> or was mature, now bitrotten.
2021-03-15 22:24:06 +0100 <maerwald> isn't obelisk using ghcjs?
2021-03-15 22:24:18 +0100 <monochrom> "postmaturity" >:)
2021-03-15 22:25:14 +0100conal(~conal@64.71.133.70) (Ping timeout: 260 seconds)
2021-03-15 22:25:47 +0100 <dolio> If you mean exactly Haskell, then there is not just nothing better. There is nothing else (unless I'm misinformed).
2021-03-15 22:25:53 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-03-15 22:26:11 +0100 <{abby}> epic
2021-03-15 22:26:24 +0100cr3(~cr3@192-222-143-195.qc.cable.ebox.net) (Quit: leaving)
2021-03-15 22:26:38 +0100 <hololeap> {abby}: what made you think otherwise?
2021-03-15 22:26:56 +0100 <dolio> Oh, actually, that's not techincally true. UHC can output JavaScript, I guess.
2021-03-15 22:29:13 +0100Aquazi(uid312403@gateway/web/irccloud.com/x-umfzpfeguzyfkkwm) (Quit: Connection closed for inactivity)
2021-03-15 22:30:00 +0100conal(~conal@192.145.118.137)
2021-03-15 22:30:04 +0100 <Gurkenglas> @let evalM :: Monad m => LensLike' m VeryLazyNaturals Int; evalM f x = do i <- f 0; foldr (.) id (replicate i S) <$> (\(S x) -> evalM (fmap (subtract i) . f . (+1)) x) x -- this is sure to come in handy
2021-03-15 22:30:08 +0100 <lambdabot> Defined.
2021-03-15 22:32:08 +0100malumore(~malumore@151.62.122.60) (Ping timeout: 245 seconds)
2021-03-15 22:32:27 +0100connrs_(~connrs@runciter.connrs.uk) (Ping timeout: 256 seconds)
2021-03-15 22:32:28 +0100esp32_prog(~esp32_pro@185.254.75.51)
2021-03-15 22:32:31 +0100ByteEater(57cd846a@gateway/web/cgi-irc/kiwiirc.com/ip.87.205.132.106) (Quit: Connection closed)
2021-03-15 22:33:36 +0100codygman`(~user@209.251.131.98) (Ping timeout: 246 seconds)
2021-03-15 22:33:43 +0100dhouthoo(~dhouthoo@ptr-eitgbj2w0uu6delkbrh.18120a2.ip6.access.telenet.be) (Quit: WeeChat 3.0)
2021-03-15 22:34:42 +0100connrs(~connrs@runciter.connrs.uk)
2021-03-15 22:34:43 +0100sea-gull(~sea-gull@li1815-136.members.linode.com) (Ping timeout: 256 seconds)
2021-03-15 22:35:11 +0100sea-gull(~sea-gull@li1815-136.members.linode.com)
2021-03-15 22:37:07 +0100deni_(~deni@unaffiliated/deni)
2021-03-15 22:37:14 +0100deni(~deni@unaffiliated/deni) (Ping timeout: 256 seconds)
2021-03-15 22:37:33 +0100Aleksejs(~Aleksejs@haskell.lv) (Ping timeout: 256 seconds)
2021-03-15 22:38:51 +0100Aleksejs(~Aleksejs@haskell.lv)
2021-03-15 22:39:15 +0100cheater(~user@unaffiliated/cheater) (Ping timeout: 256 seconds)
2021-03-15 22:39:45 +0100cheater(~user@unaffiliated/cheater)
2021-03-15 22:40:03 +0100conal(~conal@192.145.118.137) (Quit: Computer has gone to sleep.)
2021-03-15 22:40:18 +0100 <hololeap> monochrom: honestly, i've been wondering if MonadIO and MonadSTM could be abstracted further into something that works on a transformer stack over any base monad
2021-03-15 22:40:57 +0100dilinger(~dilinger@spindle.queued.net) (Ping timeout: 256 seconds)
2021-03-15 22:41:04 +0100dilinger(~dilinger@spindle.queued.net)
2021-03-15 22:41:23 +0100 <hololeap> because unlift-stm is so damn similar to MonadIO and MonadUnliftIO
2021-03-15 22:46:14 +0100slack1256(~slack1256@dvc-186-186-101-190.movil.vtr.net) (Ping timeout: 260 seconds)
2021-03-15 22:46:22 +0100nisstyre(~wes@python-zero/conduct-committee/nisstyre) (Quit: WeeChat 2.9)
2021-03-15 22:46:42 +0100takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-03-15 22:46:54 +0100 <monochrom> I would think that things like MonadTrans, MonadReader, MonadState are doing that.
2021-03-15 22:47:16 +0100kiweun(~kiweun@2607:fea8:2a62:9600:c98d:ec81:e94d:3657)
2021-03-15 22:48:19 +0100mantovani(~mantovani@104.131.207.121) (Ping timeout: 256 seconds)
2021-03-15 22:48:42 +0100conal(~conal@64.71.133.70)
2021-03-15 22:48:48 +0100mantovani(~mantovani@104.131.207.121)
2021-03-15 22:49:28 +0100 <hololeap> something that says, "this action works on the base monad of the stack"
2021-03-15 22:49:51 +0100 <hololeap> because those are not quite the same
2021-03-15 22:50:33 +0100hwabyong(~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com) (Ping timeout: 256 seconds)
2021-03-15 22:50:34 +0100 <Gurkenglas> @let evalA :: Traversal' VeryLazyNaturals Int; evalA f x = foldr (.) id <$> (flip replicate S <$> f 0) <*> let !(S y) = x in evalA (f . (+1)) y -- in fact, this. although now the monotonic function g must come in the format "f x = g x - g (x-1)"
2021-03-15 22:50:36 +0100 <lambdabot> Defined.
2021-03-15 22:50:46 +0100hwabyong(~hwabyong@ec2-3-221-194-167.compute-1.amazonaws.com)
2021-03-15 22:50:52 +0100ystael(~ystael@209.6.50.55)
2021-03-15 22:50:53 +0100 <Gurkenglas> > five ^.. evalA
2021-03-15 22:50:55 +0100 <lambdabot> [0,1,2,3,4,5*Exception: Prelude.undefined
2021-03-15 22:51:25 +0100 <Gurkenglas> (for every number, confirm whether you're at least that.)
2021-03-15 22:51:33 +0100 <Gurkenglas> -whether+that
2021-03-15 22:52:52 +0100Uniaika(~uniaika@163.172.211.189) (Ping timeout: 256 seconds)
2021-03-15 22:53:59 +0100 <Gurkenglas> > evalA %~ (\g x -> g x - if x == 0 then 0 else g (x-1)) (*2) $ five
2021-03-15 22:54:01 +0100 <lambdabot> S (S (S (S (S (S (S (S (S (S *Exception: Prelude.undefined
2021-03-15 22:54:30 +0100Uniaika(~uniaika@163.172.211.189)
2021-03-15 22:54:37 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de)
2021-03-15 22:54:38 +0100esp32_prog(~esp32_pro@185.254.75.51) (Ping timeout: 260 seconds)
2021-03-15 22:55:18 +0100merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 246 seconds)
2021-03-15 22:55:41 +0100DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de) (Ping timeout: 256 seconds)
2021-03-15 22:55:42 +0100 <hpc> where did that undefined come from?
2021-03-15 22:55:49 +0100 <Gurkenglas> > five
2021-03-15 22:55:51 +0100 <lambdabot> S (S (S (S (S *Exception: Prelude.undefined
2021-03-15 22:56:02 +0100DustyDingo(~nonamen@v2202001112302107134.ultrasrv.de)
2021-03-15 22:56:27 +0100 <__minoru__shirae> hololeap: "something that says, "this action works on the base monad of the stack""
2021-03-15 22:56:36 +0100 <__minoru__shirae> like MonadBase?
2021-03-15 22:56:37 +0100 <Gurkenglas> what i should be doing is putting fix id in place of every undefined, but this is less rude i suppose
2021-03-15 22:57:11 +0100ddellacosta(ddellacost@gateway/vpn/mullvad/ddellacosta)
2021-03-15 22:58:16 +0100bitmagie(~Thunderbi@200116b806606900d512802029b5d408.dip.versatel-1u1.de) (Client Quit)
2021-03-15 22:58:45 +0100pavonia(~user@unaffiliated/siracusa)
2021-03-15 22:59:17 +0100 <Gurkenglas> (also i should have said "from the prelude")
2021-03-15 22:59:30 +0100epstein(~dwsjeid91@103.108.94.39)
2021-03-15 23:00:12 +0100Alleria__(~textual@mskresolve-a.mskcc.org) (Ping timeout: 246 seconds)
2021-03-15 23:01:17 +0100 <hololeap> __minoru__shirae: yeah, like that :) now i feel like an idiot for not knowing about it
2021-03-15 23:02:26 +0100 <hololeap> maybe i should re-write my library around that
2021-03-15 23:02:39 +0100Rudd0^(~Rudd0@185.189.115.103)
2021-03-15 23:04:15 +0100nisstyre(wes@python-zero/conduct-committee/nisstyre)
2021-03-15 23:04:45 +0100Rudd0(~Rudd0@185.189.115.103) (Ping timeout: 264 seconds)
2021-03-15 23:05:03 +0100 <hololeap> although, would that require (liftBase . liftBase . liftBase ...) for deep monad transformer stacks?
2021-03-15 23:05:06 +0100nrh^(~hph@ip98-184-89-2.mc.at.cox.net)
2021-03-15 23:05:16 +0100 <monochrom> No.
2021-03-15 23:05:26 +0100dfeuer(~dfeuer@pool-173-79-253-62.washdc.fios.verizon.net) (Ping timeout: 264 seconds)
2021-03-15 23:06:08 +0100 <hololeap> right
2021-03-15 23:06:17 +0100 <monochrom> Provided: Suppose you have "XT (YT (ZT B))", you need one propagator instance for XT, one for YT, one for ZT.
2021-03-15 23:06:22 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4) (Remote host closed the connection)
2021-03-15 23:06:22 +0100 <hololeap> well, then yeah that is the wheel i was reinventing
2021-03-15 23:06:34 +0100 <hololeap> sort of..
2021-03-15 23:07:44 +0100 <monochrom> And a base-case "instance MonadBase B B".
2021-03-15 23:08:01 +0100augnun_(~augnun@2804:14c:658b:41bb:2619:95b9:b021:720c) (Quit: WeeChat 3.1)
2021-03-15 23:11:42 +0100Alleria(~textual@2603-7000-3040-0000-3133-bb30-065f-83b3.res6.spectrum.com)
2021-03-15 23:11:59 +0100 <Gurkenglas> > five ^.. gplate -- appears to be doing more lookahead than lazily necessary
2021-03-15 23:12:01 +0100 <lambdabot> [S (S (S (S *Exception: Prelude.undefined
2021-03-15 23:12:05 +0100AlleriaGuest38581
2021-03-15 23:12:12 +0100dub66(~dub6@2600:1700:bc60:69c0:d943:bc2:5eb1:9b54)
2021-03-15 23:13:57 +0100amerigo(uid331857@gateway/web/irccloud.com/x-dbmpchvgbnfltrjd) (Quit: Connection closed for inactivity)
2021-03-15 23:14:40 +0100 <Gurkenglas> no wait i just misunderstood what plated is supposed to do, this is correct
2021-03-15 23:15:00 +0100 <koz_> > maxBound :: Int
2021-03-15 23:15:02 +0100 <lambdabot> 9223372036854775807
2021-03-15 23:15:54 +0100romesrf(~romesrf@44.190.189.46.rev.vodafone.pt)
2021-03-15 23:16:14 +0100Guest38581(~textual@2603-7000-3040-0000-3133-bb30-065f-83b3.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-03-15 23:16:45 +0100dub66(~dub6@2600:1700:bc60:69c0:d943:bc2:5eb1:9b54) (Remote host closed the connection)
2021-03-15 23:17:04 +0100dub66(~dub6@2600:1700:bc60:69c0::46)
2021-03-15 23:17:30 +0100dub66(~dub6@2600:1700:bc60:69c0::46) (Client Quit)
2021-03-15 23:18:33 +0100 <Gurkenglas> > five ^.. cosmos . united -- uh oh, probably the unS thing again
2021-03-15 23:18:36 +0100 <lambdabot> [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),...
2021-03-15 23:19:55 +0100 <koz_> Gurkenglas: Five Cosmos United sounds like a JRPG limit break.
2021-03-15 23:20:09 +0100 <koz_> (also, what's the plural of 'cosmos'?)
2021-03-15 23:20:23 +0100 <Gurkenglas> > five ^.. cosmos . foldr (.) id (replicate 10 plate) . united -- damn u lazy
2021-03-15 23:20:26 +0100 <lambdabot> [(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),(),...
2021-03-15 23:20:38 +0100 <koz_> > minBound :: Int
2021-03-15 23:20:40 +0100 <lambdabot> -9223372036854775808
2021-03-15 23:20:42 +0100acidjnk_new(~acidjnk@p200300d0c72b954785b86a8446f85480.dip0.t-ipconnect.de)
2021-03-15 23:21:06 +0100esp32_prog(~esp32_pro@185.254.75.51)
2021-03-15 23:24:34 +0100jpds(~jpds@gateway/tor-sasl/jpds)
2021-03-15 23:25:27 +0100jamm_(~jamm@unaffiliated/jamm)
2021-03-15 23:26:50 +0100__monty__(~toonn@unaffiliated/toonn) (Quit: leaving)
2021-03-15 23:28:57 +0100s0me0ne[m](s0me0nemat@gateway/shell/matrix.org/x-ftzlzzilhwumqyjt)
2021-03-15 23:30:02 +0100jamm_(~jamm@unaffiliated/jamm) (Ping timeout: 264 seconds)
2021-03-15 23:30:06 +0100s0me0ne[m](s0me0nemat@gateway/shell/matrix.org/x-ftzlzzilhwumqyjt) ()
2021-03-15 23:30:30 +0100Alleria__(~textual@2603-7000-3040-0000-3133-bb30-065f-83b3.res6.spectrum.com)
2021-03-15 23:30:33 +0100wagle(~wagle@quassel.wagle.io) (Ping timeout: 264 seconds)
2021-03-15 23:30:36 +0100Pickchea(~private@unaffiliated/pickchea) (Quit: Leaving)
2021-03-15 23:30:53 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 245 seconds)
2021-03-15 23:33:01 +0100 <Gurkenglas> i suppose i deserve getting burned by gplate being too lazy on VeryLazyNaturals :D
2021-03-15 23:33:22 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Quit: Connection closed)
2021-03-15 23:33:42 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9)
2021-03-15 23:33:51 +0100Wuzzy(~Wuzzy@p57a2ecf2.dip0.t-ipconnect.de)
2021-03-15 23:34:38 +0100 <hpc> it's right there in the name :D
2021-03-15 23:34:54 +0100conal(~conal@64.71.133.70) (Quit: Computer has gone to sleep.)
2021-03-15 23:35:24 +0100heatsink(~heatsink@2600:1700:bef1:5e10:7c0e:3b57:dfb:2cb4)
2021-03-15 23:36:02 +0100 <hololeap> so, MonadBase looks like a nice abstraction of MonadIO, etc
2021-03-15 23:36:13 +0100 <hololeap> what would be a good abstraction of MonadUnliftIO
2021-03-15 23:36:32 +0100 <koz_> hololeap: MonadBaseControl?
2021-03-15 23:36:45 +0100 <koz_> Like, MonadUnliftIO is just (over)-simplified MonadBaseControl.
2021-03-15 23:36:50 +0100 <koz_> Alexis King wrote a whole article on it.
2021-03-15 23:37:35 +0100 <hololeap> @hoogle MonadBaseControl
2021-03-15 23:37:36 +0100 <lambdabot> Control.Monad.Trans.Control class MonadBase b m => MonadBaseControl b m | m -> b
2021-03-15 23:37:36 +0100 <lambdabot> Control.Monad.Trans.Control.Aligned class MonadBase b m => MonadBaseControl b m stM | m -> b stM
2021-03-15 23:37:36 +0100 <lambdabot> Control.Monad.Trans.Unlift class MonadBase b m => MonadBaseControl (b :: * -> *) (m :: * -> *) | m -> b
2021-03-15 23:37:52 +0100 <koz_> hololeap: https://lexi-lambda.github.io/blog/2019/09/07/demystifying-monadbasecontrol/
2021-03-15 23:38:03 +0100epstein(~dwsjeid91@103.108.94.39) (K-Lined)
2021-03-15 23:38:21 +0100royal_screwup21(52254809@gateway/web/cgi-irc/kiwiirc.com/ip.82.37.72.9) (Ping timeout: 246 seconds)
2021-03-15 23:39:02 +0100gehmehgeh(~ircuser1@gateway/tor-sasl/gehmehgeh) (Quit: Leaving)
2021-03-15 23:39:26 +0100romesrf(~romesrf@44.190.189.46.rev.vodafone.pt) (Quit: WeeChat 3.1)
2021-03-15 23:40:24 +0100wagle(~wagle@quassel.wagle.io)
2021-03-15 23:40:53 +0100bergey(~user@pool-74-108-99-127.nycmny.fios.verizon.net) (Ping timeout: 245 seconds)
2021-03-15 23:42:51 +0100fendor(~fendor@178.165.129.162.wireless.dyn.drei.com) (Remote host closed the connection)
2021-03-15 23:43:38 +0100cafce25_(~cafce25@ipbcc3009d.dynamic.kabel-deutschland.de) (Ping timeout: 260 seconds)
2021-03-15 23:45:58 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-15 23:46:08 +0100kav(~kari@dsl-hkibng42-56733f-225.dhcp.inet.fi) (Remote host closed the connection)
2021-03-15 23:46:16 +0100solidus-river(~fuag1@174.127.249.180)
2021-03-15 23:46:30 +0100 <hololeap> koz_: that looks interesting. i'm partway through it and it seems like it's doing something along the lines of: (m a -> m a) -> t m a -> t m a
2021-03-15 23:46:31 +0100 <solidus-river> is there a good example some where of using forkIO but trying to catch and recover from processes that die?
2021-03-15 23:46:54 +0100 <hololeap> but sometimes we need: (m a -> r) -> t m a -> r
2021-03-15 23:46:58 +0100 <koz_> solidus-river: Have you read Simon's book about parallelism and concurrency in Haskell?
2021-03-15 23:47:18 +0100 <solidus-river> koz_, now but i would with link :), also searching
2021-03-15 23:47:20 +0100 <koz_> hololeap: I _believe_ that's still possible with MonadBaseControl, but it's ahrder.
2021-03-15 23:47:52 +0100 <koz_> solidus-river: https://www.oreilly.com/library/view/parallel-and-concurrent/9781449335939/pt02.html
2021-03-15 23:47:58 +0100 <koz_> Read that entire part, start to finish.
2021-03-15 23:48:09 +0100 <koz_> It goes over this in quite pedantic detail.
2021-03-15 23:50:00 +0100hexfive(~hexfive@50.35.83.177)
2021-03-15 23:50:12 +0100infinity0(~infinity0@freenet/developer/infinity0)
2021-03-15 23:50:15 +0100notzmv(~zmv@unaffiliated/zmv) (Ping timeout: 246 seconds)
2021-03-15 23:50:24 +0100 <solidus-river> koz_, thanks!
2021-03-15 23:50:44 +0100 <koz_> solidus-river: No problem.
2021-03-15 23:51:18 +0100DavidEichmann(~david@234.109.45.217.dyn.plus.net) (Ping timeout: 246 seconds)
2021-03-15 23:51:32 +0100LKoen(~LKoen@194.250.88.92.rev.sfr.net) (Quit: “It’s only logical. First you learn to talk, then you learn to think. Too bad it’s not the other way round.”)
2021-03-15 23:54:43 +0100notzmv(~zmv@unaffiliated/zmv)
2021-03-15 23:57:10 +0100sarahzrf_(~sarahzrf_@sarahzrf.com) (Quit: bye)
2021-03-15 23:57:23 +0100stux|RC--(stux2@grid9.quadspeedi.net) (Quit: Aloha!)
2021-03-15 23:57:33 +0100sarahzrf(~sarahzrf_@2604:a880:400:d0::b4a:4001)
2021-03-15 23:59:19 +0100raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)