2021/10/25

2021-10-25 00:00:35 +0200cjb(~cjbayliss@user/cjb) (Client Quit)
2021-10-25 00:02:10 +0200cjb(~cjbayliss@user/cjb)
2021-10-25 00:03:13 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 00:08:36 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-10-25 00:10:39 +0200jgeerds(~jgeerds@55d40de2.access.ecotel.net) (Ping timeout: 265 seconds)
2021-10-25 00:13:13 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 244 seconds)
2021-10-25 00:15:32 +0200max22-(~maxime@2a01cb0883359800e0f5f648c85a67fc.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-25 00:16:15 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-25 00:21:13 +0200 <jlamothe> Can anyone explain to me what's going on with the following error message when I try to do a stack sdist: Packages using 'cabal-version: 2.0' and the autogenerated module Paths_* must include it also on the 'autogen-modules' field besides 'exposed-modules' and 'other-modules'. This specifies that the module does not come with the package and is generated on setup. Modules built with a custom Setup.hs
2021-10-25 00:21:19 +0200 <jlamothe> script also go here to ensure that commands like sdist don't fail.
2021-10-25 00:21:49 +0200 <jlamothe> I've never encountered this before
2021-10-25 00:22:31 +0200 <c_wraith> It seems like a pretty complete message.
2021-10-25 00:23:34 +0200 <c_wraith> Some modules are created during package installation. They aren't included in the sdist, so they don't go in exposed-modules or other-modules. But newer version of cabal still ask you to say that you're using them.
2021-10-25 00:23:45 +0200echoSMILE(~echoSMILE@user/echosmile)
2021-10-25 00:25:01 +0200 <jlamothe> Right, but those would go in the cabal file, wouldn't they? That file is generated by stack itself.
2021-10-25 00:25:31 +0200 <jlamothe> The funny thing is that I don't even use the Paths_* module anywhere in my project.
2021-10-25 00:25:50 +0200 <c_wraith> sounds like hpack is doing funny stuff
2021-10-25 00:26:03 +0200 <c_wraith> Like trying to stick Paths_* in other-modules
2021-10-25 00:26:20 +0200 <awpr> I've had to disable those for unrelated reasons. https://paste.tomsmeding.com/rAcnIibl
2021-10-25 00:26:37 +0200 <jlamothe> It is... I wonder why.
2021-10-25 00:26:40 +0200 <awpr> if you're not using them, disabling can make rebuilds less frequent
2021-10-25 00:27:39 +0200 <jlamothe> How do I disable?
2021-10-25 00:28:09 +0200 <awpr> by adding the snippet I linked to, into the `library:` section
2021-10-25 00:28:23 +0200 <awpr> (with your package name instead)
2021-10-25 00:29:20 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 00:29:55 +0200 <energizer> what is the name for syntax that's like haskell's?
2021-10-25 00:30:29 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Quit: WeeChat 3.3)
2021-10-25 00:31:07 +0200 <Axman6> "Haskell like syntax" :P
2021-10-25 00:31:17 +0200fluffyballoon(~user@131.93.208.196) (Ping timeout: 244 seconds)
2021-10-25 00:31:48 +0200 <geekosaur> haskell is declarative, but there are many ways to be declarative. personally I consider haskell's syntax to be in the ML family, but others would argue
2021-10-25 00:32:20 +0200 <Axman6> Haskell's syntax is agressively Haskellish
2021-10-25 00:36:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 00:36:31 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 00:36:31 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 00:37:18 +0200fluffyballoon(~user@131.93.208.196)
2021-10-25 00:39:02 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 244 seconds)
2021-10-25 00:42:44 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-10-25 00:44:04 +0200 <awpr> any idea how to convince Stack to update its understanding of a package that's been revised on Hackage? I've got CI builds failing because they haven't realized the version bounds have been loosened. I had fixed the local build by deleting stack.yaml.lock, but on my CI, it creates a new one that still chooses the pre-revision version
2021-10-25 00:44:04 +0200 <Cajun> definitely ML family of syntax
2021-10-25 00:45:26 +0200 <kronicmage> does anyone know the default confidence used in quickcheck's checkCoverage?
2021-10-25 00:46:44 +0200 <kronicmage> ah nvm found it, it's 10^9
2021-10-25 00:48:58 +0200jespada(~jespada@181.28.253.200)
2021-10-25 00:55:35 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 00:56:36 +0200argento(~argent0@168-227-96-26.ptr.westnet.com.ar) (Ping timeout: 244 seconds)
2021-10-25 00:58:05 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-25 00:59:28 +0200machinedgod(~machinedg@24.105.81.50) (Ping timeout: 265 seconds)
2021-10-25 01:02:47 +0200acidjnk_new3(~acidjnk@p200300d0c703cb935575e56a44659e48.dip0.t-ipconnect.de)
2021-10-25 01:02:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 265 seconds)
2021-10-25 01:06:03 +0200acidjnk_new(~acidjnk@p200300d0c703cb555575e56a44659e48.dip0.t-ipconnect.de) (Ping timeout: 258 seconds)
2021-10-25 01:07:46 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291) (Quit: Leaving)
2021-10-25 01:10:06 +0200slep(~slep@cpc150002-brnt4-2-0-cust437.4-2.cable.virginm.net) (Ping timeout: 245 seconds)
2021-10-25 01:12:34 +0200alx741(~alx741@186.178.108.74)
2021-10-25 01:12:41 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-25 01:12:59 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net)
2021-10-25 01:12:59 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-25 01:13:33 +0200MQ-17J(~MQ-17J@8.21.10.17)
2021-10-25 01:20:59 +0200dajoer(~david@user/gvx)
2021-10-25 01:21:21 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
2021-10-25 01:22:18 +0200 <ski> energizer : in what sense ?
2021-10-25 01:23:30 +0200 <liskin> awpr: do you "stack update" in CI? (maybe a silly question as it assumes ~/.stack is cached…)
2021-10-25 01:24:31 +0200 <energizer> ski: i guess "ML-like" is the answer i was looking for
2021-10-25 01:24:52 +0200 <ski> or maybe "Miranda-like" ?
2021-10-25 01:24:53 +0200 <ski> "ISWIM-like" ?
2021-10-25 01:25:11 +0200 <ski> (it all depends on what features you have in mind ..)
2021-10-25 01:25:48 +0200 <energizer> i mean stuff like juxtapose-to-call and auto-curry
2021-10-25 01:25:50 +0200 <sm> awpr: I think stack/stackage intentionally ignores revisions.. or it's configurable in build-constraints.yaml
2021-10-25 01:25:52 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 01:26:49 +0200 <sm> correction, just a few packages are marked as `no-revisions:`
2021-10-25 01:27:28 +0200 <sm> and certainly try liskin's suggestion
2021-10-25 01:27:29 +0200 <ski> hm .. maybe "FP-like" (as in FP, the language (by Backus)), or possibly just "lambda-calculus-like" ?
2021-10-25 01:28:14 +0200 <ski> (also, "auto-curry" is a bad way to think about it ..)
2021-10-25 01:28:39 +0200 <energizer> i dont think a calculus has a syntax
2021-10-25 01:29:17 +0200 <energizer> at least not a concrete syntax
2021-10-25 01:29:42 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 260 seconds)
2021-10-25 01:31:29 +0200 <ski> Alonzo Church clearly introduces a concrete syntax in his 1941 "The Calculi of Lambda-Conversion" at <https://ia800107.us.archive.org/1/items/AnnalsOfMathematicalStudies6ChurchAlonzoTheCalculiOfLambda…>
2021-10-25 01:32:07 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 258 seconds)
2021-10-25 01:34:25 +0200acidjnk_new3(~acidjnk@p200300d0c703cb935575e56a44659e48.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-10-25 01:37:50 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-25 01:45:13 +0200ssipos(~ssipos@86.123.18.123) (Quit: WeeChat 3.3)
2021-10-25 01:47:04 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 01:48:14 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76)
2021-10-25 01:48:41 +0200argento(~argent0@168-227-96-26.ptr.westnet.com.ar)
2021-10-25 01:53:35 +0200 <AWizzArd> Uh. Really? Getting a substring of a Data.Text is O(n)?
2021-10-25 01:54:29 +0200zer0bitz(~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) (Ping timeout: 244 seconds)
2021-10-25 01:54:30 +0200 <c_wraith> it's a variable-length encoding
2021-10-25 01:56:01 +0200spider_spider
2021-10-25 01:56:16 +0200 <c_wraith> even if you ignore that codepoints might be different sizes, that doesn't account for the fact that codepoints aren't what people think of as "characters" in the general case
2021-10-25 01:56:45 +0200 <c_wraith> I have *no* idea what getting the substring of Text does with the indices you pass it
2021-10-25 01:57:03 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-10-25 01:58:46 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507)
2021-10-25 01:58:57 +0200platz_(~platz@40.122.118.113) (Ping timeout: 258 seconds)
2021-10-25 01:58:58 +0200 <AWizzArd> c_wraith: okay thanks, I just would have expected that it could be closer to O(1).
2021-10-25 01:59:21 +0200 <c_wraith> Text also doesn't document what it does.
2021-10-25 01:59:36 +0200 <c_wraith> It says "characters".
2021-10-25 01:59:52 +0200 <AWizzArd> c_wraith: this would probably really require to manage some kind of internal index which may cost some more memory.
2021-10-25 02:00:31 +0200 <AWizzArd> c_wraith: always surprising how difficult strings can be :)
2021-10-25 02:00:37 +0200 <Axman6> you I've thought about that problem a lot, and using succinct structures you can got away with something like less than 1% overhead
2021-10-25 02:00:53 +0200platz(~platz@40.122.118.113)
2021-10-25 02:00:53 +0200platz(~platz@40.122.118.113) (Changing host)
2021-10-25 02:00:53 +0200platz(~platz@user/platz)
2021-10-25 02:01:12 +0200 <c_wraith> My solution is to either write a full text editor or not edit text.
2021-10-25 02:01:20 +0200 <c_wraith> there is no in-between that works well
2021-10-25 02:04:16 +0200 <AWizzArd> yeah
2021-10-25 02:09:38 +0200 <pavonia> Axman6: How would such a stucture look like?
2021-10-25 02:10:40 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-10-25 02:13:20 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 02:13:43 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 02:13:43 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 02:13:43 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 02:15:07 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-25 02:16:22 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 260 seconds)
2021-10-25 02:17:09 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915)
2021-10-25 02:18:05 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-25 02:18:40 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-10-25 02:18:54 +0200cads(~asdf@ip-64-72-99-234.lasvegas.net) (Quit: Leaving)
2021-10-25 02:19:30 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-25 02:19:38 +0200cads(~cads@ip-64-72-99-234.lasvegas.net)
2021-10-25 02:21:48 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 02:26:30 +0200fluffyballoon(~user@131.93.208.196) (Ping timeout: 244 seconds)
2021-10-25 02:26:47 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 264 seconds)
2021-10-25 02:27:01 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 244 seconds)
2021-10-25 02:33:12 +0200D4v1d(~D4v1d@user/d4v1d)
2021-10-25 02:35:00 +0200burnsidesLlama(~burnsides@dhcp168-012.wadham.ox.ac.uk) (Remote host closed the connection)
2021-10-25 02:35:14 +0200 <D4v1d> Hello I am trying to install glirc but I encountered the error as shown in https://paste.tomsmeding.com/zsunUhIt ; however I already have openssl installed via homebrew and has linked them. Would you please help? Thank you.
2021-10-25 02:37:19 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 02:38:31 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 02:39:06 +0200 <geekosaur> ghoulguy, ^^ thta looks a rather custom error message, presumably you know what else it might be doing?
2021-10-25 02:41:46 +0200zebrag(~chris@user/zebrag)
2021-10-25 02:44:38 +0200 <D4v1d> He may be busy 'cause he is a staffer
2021-10-25 02:48:06 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 02:49:08 +0200 <awpr> liskin: actually I think this is likely to be it; I do have caching of the Hackage index but no explicit update step. will try right now
2021-10-25 02:50:13 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 02:51:49 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 02:53:13 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Remote host closed the connection)
2021-10-25 02:58:55 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 02:59:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 03:00:36 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 244 seconds)
2021-10-25 03:03:12 +0200juand(~a@p200300ef973db1c64086f0a6a24fc4dd.dip0.t-ipconnect.de) (Quit: WeeChat 3.0.1)
2021-10-25 03:03:30 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-25 03:04:14 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 03:08:47 +0200iqubic(~user@2601:602:9502:c70:3ba1:e05a:f13:1fa6) (Ping timeout: 264 seconds)
2021-10-25 03:12:03 +0200 <Axman6> pavonia: take a look at rank/sleect operations over succinct structures - I couldn't find a good liunk in 2 mins of googling but I might come back to it
2021-10-25 03:13:25 +0200argento(~argent0@168-227-96-26.ptr.westnet.com.ar) (Quit: leaving)
2021-10-25 03:13:33 +0200D4v1d(~D4v1d@user/d4v1d) (Quit: Client closed)
2021-10-25 03:15:42 +0200D4v1d(~D4v1d@user/d4v1d)
2021-10-25 03:17:09 +0200neurocyte0132889(~neurocyte@user/neurocyte) (Ping timeout: 244 seconds)
2021-10-25 03:17:23 +0200 <awpr> no luck, Stack thinks there are no updates available
2021-10-25 03:18:41 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 03:20:38 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-25 03:22:20 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 03:25:14 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 03:28:59 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2021-10-25 03:33:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-25 03:36:07 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 03:36:58 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Read error: Connection reset by peer)
2021-10-25 03:37:15 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-25 03:37:37 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 252 seconds)
2021-10-25 03:38:33 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 03:38:33 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 03:38:33 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 03:40:55 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 252 seconds)
2021-10-25 03:44:14 +0200D4v1d(~D4v1d@user/d4v1d) (Quit: updating Firefox)
2021-10-25 03:44:47 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 03:46:35 +0200Player001(~Player001@user/player001)
2021-10-25 03:46:38 +0200alx741(~alx741@186.178.108.74) (Quit: alx741)
2021-10-25 03:46:47 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 03:48:59 +0200xff0x(~xff0x@2001:1a81:52fb:1200:6ff2:1757:36ee:1f2f) (Ping timeout: 264 seconds)
2021-10-25 03:50:33 +0200xff0x(~xff0x@2001:1a81:538f:ce00:2246:a77f:21ad:4c1c)
2021-10-25 03:50:42 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-10-25 03:53:17 +0200kupi(uid212005@id-212005.hampstead.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-25 03:57:25 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 252 seconds)
2021-10-25 03:59:04 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 252 seconds)
2021-10-25 03:59:58 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 04:02:01 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com)
2021-10-25 04:04:57 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 04:12:43 +0200D4v1d(~D4v1d@user/d4v1d)
2021-10-25 04:13:22 +0200 <D4v1d> My issue has been solved! I solved it by building OpenSSL from the canonical master branch instead of using Homebrew and the error message disappears!
2021-10-25 04:13:55 +0200 <D4v1d> *The HSOpenSSL build error disappeared
2021-10-25 04:16:56 +0200 <kronicmage> does anyone know if there's a 4 bit word/int type?
2021-10-25 04:17:06 +0200 <kronicmage> trying to limit inputs to a single base 16 digit
2021-10-25 04:18:36 +0200 <ski> <https://hackage.haskell.org/package/leancheck-0.9.10/docs/Test-LeanCheck-Utils-Types.html#t:Int4>,<https://hackage.haskell.org/package/leancheck-0.9.10/docs/Test-LeanCheck-Utils-Types.html#t:Word4> apparently
2021-10-25 04:18:51 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 04:19:35 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 264 seconds)
2021-10-25 04:22:43 +0200econo(uid147250@user/econo) (Read error: Connection reset by peer)
2021-10-25 04:22:44 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com) (Read error: Connection reset by peer)
2021-10-25 04:24:13 +0200econo(uid147250@user/econo)
2021-10-25 04:24:14 +0200bitmapper(uid464869@lymington.irccloud.com)
2021-10-25 04:24:30 +0200D4v1d(~D4v1d@user/d4v1d) (Quit: D4v1d)
2021-10-25 04:29:49 +0200 <jophish> <kronicmage> "does anyone know if there's a..." <- Also, `Unsigned 4` (or `Signed 4`) from `clash-prelude`
2021-10-25 04:32:06 +0200 <jophish> Or https://hackage.haskell.org/package/finite-typelits-0.1.4.2/docs/Data-Finite.html#t:Finite
2021-10-25 04:32:13 +0200jkaye(~jkaye@2601:281:8300:7530:bdc6:f088:1acd:1c4a)
2021-10-25 04:32:36 +0200 <awpr> also https://hackage.haskell.org/package/fin-int along the same lines, you could do `Fin 16`
2021-10-25 04:32:50 +0200 <awpr> (and it's an `Int` rather than `Integer` under the hood)
2021-10-25 04:33:33 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 04:34:05 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 04:36:24 +0200emf(~emf@2620:10d:c090:400::5:b46d)
2021-10-25 04:38:05 +0200td_(~td@muedsl-82-207-238-060.citykom.de) (Ping timeout: 260 seconds)
2021-10-25 04:39:34 +0200td_(~td@94.134.91.68)
2021-10-25 04:41:22 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Ping timeout: 244 seconds)
2021-10-25 04:43:32 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643)
2021-10-25 04:45:41 +0200 <awpr> liskin: you were right after all, I just had to make sure the `stack update` was before the `stack setup`, because apparently the latter chooses all the deps and writes a `stack.yaml.lock`, so by having them in the wrong order, it chose the stale .cabal file before the update downloaded it. thanks!
2021-10-25 04:50:30 +0200Player001(~Player001@user/player001) (Quit: read Deleuze)
2021-10-25 04:53:22 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 258 seconds)
2021-10-25 05:00:29 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
2021-10-25 05:01:08 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-10-25 05:08:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
2021-10-25 05:08:41 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 05:11:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 05:12:50 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Read error: Connection reset by peer)
2021-10-25 05:23:08 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 05:23:47 +0200jkaye(~jkaye@2601:281:8300:7530:bdc6:f088:1acd:1c4a) (Ping timeout: 264 seconds)
2021-10-25 05:25:17 +0200paddymahoney(~paddymaho@cpe9050ca207f83-cm9050ca207f80.cpe.net.cable.rogers.com) (Ping timeout: 244 seconds)
2021-10-25 05:25:20 +0200segfaultfizzbuzz(~segfaultf@135-180-0-138.static.sonic.net) (Ping timeout: 260 seconds)
2021-10-25 05:26:03 +0200rekahsoft(~rekahsoft@cpe0008a20f982f-cm64777d666260.cpe.net.cable.rogers.com) (Remote host closed the connection)
2021-10-25 05:30:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 05:32:17 +0200zebrag(~chris@user/zebrag) (Quit: Konversation terminated!)
2021-10-25 05:33:20 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-10-25 05:33:35 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-25 05:39:43 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 252 seconds)
2021-10-25 05:40:11 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 05:56:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 05:56:11 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 05:56:11 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 06:00:50 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-10-25 06:03:30 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 06:03:54 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 258 seconds)
2021-10-25 06:06:28 +0200Cajun(~Cajun@user/cajun) (Ping timeout: 256 seconds)
2021-10-25 06:06:51 +0200Player001(~Player001@user/player001)
2021-10-25 06:09:23 +0200MQ-17J(~MQ-17J@8.21.10.17) (Ping timeout: 264 seconds)
2021-10-25 06:09:49 +0200mei(~mei@user/mei)
2021-10-25 06:10:08 +0200cjb(~cjbayliss@user/cjb) ()
2021-10-25 06:11:05 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-25 06:20:43 +0200 <dsal> Ick, looks like an attoparsec upgrade is coming and breaks a library I depend on.
2021-10-25 06:23:09 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-25 06:27:37 +0200delYsid(~user@62-178-101-151.cable.dynamic.surfer.at)
2021-10-25 06:27:43 +0200delYsid(~user@62-178-101-151.cable.dynamic.surfer.at) ()
2021-10-25 06:28:21 +0200MQ-17J(~MQ-17J@8.21.10.17)
2021-10-25 06:31:00 +0200mbuf(~Shakthi@122.174.32.225)
2021-10-25 06:32:15 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2021-10-25 06:32:26 +0200mcglk(~mcglk@131.191.49.120)
2021-10-25 06:34:45 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 260 seconds)
2021-10-25 06:38:41 +0200 <Axman6> what's changed in it?
2021-10-25 06:39:14 +0200zaquest(~notzaques@5.128.210.178) (Remote host closed the connection)
2021-10-25 06:43:34 +0200zaquest(~notzaques@5.128.210.178)
2021-10-25 06:44:05 +0200peterhil(~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi) (Ping timeout: 260 seconds)
2021-10-25 06:44:47 +0200Inst(~Inst@2601:6c4:4080:3f80:5872:8a70:85c4:9bd4) (Ping timeout: 264 seconds)
2021-10-25 06:52:35 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 06:54:41 +0200tommd(~tommd@75-164-130-101.ptld.qwest.net)
2021-10-25 06:56:13 +0200benin(~benin@183.82.207.116) (Ping timeout: 244 seconds)
2021-10-25 06:57:03 +0200 <dsal> I'm not entirely sure. It broke websockets and I've got a library that depends on that.
2021-10-25 06:57:19 +0200 <dsal> I should figure out how to make my library not depend on websockets, but use it if you want it. That sounds complicated.
2021-10-25 06:58:50 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 07:00:25 +0200TomasJakl[m](~jaklttchn@2001:470:69fc:105::a42) (*.net *.split)
2021-10-25 07:00:25 +0200RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57) (*.net *.split)
2021-10-25 07:00:25 +0200soft(~soft-matr@2001:470:69fc:105::c75) (*.net *.split)
2021-10-25 07:00:25 +0200dexmad[m](~dexmadmat@2001:470:69fc:105::e056) (*.net *.split)
2021-10-25 07:00:25 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2) (*.net *.split)
2021-10-25 07:00:25 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2) (*.net *.split)
2021-10-25 07:00:25 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3) (*.net *.split)
2021-10-25 07:00:25 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f) (*.net *.split)
2021-10-25 07:00:25 +0200jneira[m](~jneiramat@2001:470:69fc:105::d729) (*.net *.split)
2021-10-25 07:00:25 +0200reddishblue[m](~reddishbl@2001:470:69fc:105::21eb) (*.net *.split)
2021-10-25 07:00:25 +0200hsiktas[m](~hsiktasma@2001:470:69fc:105::30d4) (*.net *.split)
2021-10-25 07:00:25 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70) (*.net *.split)
2021-10-25 07:00:25 +0200quantum(~quantum@user/quantum/x-8556232) (*.net *.split)
2021-10-25 07:00:25 +0200wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1) (*.net *.split)
2021-10-25 07:00:25 +0200unrooted(~unrooted@2001:470:69fc:105::a4a) (*.net *.split)
2021-10-25 07:00:25 +0200fgaz(~fgaz@2001:470:69fc:105::842) (*.net *.split)
2021-10-25 07:00:25 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22) (*.net *.split)
2021-10-25 07:00:25 +0200tomjaguarpaw(~tom@li367-225.members.linode.com) (*.net *.split)
2021-10-25 07:00:25 +0200choucavalier(~choucaval@2001:41d0:a:2158::1) (*.net *.split)
2021-10-25 07:00:25 +0200pie__(~pie_bnc@user/pie/x-2818909) (*.net *.split)
2021-10-25 07:00:25 +0200Unode(~Unode@194.94.44.220) (*.net *.split)
2021-10-25 07:00:25 +0200micro_(~micro@user/micro) (*.net *.split)
2021-10-25 07:00:25 +0200ptrcmd(~ptrcmd@user/ptrcmd) (*.net *.split)
2021-10-25 07:00:25 +0200carbolymer(~carbolyme@dropacid.net) (*.net *.split)
2021-10-25 07:00:25 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0) (*.net *.split)
2021-10-25 07:00:25 +0200defanor(~defanor@tart.uberspace.net) (*.net *.split)
2021-10-25 07:00:25 +0200jassob2(~jassob@korrob.vth.sgsnet.se) (*.net *.split)
2021-10-25 07:00:25 +0200orcus-(~orcus@user/brprice) (*.net *.split)
2021-10-25 07:00:25 +0200Ekho(~Ekho@user/ekho) (*.net *.split)
2021-10-25 07:00:25 +0200lstor(~lstor@user/lstor) (*.net *.split)
2021-10-25 07:00:25 +0200nurupo(~nurupo.ga@user/nurupo) (*.net *.split)
2021-10-25 07:00:25 +0200nonzen_(~nonzen@user/nonzen) (*.net *.split)
2021-10-25 07:00:25 +0200terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de) (*.net *.split)
2021-10-25 07:00:25 +0200ralu(~ralu@static.211.245.203.116.clients.your-server.de) (*.net *.split)
2021-10-25 07:00:25 +0200polux(~polux@51.15.169.172) (*.net *.split)
2021-10-25 07:00:25 +0200nshepperd2(~nshepperd@li364-218.members.linode.com) (*.net *.split)
2021-10-25 07:00:25 +0200jiribenes(~jiribenes@rosa.jiribenes.com) (*.net *.split)
2021-10-25 07:00:25 +0200immae(~immae@2a01:4f8:141:53e7::) (*.net *.split)
2021-10-25 07:00:25 +0200xerox(~edi@user/edi) (*.net *.split)
2021-10-25 07:00:25 +0200SquidDev(~SquidDev@autoclave.squiddev.cc) (*.net *.split)
2021-10-25 07:00:25 +0200SoF(~skius@user/skius) (*.net *.split)
2021-10-25 07:00:25 +0200liskin(~liskin@xmonad/liskin) (*.net *.split)
2021-10-25 07:00:25 +0200oxytocat(~alloca@user/suppi) (*.net *.split)
2021-10-25 07:00:25 +0200farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505) (*.net *.split)
2021-10-25 07:00:25 +0200ft(~ft@shell.chaostreff-dortmund.de) (*.net *.split)
2021-10-25 07:00:25 +0200jocke-l(jocke-l@a.x0.is) (*.net *.split)
2021-10-25 07:00:32 +0200tomjaguarpaw(~tom@li367-225.members.linode.com)
2021-10-25 07:00:34 +0200xerox(~edi@user/edi)
2021-10-25 07:00:34 +0200lstor(~lstor@user/lstor)
2021-10-25 07:00:34 +0200ptrcmd(~ptrcmd@user/ptrcmd)
2021-10-25 07:00:34 +0200micro(~micro@user/micro)
2021-10-25 07:00:35 +0200ralu(~ralu@static.211.245.203.116.clients.your-server.de)
2021-10-25 07:00:36 +0200choucavalier(~choucaval@peanutbuttervibes.com)
2021-10-25 07:00:38 +0200nshepperd2(~nshepperd@li364-218.members.linode.com)
2021-10-25 07:00:39 +0200defanor(~defanor@tart.uberspace.net)
2021-10-25 07:00:40 +0200Unode(~Unode@194.94.44.220)
2021-10-25 07:00:41 +0200carbolymer(~carbolyme@dropacid.net)
2021-10-25 07:00:42 +0200ft(~ft@shell.chaostreff-dortmund.de)
2021-10-25 07:00:47 +0200jassob2(~jassob@korrob.vth.sgsnet.se)
2021-10-25 07:00:51 +0200pie_(~pie_bnc@user/pie/x-2818909)
2021-10-25 07:00:51 +0200SquidDev(~SquidDev@autoclave.squiddev.cc)
2021-10-25 07:00:52 +0200polux(~polux@51.15.169.172)
2021-10-25 07:00:55 +0200oxytocat(~alloca@2a03:4000:f:7ca:7407:d1ff:fe34:8cd0)
2021-10-25 07:00:55 +0200liskin(~liskin@ackle.nomi.cz)
2021-10-25 07:00:56 +0200liskin(~liskin@ackle.nomi.cz) (Signing in (liskin))
2021-10-25 07:00:56 +0200liskin(~liskin@xmonad/liskin)
2021-10-25 07:00:57 +0200oxytocat(~alloca@2a03:4000:f:7ca:7407:d1ff:fe34:8cd0) (Signing in (oxytocat))
2021-10-25 07:00:57 +0200oxytocat(~alloca@user/suppi)
2021-10-25 07:00:58 +0200farn(~farn@2a03:4000:7:3cd:d4ab:85ff:feeb:f505)
2021-10-25 07:01:00 +0200nurupo(~nurupo.ga@user/nurupo)
2021-10-25 07:01:02 +0200jocke-l(jocke-l@a.x0.is)
2021-10-25 07:01:16 +0200immae(~immae@2a01:4f8:141:53e7::)
2021-10-25 07:01:20 +0200orcus(~orcus@user/brprice)
2021-10-25 07:01:22 +0200jiribenes(~jiribenes@rosa.jiribenes.com)
2021-10-25 07:01:26 +0200Taneb(~Taneb@2001:41c8:51:10d:aaaa:0:aaaa:0)
2021-10-25 07:01:28 +0200nonzen(~nonzen@user/nonzen)
2021-10-25 07:01:43 +0200quantum(~quantum@user/quantum/x-8556232)
2021-10-25 07:01:46 +0200reddishblue[m](~reddishbl@2001:470:69fc:105::21eb)
2021-10-25 07:01:48 +0200terrorjack(~terrorjac@static.3.200.12.49.clients.your-server.de)
2021-10-25 07:02:44 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Client Quit)
2021-10-25 07:03:17 +0200jneira[m](~jneiramat@2001:470:69fc:105::d729)
2021-10-25 07:03:23 +0200dsrt^(~dsrt@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 264 seconds)
2021-10-25 07:03:25 +0200hsek[m](~hsekmatri@2001:470:69fc:105::d18f)
2021-10-25 07:04:16 +0200Ekho(~Ekho@user/ekho)
2021-10-25 07:04:44 +0200ru0mad[m](~ru0madmat@2001:470:69fc:105::9b2)
2021-10-25 07:04:52 +0200unrooted(~unrooted@2001:470:69fc:105::a4a)
2021-10-25 07:04:54 +0200wildsebastian(~wildsebas@2001:470:69fc:105::1:14b1)
2021-10-25 07:04:55 +0200fgaz(~fgaz@2001:470:69fc:105::842)
2021-10-25 07:05:05 +0200rednaZ[m](~r3dnazmat@2001:470:69fc:105::ba70)
2021-10-25 07:05:15 +0200Deewiant(~deewiant@2001:470:69fc:105::2fd3)
2021-10-25 07:05:19 +0200hsiktas[m](~hsiktasma@2001:470:69fc:105::30d4)
2021-10-25 07:05:33 +0200srid[m](~sridmatri@2001:470:69fc:105::1c2)
2021-10-25 07:06:59 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-10-25 07:07:10 +0200MatrixTravelerbo(~voyagert2@2001:470:69fc:105::22)
2021-10-25 07:07:24 +0200dexmad[m](~dexmadmat@2001:470:69fc:105::e056)
2021-10-25 07:07:36 +0200soft(~soft@2001:470:69fc:105::c75)
2021-10-25 07:07:42 +0200RosarioPulella[m(~rosariopu@2001:470:69fc:105::a57)
2021-10-25 07:08:05 +0200TomasJakl[m](~jaklttchn@2001:470:69fc:105::a42)
2021-10-25 07:17:47 +0200tommd(~tommd@75-164-130-101.ptld.qwest.net) (Ping timeout: 264 seconds)
2021-10-25 07:23:38 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 07:28:16 +0200nfip^(~nfip@wsip-68-227-92-38.mc.at.cox.net)
2021-10-25 07:34:56 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-10-25 07:38:31 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 252 seconds)
2021-10-25 07:39:42 +0200peterhil(~peterhil@dsl-hkibng32-54fb56-2.dhcp.inet.fi)
2021-10-25 07:48:30 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-10-25 07:49:06 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 07:49:47 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 07:54:10 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Client Quit)
2021-10-25 07:58:37 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 08:01:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 08:02:50 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 08:05:23 +0200 <kronicmage> is there any way to set over two lens setters at once? something like `set (_1 && _2) 5 (undefined, undefined)` to get `(5, 5)`
2021-10-25 08:09:47 +0200Feuermagier(~Feuermagi@user/feuermagier) (Remote host closed the connection)
2021-10-25 08:11:41 +0200 <Axman6> % set (_1 <> _2) (undefined, undefined) 5 -- I don't think this will work, but works for getters/traversals
2021-10-25 08:11:42 +0200 <yahb> Axman6: ; <interactive>:142:1: error:; * Could not deduce (Field1 s0 t a0 (a1, b)); from the context: (Semigroup t, Field1 s t a (a1, b), Field2 s t a (a1, b), Num s); bound by the inferred type for `it':; forall {t} {s} {a} {a1} {b}. (Semigroup t, Field1 s t a (a1, b), Field2 s t a (a1, b), Num s) => t; at <interactive>:142:1-39; The type variables `s0', `a0' a
2021-10-25 08:12:02 +0200 <Axman6> % set (_1 <> _2) 5 (undefined, undefined)
2021-10-25 08:12:02 +0200 <yahb> Axman6: ; <interactive>:143:1: error:; * Ambiguous type variable `b0' arising from a use of `print'; prevents the constraint `(Show b0)' from being solved.; Probable fix: use a type annotation to specify what `b0' should be.; These potential instances exist:; instance Show a => Show (ZipList a) -- Defined in `Control.Applicative'; instance Show NestedAtomically -- Defined in
2021-10-25 08:12:12 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 08:12:31 +0200 <Axman6> % set (_1 <> _2) 5 (True, False) :: (Int,Int)
2021-10-25 08:12:31 +0200 <yahb> Axman6: ; <interactive>:144:6: error:; * Couldn't match type `Int' with `Bool'; arising from a functional dependency between:; constraint `Field1 (Bool, Bool) (Int, Int) Bool Int' arising from a use of `_1'; instance Field1 (a, b) (a', b) a a' at <no location info>; * In the first argument of `(<>)', namely `_1'; In the first argument of `set', namely `(_1 <> _2)';
2021-10-25 08:13:27 +0200a6a45081-2b83(~aditya@2601:249:4300:1296:88ec:cc73:84d4:1507) (Read error: Connection reset by peer)
2021-10-25 08:13:53 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-10-25 08:16:29 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 08:16:52 +0200lortabac(~lortabac@abayonne-651-1-57-12.w92-156.abo.wanadoo.fr)
2021-10-25 08:18:27 +0200fendor(~fendor@77.119.214.28.wireless.dyn.drei.com)
2021-10-25 08:19:20 +0200alzgh(~alzgh@user/alzgh)
2021-10-25 08:20:56 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
2021-10-25 08:24:32 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 08:24:54 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 276 seconds)
2021-10-25 08:24:57 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 08:26:37 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 244 seconds)
2021-10-25 08:34:31 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-25 08:39:26 +0200 <jackdk> Conduit question: I have a ConduitT () ByteString m r representing a large file, and I want to process it in chunks, where each chunk is between some minimum and maximum (constant) number of bytes. I feel like I would want to write a function like `chunksBetween :: Monad m => Integer -> Integer -> ConduitT i ByteString m r -> ConduitT i (ConduitT i ByteString m ()) m r` that streams smoothly from the input conduit.
2021-10-25 08:39:31 +0200 <jackdk> Axman6: ;-)
2021-10-25 08:40:41 +0200 <jackdk> Pipes appears to have this operator as in pipes-group, as some kind of crazy lens that lets you look at it as a FreeT or something, and I can't make heads or tails of it
2021-10-25 08:41:07 +0200 <jackdk> Streaming should give you a Stream (Of (Stream (Of o))) ...
2021-10-25 08:41:48 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 08:41:49 +0200 <Axman6> yeah that pretty much sums up my question, ta :P
2021-10-25 08:42:45 +0200 <jackdk> It would be sufficient to ignore i; I'm happy to work over `ConduitT () ByteString m ()`
2021-10-25 08:43:05 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-25 08:46:37 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 08:48:44 +0200 <Axman6> streaming does it in a slight weird way, where it has splitAt :: Monad m => Int64 -> ByteStream m r -> ByteStream m (ByteStream m r) (where ByteStream is basically Stream (Of ByteString) m r)
2021-10-25 08:49:19 +0200Midjak(~Midjak@82-65-111-221.subs.proxad.net)
2021-10-25 08:49:21 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 244 seconds)
2021-10-25 08:49:55 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-25 08:53:12 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 08:55:30 +0200janus34(~janus@84-107-171-239.cable.dynamic.v4.ziggo.nl)
2021-10-25 08:55:42 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-25 08:57:08 +0200michalz(~michalz@185.246.204.41)
2021-10-25 08:59:13 +0200 <janus34> Been studying haskell the last couple of weekends and yesterday I thought: "How do you print from a haskell program?"
2021-10-25 09:00:27 +0200 <janus34> So a quick search showed that printing is popular and most of it is pretty! : ) After filtering out all the pretty-printers the search came up with ... nothing.
2021-10-25 09:01:35 +0200 <janus34> I can come up with some ways to create files that would print pretty, but how do you print to a printer from haskell?
2021-10-25 09:01:57 +0200 <jackdk> Axman6: I think you need to seal the conduit and the use Data.Conduit.List.unconsM but that's as far as I've managed
2021-10-25 09:03:49 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-10-25 09:08:47 +0200ubert(~Thunderbi@77.119.171.187.wireless.dyn.drei.com)
2021-10-25 09:12:23 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 09:13:19 +0200 <Axman6> jackdk: I don't know hwo to print to a printer in any language - personally I would generate HTML or a PDF and then use my OS. There's probably ways to use postscript... but that sounds like not a lot of fun. this is not a simple problem IMO
2021-10-25 09:13:30 +0200 <Axman6> uh, janus34
2021-10-25 09:13:33 +0200 <jackdk> I think you mean the other `ja<tab>`
2021-10-25 09:13:45 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 09:13:51 +0200 <Axman6> `j<tab>`, because I'm a monster, but yeah
2021-10-25 09:17:25 +0200 <janus34> I have done PostScript in the past and that is one of the ways I was thinking about. I think I was mostly surprised that a search for it turned up nothing.
2021-10-25 09:18:22 +0200dschrempf(~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu)
2021-10-25 09:19:54 +0200 <jackdk> Axman6: the other problem is that we want to pass a `ConduitT () ByteString (ResourceT IO) ()` into `chunkedBody`
2021-10-25 09:20:50 +0200 <janus34> People are doing financial backend stuff, so I would have expected invoices or inventory or something. It was just a thought, not a need.
2021-10-25 09:21:44 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 09:21:50 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-10-25 09:23:33 +0200ub(~Thunderbi@77.119.171.187.wireless.dyn.drei.com)
2021-10-25 09:23:48 +0200 <lortabac> janus34: I guess most people delegate printing to the operating system or the browser
2021-10-25 09:24:37 +0200 <lortabac> it's something you generally try to avoid because of all the details that are hard to get right and the differences between OS's
2021-10-25 09:24:40 +0200opqdonut_opqdonut
2021-10-25 09:26:35 +0200chele(~chele@user/chele)
2021-10-25 09:28:26 +0200 <janus34> Yes and with pandoc you can convert them to multiple other formats. Thank you and I think I will pop in here some more in the future.
2021-10-25 09:29:31 +0200 <lortabac> janus34: the only time I really needed to print directly from an application I used QZTray, which gives you a simple API you can call from your browser
2021-10-25 09:30:10 +0200 <lortabac> but it was a very specific use case, most of the time you can just let users download the PS/PDF and print it themselves
2021-10-25 09:30:28 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 09:31:05 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-25 09:31:13 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-10-25 09:31:31 +0200dschrempf(~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu) (Quit: WeeChat 3.3)
2021-10-25 09:32:13 +0200gehmehgeh(~user@user/gehmehgeh)
2021-10-25 09:32:44 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-10-25 09:33:20 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-10-25 09:39:32 +0200 <janus34> lortabac: I can see how that will be useful. Conclusion: Generate something printable and delegate.
2021-10-25 09:40:08 +0200brainfreeze(~brainfree@2a03:1b20:4:f011::20d) (Quit: Leaving)
2021-10-25 09:49:21 +0200zincy(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684) (Quit: Leaving)
2021-10-25 09:49:37 +0200zincy(~tom@2a00:23c8:970c:4801:5b6a:e81b:79dc:f684)
2021-10-25 09:51:36 +0200janus34(~janus@84-107-171-239.cable.dynamic.v4.ziggo.nl) (Quit: janus34)
2021-10-25 09:53:01 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 09:54:27 +0200Feuermagier(~Feuermagi@user/feuermagier)
2021-10-25 09:54:59 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 09:56:46 +0200jess(~jess@libera/staff/jess) (Quit: Lost terminal)
2021-10-25 09:59:12 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Read error: Connection reset by peer)
2021-10-25 10:00:05 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 10:02:57 +0200jess(~jess@libera/staff/jess)
2021-10-25 10:03:19 +0200echoSMILE(~echoSMILE@user/echosmile) (Ping timeout: 256 seconds)
2021-10-25 10:03:24 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Client Quit)
2021-10-25 10:03:51 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-10-25 10:05:10 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 10:05:16 +0200acidjnk_new3(~acidjnk@p200300d0c703cb935575e56a44659e48.dip0.t-ipconnect.de)
2021-10-25 10:05:44 +0200hendursaga(~weechat@user/hendursaga)
2021-10-25 10:08:54 +0200hendursa1(~weechat@user/hendursaga) (Ping timeout: 276 seconds)
2021-10-25 10:10:40 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 10:10:59 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-25 10:11:39 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 10:13:17 +0200matsurago(~matsurago@p0602591-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp)
2021-10-25 10:15:22 +0200 <merijn> English question: "converges on" or "converges to"?
2021-10-25 10:16:31 +0200 <zincy> I like "converges to".
2021-10-25 10:17:34 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-10-25 10:17:34 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-10-25 10:17:37 +0200allbery_bgeekosaur
2021-10-25 10:18:15 +0200Katarushisu(~Katarushi@cpc147334-finc20-2-0-cust27.4-2.cable.virginm.net)
2021-10-25 10:20:44 +0200 <zincy> For building a turn based card game I can't choose between Machines or Streamly to implement the Mealy machines for game state
2021-10-25 10:20:50 +0200 <zincy> I am a bit lost in this design space.
2021-10-25 10:21:06 +0200puffnfresh[m](~puffnfres@2001:470:69fc:105::1:22da)
2021-10-25 10:21:40 +0200 <zincy> What is the overlap between Machines and libraries like Streamly/Conduit/Pipes?
2021-10-25 10:22:18 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 10:26:47 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 10:31:11 +0200jumper149(~jumper149@80.240.31.34)
2021-10-25 10:31:36 +0200vonfry(~user@116.236.75.238)
2021-10-25 10:32:59 +0200bitmapper(uid464869@lymington.irccloud.com) (Quit: Connection closed for inactivity)
2021-10-25 10:33:13 +0200dschrempf(~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu)
2021-10-25 10:34:53 +0200 <tomsmeding> merijn: in maths it's "converges to"
2021-10-25 10:35:03 +0200 <tomsmeding> not sure how mathy your sentence is
2021-10-25 10:38:09 +0200jstolarek(~jstolarek@137.220.120.162)
2021-10-25 10:38:31 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 10:40:23 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-10-25 10:41:38 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-10-25 10:43:19 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 10:43:35 +0200dschrempf(~dominik@2a01-036d-0118-8903-9d8d-f8e1-b377-a2ae.pool6.digikabel.hu) (Ping timeout: 264 seconds)
2021-10-25 10:48:02 +0200seiryn(~seiryn@pop.92-184-118-190.mobile.abo.orange.fr)
2021-10-25 10:55:48 +0200vonfry(~user@116.236.75.238) (ERC (IRC client for Emacs 27.2))
2021-10-25 10:56:11 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de)
2021-10-25 10:58:55 +0200juhp(~juhp@128.106.188.220) (Quit: juhp)
2021-10-25 11:03:05 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2021-10-25 11:04:06 +0200juhp(~juhp@128.106.188.220)
2021-10-25 11:07:44 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 11:08:59 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 11:12:24 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 11:14:11 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-10-25 11:17:05 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 11:19:29 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-25 11:19:57 +0200matsurago(~matsurago@p0602591-vcngn.tkyo.nt.ngn.ppp.ocn.ne.jp) (Quit: Leaving)
2021-10-25 11:25:18 +0200cfricke(~cfricke@user/cfricke)
2021-10-25 11:29:44 +0200SoF(~skius@user/skius)
2021-10-25 11:33:10 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
2021-10-25 11:33:38 +0200fendor_(~fendor@178.115.73.9.wireless.dyn.drei.com)
2021-10-25 11:36:23 +0200fendor(~fendor@77.119.214.28.wireless.dyn.drei.com) (Ping timeout: 264 seconds)
2021-10-25 11:46:01 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 11:48:48 +0200max22-(~maxime@2a01cb08833598009d6e8b94d9b3ffbb.ipv6.abo.wanadoo.fr)
2021-10-25 11:50:32 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 11:53:30 +0200dschrempf(~dominik@2a01-036d-0118-8903-1af3-00e0-6f62-6528.pool6.digikabel.hu)
2021-10-25 12:00:18 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Remote host closed the connection)
2021-10-25 12:00:33 +0200jgeerds(~jgeerds@55d40de2.access.ecotel.net)
2021-10-25 12:00:36 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-10-25 12:00:52 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)
2021-10-25 12:01:18 +0200 <liskin> awpr: glad to hear that :-)
2021-10-25 12:02:41 +0200 <kuribas> Once again, haskell tooling is driving me completely crazy.
2021-10-25 12:03:01 +0200dschrempf(~dominik@2a01-036d-0118-8903-1af3-00e0-6f62-6528.pool6.digikabel.hu) (Ping timeout: 245 seconds)
2021-10-25 12:03:04 +0200 <kuribas> "eff is not a visible construtor field name"
2021-10-25 12:03:08 +0200 <kuribas> Yes in fact it is.
2021-10-25 12:03:33 +0200 <kuribas> and running with stack gives me other errors.
2021-10-25 12:03:34 +0200bens_bens
2021-10-25 12:04:16 +0200 <kuribas> But emacs flycheck (which also runs stack) gives another (wrong) error.
2021-10-25 12:04:24 +0200__monty__(~toonn@user/toonn)
2021-10-25 12:04:32 +0200fendor_fendor
2021-10-25 12:07:42 +0200 <jneira[m]> the first error is thrown by cabal?
2021-10-25 12:07:50 +0200pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee) (Ping timeout: 260 seconds)
2021-10-25 12:08:05 +0200pooryorick(~pooryoric@87-119-174-173.tll.elisa.ee)
2021-10-25 12:09:04 +0200 <kuribas> nope, both stack.
2021-10-25 12:09:25 +0200 <kuribas> maybe solving the errors on the other modules first will help this.
2021-10-25 12:09:48 +0200 <jneira[m]> so the error is shown in editor using lsp and hls?
2021-10-25 12:10:06 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-25 12:11:01 +0200 <kuribas> nah, this is flycheck-emacs
2021-10-25 12:11:03 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 12:12:03 +0200 <jneira[m]> hmm hls has problems with stack and exe/test components if the main lib does not build
2021-10-25 12:12:27 +0200 <jneira[m]> due to known `stack repl` limitations, so maybe it is affecting you too
2021-10-25 12:12:45 +0200 <jneira[m]> in the hls case make the lib build and restarting the editor helps
2021-10-25 12:13:07 +0200 <xsperry> what stack repl limitations?
2021-10-25 12:13:31 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-10-25 12:14:28 +0200 <jneira[m]> mainly https://github.com/commercialhaskell/stack/issues/4616
2021-10-25 12:14:49 +0200 <jneira[m]> but also https://github.com/commercialhaskell/stack/issues/5380
2021-10-25 12:15:08 +0200 <kuribas> jneira[m]: this is all in the lib.
2021-10-25 12:15:33 +0200 <jneira[m]> oh, so it might be not the same issue, sorry
2021-10-25 12:15:58 +0200 <kuribas> maybe it has to do with how the modules are loaded.
2021-10-25 12:16:12 +0200 <kuribas> Because the relevant records are generated using TH.
2021-10-25 12:17:19 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 12:18:14 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 12:19:02 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 12:19:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 12:20:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 12:21:55 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-10-25 12:22:02 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-10-25 12:22:44 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-25 12:23:47 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 12:25:51 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 12:26:24 +0200Inst(~Inst@2601:6c4:4080:3f80:34d9:c297:fec0:5e7)
2021-10-25 12:26:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 12:26:45 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-10-25 12:27:56 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-10-25 12:31:29 +0200skn2skn
2021-10-25 12:32:02 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 12:32:37 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 12:32:47 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-10-25 12:33:14 +0200gehmehgeh(~user@user/gehmehgeh)
2021-10-25 12:33:34 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 12:37:43 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 12:38:21 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 12:38:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 12:38:34 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-10-25 12:38:51 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 245 seconds)
2021-10-25 12:39:00 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de)
2021-10-25 12:40:35 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Ping timeout: 264 seconds)
2021-10-25 12:40:47 +0200jgeerds(~jgeerds@55d40de2.access.ecotel.net) (Ping timeout: 265 seconds)
2021-10-25 12:41:09 +0200max22-(~maxime@2a01cb08833598009d6e8b94d9b3ffbb.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-25 12:41:48 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-25 12:42:17 +0200Janus86(~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40)
2021-10-25 12:42:51 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-25 12:43:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 12:43:49 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr)
2021-10-25 12:43:55 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 12:44:13 +0200stef204(~stef204@user/stef204)
2021-10-25 12:44:24 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 12:46:40 +0200jakalx(~jakalx@base.jakalx.net)
2021-10-25 12:49:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-25 12:50:18 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 12:54:56 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 12:54:57 +0200kritzefitz(~kritzefit@212.86.56.80) (Remote host closed the connection)
2021-10-25 12:55:05 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-10-25 12:55:44 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 12:56:20 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 13:00:27 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 13:01:32 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 13:02:30 +0200stef204(~stef204@user/stef204) (Quit: WeeChat 3.3)
2021-10-25 13:02:44 +0200Janus86(~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40) (Quit: Client closed)
2021-10-25 13:03:05 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 13:03:58 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 13:07:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 260 seconds)
2021-10-25 13:07:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 13:07:31 +0200lortabac(~lortabac@abayonne-651-1-57-12.w92-156.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2021-10-25 13:08:33 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 13:09:03 +0200lortabac(~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr)
2021-10-25 13:10:32 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 13:13:07 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 13:14:25 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 13:18:18 +0200seiryn(~seiryn@pop.92-184-118-190.mobile.abo.orange.fr) (Read error: Connection reset by peer)
2021-10-25 13:24:13 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 13:25:44 +0200nfip^(~nfip@wsip-68-227-92-38.mc.at.cox.net) (Ping timeout: 265 seconds)
2021-10-25 13:26:44 +0200lemonsnicks(~lemonsnic@cpc159519-perr18-2-0-cust114.19-1.cable.virginm.net)
2021-10-25 13:28:27 +0200seiryn(~seiryn@pop.92-184-118-190.mobile.abo.orange.fr)
2021-10-25 13:28:54 +0200jgeerds(~jgeerds@55d40de2.access.ecotel.net)
2021-10-25 13:31:01 +0200Guest199(~Guest19@wificampus-098233.grenet.fr)
2021-10-25 13:31:12 +0200Guest199(~Guest19@wificampus-098233.grenet.fr) (Client Quit)
2021-10-25 13:31:35 +0200Guest85(~Guest85@wificampus-098233.grenet.fr)
2021-10-25 13:35:56 +0200kritzefitz(~kritzefit@212.86.56.80) (Ping timeout: 245 seconds)
2021-10-25 13:40:03 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-10-25 13:40:20 +0200Cajun(~Cajun@user/cajun)
2021-10-25 13:40:42 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 13:41:28 +0200 <maerwald> why are you usint stack again?
2021-10-25 13:41:57 +0200kritzefitz(~kritzefit@212.86.56.80)
2021-10-25 13:44:56 +0200rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438)
2021-10-25 13:45:06 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-10-25 13:51:16 +0200Janus86(~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40)
2021-10-25 13:58:40 +0200Janus86(~Janus@2001:1c04:3819:7d00:8949:b1fb:9d02:4b40) (Quit: Client closed)
2021-10-25 14:04:09 +0200Guest85(~Guest85@wificampus-098233.grenet.fr) (Ping timeout: 256 seconds)
2021-10-25 14:06:37 +0200Guest9608deni
2021-10-25 14:08:45 +0200deni(~deni@mail.denibertovic.com) (Changing host)
2021-10-25 14:08:45 +0200deni(~deni@user/deni)
2021-10-25 14:15:11 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 14:15:59 +0200zcombinator(~zcombinat@37.162.185.3)
2021-10-25 14:17:09 +0200zcombinator(~zcombinat@37.162.185.3) (Client Quit)
2021-10-25 14:19:51 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 14:22:25 +0200wren^(~wren@wsip-68-227-92-38.mc.at.cox.net)
2021-10-25 14:24:40 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 244 seconds)
2021-10-25 14:25:19 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-25 14:35:41 +0200cedeon(~cedeon@97e55b5b.skybroadband.com)
2021-10-25 14:36:27 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 14:41:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 264 seconds)
2021-10-25 14:46:06 +0200zer0bitz(~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi)
2021-10-25 14:46:18 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 14:47:18 +0200seiryn(~seiryn@pop.92-184-118-190.mobile.abo.orange.fr) (Quit: WeeChat 3.3)
2021-10-25 14:47:20 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-10-25 14:50:30 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 244 seconds)
2021-10-25 14:50:31 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 14:54:40 +0200MQ-17J(~MQ-17J@8.21.10.17) (Ping timeout: 260 seconds)
2021-10-25 14:55:35 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 14:56:00 +0200ub1(~Thunderbi@178.165.171.196.wireless.dyn.drei.com)
2021-10-25 14:56:43 +0200max22-(~maxime@lfbn-ren-1-762-224.w81-53.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2021-10-25 14:57:01 +0200max22-(~maxime@2a01cb0883359800bc3e28b13c9f1130.ipv6.abo.wanadoo.fr)
2021-10-25 14:57:05 +0200ub(~Thunderbi@77.119.171.187.wireless.dyn.drei.com) (Ping timeout: 265 seconds)
2021-10-25 14:57:12 +0200ubert(~Thunderbi@77.119.171.187.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-10-25 14:57:12 +0200ub1ubert
2021-10-25 14:58:32 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-25 15:03:54 +0200max22-(~maxime@2a01cb0883359800bc3e28b13c9f1130.ipv6.abo.wanadoo.fr) (Remote host closed the connection)
2021-10-25 15:04:07 +0200max22-(~maxime@2a01cb08833598009b46fcde5e7728d6.ipv6.abo.wanadoo.fr)
2021-10-25 15:06:53 +0200juand(~a@p200300ef973db1c64086f0a6a24fc4dd.dip0.t-ipconnect.de)
2021-10-25 15:07:43 +0200mbuf(~Shakthi@122.174.32.225) (Quit: Leaving)
2021-10-25 15:09:51 +0200acidjnk_new(~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de)
2021-10-25 15:11:21 +0200CiaoSen(~Jura@p200300c95730dd002a3a4dfffe84dbd5.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-10-25 15:13:31 +0200acidjnk_new3(~acidjnk@p200300d0c703cb935575e56a44659e48.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-25 15:14:50 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470)
2021-10-25 15:19:05 +0200deni(~deni@user/deni) (Quit: WeeChat 2.3)
2021-10-25 15:19:13 +0200Guest81(~Guest81@eth-west-pareq2-46-193-4-100.wb.wifirst.net)
2021-10-25 15:20:12 +0200guniberas(~guniberas@42.191.188.121)
2021-10-25 15:22:40 +0200max22-(~maxime@2a01cb08833598009b46fcde5e7728d6.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2021-10-25 15:23:20 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 15:27:59 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 260 seconds)
2021-10-25 15:28:15 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-10-25 15:29:37 +0200echoSMILE(~echoSMILE@user/echosmile)
2021-10-25 15:29:46 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2021-10-25 15:31:21 +0200mmhat(~mmh@55d48723.access.ecotel.net)
2021-10-25 15:31:51 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-25 15:32:24 +0200connrs(~connrs@user/connrs) (Quit: ZNC 1.8.2 - https://znc.in)
2021-10-25 15:32:40 +0200connrs(~connrs@user/connrs)
2021-10-25 15:36:51 +0200mmhat(~mmh@55d48723.access.ecotel.net) (Ping timeout: 260 seconds)
2021-10-25 15:39:09 +0200zebrag(~chris@user/zebrag)
2021-10-25 15:42:46 +0200Guest81(~Guest81@eth-west-pareq2-46-193-4-100.wb.wifirst.net) (Ping timeout: 256 seconds)
2021-10-25 15:42:59 +0200deni(~deni@user/deni)
2021-10-25 15:50:14 +0200mmhat(~mmh@55d48723.access.ecotel.net)
2021-10-25 15:54:41 +0200Inst(~Inst@2601:6c4:4080:3f80:34d9:c297:fec0:5e7) (Ping timeout: 245 seconds)
2021-10-25 15:56:04 +0200max22-(~maxime@2a01cb0883359800961d59787a71faaa.ipv6.abo.wanadoo.fr)
2021-10-25 15:59:38 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 16:02:22 +0200ByronJohnson(~bairyn@mail.digitalkingdom.org) (Ping timeout: 260 seconds)
2021-10-25 16:03:21 +0200Sgeo(~Sgeo@user/sgeo)
2021-10-25 16:03:40 +0200Inst(~Inst@2601:6c4:4080:3f80:c90e:2355:f46b:5a5f)
2021-10-25 16:04:35 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 16:05:43 +0200ub(~Thunderbi@178.115.41.93.wireless.dyn.drei.com)
2021-10-25 16:07:29 +0200ubert(~Thunderbi@178.165.171.196.wireless.dyn.drei.com) (Ping timeout: 244 seconds)
2021-10-25 16:07:30 +0200ububert
2021-10-25 16:12:21 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd)
2021-10-25 16:13:44 +0200echoSMILE(~echoSMILE@user/echosmile) (Quit: Client closed)
2021-10-25 16:14:07 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se) (Remote host closed the connection)
2021-10-25 16:14:11 +0200Inst(~Inst@2601:6c4:4080:3f80:c90e:2355:f46b:5a5f) (Ping timeout: 264 seconds)
2021-10-25 16:14:24 +0200jonathanx(~jonathan@dyn-8-sc.cdg.chalmers.se)
2021-10-25 16:16:54 +0200 <AWizzArd> I have a function `foo :: Text -> Either String Bool` and `bar` which has the same sig but `Double` instead of `Bool`. Now I would like to put both into a `Typeable a => Map Text (Either Text a)`. How can I do this?
2021-10-25 16:16:58 +0200 <AWizzArd> I.e. let myMap = M.fromList [("foo", foo), ("bar", bar)]
2021-10-25 16:17:27 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Ping timeout: 260 seconds)
2021-10-25 16:18:59 +0200 <merijn> You can't, the Typeable constraint on Map doesn't change that all values should have the same 'a'
2021-10-25 16:19:20 +0200jgeerds(~jgeerds@55d40de2.access.ecotel.net) (Ping timeout: 260 seconds)
2021-10-25 16:19:22 +0200echoSMILE(~echoSMILE@user/echosmile)
2021-10-25 16:19:23 +0200 <merijn> You could use a newtype wrapper with an existential quantification, but that's a mess
2021-10-25 16:19:47 +0200 <AWizzArd> When I make foo and bar return `... -> Either String Dynamic` then I can get this running. It would change the implementation of foo and bar, as they would have to make a toDyn call.
2021-10-25 16:20:03 +0200 <merijn> Yes
2021-10-25 16:21:54 +0200 <AWizzArd> merijn: why would that existential q around a newtype wrapper be messy?
2021-10-25 16:22:06 +0200 <merijn> AWizzArd: I mean, Dynamic is an existential wrapper
2021-10-25 16:22:32 +0200 <merijn> So, it's messy for the same reason that "modifying everything to wrap/unwrap is messy"
2021-10-25 16:22:42 +0200 <AWizzArd> k
2021-10-25 16:22:44 +0200 <lortabac> I would only choose the existential solution if I wanted an extensible solution
2021-10-25 16:22:54 +0200 <AWizzArd> lortabac: exactly
2021-10-25 16:23:02 +0200 <lortabac> that is, if I am making a library
2021-10-25 16:23:11 +0200 <AWizzArd> lortabac: yes, this is my usecase.
2021-10-25 16:23:39 +0200 <lortabac> however if users of foo and bar have access to the source code, a plain sum type is better
2021-10-25 16:24:05 +0200 <AWizzArd> My initial thought tho was that foo and bar could just stay as they are, without a toDyn call.
2021-10-25 16:24:33 +0200 <AWizzArd> lortabac: here definitly no sum type as there are infinitely many solutions. I seriously want dynamic typing here.
2021-10-25 16:27:44 +0200 <lortabac> depending on what you need to do with these values, you might use Data.Dynamic or introduce a type-class and require users to define an instance
2021-10-25 16:28:38 +0200solomon(~solomon@cpe-76-168-7-139.socal.res.rr.com) (Quit: Ping timeout (120 seconds))
2021-10-25 16:28:47 +0200ByronJohnson(~bairyn@173-13-139-238-sfba.hfc.comcastbusiness.net)
2021-10-25 16:29:09 +0200ec_(~ec@gateway/tor-sasl/ec) (Ping timeout: 276 seconds)
2021-10-25 16:30:04 +0200acidjnk_new(~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-25 16:35:14 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 16:35:55 +0200wren^(~wren@wsip-68-227-92-38.mc.at.cox.net) (Remote host closed the connection)
2021-10-25 16:37:51 +0200Inst(~Inst@2601:6c4:4080:3f80:c4ab:4275:2f29:1458)
2021-10-25 16:37:52 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 16:38:01 +0200ByronJohnson(~bairyn@173-13-139-238-sfba.hfc.comcastbusiness.net) (Ping timeout: 245 seconds)
2021-10-25 16:39:59 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 16:42:23 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Ping timeout: 264 seconds)
2021-10-25 16:43:33 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76)
2021-10-25 16:43:55 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-10-25 16:44:48 +0200 <AWizzArd> Can I combine the import of specific names and make that module qualified? I.e. import Data.Map.Strict (Map, fromList) qualified as M
2021-10-25 16:45:29 +0200 <AWizzArd> (putting `qualified` at the end, cause this now works from 8.10 on or so)
2021-10-25 16:45:39 +0200 <merijn> Sadly, no
2021-10-25 16:45:48 +0200 <merijn> You need two separate imports
2021-10-25 16:46:04 +0200 <merijn> I would also recommend against postfix qualified, tbh
2021-10-25 16:46:15 +0200 <AWizzArd> merijn: okay, will continue doing two. Thanks for confirming.
2021-10-25 16:46:15 +0200 <sshine> #tosoon?
2021-10-25 16:46:23 +0200 <merijn> It's a bad extension, imo
2021-10-25 16:46:30 +0200 <AWizzArd> merijn: why?
2021-10-25 16:46:41 +0200jstolarek(~jstolarek@137.220.120.162) (Quit: leaving)
2021-10-25 16:46:52 +0200 <merijn> AWizzArd: It does nothing, essentially
2021-10-25 16:46:59 +0200 <geekosaur> encourages sloppiness
2021-10-25 16:47:18 +0200 <merijn> Would Haskell have been nicer if the import syntax had been more elegantly designed (for example with postfix qualified?)? Yes
2021-10-25 16:47:36 +0200 <sshine> I guess it makes the library names align because half of them don't have 'qualified' in front of them.
2021-10-25 16:47:48 +0200 <merijn> However, gratuitous "custom syntax" extensions with no gain in expressivity just fracture the "real syntax" anyone has to learn for no gain in power
2021-10-25 16:47:57 +0200 <geekosaur> and at this point all it accomplishes is to force a limit on the number of ghc versions you can support
2021-10-25 16:48:15 +0200 <merijn> Various syntactic sugar extensions have a *real* cost
2021-10-25 16:48:18 +0200 <merijn> In terms of maintenance
2021-10-25 16:48:22 +0200 <sshine> merijn, I agree with that. I remember when someone lent me a scala book, and I realized I need to lift weights to hold the book, just because of the syntactic variation.
2021-10-25 16:48:26 +0200 <merijn> In terms of making Haskell harder to learn for beginners
2021-10-25 16:48:36 +0200 <merijn> In terms of making people memorise a billion syntax tweaks
2021-10-25 16:48:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 16:48:41 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 16:48:41 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 16:48:51 +0200 <AWizzArd> merijn: haha, a billion :)
2021-10-25 16:49:07 +0200 <merijn> A consistent, unchanging (albeit slightly clunky/awkward) syntax is better than infinite optional variations
2021-10-25 16:49:47 +0200 <merijn> Any syntactical extension should really provide. A considerable gain in expressivity/power to be worth it.
2021-10-25 16:49:53 +0200 <geekosaur> AWizzArd, there are quite a few redundant syntaxes even in basic Haskell 98, to say nothing of some of the extensions
2021-10-25 16:50:14 +0200 <merijn> This is also why I think RecordDotSyntax, etc. are a mess
2021-10-25 16:50:22 +0200 <shapr> I think rarely used extensions need to be deprecated, even if they're really cool.
2021-10-25 16:50:24 +0200 <geekosaur> there are people who dislike view patterns because they don't really get you anything, for exanple
2021-10-25 16:50:32 +0200 <merijn> They do nothing, but make things worth
2021-10-25 16:50:46 +0200 <merijn> geekosaur: And trivially replaceable with pattern guards
2021-10-25 16:51:05 +0200 <merijn> shapr: Yeah, but who gets to decide that?
2021-10-25 16:51:11 +0200 <shapr> merijn: I'll do it!
2021-10-25 16:51:15 +0200 <merijn> Especially since the odds of a new Haskell Report are unlikely
2021-10-25 16:51:24 +0200 <shapr> first I shall vote TransformListComp off the island
2021-10-25 16:51:30 +0200 <merijn> So any random syntactical extension is likely to just hang around indefinitely
2021-10-25 16:51:39 +0200marinelli(~marinelli@gateway/tor-sasl/marinelli)
2021-10-25 16:51:56 +0200 <merijn> I vote for -XNoFieldSelectors -XNamedFieldPuns to become the default Haskell behaviour
2021-10-25 16:52:06 +0200Profpatsch(~Profpatsc@static.88-198-193-255.clients.your-server.de) (WeeChat 3.3)
2021-10-25 16:53:16 +0200jkaye(~jkaye@2601:281:8300:7530:b96c:a192:af21:58d1)
2021-10-25 16:54:45 +0200michalz(~michalz@185.246.204.41) (Read error: No route to host)
2021-10-25 16:56:05 +0200tommd(~tommd@75-164-130-101.ptld.qwest.net)
2021-10-25 17:03:17 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-10-25 17:03:50 +0200dschrempf(~dominik@188-143-59-231.pool.digikabel.hu)
2021-10-25 17:03:59 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 264 seconds)
2021-10-25 17:05:22 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76)
2021-10-25 17:05:50 +0200 <shapr> merijn: we can make a Haskell IRC Report 2021 and just go with it.
2021-10-25 17:06:09 +0200 <shapr> like an RFC or whatever
2021-10-25 17:06:25 +0200 <geekosaur> not sure fragmenting the language even more is a win either
2021-10-25 17:06:26 +0200 <shapr> "We have found these extensions work well together, and these others are inoffensive, and these are never used, so don't use 'em"
2021-10-25 17:06:39 +0200 <geekosaur> we already have ghc2021
2021-10-25 17:06:44 +0200 <shapr> oh really?
2021-10-25 17:06:46 +0200shaprsearches
2021-10-25 17:06:56 +0200 <geekosaur> it's in 9.2
2021-10-25 17:06:56 +0200 <sshine> Haskell 1459 Report
2021-10-25 17:07:18 +0200 <shapr> oh, it's this one? https://github.com/ghc-proposals/ghc-proposals/blob/master/proposals/0380-ghc2021.rst
2021-10-25 17:08:15 +0200 <shapr> geekosaur: as long as someone's doing it
2021-10-25 17:10:58 +0200lortabac(~lortabac@atoulouse-256-1-14-70.w92-136.abo.wanadoo.fr) (Quit: WeeChat 2.8)
2021-10-25 17:11:26 +0200 <sshine> what's that extension for allowing 1.3e4 for integers as long as it's actually an integer?
2021-10-25 17:11:56 +0200 <merijn> NumDecimals
2021-10-25 17:11:59 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 17:12:07 +0200 <geekosaur> https://downloads.haskell.org/ghc/latest/docs/html/users_guide/exts/num_decimals.html
2021-10-25 17:13:03 +0200 <sshine> thanks
2021-10-25 17:13:32 +0200 <dminuoso> Im onto a real strange thing here. It seems diffBy in Diff has some fundamental bug.. I get this bizarre behavior of two items being equal in the predicate being listed as *both* First and Second. If I filter the input lists to singleton lists containing the offending items, I get a Both..
2021-10-25 17:13:38 +0200dminuosois starting to get headaches
2021-10-25 17:14:03 +0200 <dminuoso> Maybe I violated some precondition?
2021-10-25 17:15:26 +0200fendor(~fendor@178.115.73.9.wireless.dyn.drei.com) (Remote host closed the connection)
2021-10-25 17:16:35 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 17:16:35 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com) (Read error: Connection reset by peer)
2021-10-25 17:16:39 +0200jumper149(~jumper149@80.240.31.34) (Quit: WeeChat 3.2)
2021-10-25 17:16:59 +0200MQ-17J(~MQ-17J@8.21.10.17)
2021-10-25 17:19:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 17:19:48 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 17:19:48 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 17:24:30 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 260 seconds)
2021-10-25 17:26:04 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-10-25 17:26:48 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-10-25 17:27:59 +0200juand(~a@p200300ef973db1c64086f0a6a24fc4dd.dip0.t-ipconnect.de) (Ping timeout: 264 seconds)
2021-10-25 17:28:21 +0200juand(~a@p200300ef973db1624086f0a6a24fc4dd.dip0.t-ipconnect.de)
2021-10-25 17:31:33 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76) (Quit: Konversation terminated!)
2021-10-25 17:31:58 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76)
2021-10-25 17:39:58 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76) (Quit: Konversation terminated!)
2021-10-25 17:40:18 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76)
2021-10-25 17:41:49 +0200MasseR(~MasseR@51.15.143.128)
2021-10-25 17:41:55 +0200MQ-17J(~MQ-17J@8.21.10.17) (Ping timeout: 260 seconds)
2021-10-25 17:42:08 +0200segfaultfizzbuzz(~segfaultf@135-180-0-138.static.sonic.net)
2021-10-25 17:42:08 +0200 <dminuoso> Yeah, I pretty much confirmed it now.
2021-10-25 17:42:17 +0200 <dminuoso> Diff seems to have a fundamental bug.
2021-10-25 17:42:22 +0200 <dminuoso> Uh this hurts.
2021-10-25 17:42:31 +0200MQ-17J(~MQ-17J@8.21.10.17)
2021-10-25 17:42:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 17:44:06 +0200dschrempf(~dominik@188-143-59-231.pool.digikabel.hu) (Ping timeout: 244 seconds)
2021-10-25 17:46:52 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 17:50:02 +0200rond_(~rond_@2a02:a31a:a23c:f480:2fd7:e087:5546:a438) (Quit: Client closed)
2021-10-25 17:51:19 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76) (Remote host closed the connection)
2021-10-25 17:51:22 +0200 <kritzefitz> is there a version of `traverse` for `Alternative` that ignores `empty` results in the result?
2021-10-25 17:51:23 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 264 seconds)
2021-10-25 17:51:35 +0200 <janus> which diff package is that?
2021-10-25 17:51:39 +0200 <dminuoso> Diff
2021-10-25 17:51:42 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76)
2021-10-25 17:52:17 +0200 <dminuoso> Or I have some pretty deep `text` bug creeping up here.
2021-10-25 17:52:25 +0200 <dminuoso> Let me try switching this to string
2021-10-25 17:55:53 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 17:58:11 +0200[itchyjunk](~itchyjunk@user/itchyjunk/x-7353470) (Quit: Leaving)
2021-10-25 17:58:44 +0200 <janus> kritzefitz: wouldn't it be possible to do "traverse (\x -> do y <- myFun x; guard (y /= empty); pure y)" or is there something more to it?
2021-10-25 18:00:00 +0200 <dminuoso> kritzefitz: Yes, it's called Witherable
2021-10-25 18:00:13 +0200 <dminuoso> With the contained class method `wither`
2021-10-25 18:00:21 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 18:00:35 +0200 <dminuoso> wither :: (Witherable t, Applicative f) => (a -> f (Maybe b)) -> t a -> f (t b)
2021-10-25 18:00:42 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 18:00:42 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 18:00:42 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 18:01:15 +0200 <dminuoso> janus: And no you cant
2021-10-25 18:01:17 +0200 <dminuoso> % :t guard
2021-10-25 18:01:18 +0200 <yahb> dminuoso: Alternative f => Bool -> f ()
2021-10-25 18:01:21 +0200 <dminuoso> % :t traverse
2021-10-25 18:01:21 +0200 <yahb> dminuoso: (Traversable t, Applicative f) => (a -> f b) -> t a -> f (t b)
2021-10-25 18:01:29 +0200 <janus> ah bummeeeeeer
2021-10-25 18:01:41 +0200 <dminuoso> janus: traverse in its laws guarantees that you cant change its chape
2021-10-25 18:01:43 +0200 <dminuoso> *shape
2021-10-25 18:02:01 +0200 <dminuoso> But Witherable roughly fits what kritzefitz asked for, though it doesnt quite work with Alternative.
2021-10-25 18:02:10 +0200 <kritzefitz> Hmm, maybe I'm asking for a too general case. Let me rephrase.
2021-10-25 18:02:52 +0200 <dminuoso> Hooray. Okay, I managed to reduce the Diff bug to a test case of comparing two string lists of 5 elements each.
2021-10-25 18:03:28 +0200 <dminuoso> And in that degenerate case, I roughly get [First "foo", Second "foo"] as a sublist.
2021-10-25 18:03:31 +0200 <dminuoso> This is so broken...
2021-10-25 18:03:41 +0200 <kritzefitz> I have a bunch of STM actions (currently in a Set, but I could live with using a list) actions and I want to run them all and get all results that don't retry.
2021-10-25 18:03:53 +0200 <janus> to bad the project is on darcs so you'll never find out how many other people emailed Sterling Clover about the same issue ;)
2021-10-25 18:05:11 +0200xff0x(~xff0x@2001:1a81:538f:ce00:2246:a77f:21ad:4c1c) (Ping timeout: 264 seconds)
2021-10-25 18:05:12 +0200 <dminuoso> I think Im using it wrong.
2021-10-25 18:05:13 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-10-25 18:05:17 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-10-25 18:05:35 +0200 <dminuoso> This is more likely than me discovering a fundamental bug in Diff which seems to drive thousands of projects.
2021-10-25 18:05:46 +0200xff0x(~xff0x@2001:1a81:538f:ce00:3337:5557:9d4:4565)
2021-10-25 18:05:48 +0200 <dminuoso> Time to read the paper I guess
2021-10-25 18:05:54 +0200jakalx(~jakalx@base.jakalx.net)
2021-10-25 18:06:59 +0200 <janus> 79 reverse deps: https://packdeps.haskellers.com/reverse/Diff
2021-10-25 18:07:00 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
2021-10-25 18:07:14 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 18:07:41 +0200 <dminuoso> janus: The download count suggests this appears on many many projects.
2021-10-25 18:07:46 +0200 <dminuoso> Even if transitively
2021-10-25 18:07:47 +0200Hecatejust posted a controversial message on libraries@
2021-10-25 18:07:49 +0200neurocyte0132889(~neurocyte@212.232.86.211)
2021-10-25 18:07:49 +0200neurocyte0132889(~neurocyte@212.232.86.211) (Changing host)
2021-10-25 18:07:49 +0200neurocyte0132889(~neurocyte@user/neurocyte)
2021-10-25 18:07:52 +0200 <Hecate> pray for my soul
2021-10-25 18:08:05 +0200 <dminuoso> Hecate: Are there non-controversial messages on that ml?
2021-10-25 18:08:08 +0200 <janus> well aeson depends on Diff. that alone should account for it
2021-10-25 18:08:38 +0200 <dminuoso> janus: haha careful
2021-10-25 18:08:40 +0200 <janus> but most people probably do not rely on that part of aeson ;)
2021-10-25 18:08:46 +0200 <Hecate> dminuoso: hahahaha
2021-10-25 18:08:49 +0200 <dminuoso> This is just used in its test suite, in just a single occurence
2021-10-25 18:09:13 +0200 <janus> ok, maybe it is from dhall, fourmolu, hledger or pandoc then :P
2021-10-25 18:09:39 +0200 <geekosaur> well. nice big bikeshed for everyone to paint
2021-10-25 18:10:03 +0200 <geekosaur> flip side, this one actually has a reason, unlike the original proposal
2021-10-25 18:10:17 +0200 <Hecate> dminuoso: I've posted about the "single-method Eq" change
2021-10-25 18:10:51 +0200Null_A(~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9)
2021-10-25 18:11:18 +0200janusopens ML expecting to read about HoTT
2021-10-25 18:11:26 +0200 <geekosaur> then, as Ord needs to be changed anyway, might as well go all the way and introduce PartialOrd at the same time
2021-10-25 18:11:29 +0200 <Hecate> janus: no, thank go no
2021-10-25 18:11:33 +0200 <Hecate> *god
2021-10-25 18:11:39 +0200 <dminuoso> janus: Okay, I think Im just holding it wrong.
2021-10-25 18:11:47 +0200 <dminuoso> at the very least this is a documentation bug.
2021-10-25 18:12:00 +0200cedeon(~cedeon@97e55b5b.skybroadband.com) (Quit: leaving)
2021-10-25 18:12:09 +0200 <Hecate> https://mail.haskell.org/pipermail/libraries/2021-October/031492.html <- this is my email
2021-10-25 18:13:03 +0200 <geekosaur> or, since Ord is apparently documented to be a partial order, introduce TotalOrd and let the next wave of bikeshedding wait until it's settled a few versions on
2021-10-25 18:14:04 +0200dschrempf(~dominik@2a01-036d-0118-8903-cceb-e4ad-7ffa-bf77.pool6.digikabel.hu)
2021-10-25 18:14:06 +0200 <Hecate> geekosaur: ;_;
2021-10-25 18:14:10 +0200 <Hecate> nuh
2021-10-25 18:20:11 +0200xff0x(~xff0x@2001:1a81:538f:ce00:3337:5557:9d4:4565) (Ping timeout: 260 seconds)
2021-10-25 18:20:17 +0200 <fryguybob> kritzefitz: All in one transation or running separately?
2021-10-25 18:20:29 +0200 <kritzefitz> All in one transaction.
2021-10-25 18:20:57 +0200xff0x(~xff0x@2001:1a81:538f:ce00:ef89:3777:7c2d:5013)
2021-10-25 18:22:09 +0200 <Hecate> /2
2021-10-25 18:24:07 +0200 <kritzefitz> Ah, now I understand dminuoso's comment. I not only need "Witherable" but also "optional".
2021-10-25 18:24:11 +0200 <shapr> /3
2021-10-25 18:25:27 +0200 <fryguybob> kritzefitz: Something like: atomically . mapM (\t -> (Just <$> t) `orElse` pure Nothing)
2021-10-25 18:26:36 +0200 <dminuoso> kritzefitz: wither + optional sounds fairly expressive :)
2021-10-25 18:26:47 +0200dschrempf(~dominik@2a01-036d-0118-8903-cceb-e4ad-7ffa-bf77.pool6.digikabel.hu) (Ping timeout: 264 seconds)
2021-10-25 18:27:21 +0200 <kritzefitz> Yeah, but I'd like to avoid the additional dependency on witherable, so I'm probably gonna go with catMaybes + optional.
2021-10-25 18:27:33 +0200 <dminuoso> Absolutely, catMaybes is just wither monomorphized to list.
2021-10-25 18:27:43 +0200 <janus> kritzefitz: have you seen `withered` here https://chrispenner.ca/posts/witherable-optics
2021-10-25 18:28:00 +0200 <dminuoso> In our project I simply defined `wither` on the spot for the datatype I used rather than depend on witherable too
2021-10-25 18:28:06 +0200 <dminuoso> Personally I think `Witherable` should have been in base.
2021-10-25 18:29:11 +0200marinelli(~marinelli@gateway/tor-sasl/marinelli) (Quit: marinelli)
2021-10-25 18:29:24 +0200 <dminuoso> kritzefitz: Hold on, the above characterization is wrong.
2021-10-25 18:29:42 +0200 <dminuoso> wither f t = catMaybes <$> traverse f t
2021-10-25 18:29:44 +0200 <dminuoso> witherAlt f = wither (optional . f)
2021-10-25 18:29:48 +0200 <dminuoso> kritzefitz: ^- haha. I even wrote witherAlt too! :)
2021-10-25 18:29:58 +0200 <dminuoso> This is straight from our largest project
2021-10-25 18:30:24 +0200 <janus> (witherAlt is withered from Chris Penner)
2021-10-25 18:30:58 +0200 <dsal> I saw a thing once that described the difference between adding data and functionality in OO vs. FP and can't remember it. I need that right now for someone who's wanting to "extend" data types. Anyone have any idea what I'm thinking of?
2021-10-25 18:31:34 +0200 <fryguybob> kritzefitz: Note that the order you are running these actions can have an effect on what result you get.
2021-10-25 18:31:37 +0200 <dminuoso> dsal: Mmm, sounds like the expressibility problem?
2021-10-25 18:31:44 +0200 <dminuoso> Or expression problem its called
2021-10-25 18:32:02 +0200 <kritzefitz> fryguybob: even if all the actions are read-only?
2021-10-25 18:32:14 +0200 <dsal> dminuoso: Yeah, thanks!
2021-10-25 18:32:44 +0200 <dminuoso> kritzefitz: Potentially, yes.
2021-10-25 18:32:51 +0200 <fryguybob> kritzefitz: Read-only actions commute with each other.
2021-10-25 18:32:52 +0200 <dminuoso> If there's other threads working these things in parallel
2021-10-25 18:33:07 +0200mvk_(~mvk@2607:fea8:5cc1:300::7f76)
2021-10-25 18:33:20 +0200 <dminuoso> That is, even if your wither on the structure causes read-only, if there's mutation operations outside, it could alter the behavior evidently
2021-10-25 18:33:26 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 245 seconds)
2021-10-25 18:33:32 +0200 <fryguybob> kritzefitz: But say one action has a lot of reads, if that is at the end, there is a higher probability that the whole transction will succeed, so the performance can change.
2021-10-25 18:33:41 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-10-25 18:33:54 +0200 <dminuoso> kritzefitz: Also, since STM is monadic, the read output can influence the further action selection...
2021-10-25 18:34:04 +0200 <dminuoso> So yeah. The order can still have an impact.
2021-10-25 18:34:17 +0200 <dminuoso> Ah but hold on
2021-10-25 18:34:20 +0200 <dminuoso> Nevermin dme
2021-10-25 18:34:20 +0200 <janus> dminuoso: where is optional from?
2021-10-25 18:34:26 +0200 <dminuoso> janus: base
2021-10-25 18:34:30 +0200 <dminuoso> % :i optional
2021-10-25 18:34:31 +0200 <yahb> dminuoso: optional :: Alternative f => f a -> f (Maybe a) -- Defined in `Control.Applicative'
2021-10-25 18:34:35 +0200mvk(~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 264 seconds)
2021-10-25 18:34:50 +0200 <dminuoso> Very useful in parser combinators and STM
2021-10-25 18:35:04 +0200dajoer(~david@user/gvx) (Quit: leaving)
2021-10-25 18:35:27 +0200 <janus> oh i hadn't realized that :info puts a comment on the type
2021-10-25 18:35:29 +0200 <janus> how rare
2021-10-25 18:35:47 +0200 <Franciman> mundane ^^
2021-10-25 18:35:57 +0200 <Franciman> ah no
2021-10-25 18:36:00 +0200 <Franciman> not mundane
2021-10-25 18:36:03 +0200 <Franciman> ^^
2021-10-25 18:36:09 +0200 <Franciman> false friends
2021-10-25 18:36:13 +0200 <Franciman> fancy
2021-10-25 18:36:16 +0200 <Franciman> I meant
2021-10-25 18:37:09 +0200 <janus> Franciman: which language is the false friend in?
2021-10-25 18:37:22 +0200 <kritzefitz> Now I'm confused. Does the order of read-only actions in STM matter or does it not?
2021-10-25 18:38:10 +0200 <kritzefitz> Apart from performance. I don't think that matters a lot in my case, because the whole transaction is read-only.
2021-10-25 18:38:21 +0200 <Franciman> I thought it meant mondano, janus in italian, which means: brillantly and clostly refined
2021-10-25 18:38:23 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-25 18:39:40 +0200 <fryguybob> kritzefitz: The only difference if they are all read only would be performance.
2021-10-25 18:42:39 +0200 <kritzefitz> Do you have an example of when performance would be affected?
2021-10-25 18:44:36 +0200Null_A(~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9) (Remote host closed the connection)
2021-10-25 18:44:43 +0200 <fryguybob> kritzefitz: The one I gave above. You can think of every transaction as having a probability of committing. Each read has a probability that the value seen gets overwritten. If highly likely to be overwritten reads happen first, that decresses the probability of commit vs if they happen last.
2021-10-25 18:46:23 +0200 <fryguybob> Failing ot commit means the transaction has to be run again (this is not the same as retry ) and that takes time.
2021-10-25 18:47:20 +0200 <kritzefitz> Ok, sure. But is there actually a possibility that a transactions has to be run again, if it never "retry"s?
2021-10-25 18:47:35 +0200 <fryguybob> kritzefitz: Absolutely.
2021-10-25 18:47:52 +0200 <fryguybob> kritzefitz: Any observation of a change in the read leads to running the transaction again.
2021-10-25 18:48:02 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-10-25 18:48:02 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Changing host)
2021-10-25 18:48:02 +0200wroathe(~wroathe@user/wroathe)
2021-10-25 18:48:06 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 18:48:08 +0200 <kritzefitz> Ah, right.
2021-10-25 18:49:48 +0200 <kritzefitz> Would running multiple transactions actually be better in this case?
2021-10-25 18:50:13 +0200 <fryguybob> If you can get a way with it is almost always better to have more smaller transactions than one big one.
2021-10-25 18:50:41 +0200 <fryguybob> But there is per-transaction overhead.
2021-10-25 18:51:38 +0200 <fryguybob> There is also readTVarIO which is much faster than atomically . readTVar
2021-10-25 18:52:49 +0200wroathe(~wroathe@user/wroathe) (Ping timeout: 244 seconds)
2021-10-25 18:52:51 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-10-25 18:52:57 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 265 seconds)
2021-10-25 18:58:07 +0200ByronJohnson(~bairyn@50-250-232-19-static.hfc.comcastbusiness.net)
2021-10-25 18:58:51 +0200mvk_(~mvk@2607:fea8:5cc1:300::7f76) (Ping timeout: 245 seconds)
2021-10-25 18:58:56 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-10-25 19:00:26 +0200econo(uid147250@user/econo)
2021-10-25 19:21:46 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 245 seconds)
2021-10-25 19:23:51 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-10-25 19:35:48 +0200guniberas(~guniberas@42.191.188.121) (Ping timeout: 260 seconds)
2021-10-25 19:35:50 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-25 19:36:31 +0200chisui(~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de)
2021-10-25 19:37:46 +0200jgeerds(~jgeerds@55d40de2.access.ecotel.net)
2021-10-25 19:42:27 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-25 19:46:19 +0200cfricke(~cfricke@user/cfricke) (Quit: WeeChat 3.3)
2021-10-25 19:47:43 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-10-25 19:47:56 +0200MQ-17J(~MQ-17J@8.21.10.17) (Ping timeout: 260 seconds)
2021-10-25 19:48:01 +0200hendursaga(~weechat@user/hendursaga) (Quit: hendursaga)
2021-10-25 19:48:31 +0200hendursaga(~weechat@user/hendursaga)
2021-10-25 19:49:05 +0200ubert1(~Thunderbi@178.115.41.93.wireless.dyn.drei.com)
2021-10-25 19:55:18 +0200 <justsomeguy> I'm getting -Wincomplete-patterns warnings on this function https://github.com/kingparra/hpfp/blob/master/08_-_recursion/exercises/8.6.3_-_recursion.rst.d/sum…
2021-10-25 19:55:39 +0200 <justsomeguy> How do I figure out which type it is partial for?
2021-10-25 19:55:59 +0200 <monochrom> The same type "a".
2021-10-25 19:56:02 +0200 <monochrom> @type signum
2021-10-25 19:56:03 +0200 <lambdabot> Num a => a -> a
2021-10-25 19:56:34 +0200Heisen(~Heisen@77.240.67.20)
2021-10-25 19:56:41 +0200 <monochrom> It is very unclear that 0, 1, -1 cover all cases, even to humans.
2021-10-25 19:56:45 +0200 <awpr> GHC doesn't understand that signum can only ever return {0, 1, -1}, it's just Int
2021-10-25 19:56:55 +0200 <monochrom> Indeed, try signum on Complex Double.
2021-10-25 19:57:06 +0200 <geekosaur> this is in a way a shortcoming of signum, it should really use an ADT
2021-10-25 19:57:20 +0200 <geekosaur> although there is that, yeh
2021-10-25 19:57:48 +0200 <awpr> is it a unit vector of the same direction as the input?
2021-10-25 19:57:53 +0200 <awpr> (or zero)
2021-10-25 19:58:18 +0200 <monochrom> Let's try!
2021-10-25 19:58:37 +0200 <monochrom> > signum (3.0 :+ 4.0)
2021-10-25 19:58:39 +0200 <lambdabot> 0.6 :+ 0.8
2021-10-25 19:58:52 +0200 <monochrom> > 0.6^2 + 0.8^2
2021-10-25 19:58:53 +0200 <lambdabot> 1.0
2021-10-25 19:59:05 +0200 <justsomeguy> Ok, intersting, I didn't know that Data.Complex existed until just now.
2021-10-25 19:59:20 +0200 <awpr> that one worked out pleasingly well as far as decimal arithmetic goes
2021-10-25 19:59:40 +0200 <monochrom> I chose pleasing examples :)
2021-10-25 20:00:04 +0200 <monochrom> 3,4,5 is a well-known Pythagorean triple :)
2021-10-25 20:00:45 +0200 <dolio> Yeah, but is dividing by 5 known to not cause eventual results like 1.000000001?
2021-10-25 20:01:01 +0200jassob2(~jassob@korrob.vth.sgsnet.se) (Ping timeout: 244 seconds)
2021-10-25 20:01:05 +0200 <dolio> :)
2021-10-25 20:01:29 +0200dschrempf(~dominik@2a01-036d-0118-8903-0da8-d413-8f1a-53ab.pool6.digikabel.hu)
2021-10-25 20:01:57 +0200 <monochrom> > magnitude (signum (3.0 :+ 4.0))
2021-10-25 20:01:58 +0200 <lambdabot> 1.0
2021-10-25 20:02:03 +0200 <monochrom> > magnitude (signum (3.0 :+ 4.0)) - 1
2021-10-25 20:02:04 +0200 <lambdabot> 0.0
2021-10-25 20:02:11 +0200 <monochrom> I'm lucky!
2021-10-25 20:05:00 +0200max22-(~maxime@2a01cb0883359800961d59787a71faaa.ipv6.abo.wanadoo.fr) (Ping timeout: 260 seconds)
2021-10-25 20:05:41 +0200hendursaga(~weechat@user/hendursaga) (Remote host closed the connection)
2021-10-25 20:06:23 +0200dschrempf(~dominik@2a01-036d-0118-8903-0da8-d413-8f1a-53ab.pool6.digikabel.hu) (Ping timeout: 264 seconds)
2021-10-25 20:06:42 +0200hendursaga(~weechat@user/hendursaga)
2021-10-25 20:07:42 +0200 <Heisen> Good evening, could someone help me get this to work? Ive been stuck for a while. https://paste.tomsmeding.com/m4s9flyC
2021-10-25 20:08:42 +0200 <Heisen> Also I am new to IO so no complicated functions
2021-10-25 20:10:01 +0200 <monochrom> In what sense does it "not" "work"?
2021-10-25 20:10:20 +0200ubert1(~Thunderbi@178.115.41.93.wireless.dyn.drei.com) (Ping timeout: 260 seconds)
2021-10-25 20:11:01 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 20:13:17 +0200 <dminuoso> Also what is "copyAll"?
2021-10-25 20:14:12 +0200mvk_(~mvk@2607:fea8:5cc1:300::4a62)
2021-10-25 20:15:13 +0200mvk_(~mvk@2607:fea8:5cc1:300::4a62) (Client Quit)
2021-10-25 20:15:30 +0200mvk(~mvk@2607:fea8:5cc1:300::4a62)
2021-10-25 20:16:24 +0200justsomeguy(~justsomeg@user/justsomeguy) (Ping timeout: 260 seconds)
2021-10-25 20:16:32 +0200 <Heisen> not the other ones
2021-10-25 20:18:34 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
2021-10-25 20:21:30 +0200bitmapper(uid464869@id-464869.lymington.irccloud.com)
2021-10-25 20:21:36 +0200mc47(~mc47@xmonad/TheMC47)
2021-10-25 20:21:47 +0200 <monochrom> I think dminuoso's question is also relevant.
2021-10-25 20:22:25 +0200aplainze1akindaplainzetakind
2021-10-25 20:22:43 +0200 <Heisen> It takes a couple of .txt files and add the contents together in a new file
2021-10-25 20:23:02 +0200 <monochrom> files? filenames?
2021-10-25 20:23:48 +0200alx741(~alx741@186.178.108.74)
2021-10-25 20:24:47 +0200 <dminuoso> Best to share its definition in a paste.
2021-10-25 20:25:13 +0200 <monochrom> dminuoso, it is a recursive call.
2021-10-25 20:25:21 +0200 <geekosaur> they pasted it earlier
2021-10-25 20:25:22 +0200 <dminuoso> Oh.,
2021-10-25 20:25:26 +0200 <Heisen> I pasted it already?
2021-10-25 20:25:33 +0200dlss^(~dlss@wsip-68-227-92-38.mc.at.cox.net)
2021-10-25 20:25:33 +0200 <dminuoso> Haha, sorry I actually did not realize that.
2021-10-25 20:25:45 +0200 <monochrom> But what's in xs and is it what copyAll should expect?
2021-10-25 20:27:02 +0200 <yin> what do we call the ability of a language's function containing references to itself?
2021-10-25 20:27:15 +0200 <monochrom> recursion
2021-10-25 20:27:31 +0200 <geekosaur> explicit recursion, to be more precise
2021-10-25 20:27:54 +0200 <geekosaur> (as distinct from, say, using fix to achieve recursion)
2021-10-25 20:27:59 +0200jkaye(~jkaye@2601:281:8300:7530:b96c:a192:af21:58d1) (Ping timeout: 264 seconds)
2021-10-25 20:28:04 +0200 <yin> geekosaur: that's it
2021-10-25 20:28:10 +0200 <Heisen> For example you have three .txt files, a.txt has hello, b.txt has help, c.txt has me. We call copyAll ["a.txt","b.txt","c.txt"] "d.txt"
2021-10-25 20:28:21 +0200 <Heisen> and we should expect d.txt to have hello help me
2021-10-25 20:29:05 +0200 <monochrom> Have you printed out xs to verify that it looks like ["b.txt", "c.txt"] for example?
2021-10-25 20:29:34 +0200 <monochrom> Or rather, more succintly, you evaded my question.
2021-10-25 20:30:02 +0200 <monochrom> My questions are guiding questions, if you evade them you learn nothing, you're just stuck with your confirmation bias.
2021-10-25 20:30:45 +0200 <maerwald> `(x:xs) <- sequence $ map readFile fromFiles`
2021-10-25 20:31:06 +0200 <awpr> #haskell corollary to Betteridge's law: when a question is answered with the question, the answer is the opposite of what you think
2021-10-25 20:31:07 +0200 <maerwald> that looks like a partial pattern match
2021-10-25 20:31:19 +0200 <awpr> with a question*
2021-10-25 20:31:36 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Remote host closed the connection)
2021-10-25 20:32:57 +0200 <maerwald> but yeah, it makes no sense
2021-10-25 20:33:29 +0200 <monochrom> The whole thing makes no sense, really. For example I wonder why not sequence_
2021-10-25 20:34:19 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67)
2021-10-25 20:34:31 +0200 <monochrom> But let's stab this existing solution bit by bit to a slow death first. >:)
2021-10-25 20:34:36 +0200 <maerwald> you could fix it by unsafeInterleaveIO xD
2021-10-25 20:34:50 +0200 <maerwald> in order to not read unnecessary files
2021-10-25 20:34:55 +0200 <monochrom> I think readFile already contains the necessary unsafeInterleaveIO.
2021-10-25 20:35:34 +0200 <maerwald> monochrom: well, it causes an open syscall still
2021-10-25 20:35:41 +0200 <maerwald> just the contents are lazy
2021-10-25 20:35:52 +0200 <maerwald> afaik
2021-10-25 20:36:04 +0200 <monochrom> Yes.
2021-10-25 20:36:29 +0200 <maerwald> lazy IO in Prelude was a mistak
2021-10-25 20:36:33 +0200 <maerwald> lazy IO is hard
2021-10-25 20:37:54 +0200 <Heisen> xs <- sequence $ map readFile fromFiles
2021-10-25 20:37:54 +0200 <Heisen> writeFile toFile (concat xs)
2021-10-25 20:38:04 +0200 <Heisen> solved, thanks anyway.
2021-10-25 20:38:07 +0200 <maerwald> Heisen: what?
2021-10-25 20:38:19 +0200 <maerwald> do you know what that does?
2021-10-25 20:38:30 +0200 <Heisen> Yep
2021-10-25 20:38:34 +0200 <maerwald> what does it do?
2021-10-25 20:39:20 +0200 <monochrom> Uh, I wouldn't ask that question, because any answer would be informationless anyway, in the same sense as...
2021-10-25 20:39:25 +0200tinhatcat(~manjaro-g@2620:103:a000:2201:8e4c:af6a:e11c:11a1)
2021-10-25 20:39:35 +0200 <monochrom> <Q> Did you lie? <A> No.
2021-10-25 20:39:41 +0200chele(~chele@user/chele) (Remote host closed the connection)
2021-10-25 20:39:52 +0200 <maerwald> Heisen: please check the contents after you've written the files :)
2021-10-25 20:40:06 +0200tinhatcat(~manjaro-g@2620:103:a000:2201:8e4c:af6a:e11c:11a1) (Client Quit)
2021-10-25 20:40:35 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 20:43:19 +0200dschrempf(~dominik@2a01-036d-0118-8903-19ca-cfaa-56ae-bb18.pool6.digikabel.hu)
2021-10-25 20:44:45 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-10-25 20:45:06 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-10-25 20:46:23 +0200 <Inst> why do I keep on getting parse error on input |?
2021-10-25 20:46:38 +0200 <dminuoso> Inst: Share your code.
2021-10-25 20:47:19 +0200 <monochrom> "It depends." :)
2021-10-25 20:47:20 +0200 <Inst> It's utter noob crap
2021-10-25 20:47:21 +0200 <Inst> https://cdn.discordapp.com/attachments/528863657363505159/902267069444292608/unknown.png
2021-10-25 20:47:46 +0200 <monochrom> I don't see the parse error.
2021-10-25 20:47:47 +0200 <dminuoso> monochrom: haha, I was intent on writing the same thing as a conclusion from the chat in -ot
2021-10-25 20:48:14 +0200 <monochrom> In addition to why do you still think a screen crop is a good idea.
2021-10-25 20:48:16 +0200 <geekosaur> not` x
2021-10-25 20:48:28 +0200 <geekosaur> ` should perhaps be '
2021-10-25 20:49:14 +0200 <dminuoso> Mmm, this would require a more sophisticated lexer to error out better right?
2021-10-25 20:49:22 +0200 <geekosaur> yeh
2021-10-25 20:50:56 +0200Heisen(~Heisen@77.240.67.20) (Quit: Client closed)
2021-10-25 20:51:47 +0200 <Inst> ah, thanks
2021-10-25 20:51:56 +0200 <Inst> Still new, can't remember to use grave instead of single quote
2021-10-25 20:52:24 +0200 <Inst> oh wait, it should be single quote, not grave, right?
2021-10-25 20:52:40 +0200 <dminuoso> Indeed.
2021-10-25 20:52:53 +0200 <Inst> thanks
2021-10-25 20:54:30 +0200zer0bitz(~zer0bitz@dsl-hkibng31-54fae3-116.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-10-25 20:58:05 +0200dschrempf(~dominik@2a01-036d-0118-8903-19ca-cfaa-56ae-bb18.pool6.digikabel.hu) (Ping timeout: 260 seconds)
2021-10-25 20:58:11 +0200max22-(~maxime@2a01cb088335980089ed6f978d54394c.ipv6.abo.wanadoo.fr)
2021-10-25 20:58:12 +0200jakalx(~jakalx@base.jakalx.net) ()
2021-10-25 21:00:23 +0200alzgh(~alzgh@user/alzgh) (Remote host closed the connection)
2021-10-25 21:00:24 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
2021-10-25 21:03:44 +0200jakalx(~jakalx@base.jakalx.net)
2021-10-25 21:03:46 +0200hippoid(~idris@184.105.6.88)
2021-10-25 21:03:51 +0200 <hippoid> :t fmap.return
2021-10-25 21:03:53 +0200 <lambdabot> Functor f => b -> f a -> f b
2021-10-25 21:04:16 +0200 <hippoid> why is that type class restraint Functor f and not Monad m?
2021-10-25 21:04:24 +0200 <hippoid> :t return
2021-10-25 21:04:24 +0200 <dminuoso> hippoid: the name is utterly misleading.
2021-10-25 21:04:25 +0200 <lambdabot> Monad m => a -> m a
2021-10-25 21:04:41 +0200 <dminuoso> Probably some historical accident, something from our dark past better not mentioned.
2021-10-25 21:04:50 +0200 <dminuoso> return = <$
2021-10-25 21:04:57 +0200 <dminuoso> % :t (<$)
2021-10-25 21:04:57 +0200 <yahb> dminuoso: Functor f => a -> f b -> f a
2021-10-25 21:05:29 +0200 <hippoid> dminuoso: what name is utterly misleading?
2021-10-25 21:05:32 +0200 <monochrom> No, instead, I think a particular Monad instance is forced.
2021-10-25 21:05:53 +0200 <tomsmeding> :t \x -> fmap . x
2021-10-25 21:05:54 +0200 <lambdabot> Functor f => (a1 -> a2 -> b) -> a1 -> f a2 -> f b
2021-10-25 21:05:54 +0200 <dminuoso> Ohh hold on. Somehow I read this as `Data.Functor.return`
2021-10-25 21:05:58 +0200 <dminuoso> My mind is playing tricks on me today
2021-10-25 21:06:09 +0200 <tomsmeding> :t return :: a -> b -> c
2021-10-25 21:06:10 +0200 <lambdabot> error:
2021-10-25 21:06:10 +0200 <lambdabot> • Couldn't match type ‘a1’ with ‘c1’
2021-10-25 21:06:10 +0200 <lambdabot> ‘a1’ is a rigid type variable bound by
2021-10-25 21:06:31 +0200 <tomsmeding> :t return :: a -> b -> a
2021-10-25 21:06:32 +0200 <lambdabot> a -> b -> a
2021-10-25 21:07:00 +0200 <monochrom> Consider in "\x -> fmap (return x)", consider unifying "a -> b" with "return x :: Monad m => m c"
2021-10-25 21:07:25 +0200d0ku(~d0ku@178.43.15.137.ipv4.supernova.orange.pl)
2021-10-25 21:07:38 +0200 <tomsmeding> yeah, 'return' here is the return of the ((->) b) monad; i.e. it's a -> m b where "m" is "b ->"
2021-10-25 21:07:59 +0200 <tomsmeding> :t fmap . const
2021-10-25 21:08:00 +0200 <lambdabot> Functor f => b -> f a -> f b
2021-10-25 21:08:03 +0200 <tomsmeding> same thing
2021-10-25 21:09:14 +0200 <yin> i'm trying to "really" understand the y combinator and i have a question. would this be a good place to ask?
2021-10-25 21:09:16 +0200 <Boarders> in my hlint file I have: -ignore: {name: "Move brackets to avoid $"}
2021-10-25 21:09:21 +0200 <tomsmeding> :t return :: a -> b -> a
2021-10-25 21:09:22 +0200 <lambdabot> a -> b -> a
2021-10-25 21:09:23 +0200 <tomsmeding> :t (<*>) :: (a -> b -> c) -> (a -> b) -> (a -> c)
2021-10-25 21:09:24 +0200 <lambdabot> (a -> b -> c) -> (a -> b) -> a -> c
2021-10-25 21:09:26 +0200 <Boarders> but I keep getting that suggestion, is there something different I am supposed to write?
2021-10-25 21:09:30 +0200 <tomsmeding> K and S combinators anyone?
2021-10-25 21:10:03 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net) (Ping timeout: 260 seconds)
2021-10-25 21:10:16 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c)
2021-10-25 21:10:18 +0200 <tomsmeding> yin: probably :)
2021-10-25 21:10:52 +0200 <yin> here it goes
2021-10-25 21:10:53 +0200 <yin> Y = λf.(λx.f(x x))(λx.f(x x))
2021-10-25 21:10:53 +0200 <yin> Y = λf.(λx. x x )(λx.f(x x))
2021-10-25 21:10:53 +0200 <yin> ^
2021-10-25 21:10:54 +0200 <monochrom> I wouldn't "understand" the Y combinator. I would understand the diagonal trick first, e.g., my http://www.cs.utoronto.ca/~trebla/CSCC24-2021-Summer/09-semantics-1.html#rec
2021-10-25 21:10:55 +0200 <yin> what difference does this f make?
2021-10-25 21:11:18 +0200unit73e(~emanuel@2001:818:e8dd:7c00:32b5:c2ff:fe6b:5291)
2021-10-25 21:11:26 +0200 <tomsmeding> yin: have you tried just writing out what "Y(f)" evaluates to?
2021-10-25 21:11:41 +0200 <tomsmeding> it should be f(f(f(f(....))))
2021-10-25 21:12:05 +0200MQ-17J(~MQ-17J@d192-24-122-179.try.wideopenwest.com)
2021-10-25 21:13:15 +0200xff0x(~xff0x@2001:1a81:538f:ce00:ef89:3777:7c2d:5013) (Ping timeout: 260 seconds)
2021-10-25 21:13:21 +0200 <monochrom> Or Oleg's https://okmij.org/ftp/Computation/fixed-point-combinators.html#Self-application
2021-10-25 21:14:08 +0200xff0x(~xff0x@2001:1a81:538f:ce00:2234:349c:dfdf:94b7)
2021-10-25 21:16:02 +0200 <yin> tomsmeding: yes
2021-10-25 21:16:13 +0200 <yin> so there is no difference
2021-10-25 21:16:38 +0200 <yin> theoretially at least
2021-10-25 21:16:47 +0200 <tomsmeding> well, with the additional 'f' you have "one extra f"
2021-10-25 21:16:52 +0200 <yin> is there any advantage of using one form over the other?
2021-10-25 21:16:56 +0200 <tomsmeding> which doesn't make a difference because there's infinitely many anyway
2021-10-25 21:17:26 +0200 <tomsmeding> yin: to speak about advantages, you have to give a use case :)
2021-10-25 21:17:30 +0200 <yin> i'm guessing one can be more performant than the other when applied to some language, depending on the implementation?
2021-10-25 21:17:41 +0200 <tomsmeding> I don't know any practical of this form of the fixpoint combinator
2021-10-25 21:17:48 +0200 <tomsmeding> s/practical/practical uses/
2021-10-25 21:18:07 +0200 <hippoid> so how does fmap.const and fmap.return have the same type? const is a->b->a, and return is a -> M a. Should I think of return as taking two parameters?
2021-10-25 21:18:17 +0200 <hippoid> :t fmap.const
2021-10-25 21:18:18 +0200 <lambdabot> Functor f => b -> f a -> f b
2021-10-25 21:18:21 +0200 <hippoid> :t fmap.return
2021-10-25 21:18:22 +0200 <tomsmeding> any language that cares about performance is going to implement the fixpoint combinator differently
2021-10-25 21:18:23 +0200 <lambdabot> Functor f => b -> f a -> f b
2021-10-25 21:18:29 +0200 <monochrom> <monochrom> Consider in "\x -> fmap (return x)", consider unifying "a -> b" with "return x :: Monad m => m c"
2021-10-25 21:18:52 +0200 <monochrom> After that, consider how, for that Monad instance, return = const.
2021-10-25 21:19:05 +0200 <tomsmeding> another hint: note that "a -> b" is the same as "(->) a b"
2021-10-25 21:19:14 +0200motherfsck(~motherfsc@user/motherfsck) (Ping timeout: 260 seconds)
2021-10-25 21:19:22 +0200 <hippoid> ok good stuff, need to chew on that
2021-10-25 21:19:55 +0200 <tomsmeding> partial application of (->), always sparkly the first time you taste it :)
2021-10-25 21:20:12 +0200 <hippoid> lol
2021-10-25 21:20:24 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Quit: = "")
2021-10-25 21:20:27 +0200 <geekosaur> not to say mind-warping
2021-10-25 21:20:43 +0200chisui(~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de) (Quit: Client closed)
2021-10-25 21:20:44 +0200 <geekosaur> don't feel bad that it isn't clicking, people always have prolems the first time they hit this
2021-10-25 21:20:58 +0200 <geekosaur> and it takes a while to get used to
2021-10-25 21:21:06 +0200chisui(~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de)
2021-10-25 21:21:10 +0200 <hippoid> and i assume it's worth understanding?
2021-10-25 21:21:17 +0200 <monochrom> YES
2021-10-25 21:21:18 +0200 <geekosaur> it is, yes
2021-10-25 21:21:28 +0200 <tomsmeding> the ((->) a) instance is very useful for pointfree code golfing :p
2021-10-25 21:21:58 +0200 <tomsmeding> but disregarding that, understanding this will help a lot in getting a better feel for how Haskell's type system orks
2021-10-25 21:22:00 +0200 <tomsmeding> *works
2021-10-25 21:22:11 +0200 <tomsmeding> even if you won't use this instance often in particular
2021-10-25 21:22:34 +0200 <monochrom> And enriching what you know what "monad" means.
2021-10-25 21:22:50 +0200 <hippoid> good to know the path is a worthy one
2021-10-25 21:22:51 +0200 <monochrom> Since every surprising example enriches it.
2021-10-25 21:23:16 +0200 <zincy> Are there any alternatives to the Machines library if I want a Mealy machine?
2021-10-25 21:24:01 +0200 <monochrom> People keep asking "where to read yet another wordy intuition of monad" and miss the mark. To build intuition you confront a million examples, not a million essays.
2021-10-25 21:24:16 +0200 <monochrom> Actually true of learning anything.
2021-10-25 21:24:22 +0200 <tomsmeding> yeah
2021-10-25 21:24:56 +0200 <tomsmeding> I achieved some decent working understanding of Monad after I'd implemented a state monad and then a parser combinator monad
2021-10-25 21:25:13 +0200 <monochrom> Another enrichment is to, for example, see the equivalence between "data P a = MkP a a" and "((->) Bool) a". I put that on the exam.
2021-10-25 21:25:14 +0200 <tomsmeding> understanding at least for the common cases, that is
2021-10-25 21:26:04 +0200 <Inst> why do people claim that pattern matching is hard to learn?
2021-10-25 21:26:06 +0200 <tomsmeding> monochrom: where does the monad come in there?
2021-10-25 21:26:29 +0200 <geekosaur> Inst, because people expect to compare values, not match structure
2021-10-25 21:26:38 +0200 <monochrom> You will be surprised that you write >>= for P the same way you would write >>= for (->)e in general, and then just set e=Bool.
2021-10-25 21:26:43 +0200 <Inst> is there something I don't understand about pattern matching?
2021-10-25 21:26:53 +0200 <Inst> like, I'm treating it as effectively an overloaded function
2021-10-25 21:26:57 +0200 <Inst> it should be intuitive
2021-10-25 21:26:59 +0200 <monochrom> And then the even bigger surprise is that this is the only lawful solution for P.
2021-10-25 21:26:59 +0200 <geekosaur> in fact "structure" throws them off because this is where ADTs start to show their power
2021-10-25 21:27:07 +0200 <monochrom> (I learned it the hard way.)
2021-10-25 21:27:17 +0200 <tomsmeding> Inst: maybe because the control flow through pattern matching is non-linear? Like, you go into a pattern, perhaps fail a match, then back outward again and try the next
2021-10-25 21:27:23 +0200 <geekosaur> they just look like funny type declarations until you strat to understand this
2021-10-25 21:27:38 +0200 <geekosaur> *start to
2021-10-25 21:27:48 +0200 <Inst> yeah it's probably because my first language is basic and i haven't done this for years
2021-10-25 21:27:50 +0200Psybur(~Psybur@mobile-166-170-29-12.mycingular.net)
2021-10-25 21:27:51 +0200 <tomsmeding> monochrom: ooh, nice, Monad instance for P
2021-10-25 21:28:00 +0200 <monochrom> Inst: I claim that pattern matching is easy to learn. Now please ask those other people back "why do people claim that pattern matching is easy to learn?"
2021-10-25 21:28:05 +0200 <Inst> ~"Haskell Is The Best Imperative Language"~
2021-10-25 21:28:29 +0200 <monochrom> Pattern matching is so easy to learn, Racket has it.
2021-10-25 21:28:49 +0200 <tomsmeding> C has pattern matching!
2021-10-25 21:29:00 +0200 <tomsmeding> on all the sum types that it supports, which is only integral values
2021-10-25 21:29:16 +0200Null_A(~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9)
2021-10-25 21:29:17 +0200 <dminuoso> tomsmeding: What c has is not real pattern matching.
2021-10-25 21:29:28 +0200 <monochrom> I love vacuously true statements :)
2021-10-25 21:29:34 +0200 <Inst> Pattern Matching is a better or worse written "Switch", I suppose
2021-10-25 21:29:36 +0200 <tomsmeding> okay disregarding that you can goto random places in a switch statement
2021-10-25 21:29:37 +0200 <dminuoso> It's way more complex than that because of fallthrough and additional control flow that can easily interrupt it.
2021-10-25 21:29:45 +0200 <Inst> the annoying thing about pattern matching seems to be having to type in the function over and over again
2021-10-25 21:29:46 +0200 <yin> Inst: nooo
2021-10-25 21:30:01 +0200 <dminuoso> tomsmeding: even then, fallthrough is a disgusting thing.
2021-10-25 21:30:01 +0200 <tomsmeding> Inst: f x y = case x of
2021-10-25 21:30:04 +0200 <monochrom> Also disregard that duff-something device heh
2021-10-25 21:30:09 +0200 <tomsmeding> or if it's the last parameter, use \case
2021-10-25 21:30:22 +0200 <Inst> oh so there's syntax to avoid having to type all the damn patterns
2021-10-25 21:30:28 +0200 <yin> Inst: use pattern guards
2021-10-25 21:30:32 +0200 <tomsmeding> Inst: well, just use a case expression :p
2021-10-25 21:30:35 +0200 <Inst> yeah i prefer guards to pattern matching
2021-10-25 21:30:42 +0200 <monochrom> Yeah people hate "f x = case x of" because it seems to have to type in the "x" over and over again haha
2021-10-25 21:30:55 +0200 <yin> Inst: with pattern guards, you get the best of both worlds
2021-10-25 21:30:59 +0200hippoid(~idris@184.105.6.88) (Quit: leaving)
2021-10-25 21:31:03 +0200 <Inst> idgi, how bad are commodity coders
2021-10-25 21:31:05 +0200 <dminuoso> tomsmeding: and fallthru is problematic because you can create unreadably complex code with it, by carefully placing breaks and interleaving it with effects..
2021-10-25 21:31:08 +0200 <dminuoso> And this is repeatedly done.
2021-10-25 21:31:12 +0200 <yin> i did ONLY pattern guards for everything for a while. it was "My style" :p
2021-10-25 21:31:18 +0200 <tomsmeding> dminuoso: to be honest, Haskell's pattern matching could do with disjunctive patterns, like f (X a | Y a) = ... a ...
2021-10-25 21:31:35 +0200mei(~mei@user/mei) (Ping timeout: 264 seconds)
2021-10-25 21:31:36 +0200 <tomsmeding> dminuoso: yes I'm personally guilty of writing such code at some point
2021-10-25 21:31:38 +0200 <dminuoso> tomsmeding: Sure, but because C interleaves that with effects, its horrid.
2021-10-25 21:32:04 +0200 <monochrom> More seriously, I think the Haskell designers consciously preferred saying "f" over and over again. There is an aesthetic to it when you're the reader.
2021-10-25 21:32:24 +0200 <Inst> repetition is an important element of poetry
2021-10-25 21:32:26 +0200 <Inst> and prose
2021-10-25 21:32:32 +0200 <dminuoso> You can attach side effects to the X case, the Y case, and if the X branch has a fallthrough, then if you provide an X then you have two combined effects, in case of Y you have one.
2021-10-25 21:32:33 +0200vicfred(~vicfred@user/vicfred)
2021-10-25 21:32:35 +0200 <tomsmeding> yeah, though that aesthetic quickly wears down when the repeating part is long enough
2021-10-25 21:32:45 +0200 <dminuoso> And suddenly you have this non-obvious thing
2021-10-25 21:32:46 +0200 <tomsmeding> dminuoso: it's beautiful
2021-10-25 21:32:46 +0200 <monochrom> Right? Because like, even when writing factorial, "f 0 = 1; f (n+1) = ..." looks really nice.
2021-10-25 21:32:56 +0200 <dminuoso> tomsmeding: If you dont have to maintain that code, sure.
2021-10-25 21:32:57 +0200motherfsck(~motherfsc@user/motherfsck)
2021-10-25 21:33:01 +0200 <monochrom> nice to read, of course.
2021-10-25 21:33:02 +0200 <tomsmeding> :D
2021-10-25 21:33:13 +0200 <tomsmeding> monochrom: is that an NplusKpatterns?
2021-10-25 21:33:22 +0200 <monochrom> Yeah that too.
2021-10-25 21:33:26 +0200 <monochrom> Old times.
2021-10-25 21:33:29 +0200 <tomsmeding> juicy
2021-10-25 21:33:52 +0200 <monochrom> We now understand that the computer should simply be telepathic so we need write nothing.
2021-10-25 21:33:55 +0200 <tomsmeding> I feel like if I'd confront students with NplusKpatterns, they'd just get more confused
2021-10-25 21:34:36 +0200 <monochrom> The only obstacle is that we are still not telepathic so you wouldn't be able to ESP the code that I ESP'ed into the computer!
2021-10-25 21:34:53 +0200phma(~phma@host-67-44-209-31.hnremote.net) (Read error: Connection reset by peer)
2021-10-25 21:35:04 +0200tomsmedingreads EFI system partition
2021-10-25 21:35:12 +0200 <monochrom> Yeah no worries I am not teaching "f (n+1) = ..." to students.
2021-10-25 21:35:45 +0200phma(~phma@host-67-44-208-220.hnremote.net)
2021-10-25 21:37:21 +0200 <dminuoso> monochrom: We dont need to be telepathic, we *are* all part of a gigantic planet sized computer built for hyperintelligent, pan-dimensional beings.
2021-10-25 21:37:21 +0200chisui(~chisui@200116b866177f0064c111e1bf5f5ebb.dip.versatel-1u1.de) (Quit: Client closed)
2021-10-25 21:37:58 +0200 <dminuoso> Speaking of which, weechat keeps writing your name in yellow. Mmmm.
2021-10-25 21:38:20 +0200tomsmeding's weechat doesn't
2021-10-25 21:38:35 +0200 <tomsmeding> is that machine-dependent?
2021-10-25 21:38:42 +0200 <dminuoso> Curious question.
2021-10-25 21:38:44 +0200 <geekosaur> inverse bikeshedding!
2021-10-25 21:39:02 +0200 <dminuoso> tomsmeding: Go on a journey and find out?
2021-10-25 21:39:07 +0200tomsmedinggoes
2021-10-25 21:39:22 +0200 <byorgey> is there a library function to do Monad m => [m (Maybe a)] -> m (Maybe a), which runs the computations until the first one which returns Just?
2021-10-25 21:39:44 +0200chisui(~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de)
2021-10-25 21:40:12 +0200 <monochrom> Some kind of msum or asum may be involved.
2021-10-25 21:40:24 +0200 <maerwald> I'd also expect Alternative rather than Maybe a
2021-10-25 21:40:29 +0200 <dminuoso> byorgey: `iterateWhile isJust` from monad-loops?
2021-10-25 21:40:36 +0200 <dminuoso> Ah not quite
2021-10-25 21:40:55 +0200 <dminuoso> Indeed, asum with an appropriate instance seems likely
2021-10-25 21:41:36 +0200 <monochrom> If you convert "m (Maybe a)" to "MaybeT m a" you have "sequence :: [MaybeT m a] -> MaybeT m a"
2021-10-25 21:41:50 +0200Cajun(~Cajun@user/cajun) (Quit: Client closed)
2021-10-25 21:41:52 +0200 <monochrom> Err no, not sequence.
2021-10-25 21:42:05 +0200 <dminuoso> I'd expect it to have a shape of `(Traversable t, Alternative f) => t a -> (a -> f (Maybe b)) -> f b` perhaps?
2021-10-25 21:42:25 +0200 <geekosaur> wouldnm't it be asum at that point?
2021-10-25 21:42:33 +0200 <monochrom> @type asum
2021-10-25 21:42:34 +0200 <lambdabot> (Foldable t, Alternative f) => t (f a) -> f a
2021-10-25 21:42:49 +0200 <monochrom> asum :: [MaybeT m a] -> MaybeT m a
2021-10-25 21:42:52 +0200 <byorgey> ah, asum at MaybeT might do it.
2021-10-25 21:42:58 +0200 <monochrom> :)
2021-10-25 21:43:16 +0200 <byorgey> thanks!
2021-10-25 21:43:48 +0200 <maerwald> https://hackage.haskell.org/package/transformers-0.6.0.2/docs/src/Control.Monad.Trans.Maybe.html#l…
2021-10-25 21:43:50 +0200 <maerwald> looks like it
2021-10-25 21:43:56 +0200 <monochrom> You may also like: unsafeCoerce bwhaahahah
2021-10-25 21:44:11 +0200 <maerwald> some Alternative instances propagate into the inner monad
2021-10-25 21:44:16 +0200 <maerwald> you can never trust classes
2021-10-25 21:44:29 +0200 <monochrom> Sure, I said MaybeT very concretely.
2021-10-25 21:44:36 +0200 <dminuoso> :s/classes/code/
2021-10-25 21:44:49 +0200 <monochrom> s/code//
2021-10-25 21:44:54 +0200myShoggoth(~myShoggot@97-120-85-195.ptld.qwest.net)
2021-10-25 21:45:05 +0200 <maerwald> no, I mean classes... I don't trust classes :)
2021-10-25 21:45:09 +0200 <dminuoso> Now we have a trailing space. :(
2021-10-25 21:45:20 +0200 <dminuoso> M-x delete-trailing-whitespace
2021-10-25 21:45:24 +0200 <dminuoso> Done now?
2021-10-25 21:45:24 +0200 <monochrom> "to be continued"
2021-10-25 21:45:29 +0200 <maerwald> can't even trust them to be lawful
2021-10-25 21:45:48 +0200 <maerwald> and once you enter transformers, is there anything really lawful?
2021-10-25 21:45:57 +0200 <monochrom> Yes.
2021-10-25 21:46:01 +0200 <tomsmeding> dminuoso: weechat.look.nick_color_hash determines a hash function that indexes into weechat.color.chat_nick_colors
2021-10-25 21:46:06 +0200 <tomsmeding> so it's config dependent
2021-10-25 21:46:15 +0200 <monochrom> Err, nevermind, I'm not ready to back it up.
2021-10-25 21:46:19 +0200 <maerwald> heh
2021-10-25 21:46:27 +0200 <maerwald> that was my point
2021-10-25 21:46:47 +0200 <dminuoso> tomsmeding: djb2 for me
2021-10-25 21:46:50 +0200 <tomsmeding> me too
2021-10-25 21:47:00 +0200 <tomsmeding> cyan,magenta,green,brown,lightblue,default,lightcyan,lightmagenta,lightgreen,blue
2021-10-25 21:47:01 +0200 <dminuoso> tomsmeding: Does it perhaps insert ones own name into the hash?
2021-10-25 21:47:20 +0200 <monochrom> Do you trust parametricity?
2021-10-25 21:47:26 +0200 <dminuoso> tomsmeding: Ohh that's it
2021-10-25 21:47:27 +0200 <dminuoso> I have more.
2021-10-25 21:47:36 +0200 <tomsmeding> oh pardon weechat.look.nick_color_hash_salt is also included
2021-10-25 21:47:59 +0200 <tomsmeding> dminuoso: looks like it's just the salt and the nickname to be printed https://github.com/weechat/weechat/blob/950c2bb8985a7c4eccf1c43d34045337fffd3714/src/gui/gui-nick.…
2021-10-25 21:48:15 +0200 <dminuoso> We might have different salts too
2021-10-25 21:48:24 +0200 <tomsmeding> my salt is an empty string lol
2021-10-25 21:48:31 +0200 <dminuoso> Same as well
2021-10-25 21:48:33 +0200 <dminuoso> But I have more colors
2021-10-25 21:48:39 +0200 <monochrom> Right? Much as you say about uncertainty over "StateT s m" for example, since m is parametric, since StateT's >>= can't even ask "which m am I talking about here?", its naughtiness is very much restricted.
2021-10-25 21:48:42 +0200 <dminuoso> weechat.color.chat_nick_colors string "red,lightred,162,167,204,green,lightgreen,035,042,047,084,120,154,148,yellow,brown,165,191,222,208,cyan,045,051,087,117,123,159,lightmagenta,128,171,176,213,111,148"
2021-10-25 21:48:55 +0200 <tomsmeding> now that I realise that I could use more colours because my terminal is cool I want more colours, but I'm afraid of getting different colours for nicks I know
2021-10-25 21:49:19 +0200 <maerwald> monochrom: that would be fantastic... behavior bubbling up lol
2021-10-25 21:49:44 +0200 <maerwald> well
2021-10-25 21:49:46 +0200 <maerwald> we can do that
2021-10-25 21:49:57 +0200 <maerwald> overlapping instances
2021-10-25 21:50:09 +0200tfeb(~tfb@88.98.95.237)
2021-10-25 21:50:30 +0200 <monochrom> You can do that in Java.
2021-10-25 21:50:49 +0200 <tomsmeding> haskell too, but you need to explicitly say you want RTTI (i.e. Typeable)
2021-10-25 21:50:50 +0200 <monochrom> Yes even when only using the generics part of Java.
2021-10-25 21:53:21 +0200 <maerwald> playing hide and seek
2021-10-25 21:53:36 +0200 <maerwald> that sums up my experience with Java
2021-10-25 21:53:48 +0200Guest79(~textual@77.252.63.98)
2021-10-25 21:54:15 +0200 <maerwald> I like trees... I can reason about trees.
2021-10-25 21:54:46 +0200 <Franciman> maerwald: they also absorb co_2
2021-10-25 21:54:57 +0200 <maerwald> depends on the time of the day, no?
2021-10-25 21:54:59 +0200 <monochrom> trees are a social construct
2021-10-25 21:55:04 +0200 <Franciman> yep
2021-10-25 21:55:24 +0200 <Franciman> they also help regulating temperature in their ecosystem
2021-10-25 21:55:33 +0200 <maerwald> even on the command line, I have a mind map of trees...
2021-10-25 21:55:46 +0200 <maerwald> like, `gcc` won't invoke `make`, right?
2021-10-25 21:56:12 +0200 <maerwald> we can't do without trees
2021-10-25 21:56:39 +0200 <Franciman> they also make shadow
2021-10-25 21:56:48 +0200 <Franciman> Literally awesome objects
2021-10-25 21:57:21 +0200chisui(~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de) (Quit: Client closed)
2021-10-25 21:57:22 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 21:58:03 +0200 <ski> monochrom : oh, curious. i've usually seen it called ⌜ω⌝, never `diagonal'
2021-10-25 21:58:06 +0200chisui(~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de)
2021-10-25 21:58:18 +0200 <monochrom> OK here is what backs me up: http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.90.2560
2021-10-25 21:58:46 +0200 <monochrom> has laws and theorems. includes transformers, e.g., StateT
2021-10-25 21:59:31 +0200 <maerwald> but you can't know whether an inner monad of your stack will be lawful :p
2021-10-25 21:59:35 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.3)
2021-10-25 21:59:44 +0200 <maerwald> there's no typeclass "LawfulMonad m"
2021-10-25 22:00:11 +0200 <monochrom> ski: Well OK, Oleg says delta, didn't say why. So I tried to guess why, eventually I guessed diagonal because the halting problem diagonalization proof also does "run this program with its encoding as input"
2021-10-25 22:00:29 +0200 <monochrom> I am aware of that.
2021-10-25 22:00:47 +0200 <maerwald> and some instances are deliberately unlawful and so we say "yeah, don't use it this or that way"
2021-10-25 22:01:34 +0200 <ski> monochrom : yea, it's reasonable. just i can't recall seeing it before
2021-10-25 22:01:36 +0200 <monochrom> You know, I don't even know that mathematics as we know it is consistent.
2021-10-25 22:01:51 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-25 22:01:59 +0200 <tomsmeding> me neither
2021-10-25 22:02:00 +0200 <monochrom> But I can work with "if it's consistent, then my code makes some kind of sense"
2021-10-25 22:02:26 +0200Null_A(~null_a@2601:645:8700:2290:c808:ee5a:46df:cf9) (Remote host closed the connection)
2021-10-25 22:02:55 +0200Guest79(~textual@77.252.63.98) (Quit: Textual IRC Client: www.textualapp.com)
2021-10-25 22:03:07 +0200 <shapr> ghoulguy: Have you ever written a document on tools for competitive programming?
2021-10-25 22:03:17 +0200 <shapr> or is there one you'd suggest?
2021-10-25 22:03:18 +0200 <maerwald> monochrom: I've heard that even the "mathematical induction" proof method is questioned by some.
2021-10-25 22:03:24 +0200Guest79(~textual@77.252.63.98)
2021-10-25 22:04:41 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com) (Ping timeout: 245 seconds)
2021-10-25 22:04:44 +0200Guest79(~textual@77.252.63.98) (Client Quit)
2021-10-25 22:04:51 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-10-25 22:05:35 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 260 seconds)
2021-10-25 22:05:54 +0200 <maerwald> but as long as the laws of mathematics make my rice cooker work, I think I'm fine with it
2021-10-25 22:06:46 +0200 <maerwald> although I'm not sure... they might be running embedded java these days
2021-10-25 22:07:54 +0200juhp(~juhp@128.106.188.220)
2021-10-25 22:10:47 +0200hololeap(~hololeap@user/hololeap) (Remote host closed the connection)
2021-10-25 22:12:19 +0200hololeap(~hololeap@user/hololeap)
2021-10-25 22:12:51 +0200Hayek(~xxx@2603-8000-b401-6099-b41b-43a8-70e4-3938.res6.spectrum.com)
2021-10-25 22:14:05 +0200tfeb(~tfb@88.98.95.237) (Quit: died)
2021-10-25 22:14:28 +0200jkaye(~jkaye@2601:281:8300:7530:289e:28f2:97ea:9bd4)
2021-10-25 22:14:30 +0200alx741(~alx741@186.178.108.74) (Ping timeout: 265 seconds)
2021-10-25 22:14:38 +0200wrengr_awaywrengr
2021-10-25 22:15:53 +0200mvk(~mvk@2607:fea8:5cc1:300::4a62) (Quit: Konversation terminated!)
2021-10-25 22:17:03 +0200lavaman(~lavaman@98.38.249.169)
2021-10-25 22:17:16 +0200mvk(~mvk@2607:fea8:5cc1:300::4a62)
2021-10-25 22:19:04 +0200pavonia(~user@user/siracusa)
2021-10-25 22:19:49 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-10-25 22:25:06 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 245 seconds)
2021-10-25 22:26:46 +0200harveypwca(~harveypwc@2601:246:c180:a570:3828:d8:e523:3f67) (Quit: Leaving)
2021-10-25 22:27:02 +0200alx741(~alx741@181.196.69.72)
2021-10-25 22:32:09 +0200acidjnk_new(~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de)
2021-10-25 22:33:05 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-10-25 22:34:10 +0200 <ghoulguy> shapr: I don't remember writing anything permanent. I talked to someone about my thoughts and they included them in *their* own post to reddit for AoC. I'd probably tell someone to start by not using Haskell for it :3
2021-10-25 22:36:59 +0200acidjnk_new3(~acidjnk@p200300d0c7161c688059c98d990f394c.dip0.t-ipconnect.de)
2021-10-25 22:37:26 +0200chisui(~chisui@200116b866177f0062aee6c2cbe59ddd.dip.versatel-1u1.de) (Quit: Client closed)
2021-10-25 22:39:54 +0200d0kudezeroku
2021-10-25 22:40:07 +0200acidjnk_new(~acidjnk@p200300d0c703cb93b90f6dff0b237ca0.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-25 22:42:00 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-10-25 22:43:03 +0200hendursaga(~weechat@user/hendursaga) (Remote host closed the connection)
2021-10-25 22:43:26 +0200hendursaga(~weechat@user/hendursaga)
2021-10-25 22:46:55 +0200Cajun(~Cajun@user/cajun)
2021-10-25 22:50:06 +0200Midjak(~Midjak@82-65-111-221.subs.proxad.net) (Quit: This computer has gone to sleep)
2021-10-25 22:56:29 +0200 <yin> /f yin
2021-10-25 22:58:53 +0200 <yin> f is for fail
2021-10-25 22:59:17 +0200 <ski> \t yang
2021-10-25 22:59:18 +0200 <ski> ?
2021-10-25 23:00:21 +0200 <yin> |φ unit
2021-10-25 23:03:12 +0200 <shapr> hi yin, how you doin?
2021-10-25 23:03:38 +0200 <yin> take 1 . tails -- the "one with everything" function
2021-10-25 23:03:41 +0200 <yin> shapr: hey
2021-10-25 23:04:11 +0200shaprhops cheerfully
2021-10-25 23:06:54 +0200 <Rembane_> Happy beer! \o/
2021-10-25 23:10:07 +0200dezeroku(~d0ku@178.43.15.137.ipv4.supernova.orange.pl) (Ping timeout: 244 seconds)
2021-10-25 23:14:10 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-10-25 23:16:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 244 seconds)
2021-10-25 23:19:20 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 260 seconds)
2021-10-25 23:21:57 +0200 <monochrom> > (take 1 . tails) [1,2,3,4]
2021-10-25 23:21:58 +0200 <lambdabot> [[1,2,3,4]]
2021-10-25 23:23:26 +0200 <geekosaur> > (:[]) [1,2,3,4]
2021-10-25 23:23:28 +0200 <lambdabot> [[1,2,3,4]]
2021-10-25 23:23:47 +0200 <geekosaur> hungry monkey makes you one with everything!
2021-10-25 23:27:32 +0200 <monochrom> why you exploit hungry monkey labour?!
2021-10-25 23:27:35 +0200 <monochrom> >:)
2021-10-25 23:29:53 +0200 <maerwald> :t (flip id $) . (:[]) . (>=>)
2021-10-25 23:29:54 +0200 <lambdabot> Monad m => (a -> m b) -> ([(b -> m c1) -> a -> m c1] -> c2) -> c2
2021-10-25 23:30:02 +0200 <maerwald> ah, like I thought
2021-10-25 23:30:16 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 244 seconds)
2021-10-25 23:30:27 +0200acidjnk(~acidjnk@p200300d0c7161c68f8633ce8ef67c5a5.dip0.t-ipconnect.de)
2021-10-25 23:31:54 +0200 <monochrom> That looks like some nested CPS goodness :)
2021-10-25 23:32:15 +0200 <maerwald> that's what I was aiming for, yeah... right...
2021-10-25 23:32:44 +0200tim1(~tim@dslb-088-070-254-249.088.070.pools.vodafone-ip.de)
2021-10-25 23:33:19 +0200acidjnk_new3(~acidjnk@p200300d0c7161c688059c98d990f394c.dip0.t-ipconnect.de) (Ping timeout: 260 seconds)
2021-10-25 23:33:56 +0200 <carbolymer> anyone tried to escape +RTS in systemd unit file?
2021-10-25 23:34:12 +0200 <carbolymer> that seems to break my unit file
2021-10-25 23:34:24 +0200 <maerwald> wrap it in a shell script
2021-10-25 23:34:45 +0200 <geekosaur> or use $GHCRTS instead
2021-10-25 23:35:35 +0200 <carbolymer> yeah, GHCRTS looks cleaner
2021-10-25 23:35:39 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-204.002.203.pools.vodafone-ip.de) (Ping timeout: 260 seconds)
2021-10-25 23:35:52 +0200 <carbolymer> geekosaur: thx
2021-10-25 23:36:03 +0200 <maerwald> make sure it's not set globally :p
2021-10-25 23:36:09 +0200 <carbolymer> ;]
2021-10-25 23:41:47 +0200mvk(~mvk@2607:fea8:5cc1:300::4a62) (Ping timeout: 264 seconds)
2021-10-25 23:43:42 +0200hyiltiz(~quassel@31.220.5.250) (Ping timeout: 244 seconds)
2021-10-25 23:44:14 +0200hyiltiz(~quassel@31.220.5.250)
2021-10-25 23:44:48 +0200cjb(~cjbayliss@user/cjb)
2021-10-25 23:46:05 +0200tim1(~tim@dslb-088-070-254-249.088.070.pools.vodafone-ip.de) (Quit: WeeChat 3.3)
2021-10-25 23:47:11 +0200eggplantade(~Eggplanta@2600:1700:bef1:5e10:a193:fe09:637c:a86c) (Remote host closed the connection)
2021-10-25 23:54:04 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655) (Ping timeout: 265 seconds)
2021-10-25 23:57:08 +0200pretty_dumm_guy(trottel@gateway/vpn/protonvpn/prettydummguy/x-88029655)