2021/08/12

2021-08-12 00:00:33 +0200 <monochrom> I bet it would take multiple PhD projects. It has become a full-blown static analysis problem, and a hard one even in that circle.
2021-08-12 00:01:03 +0200worp(~worp@221.124.9.182)
2021-08-12 00:01:14 +0200 <monochrom> lint and hlint can afford to just reap low-hanging fruits which are merely local syntactic patterns.
2021-08-12 00:01:52 +0200 <monochrom> s/local/peephole/
2021-08-12 00:02:04 +0200mnrmnaugh(~mnrmnaugh@68.162.206.56) (Quit: Leaving)
2021-08-12 00:02:25 +0200mnrmnaugh(~mnrmnaugh@68.162.206.56)
2021-08-12 00:02:49 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-12 00:03:38 +0200acidjnk(~acidjnk@p200300d0c72b954099fc00439288b01d.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-08-12 00:03:55 +0200mastarija(~mastarija@78-3-210-70.adsl.net.t-com.hr) (Quit: Leaving)
2021-08-12 00:04:04 +0200Guest84(~Guest84@2406:3003:2006:447e:9d85:ae5b:bc5f:9191)
2021-08-12 00:04:15 +0200jakefromstatefar < https://libera.ems.host/_matrix/media/r0/download/libera.chat/d6ee8d82cce59eaf39c39990068061b95b4c… >
2021-08-12 00:04:56 +0200 <monochrom> Use getLine. readLn is something else.
2021-08-12 00:05:58 +0200 <jakefromstatefar> Thank you
2021-08-12 00:06:28 +0200 <monochrom> Moreoever, if you expect "return 42" to cause, from the unix POV, the exit code of 42, you will be thoroughly disappointed.
2021-08-12 00:09:25 +0200 <hololeap> does anyone use a text editor that correctly applies highlighting in the face of "ticked" types when using DataKinds? for instance '[] and ':
2021-08-12 00:10:45 +0200 <hpc> vim perhaps?
2021-08-12 00:10:55 +0200 <hololeap> the one I'm using thinks everything between the apostrophe is a literal or something
2021-08-12 00:10:57 +0200 <hpc> at the very least, it doesn't start a giant unterminated purple quote
2021-08-12 00:11:04 +0200 <monochrom> Would it be OK if my answer were "I disable highlighting so nothing goes wrong?" :)
2021-08-12 00:11:33 +0200 <hololeap> monochrom: sure
2021-08-12 00:11:38 +0200 <monochrom> In reality, I enable highlighting, but I haven't checked what it does to that scenerio.
2021-08-12 00:12:00 +0200 <dsal> Emacs doesn't get confused very often for me
2021-08-12 00:12:28 +0200 <hpc> the only thing emacs gets confused is the user :P
2021-08-12 00:12:41 +0200srk(~sorki@user/srk) (Ping timeout: 268 seconds)
2021-08-12 00:12:44 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-12 00:12:52 +0200 <jakefromstatefar> True tho
2021-08-12 00:12:54 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-08-12 00:12:54 +0200 <hpc> hololeap: what editor are you currently using?
2021-08-12 00:12:57 +0200 <monochrom> OK yeah I have just tried, emacs haskell-mode doesn't have that problem.
2021-08-12 00:13:17 +0200 <monochrom> I understand that pastebin.com has that problem.
2021-08-12 00:13:27 +0200srk(~sorki@user/srk)
2021-08-12 00:13:40 +0200 <monochrom> And the dark green colour, it may as well be redaction.
2021-08-12 00:13:51 +0200 <hololeap> hpc: you're right, vim doesn't have any problem with that. it must be kde's syntax highlighting that is the problem
2021-08-12 00:13:56 +0200 <hololeap> hpc: kate
2021-08-12 00:14:02 +0200 <hpc> a lot of those use very generic syntax highlighting, where 'f' and "foo" are using the exact same string parser
2021-08-12 00:14:10 +0200 <hpc> because that's how it is in most languages so they just enable that
2021-08-12 00:14:20 +0200 <hpc> and maybe there's a different list of keywords to make yellow or blue
2021-08-12 00:14:49 +0200 <hpc> it's how they "support" having a hundred or so languages in their dropdown picker
2021-08-12 00:16:07 +0200 <hololeap> it's a little funny to me considering that skylighting uses kde's syntax highlighting framework and they push syntax changes upstream. you would think it would handle DataKinds correctly. oh well, maybe I'll submit a patch at some point
2021-08-12 00:22:47 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 252 seconds)
2021-08-12 00:24:55 +0200michalz(~michalz@185.246.204.37) (Remote host closed the connection)
2021-08-12 00:25:07 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-12 00:28:04 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-12 00:28:07 +0200srk_(~sorki@user/srk)
2021-08-12 00:28:43 +0200srk(~sorki@user/srk) (Ping timeout: 268 seconds)
2021-08-12 00:29:22 +0200Ananta-shesha(~pjetcetal@2.95.210.188) (Ping timeout: 256 seconds)
2021-08-12 00:31:05 +0200srk_srk
2021-08-12 00:31:55 +0200Ananta-shesha(~pjetcetal@2.95.210.188)
2021-08-12 00:32:13 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-12 00:33:52 +0200jess(~jess@libera/staff/jess) (Ping timeout: 600 seconds)
2021-08-12 00:40:01 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 248 seconds)
2021-08-12 00:43:23 +0200Guest84(~Guest84@2406:3003:2006:447e:9d85:ae5b:bc5f:9191) (Quit: Client closed)
2021-08-12 00:46:25 +0200Guest84(~Guest84@2406:3003:2006:447e:9d85:ae5b:bc5f:9191)
2021-08-12 00:48:33 +0200dextaa8(~DV@user/dextaa)
2021-08-12 00:49:24 +0200Cajun(~Cajun@user/cajun) (Quit: Client closed)
2021-08-12 00:50:01 +0200dextaa(~DV@user/dextaa) (Read error: Connection reset by peer)
2021-08-12 00:50:01 +0200dextaa8dextaa
2021-08-12 00:52:01 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-12 00:56:02 +0200Guest84(~Guest84@2406:3003:2006:447e:9d85:ae5b:bc5f:9191) (Quit: Client closed)
2021-08-12 00:57:49 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 01:00:17 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 248 seconds)
2021-08-12 01:00:42 +0200lep(~lep@94.31.97.183)
2021-08-12 01:01:21 +0200lep-(~lep@94.31.86.183) (Ping timeout: 248 seconds)
2021-08-12 01:01:49 +0200chomwitt(~chomwitt@ppp-2-85-147-24.home.otenet.gr) (Remote host closed the connection)
2021-08-12 01:04:31 +0200lep-(~lep@94.31.86.183)
2021-08-12 01:05:38 +0200lep(~lep@94.31.97.183) (Ping timeout: 256 seconds)
2021-08-12 01:09:23 +0200futty(~futty@c83-252-75-55.bredband.tele2.se) (Quit: Connection closed)
2021-08-12 01:10:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 01:21:21 +0200Matthias1(~Matthias1@2603-8001-b545-4900-84ac-de97-345e-66f4.res6.spectrum.com)
2021-08-12 01:22:52 +0200dextaa1(~DV@user/dextaa)
2021-08-12 01:23:45 +0200dextaa(~DV@user/dextaa) (Ping timeout: 248 seconds)
2021-08-12 01:23:45 +0200dextaa1dextaa
2021-08-12 01:30:41 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de) (Ping timeout: 248 seconds)
2021-08-12 01:33:34 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 272 seconds)
2021-08-12 01:36:48 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 01:39:12 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-12 01:42:01 +0200 <DigitalKiwi> 22:12 hpc: the only thing emacs gets confused is the user :P
2021-08-12 01:42:22 +0200 <DigitalKiwi> doom-emacs threatened to burn down my house while i was having a psychotic breakdown
2021-08-12 01:42:59 +0200 <DigitalKiwi> it's funny now but at the time i believed it and it was terrifying :|
2021-08-12 01:43:53 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 01:44:50 +0200 <monochrom> I guess it's similar to threatening to launch missiles and then rollback the transaction.
2021-08-12 01:44:56 +0200 <hpc> lp0 on fire
2021-08-12 01:45:04 +0200 <DigitalKiwi> https://www.nimh.nih.gov/health/topics/schizophrenia/raise/what-is-psychosis
2021-08-12 01:46:00 +0200 <DigitalKiwi> https://github.com/hlissner/doom-emacs/blob/5b3f52f5fb98cc3af653b043d809254cebe04e6a/modules/ui/do…
2021-08-12 01:46:13 +0200 <DigitalKiwi> https://github.com/hlissner/doom-emacs/blob/5b3f52f5fb98cc3af653b043d809254cebe04e6a/modules/ui/do…
2021-08-12 01:46:42 +0200 <DigitalKiwi> rolled poorly on the RNG and got those :P
2021-08-12 01:47:33 +0200 <monochrom> You know what, it looks like the author of those lines was psychotic too. WTF is with using lemons for arson.
2021-08-12 01:47:37 +0200 <DigitalKiwi> (among others but i remember distingly those lol)
2021-08-12 01:47:48 +0200 <hpc> those are pretty funny
2021-08-12 01:47:54 +0200 <hpc> monochrom: it's from portal 2
2021-08-12 01:48:02 +0200 <DigitalKiwi> not when you believe it lol
2021-08-12 01:48:05 +0200 <hpc> the character saying it was definitely a bit nuts
2021-08-12 01:48:12 +0200 <monochrom> True that.
2021-08-12 01:48:23 +0200 <hpc> and his alternate-universe counterparts were sometimes VERY nuts
2021-08-12 01:49:16 +0200 <DigitalKiwi> i started posting an issue about it (with a proposed fix; there's actually a documentation improvement i have lol) and then github suggested i click some link about code fences and deleted everything ;_;
2021-08-12 01:51:04 +0200 <hpc> it did that thing where you click back in your history and it goes "too bad, here's a blank form"?
2021-08-12 01:51:35 +0200 <DigitalKiwi> yeah normally when i click back it has what i had typed in the form
2021-08-12 01:51:49 +0200 <DigitalKiwi> but it has MULTIPLE FORMS and they were blank ;_;
2021-08-12 01:51:54 +0200 <DigitalKiwi> half an hour wasted
2021-08-12 01:52:10 +0200 <DigitalKiwi> i have not filed the issue yet because of that ;(
2021-08-12 01:53:36 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-12 01:53:58 +0200Matthias1(~Matthias1@2603-8001-b545-4900-84ac-de97-345e-66f4.res6.spectrum.com) (Read error: Connection reset by peer)
2021-08-12 01:54:33 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 01:55:40 +0200agua_pesada(~agua_pesa@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea)
2021-08-12 01:56:29 +0200 <DigitalKiwi> turns out disabling doom-quit disables the crazy man with the lemons (which are normally funny) but not the quit messages (which i want) https://github.com/hlissner/doom-emacs/blob/5b3f52f5fb98cc3af653b043d809254cebe04e6a/init.example.… it's not clear that quit messages are enabled even without this though
2021-08-12 01:58:46 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 02:02:21 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:3006:a3cd:9680:110f)
2021-08-12 02:04:05 +0200stiell(~stiell@gateway/tor-sasl/stiell) (Remote host closed the connection)
2021-08-12 02:05:13 +0200 <DigitalKiwi> monochrom: the lemons are for the invisible ink!
2021-08-12 02:06:27 +0200 <monochrom> Ah that gives me ideas.
2021-08-12 02:07:26 +0200 <monochrom> Do graffiti in lemon juice. Then when someone tries to arson the wall, we get a "the writing is on the wall" effect.
2021-08-12 02:07:58 +0200 <DigitalKiwi> =D
2021-08-12 02:08:04 +0200 <DigitalKiwi> r u psychotic too lol
2021-08-12 02:08:53 +0200worp(~worp@221.124.9.182) (Quit: Client closed)
2021-08-12 02:09:48 +0200lavaman(~lavaman@98.38.249.169)
2021-08-12 02:11:56 +0200 <monochrom> I'm just sleep-deprived.
2021-08-12 02:13:03 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net)
2021-08-12 02:14:46 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 268 seconds)
2021-08-12 02:17:53 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 258 seconds)
2021-08-12 02:19:00 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Remote host closed the connection)
2021-08-12 02:19:45 +0200stiell(~stiell@gateway/tor-sasl/stiell)
2021-08-12 02:21:35 +0200 <DigitalKiwi> anyway sorry for being offtopic lol
2021-08-12 02:23:14 +0200adam1(~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net)
2021-08-12 02:26:03 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net) (Remote host closed the connection)
2021-08-12 02:26:06 +0200 <hololeap> is using haskell an indicator of mental health problems?
2021-08-12 02:27:20 +0200 <Axman6> It does indicate an overly optimisticly pure view of the world
2021-08-12 02:30:14 +0200 <hololeap> Just (pure (Right True)) -- it does kind of have a puritan vibe
2021-08-12 02:31:12 +0200 <Axman6> :prayerhands: May your lambdas all apply
2021-08-12 02:31:25 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) ()
2021-08-12 02:33:16 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-12 02:35:23 +0200Matthias1(~Matthias1@2603-8001-b545-4900-14a2-9fab-9546-ee58.res6.spectrum.com)
2021-08-12 02:38:05 +0200worp(~worp@221.124.9.182)
2021-08-12 02:39:58 +0200worp(~worp@221.124.9.182) (Client Quit)
2021-08-12 02:48:49 +0200 <DigitalKiwi> yes
2021-08-12 02:49:44 +0200 <DigitalKiwi> https://mostlyabsurd.com/about/#robert-djubek
2021-08-12 02:52:07 +0200 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1319218948722860032
2021-08-12 02:52:52 +0200dsallogs into twitter to heart that
2021-08-12 02:53:06 +0200 <DigitalKiwi> i've been crazy for over 20 years but haskell helps <3
2021-08-12 02:53:27 +0200zebrag(~chris@user/zebrag)
2021-08-12 02:53:45 +0200 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1249955169204342784
2021-08-12 02:56:34 +0200 <dsal> Yikes. :(
2021-08-12 02:57:01 +0200 <dsal> I've experienced that a lot.
2021-08-12 02:57:57 +0200montxero(~user@149.167.149.74) (Read error: No route to host)
2021-08-12 02:58:21 +0200zebrag(~chris@user/zebrag) (Client Quit)
2021-08-12 02:59:52 +0200kor1(~kor1@user/kor1) (Quit: Leaving.)
2021-08-12 02:59:56 +0200montxero(~user@149.167.149.74)
2021-08-12 03:01:11 +0200 <DigitalKiwi> monochrom: lol so the grafitti should be "it was the man with the lemons!"
2021-08-12 03:03:15 +0200xsperry(~as@user/xsperry) (Remote host closed the connection)
2021-08-12 03:03:36 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-12 03:07:16 +0200xsperry(~as@user/xsperry)
2021-08-12 03:08:17 +0200Cajun(~Cajun@user/cajun)
2021-08-12 03:09:01 +0200montxero(~user@149.167.149.74) (Read error: No route to host)
2021-08-12 03:09:42 +0200lavaman(~lavaman@98.38.249.169)
2021-08-12 03:09:46 +0200 <hololeap> DigitalKiwi: I think that milewski makes a good case for what you're saying in that first tweet
2021-08-12 03:10:42 +0200 <hololeap> basically that software is complicated, and we need a computer (compiler and type system) to help us, otherwise we wouldn't need computers at all
2021-08-12 03:11:49 +0200 <hololeap> (because if we could comprehend the complexity of software, we would already be able to "execute" it in our heads)
2021-08-12 03:12:03 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8) (Remote host closed the connection)
2021-08-12 03:13:09 +0200albet70(~xxx@2400:8902::f03c:92ff:fe60:98d8)
2021-08-12 03:14:09 +0200lavaman(~lavaman@98.38.249.169) (Ping timeout: 248 seconds)
2021-08-12 03:14:56 +0200 <monochrom> Yeah, using Haskell indicates both optimism with Just pure Right True and being pedantic about "but a computation that results with an Int is not an Int and does not contain Int either" i.e. M Int vs Int where M is a monadic type.
2021-08-12 03:14:56 +0200exarkunlafs
2021-08-12 03:15:04 +0200lafsexarkun
2021-08-12 03:16:19 +0200 <monochrom> The latter really puzzles a lot of programmers outside, they have always survived without drawing that line.
2021-08-12 03:16:23 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex)
2021-08-12 03:18:18 +0200vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-08-12 03:18:24 +0200Atum_(~IRC@user/atum/x-2392232) (Quit: Atum_)
2021-08-12 03:19:37 +0200Matthias1(~Matthias1@2603-8001-b545-4900-14a2-9fab-9546-ee58.res6.spectrum.com) (Remote host closed the connection)
2021-08-12 03:19:51 +0200 <int-e> @quote explain.this
2021-08-12 03:19:52 +0200 <lambdabot> cjs says: I have to explain this shit to people. I mean, I start out right, "Hey, you know how you always have these bugs because what you thought was in the variable is not there?" And I get all of
2021-08-12 03:19:52 +0200 <lambdabot> these nods of agreement. "Well, I've found a new language that solves that problem." Audience: "Ooooh! How?" Me: "There's no variables!" And then they all start moving away from me slowly....
2021-08-12 03:20:11 +0200 <hololeap> most people learn how to program with "tell computer to do this. tell computer to do that." which _is_ how computers operate, but then eventually you might discover that there actually _is_ another way with the purely functional paradigm, and all the cool abstract concepts that come with it
2021-08-12 03:21:31 +0200 <hololeap> basically, Turing won the meme war :p
2021-08-12 03:22:39 +0200 <geekosaur> turing, or von neumann?
2021-08-12 03:23:07 +0200 <hololeap> honestly I lose track of all the things Von Neumann came up with :p
2021-08-12 03:23:16 +0200 <hololeap> so it could have been him originally
2021-08-12 03:24:15 +0200 <int-e> It's impressive to defeat Harvard single-handedly.
2021-08-12 03:24:44 +0200 <hololeap> int-e: what are you referring to specifically?
2021-08-12 03:25:31 +0200 <int-e> https://en.wikipedia.org/wiki/Harvard_architecture#Contrast_with_von_Neumann_architectures
2021-08-12 03:25:43 +0200 <int-e> same thing as geekosaur, I think
2021-08-12 03:26:40 +0200 <int-e> Which is a different fight than the Church, Kleene (I think) vs. Turing one
2021-08-12 03:27:05 +0200 <monochrom> I think Harvest lost the battle but won the war.
2021-08-12 03:28:00 +0200 <monochrom> If you don't actually practice self-modifying-code programming, you're using a von Neumann computer as though it's a Harvard computer.
2021-08-12 03:28:11 +0200 <davean> Harvard is still here, Von Numann is dead, pretty easy to figure out who won the war.
2021-08-12 03:28:25 +0200 <monochrom> haha
2021-08-12 03:28:49 +0200 <davean> We have seperate instruction and data caches on most modern CPUs also
2021-08-12 03:29:10 +0200 <int-e> morbid
2021-08-12 03:29:51 +0200 <monochrom> "Harvard is too big to fail(TM)"
2021-08-12 03:29:52 +0200 <Axman6> RAM is just shared storage for Harvard architecture CPUs
2021-08-12 03:30:26 +0200 <int-e> I know, let's implement a virtual machine...
2021-08-12 03:31:03 +0200 <int-e> (These lines between code and data are so blurry.)
2021-08-12 03:33:39 +0200lavaman(~lavaman@98.38.249.169)
2021-08-12 03:40:40 +0200adam1(~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
2021-08-12 03:41:53 +0200adam1(~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net)
2021-08-12 03:42:32 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-12 03:42:32 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-12 03:42:35 +0200allbery_bgeekosaur
2021-08-12 03:44:21 +0200fjvallarino(~fjvallari@186.136.54.215)
2021-08-12 03:48:02 +0200 <dsal> The problem with "tell the computer to do this..." types of programs is that that computers have changed and don't necessarily do what you tell them in those languages either.
2021-08-12 03:48:12 +0200 <dsal> Tell a 1970s computer to do this, and the modern computer will try to guess what you mean.
2021-08-12 03:49:04 +0200hendursaga(~weechat@user/hendursaga) (Quit: hendursaga)
2021-08-12 03:49:31 +0200 <dsal> I experienced this a lot when I had to deal with a lot of perl code. Every time something went horribly wrong and I'd open the code, I'd spend most of the time trying to understand why the programmer thought the things they told the computer to do would be useful in achieving any particular goal they might have.
2021-08-12 03:49:37 +0200hendursaga(~weechat@user/hendursaga)
2021-08-12 03:53:33 +0200 <DigitalKiwi> hololeap: https://twitter.com/haskellhutt/status/1308076394417655820?s=20
2021-08-12 03:54:17 +0200xff0x(~xff0x@2001:1a81:53fa:2600:743d:308e:abb:126) (Ping timeout: 245 seconds)
2021-08-12 03:54:52 +0200pschorf(~user@c-73-77-28-188.hsd1.tx.comcast.net) (Remote host closed the connection)
2021-08-12 03:55:17 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2021-08-12 03:56:15 +0200xff0x(~xff0x@2001:1a81:5238:9600:357e:7c22:5b05:e9dc)
2021-08-12 03:57:59 +0200 <DigitalKiwi> are graham and barotosz the same person
2021-08-12 03:58:53 +0200 <DigitalKiwi> maybe this is what polymorphism is
2021-08-12 03:59:26 +0200Guest14(~Guest14@186.136.54.215)
2021-08-12 04:00:43 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 04:05:21 +0200cheater(~Username@user/cheater) (Ping timeout: 248 seconds)
2021-08-12 04:05:47 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 268 seconds)
2021-08-12 04:06:08 +0200 <DigitalKiwi> "i went to harvard" "really?" "school of computing" "amazing!" "ok what i really mean to say is that i turned on a computer once" "..."
2021-08-12 04:09:02 +0200lbseale(~lbseale@user/ep1ctetus) (Read error: Connection reset by peer)
2021-08-12 04:09:14 +0200 <Axman6> "Really?" "Ok, no, I just keep my todo list and documents separate"
2021-08-12 04:10:44 +0200 <DigitalKiwi> what's a todo list
2021-08-12 04:11:14 +0200 <DigitalKiwi> i'd like to trade my todo list for a toDONE list
2021-08-12 04:11:22 +0200 <Axman6> ... a list of things to do...
2021-08-12 04:11:37 +0200 <Axman6> that's a done list
2021-08-12 04:11:57 +0200 <DigitalKiwi> https://twitter.com/ArchKiwi/status/1422703998549860352?s=20
2021-08-12 04:12:33 +0200 <DigitalKiwi> because i am SO DONE with computers ;D
2021-08-12 04:12:43 +0200 <DigitalKiwi> gotta let me finish my jokes ;(
2021-08-12 04:17:07 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 04:17:12 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-08-12 04:17:53 +0200cheater(~Username@user/cheater)
2021-08-12 04:18:07 +0200td_(~td@muedsl-82-207-238-098.citykom.de) (Ping timeout: 268 seconds)
2021-08-12 04:19:52 +0200td_(~td@94.134.91.94)
2021-08-12 04:19:53 +0200Matthias1(~Matthias1@2603-8001-b545-4900-682c-3ed2-deff-6231.res6.spectrum.com)
2021-08-12 04:21:42 +0200Guest14(~Guest14@186.136.54.215) (Quit: Client closed)
2021-08-12 04:22:07 +0200 <nshepperd> mine is a todon't list
2021-08-12 04:23:29 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Ping timeout: 248 seconds)
2021-08-12 04:24:02 +0200endlesseditions(~endlessed@server.zane.wiki)
2021-08-12 04:24:36 +0200endlesseditionsendless
2021-08-12 04:25:52 +0200fjvallarino(~fjvallari@186.136.54.215) (Quit: Leaving...)
2021-08-12 04:26:37 +0200 <Axman6> Just call it what it is, a guilt list
2021-08-12 04:26:38 +0200finn_elija(~finn_elij@user/finn-elija/x-0085643)
2021-08-12 04:26:38 +0200FinnElija(~finn_elij@user/finn-elija/x-0085643) (Killed (copper.libera.chat (Nickname regained by services)))
2021-08-12 04:26:38 +0200finn_elijaFinnElija
2021-08-12 04:29:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 04:29:36 +0200jess(~jess@libera/staff/jess)
2021-08-12 04:34:41 +0200slack1256(~slack1256@181.203.38.2)
2021-08-12 04:36:53 +0200 <slack1256> Is the current advice for typeclasses without laws "don't"?
2021-08-12 04:37:02 +0200Guest8327(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-12 04:37:18 +0200cwraithc_wraith
2021-08-12 04:38:08 +0200 <slack1256> What is the alternative to codifiying "business effects"? for example a UserQuerCapability with a single method `getUser :: Id -> m User` that gets an user from the DB. It doesn't have any laws, but it useful for mocking (via quickcheck and ReaderT).
2021-08-12 04:40:00 +0200 <c_wraith> the usual alternative is to just use higher-order functions
2021-08-12 04:40:27 +0200 <c_wraith> Whether with the ReaderT IO pattern, or something more complicated
2021-08-12 04:40:49 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Quit: Konversation terminated!)
2021-08-12 04:41:13 +0200 <c_wraith> then instead of dispatching based on type, you use the same type everywhere and initialize the functions in scope differently
2021-08-12 04:41:30 +0200 <slack1256> Is that exposed on some blogpost? I would like to see a example.
2021-08-12 04:41:54 +0200chris(~chris@81.96.113.213)
2021-08-12 04:41:58 +0200chrisGuest4783
2021-08-12 04:42:26 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
2021-08-12 04:42:38 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-12 04:43:13 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 248 seconds)
2021-08-12 04:44:43 +0200Matthias1(~Matthias1@2603-8001-b545-4900-682c-3ed2-deff-6231.res6.spectrum.com) (Remote host closed the connection)
2021-08-12 04:45:00 +0200endless(~endlessed@server.zane.wiki) (Quit: The Lounge - https://thelounge.chat)
2021-08-12 04:45:11 +0200endless(~endlessed@server.zane.wiki)
2021-08-12 04:46:38 +0200Guest4783(~chris@81.96.113.213) (Ping timeout: 256 seconds)
2021-08-12 04:47:46 +0200cheater(~Username@user/cheater) (Ping timeout: 256 seconds)
2021-08-12 04:51:11 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-12 04:54:00 +0200khumba(~khumba@user/khumba)
2021-08-12 04:58:41 +0200notzmv(~zmv@user/notzmv) (Ping timeout: 248 seconds)
2021-08-12 05:00:25 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-12 05:01:57 +0200chris(~chris@81.96.113.213)
2021-08-12 05:02:02 +0200chrisGuest8182
2021-08-12 05:03:13 +0200euouae(~euouae@user/euouae)
2021-08-12 05:03:29 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-12 05:03:30 +0200 <euouae> Hello I'm trying to understand traverse
2021-08-12 05:03:48 +0200 <euouae> For example in `traverse _ empty = pure empty` in https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html#g:9
2021-08-12 05:04:00 +0200 <euouae> How is `pure empty` of type `t (f b)`?
2021-08-12 05:04:20 +0200 <euouae> I don't understand how `pure` specializes for a Traversable since a Traversable is not Applicative
2021-08-12 05:08:16 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net) (Ping timeout: 272 seconds)
2021-08-12 05:09:03 +0200 <euouae> never mind I misread the type... :(
2021-08-12 05:09:06 +0200 <euouae> I get it now
2021-08-12 05:10:16 +0200 <euouae> (It is of type `f (t b)` not `t (f b)`...)
2021-08-12 05:14:59 +0200 <Cale> euouae: If you know mapM, traverse is just that, but generalised slightly.
2021-08-12 05:16:13 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 05:16:16 +0200 <Cale> It turns a container of actions into an action that, when executed, executes each of the actions in some order, and builds a similarly-shaped container of results.
2021-08-12 05:16:30 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-12 05:16:43 +0200 <euouae> Yeah I'm just learning both Cale
2021-08-12 05:16:51 +0200 <Cale> Or rather, sequenceA does exactly that :)
2021-08-12 05:16:57 +0200 <euouae> I have some misunderstanding with regards to how it works, I understand the high-level idea
2021-08-12 05:17:25 +0200 <Cale> traverse uses the given function to turn the elements of the given container into actions
2021-08-12 05:17:29 +0200 <euouae> Luckily the Base docs have a good section called 'Construction' that addresses exactly what I am puzzled with
2021-08-12 05:17:36 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Read error: Connection reset by peer)
2021-08-12 05:17:44 +0200Matthias_(~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com)
2021-08-12 05:17:54 +0200 <Cale> ah, yeah
2021-08-12 05:18:04 +0200 <euouae> Cale: Should the boldface in https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html#g:9 be changed with inline code instead?
2021-08-12 05:18:20 +0200 <euouae> This is a minor question but I'm curious if I should bother with a PR
2021-08-12 05:18:27 +0200 <Cale> You mean the 'a'?
2021-08-12 05:18:53 +0200 <euouae> "We can view a partially built structure *t0 :: T a* as a function *append :: a -> T a* that takes one more element *a* "
2021-08-12 05:19:06 +0200 <Cale> I think that might already be inline code, it's just formatted as bold fixed-width text
2021-08-12 05:19:27 +0200 <euouae> I don't think it's consistent with other parts of the docs
2021-08-12 05:19:51 +0200 <euouae> Maybe it is. Idk
2021-08-12 05:20:59 +0200 <Cale> If you're already familiar with IO and do-notation to some extent, it might help to see a specialisation like:
2021-08-12 05:21:07 +0200 <Cale> traverse :: [IO a] -> IO [a]
2021-08-12 05:21:07 +0200lavaman(~lavaman@98.38.249.169)
2021-08-12 05:21:12 +0200 <Cale> traverse [] = return []
2021-08-12 05:21:23 +0200 <Cale> oops
2021-08-12 05:21:27 +0200 <Cale> traverse f [] = return []
2021-08-12 05:21:49 +0200 <Cale> traverse f (x:xs) = do v <- f x; vs <- traverse f xs; return (v:vs)
2021-08-12 05:22:04 +0200 <euouae> I get that one
2021-08-12 05:22:10 +0200 <euouae> the issue I had is some argument with >> I brought up
2021-08-12 05:22:26 +0200 <euouae> It had to do with `sequence` and State
2021-08-12 05:22:41 +0200 <euouae> I'm not going to get into it right now before I read that section, but I have another question
2021-08-12 05:22:59 +0200 <euouae> Do you think the type for `append` is wrong? Should it be `append :: T a -> a -> T a` instead of `append :: a -> T a`
2021-08-12 05:23:10 +0200Matthias_(~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com) (Remote host closed the connection)
2021-08-12 05:23:11 +0200 <Axman6> You better not *shakes fist*
2021-08-12 05:23:12 +0200 <Axman6> :P
2021-08-12 05:23:30 +0200 <euouae> Hehehe just give me some time Axman6 I learn slowly
2021-08-12 05:24:22 +0200 <Axman6> prepend :: a -> t a -> t a, append :: t a -> a -> t a IMO
2021-08-12 05:24:26 +0200 <dsal> I went the other way around for the most part. Besides learning about Traversable by going through a book, I found myself wanting something that sounded like `mapM` and then used that. Then learned that `mapM = traverse`. But there were a couple other obscure use cases I found that were nice.
2021-08-12 05:24:37 +0200 <euouae> Axman6: Then the docs have a typo there right? https://hackage.haskell.org/package/base-4.15.0.0/docs/Data-Traversable.html#g:7
2021-08-12 05:25:06 +0200 <dsal> e.g., this is a useful alias for me: `justM :: Monad m => (a -> m ()) -> Maybe a -> m (); justM = traverse_`
2021-08-12 05:25:19 +0200 <Cale> euouae: I find that explanation a little weird myself, but I don't think it's a mistake.
2021-08-12 05:25:26 +0200 <Axman6> yeah those docs look wrong to me but I haven't read all of it
2021-08-12 05:25:40 +0200 <euouae> Cale: Can you tell me why `append` has the right type?
2021-08-12 05:25:53 +0200 <Cale> euouae: Don't think of it as a fully-generic append function
2021-08-12 05:26:15 +0200 <euouae> If `append :: a -> T a` as they claim, how is `traverse f (append t0 a) = append <$> traverse f t0 <*> f a` possible?
2021-08-12 05:26:16 +0200alx741(~alx741@181.196.68.193) (Quit: alx741)
2021-08-12 05:26:20 +0200 <Cale> Think of it as really representing a particular container of elements, using a function that, given an additional element, will add that element to the container
2021-08-12 05:26:52 +0200 <euouae> Yeah it's the arity of the type that bothers me. It seems that append is applied to more arguments than the type indicates in the source code
2021-08-12 05:27:14 +0200 <Cale> ah, perhaps
2021-08-12 05:27:20 +0200 <Cale> In that case, I have no idea
2021-08-12 05:27:31 +0200 <Cale> I should probably read and understand the thing :P
2021-08-12 05:27:40 +0200 <euouae> No it's OK I'll submit a PR
2021-08-12 05:27:54 +0200 <euouae> let the person who wants to review it deal with it, no need to spend more energy than needed :P
2021-08-12 05:33:53 +0200 <Cale> euouae: I think they meant to write append t0 :: a -> T a
2021-08-12 05:34:09 +0200 <Cale> and prepend a :: T a -> T a
2021-08-12 05:35:23 +0200 <euouae> Cale: I see. They do say that a structure `t0 :: T a` can be viewed as a function `append :: a -> T a`...
2021-08-12 05:35:44 +0200 <euouae> So perhaps that was the intention, a `t0` is missing there
2021-08-12 05:36:03 +0200 <Cale> yeah
2021-08-12 05:36:04 +0200euouaeCan't yet do PRs but in a few weeks it should be possible
2021-08-12 05:36:30 +0200 <Cale> Also, I'm theoretically on the CLC, so I should be able to do it, but I have no idea, lol.
2021-08-12 05:36:48 +0200 <euouae> What's the CLC?
2021-08-12 05:37:07 +0200 <Cale> Core libraries committee
2021-08-12 05:38:23 +0200 <euouae> You can mail them at core-libraries-committee [AT] haskell.org to fix it :P
2021-08-12 05:38:55 +0200 <euouae> I thought that the Base documentation is shipped with GHC
2021-08-12 05:40:04 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 05:41:05 +0200werneta(~werneta@70-142-214-115.lightspeed.irvnca.sbcglobal.net)
2021-08-12 05:41:57 +0200 <euouae> Should be somewhere here, https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/Data/Traversable.hs but I can't spot it
2021-08-12 05:43:07 +0200 <euouae> Looks like the master branch is ahead of hackage
2021-08-12 05:43:50 +0200 <euouae> https://gitlab.haskell.org/ghc/ghc/-/blob/master/libraries/base/Data/Traversable.hs#L1007-1019
2021-08-12 05:51:19 +0200 <euouae> How can I run the test suite of https://github.com/hedgehogqa/haskell-hedgehog/tree/master/hedgehog-example ?
2021-08-12 05:51:42 +0200 <euouae> I did `cabal build all` and `cabal test hedgehog-example` and I just get "test suite passed" and no messages
2021-08-12 05:51:54 +0200 <euouae> I expected a lot of output. Am I doing something wrong?
2021-08-12 05:55:09 +0200 <sclv> often test runners only give messages when there are errors
2021-08-12 05:58:45 +0200 <euouae> sclv: -- But this project is designed to actually show test errors as an example so we don't want it to break CI.
2021-08-12 05:59:06 +0200 <euouae> That's in https://github.com/hedgehogqa/haskell-hedgehog/blob/master/hedgehog-example/test/test.hs
2021-08-12 05:59:07 +0200 <sclv> well if test suite passed is the result, then there aren't errors
2021-08-12 05:59:27 +0200 <sclv> weird
2021-08-12 05:59:34 +0200 <sclv> cabal might just hide the input in the case it passes
2021-08-12 05:59:35 +0200 <euouae> sclv: This is not the output that I'm used to when I run Hedgehog once in the past
2021-08-12 05:59:50 +0200 <sclv> that's actually what i recall, sigh.
2021-08-12 06:00:24 +0200 <euouae> λ tests ━━━ Test.Example ━━━ ✓ prop_reverse passed 100 tests.
2021-08-12 06:00:29 +0200 <euouae> ^ it looks more like this, with line breaks
2021-08-12 06:00:32 +0200 <sclv> right.
2021-08-12 06:00:48 +0200 <sclv> i think if there aren't errors, `cabal test` swallows the output. don't recall the flag to fix it
2021-08-12 06:00:59 +0200 <sclv> you can always just run the generated text exe manually
2021-08-12 06:01:08 +0200 <euouae> But the output looks more like this https://paste.tomsmeding.com/0x0qdIwk
2021-08-12 06:01:27 +0200 <sclv> or maybe call `cabal run test:hedgehog-example` to run the test suite as an exe?
2021-08-12 06:01:39 +0200 <euouae> Oooh dang. The test output is logged in a file... whoops
2021-08-12 06:01:43 +0200Matthias1(~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com)
2021-08-12 06:02:15 +0200Matthias1(~Matthias1@2603-8001-b545-4900-3152-055a-7434-14e0.res6.spectrum.com) (Remote host closed the connection)
2021-08-12 06:02:25 +0200 <sclv> oh there's a `--test-show-details=FILTER` flag that the --help output lists, that might be the one
2021-08-12 06:04:49 +0200shapr(~user@pool-100-36-247-68.washdc.fios.verizon.net) (Ping timeout: 248 seconds)
2021-08-12 06:12:29 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 252 seconds)
2021-08-12 06:13:01 +0200zmt00(~zmt00@user/zmt00) (Quit: Gone.)
2021-08-12 06:13:52 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 06:15:14 +0200zmt00(~zmt00@user/zmt00)
2021-08-12 06:20:31 +0200euouae(~euouae@user/euouae) (Quit: Ping timeout (120 seconds))
2021-08-12 06:28:50 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-12 06:31:00 +0200khumba(~khumba@user/khumba) ()
2021-08-12 06:33:37 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 248 seconds)
2021-08-12 06:37:00 +0200img(~img@user/img) (Quit: ZNC 1.8.2 - https://znc.in)
2021-08-12 06:37:49 +0200nattiestnate(~nate@180.243.1.7)
2021-08-12 06:39:24 +0200img(~img@user/img)
2021-08-12 06:42:39 +0200dyeplexer(~dyeplexer@user/dyeplexer)
2021-08-12 06:45:36 +0200shailangsa(~shailangs@host86-145-14-24.range86-145.btcentralplus.com) ()
2021-08-12 06:52:16 +0200nattiestnate(~nate@180.243.1.7) (Ping timeout: 268 seconds)
2021-08-12 07:00:07 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 07:14:12 +0200derelict(~derelict@user/derelict) (Ping timeout: 258 seconds)
2021-08-12 07:15:54 +0200jneira(~jneira@212.8.115.226)
2021-08-12 07:17:21 +0200takenobu(uid459077@id-459077.stonehaven.irccloud.com)
2021-08-12 07:21:23 +0200slowButPresent(~slowButPr@user/slowbutpresent) (Quit: leaving)
2021-08-12 07:34:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-12 07:37:33 +0200spicyrice(~ubuntu@2600:1f11:52a:4400:ccbc:2b96:cabe:414b) (Quit: WeeChat 2.8)
2021-08-12 07:38:26 +0200takuan(~takuan@178-116-218-225.access.telenet.be)
2021-08-12 07:39:53 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-08-12 07:45:30 +0200lep-lep
2021-08-12 07:50:38 +0200retroid_(~retro@5ec19a54.skybroadband.com)
2021-08-12 07:51:48 +0200ishutin_(~ishutin@92-249-193-96.pool.digikabel.hu)
2021-08-12 07:54:42 +0200ishutin(~ishutin@176-241-45-166.pool.digikabel.hu) (Ping timeout: 240 seconds)
2021-08-12 08:14:02 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se)
2021-08-12 08:19:40 +0200fabfianda(~fabfianda@37.183.255.57)
2021-08-12 08:20:34 +0200derelict(~derelict@user/derelict)
2021-08-12 08:21:23 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se) (Quit: WeeChat 3.2)
2021-08-12 08:22:18 +0200leplep-
2021-08-12 08:22:44 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se)
2021-08-12 08:23:08 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se) (Client Quit)
2021-08-12 08:23:39 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se)
2021-08-12 08:24:01 +0200lep-lep
2021-08-12 08:26:43 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 08:28:01 +0200Lord_of_Life_(~Lord@user/lord-of-life/x-2819915)
2021-08-12 08:29:43 +0200Lord_of_Life(~Lord@user/lord-of-life/x-2819915) (Ping timeout: 258 seconds)
2021-08-12 08:29:43 +0200Lord_of_Life_Lord_of_Life
2021-08-12 08:30:29 +0200 <Drew[m]1> Is there an easy way to search packages on hackage their dependency bounds on a specific package?
2021-08-12 08:31:34 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 268 seconds)
2021-08-12 08:38:55 +0200MQ-17J(~MQ-17J@8.6.144.209)
2021-08-12 08:39:31 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-08-12 08:42:36 +0200 <pavonia> Drew[m]1: There's <https://packdeps.haskellers.com/reverse>. Not sure this is what you are looking for
2021-08-12 08:43:34 +0200JavierNeira[m](~jneiramat@2001:470:69fc:105::d729)
2021-08-12 08:44:12 +0200Gurkenglas(~Gurkengla@dslb-002-203-144-156.002.203.pools.vodafone-ip.de)
2021-08-12 08:44:49 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se) (Ping timeout: 248 seconds)
2021-08-12 08:48:05 +0200JavierNeira[m](~jneiramat@2001:470:69fc:105::d729) ()
2021-08-12 08:52:07 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:f117:9393:f77b:e061)
2021-08-12 08:52:58 +0200acidjnk(~acidjnk@p200300d0c72b954099fc00439288b01d.dip0.t-ipconnect.de)
2021-08-12 08:53:41 +0200adam2(~adam@2001-b011-4007-2578-2ca6-0e99-140d-5ce9.dynamic-ip6.hinet.net)
2021-08-12 08:56:32 +0200adam1(~adam@2001-b011-4007-2990-bcbb-3682-3e68-66b1.dynamic-ip6.hinet.net) (Ping timeout: 256 seconds)
2021-08-12 09:03:06 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be)
2021-08-12 09:03:50 +0200 <Drew[m]1> pavonia: That fits my use case. Thanks!
2021-08-12 09:11:01 +0200fabfianda(~fabfianda@37.183.255.57) (Ping timeout: 268 seconds)
2021-08-12 09:11:14 +0200fabfianda(~fabfianda@mob-5-91-112-242.net.vodafone.it)
2021-08-12 09:12:31 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se)
2021-08-12 09:14:02 +0200Codaraxis(~Codaraxis@user/codaraxis) (Quit: Leaving)
2021-08-12 09:16:00 +0200adam2ajbarber
2021-08-12 09:16:24 +0200acidjnk_new(~acidjnk@p200300d0c72b954018823fd27e2cbb9b.dip0.t-ipconnect.de)
2021-08-12 09:16:42 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com) (Remote host closed the connection)
2021-08-12 09:17:23 +0200Reyu[M](~reyureyuz@matrix.reyuzenfold.com)
2021-08-12 09:19:11 +0200ajbarberadam1
2021-08-12 09:19:42 +0200acidjnk(~acidjnk@p200300d0c72b954099fc00439288b01d.dip0.t-ipconnect.de) (Ping timeout: 245 seconds)
2021-08-12 09:22:45 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com)
2021-08-12 09:24:08 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 272 seconds)
2021-08-12 09:25:44 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se)
2021-08-12 09:27:00 +0200takenobu(uid459077@id-459077.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-12 09:27:19 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 09:27:28 +0200gehmehgeh(~user@user/gehmehgeh)
2021-08-12 09:29:58 +0200p0lyph3m(~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756)
2021-08-12 09:30:34 +0200polyphem(~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756) (Read error: Connection reset by peer)
2021-08-12 09:30:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 09:31:27 +0200Sgeo(~Sgeo@user/sgeo) (Read error: Connection reset by peer)
2021-08-12 09:33:13 +0200slack1256(~slack1256@181.203.38.2) (Ping timeout: 268 seconds)
2021-08-12 09:34:57 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 248 seconds)
2021-08-12 09:38:29 +0200polyphem(~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083)
2021-08-12 09:38:44 +0200p0lyph3m(~polyphem@2a02:810d:640:776c:5d1:5727:1484:7756) (Ping timeout: 252 seconds)
2021-08-12 09:43:10 +0200Guest88930(~Guest8893@p578b92fd.dip0.t-ipconnect.de)
2021-08-12 09:43:25 +0200Guest88930(~Guest8893@p578b92fd.dip0.t-ipconnect.de) ()
2021-08-12 09:43:34 +0200michalz(~michalz@185.246.204.61)
2021-08-12 09:44:00 +0200Guest88930(~Guest8893@p578b92fd.dip0.t-ipconnect.de)
2021-08-12 09:44:08 +0200Guest88930(~Guest8893@p578b92fd.dip0.t-ipconnect.de) (Client Quit)
2021-08-12 09:44:38 +0200Guest773838(~Guest7738@p578b92fd.dip0.t-ipconnect.de)
2021-08-12 09:48:41 +0200Guest773838(~Guest7738@p578b92fd.dip0.t-ipconnect.de) ()
2021-08-12 09:51:56 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be)
2021-08-12 09:54:12 +0200azeem(~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-12 09:54:15 +0200mei(~mei@user/mei)
2021-08-12 09:55:36 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk)
2021-08-12 09:56:02 +0200azeem(~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
2021-08-12 09:56:25 +0200magthe(~magthe@c83-252-52-5.bredband.tele2.se) (Quit: WeeChat 3.2)
2021-08-12 09:58:47 +0200wonko(~wjc@62.115.229.50)
2021-08-12 10:01:37 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-12 10:01:37 +0200lavaman(~lavaman@98.38.249.169) (Remote host closed the connection)
2021-08-12 10:04:52 +0200takuan(~takuan@178-116-218-225.access.telenet.be) (Remote host closed the connection)
2021-08-12 10:06:01 +0200hendursa1(~weechat@user/hendursaga)
2021-08-12 10:09:09 +0200chomwitt(~chomwitt@2a02:587:dc04:9a00:12c3:7bff:fe6d:d374)
2021-08-12 10:09:29 +0200hendursaga(~weechat@user/hendursaga) (Ping timeout: 244 seconds)
2021-08-12 10:17:27 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-12 10:17:27 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-12 10:17:30 +0200allbery_bgeekosaur
2021-08-12 10:22:15 +0200shriekingnoise(~shrieking@186.137.144.80) (Quit: Quit)
2021-08-12 10:25:02 +0200azeem(~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Read error: Connection reset by peer)
2021-08-12 10:25:49 +0200econo(uid147250@user/econo) (Quit: Connection closed for inactivity)
2021-08-12 10:30:50 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 10:31:31 +0200 <kuribas> I made a more ergonomic and lawful validation transformer: https://gist.github.com/kuribas/d3d7a97de4faf340442fd3e542ea73bf
2021-08-12 10:31:45 +0200 <kuribas> It has two parts, the validation applicative, and the reporting monad.
2021-08-12 10:31:56 +0200 <kuribas> the reporting monad is like ChronicleT, but with less weird names.
2021-08-12 10:32:22 +0200Guest88930(~Guest8893@p578b92fd.dip0.t-ipconnect.de)
2021-08-12 10:33:02 +0200Guest88930(~Guest8893@p578b92fd.dip0.t-ipconnect.de) ()
2021-08-12 10:33:26 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net) (Quit: zzz)
2021-08-12 10:34:33 +0200 <kuribas> for some reason, the ChronicleT functions remind me of the spanish inquisition.
2021-08-12 10:35:03 +0200 <kuribas> But I guess it's normal not to expect it :-)
2021-08-12 10:36:21 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-12 10:36:33 +0200 <kuribas> nobody does
2021-08-12 10:37:29 +0200Guest|47(~Guest|47@p578b92fd.dip0.t-ipconnect.de)
2021-08-12 10:38:57 +0200azeem(~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
2021-08-12 10:41:47 +0200Pickchea(~private@user/pickchea)
2021-08-12 10:45:54 +0200azeem(~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Ping timeout: 256 seconds)
2021-08-12 10:46:36 +0200azeem(~azeem@176.201.11.151)
2021-08-12 10:48:08 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 10:49:05 +0200dermato(~dermatobr@154.21.23.75) (Ping timeout: 248 seconds)
2021-08-12 10:49:21 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 10:49:56 +0200azeem(~azeem@176.201.11.151) (Read error: Connection reset by peer)
2021-08-12 10:51:46 +0200azeem(~azeem@176.201.11.151)
2021-08-12 10:56:29 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 268 seconds)
2021-08-12 10:58:26 +0200AndrewYu(~andrew@user/andrewyu)
2021-08-12 11:01:40 +0200_ht(~quassel@82-169-194-8.biz.kpn.net)
2021-08-12 11:02:04 +0200_xor(~xor@74.215.232.67) (Read error: Connection reset by peer)
2021-08-12 11:02:20 +0200ubert(~Thunderbi@178.165.160.157.wireless.dyn.drei.com)
2021-08-12 11:02:53 +0200azeem(~azeem@176.201.11.151) (Ping timeout: 252 seconds)
2021-08-12 11:04:32 +0200acidjnk_new(~acidjnk@p200300d0c72b954018823fd27e2cbb9b.dip0.t-ipconnect.de) (Ping timeout: 252 seconds)
2021-08-12 11:04:33 +0200azeem(~azeem@176.201.11.151)
2021-08-12 11:08:40 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 11:11:33 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 11:13:43 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Quit: Ping timeout (120 seconds))
2021-08-12 11:13:57 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-08-12 11:14:14 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 256 seconds)
2021-08-12 11:15:31 +0200vrilles(~vrilles@user/aman) (Quit: vrilles)
2021-08-12 11:15:56 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 256 seconds)
2021-08-12 11:18:25 +0200Guest|47(~Guest|47@p578b92fd.dip0.t-ipconnect.de) (Quit: Connection closed)
2021-08-12 11:19:10 +0200_xor(~xor@74.215.232.67)
2021-08-12 11:21:24 +0200dermato(~dermatobr@154.21.23.75)
2021-08-12 11:23:45 +0200_xor(~xor@74.215.232.67) (Ping timeout: 248 seconds)
2021-08-12 11:24:42 +0200adam1(~adam@2001-b011-4007-2578-2ca6-0e99-140d-5ce9.dynamic-ip6.hinet.net) (Quit: WeeChat 3.2)
2021-08-12 11:25:23 +0200_xor(~xor@74.215.232.67)
2021-08-12 11:29:11 +0200cheater(~Username@user/cheater)
2021-08-12 11:31:23 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:f117:9393:f77b:e061) (Quit: WeeChat 2.8)
2021-08-12 11:37:47 +0200_xor(~xor@74.215.232.67) (Ping timeout: 268 seconds)
2021-08-12 11:38:36 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 256 seconds)
2021-08-12 11:39:02 +0200azeem(~azeem@176.201.11.151) (Ping timeout: 268 seconds)
2021-08-12 11:39:04 +0200_xor(~xor@74.215.232.67)
2021-08-12 11:39:14 +0200azeem(~azeem@176.200.250.25)
2021-08-12 11:39:47 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee) (Quit: leaving)
2021-08-12 11:41:36 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-12 11:41:37 +0200pavonia(~user@user/siracusa) (Quit: Bye!)
2021-08-12 11:48:53 +0200azeem(~azeem@176.200.250.25) (Ping timeout: 268 seconds)
2021-08-12 11:49:43 +0200smitop(~smitop@user/smitop) (Ping timeout: 268 seconds)
2021-08-12 11:51:03 +0200EvanR_EvanR
2021-08-12 11:52:37 +0200azeem(~azeem@176.200.250.25)
2021-08-12 11:53:19 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 11:53:35 +0200a6a45081-2b83(~aditya@223.226.228.68)
2021-08-12 11:56:44 +0200maerwald[m]maerwald[M]
2021-08-12 11:57:52 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 256 seconds)
2021-08-12 11:59:28 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 11:59:29 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-12 11:59:36 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 12:00:22 +0200maerwald[M](~maerwaldm@2001:470:69fc:105::1ee) (Quit: Reconnecting)
2021-08-12 12:00:34 +0200maerwald[M](~maerwaldm@2001:470:69fc:105::1ee)
2021-08-12 12:01:00 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4)
2021-08-12 12:02:38 +0200maerwald[M](~maerwaldm@2001:470:69fc:105::1ee) (Changing host)
2021-08-12 12:02:38 +0200maerwald[M](~maerwaldm@user/maerwald)
2021-08-12 12:04:33 +0200maerwald[M]maerwald[m]
2021-08-12 12:04:56 +0200azeem(~azeem@176.200.250.25) (Ping timeout: 268 seconds)
2021-08-12 12:08:06 +0200 <tomsmeding> kuribas: TIL ChronicleT, and also that it has _very_ weird names
2021-08-12 12:09:26 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-12 12:11:32 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-08-12 12:11:47 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-12 12:13:41 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 12:17:28 +0200Morrow[m](~morrowmma@2001:470:69fc:105::1d0)
2021-08-12 12:18:26 +0200smitop(~smitop@user/smitop)
2021-08-12 12:18:52 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-12 12:19:22 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 12:19:42 +0200chomwitt(~chomwitt@2a02:587:dc04:9a00:12c3:7bff:fe6d:d374) (Ping timeout: 245 seconds)
2021-08-12 12:22:12 +0200timCF(~timCF@200-149-20-81.sta.estpak.ee)
2021-08-12 12:28:26 +0200fabfianda(~fabfianda@mob-5-91-112-242.net.vodafone.it) (Ping timeout: 272 seconds)
2021-08-12 12:29:36 +0200fabfianda(~fabfianda@mob-5-91-114-42.net.vodafone.it)
2021-08-12 12:30:13 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-12 12:30:50 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 12:31:07 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2021-08-12 12:31:24 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2021-08-12 12:32:13 +0200 <timCF> Hello! Is anybody experienced in Haskell<->C FFI APIs? I have a very strange issue with secp256k1 Haskell wrapper around C code. In my code I'm using this function https://hackage.haskell.org/package/secp256k1-haskell-0.5.0/docs/src/Crypto.Secp256k1.html#importSig It's accepting `ByteString` and returning `Maybe Sig`. I think by design it should catch all low-level errors and return Nothing in case of some
2021-08-12 12:32:19 +0200 <timCF> failure. I did randomly found that **sometimes** it's failing with C exception (I guess related to NULL pointer) in case where empty ByteString is passed to this Haskell function. It's really strange that in some places empty ByteString is resolved as NULL pointer, but if I'm trying to reproduce it artificially passing (mempty :: ByteString) explicitly - it works just fine, returns Nothing. Are there
2021-08-12 12:32:25 +0200 <timCF> different "kinds" of empty ByteString terms in Haskell?
2021-08-12 12:33:35 +0200 <timCF> Exception looks like `[libsecp256k1] illegal argument: input != NULL`
2021-08-12 12:34:32 +0200 <timCF> And it's coming from here I guess https://github.com/bitcoin-core/secp256k1/blob/0440945fb5ce69d335fed32827b5166e84b02e05/src/secp25…
2021-08-12 12:34:33 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-12 12:43:20 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Remote host closed the connection)
2021-08-12 12:43:26 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2021-08-12 12:43:43 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2021-08-12 12:44:49 +0200fabfianda(~fabfianda@mob-5-91-114-42.net.vodafone.it) (Ping timeout: 248 seconds)
2021-08-12 12:45:11 +0200fabfianda(~fabfianda@37.183.255.57)
2021-08-12 12:48:06 +0200wxallowed(~d4@151.51.133.244)
2021-08-12 12:53:03 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-12 12:53:39 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 12:56:03 +0200jneira_(~jneira_@28.red-80-28-169.staticip.rima-tde.net) (Quit: Connection closed)
2021-08-12 12:58:07 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-12 12:59:34 +0200 <tomsmeding> timCF: that mempty, is that a strict bytestring?
2021-08-12 13:00:08 +0200 <timCF> Yes, just strict ByteString. Does anybody know how in principle on low value level `Data.ByteString.empty` differs from `mempty :: ByteString` or `"" :: ByteString`
2021-08-12 13:00:12 +0200 <tomsmeding> Data.ByteString.empty and mempty :: ByteString are both backed by a null pointer, which is passed unchanged to C apis
2021-08-12 13:00:34 +0200 <tomsmeding> E.g. empty: https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.html#empty
2021-08-12 13:00:45 +0200 <timCF> `"" :: ByteString` and `mempty :: ByteString` behave differently in my case
2021-08-12 13:00:54 +0200jmorris(~jmorris@2001:19f0:5801:170:5400:3ff:fe81:62fe) (Quit: BYE BITCH)
2021-08-12 13:01:03 +0200 <tomsmeding> With OverloadedStrings?
2021-08-12 13:01:03 +0200jmorris(~jmorris@2001:19f0:5801:170:5400:3ff:fe81:62fe)
2021-08-12 13:01:07 +0200 <timCF> Yes
2021-08-12 13:01:43 +0200 <timCF> `"" :: ByteString` is not causing NULL pointer excepption, but `mempty :: ByteString` and `Data.ByteString.empty` do
2021-08-12 13:02:07 +0200 <tomsmeding> fromString "" :: ByteString creates a zero-length allocation, whereas mempty and empty don't do any allocation at all and just return a null bytestring
2021-08-12 13:02:26 +0200 <tomsmeding> Sounds like this is precisely your problem :p
2021-08-12 13:02:43 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 13:02:44 +0200 <tomsmeding> I've had trouble with this before: https://github.com/snapframework/snap-core/pull/305
2021-08-12 13:03:30 +0200 <timCF> tomsmeding: hmmm so Haskell will recognize ("" :: ByteString) == (mempty :: ByteString) as True? But in reality it's not? :)
2021-08-12 13:04:00 +0200 <tomsmeding> timCF: (==) need not be structural equality
2021-08-12 13:04:03 +0200 <tomsmeding> ;)
2021-08-12 13:05:11 +0200 <tomsmeding> In this case, for (==), the case that produces that equality is the first line here https://hackage.haskell.org/package/bytestring-0.11.1.0/docs/src/Data.ByteString.Internal.html#com…
2021-08-12 13:05:16 +0200 <timCF> That's scary, haha) Haskell<->C APIs are scary place) It's first time I have a problems like this)
2021-08-12 13:05:39 +0200 <tomsmeding> timCF: this sounds like a bug in the haskell wrapper
2021-08-12 13:06:14 +0200 <merijn> tomsmeding: tbh, having a "zero-length" allocation sounds plain wrong
2021-08-12 13:06:22 +0200 <tomsmeding> In haskell land, fromString "" and empty are semantically equal, so the wrapper must ensure that that is also the case for these potentially abstraction-breaking functions
2021-08-12 13:06:29 +0200 <merijn> Sounds like those should be returning NULL too
2021-08-12 13:06:35 +0200 <tomsmeding> merijn: possibly, but it shouldn't be observable :p
2021-08-12 13:06:43 +0200 <tomsmeding> So that secp haskell lib should do some checking
2021-08-12 13:06:53 +0200 <merijn> What was the original question? I missed that
2021-08-12 13:07:21 +0200 <tomsmeding> Some haskell lib uses a C lib and passes bytestring buffers unchanged, and the c lib doesn't like null pointers
2021-08-12 13:07:22 +0200 <timCF> tomsmeding: Yeah, I've already created an issue in github, thanks a lot!
2021-08-12 13:07:48 +0200 <tomsmeding> timCF: cheers :)
2021-08-12 13:07:50 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Ping timeout: 268 seconds)
2021-08-12 13:08:38 +0200AlexNoo_(~AlexNoo@94.233.240.105)
2021-08-12 13:09:14 +0200 <timCF> merijn: It's here https://github.com/haskoin/secp256k1-haskell/issues/36
2021-08-12 13:09:49 +0200 <tomsmeding> timCF: re non-structural equality: 0 and -0 have different floating point bit representations, but they compare equal
2021-08-12 13:10:09 +0200chomwitt(~chomwitt@athedsl-32301.home.otenet.gr)
2021-08-12 13:10:19 +0200bitdex(~bitdex@gateway/tor-sasl/bitdex) (Ping timeout: 244 seconds)
2021-08-12 13:10:25 +0200AlexZenon(~alzenon@178.34.162.152) (Ping timeout: 248 seconds)
2021-08-12 13:10:25 +0200Alex_test(~al_test@178.34.162.152) (Ping timeout: 248 seconds)
2021-08-12 13:10:52 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:3006:a3cd:9680:110f) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-12 13:11:20 +0200 <merijn> And NaN values that have identical bit representation compare inequal :p
2021-08-12 13:12:01 +0200MQ-17J(~MQ-17J@8.6.144.209) (Ping timeout: 248 seconds)
2021-08-12 13:12:12 +0200AlexNoo(~AlexNoo@178.34.162.152) (Ping timeout: 245 seconds)
2021-08-12 13:14:38 +0200 <tomsmeding> That too :p
2021-08-12 13:15:25 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-12 13:15:32 +0200Pickchea(~private@user/pickchea) (Ping timeout: 245 seconds)
2021-08-12 13:16:39 +0200Alex_test(~al_test@94.233.240.105)
2021-08-12 13:16:58 +0200AlexZenon(~alzenon@94.233.240.105)
2021-08-12 13:21:47 +0200Pickchea(~private@user/pickchea)
2021-08-12 13:22:49 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 13:28:02 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-12 13:28:37 +0200 <boxscape> I'm fairly certain the answer is no, but can you use Overlapping pragmas for `type instance`s? (For open type families)
2021-08-12 13:29:06 +0200 <boxscape> I don't have a use case but the phrasing in a blog post saying that you don't need it for closed type families made me wonder
2021-08-12 13:29:38 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:b0bf:dbe4:8f07:fd4e)
2021-08-12 13:34:11 +0200deejaytee(~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk)
2021-08-12 13:41:27 +0200andrevdm(~andre@41.76.35.141)
2021-08-12 13:45:44 +0200a6a45081-2b83(~aditya@223.226.228.68) (Remote host closed the connection)
2021-08-12 13:49:13 +0200shriekingnoise(~shrieking@186.137.144.80)
2021-08-12 13:49:54 +0200jneira60(~jneira@212.8.115.226)
2021-08-12 13:51:47 +0200drd(~drd@2001:b07:a70:9f1f:1562:34de:f50f:77d4) (Ping timeout: 245 seconds)
2021-08-12 13:51:51 +0200markpythonicbitc(~markpytho@50.228.44.6)
2021-08-12 13:52:54 +0200deejaytee(~deejaytee@193.46-255-62.static.virginmediabusiness.co.uk) (Ping timeout: 256 seconds)
2021-08-12 13:53:07 +0200jneira(~jneira@212.8.115.226) (Ping timeout: 246 seconds)
2021-08-12 13:54:43 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 13:59:26 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 252 seconds)
2021-08-12 13:59:43 +0200shailangsa(~shailangs@host86-145-14-24.range86-145.btcentralplus.com)
2021-08-12 14:11:12 +0200andrevdm(~andre@41.76.35.141) (Quit: WeeChat 3.2)
2021-08-12 14:12:41 +0200Guest|72(~Guest|72@p578b92fd.dip0.t-ipconnect.de)
2021-08-12 14:13:03 +0200vysn(~vysn@user/vysn)
2021-08-12 14:14:14 +0200Guest|72(~Guest|72@p578b92fd.dip0.t-ipconnect.de) (Client Quit)
2021-08-12 14:14:54 +0200jneira60(~jneira@212.8.115.226) (Quit: Client closed)
2021-08-12 14:15:20 +0200jneira60(~jneira60@212.8.115.226)
2021-08-12 14:24:30 +0200vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-08-12 14:26:09 +0200Pickchea(~private@user/pickchea) (Ping timeout: 268 seconds)
2021-08-12 14:26:17 +0200vysn(~vysn@user/vysn)
2021-08-12 14:34:13 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-12 14:37:36 +0200polyphem(~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083) (Remote host closed the connection)
2021-08-12 14:40:25 +0200shailangsa(~shailangs@host86-145-14-24.range86-145.btcentralplus.com) (Remote host closed the connection)
2021-08-12 14:42:56 +0200polyphem(~polyphem@2a02:810d:640:776c:5ce9:eeb2:9e8b:b083)
2021-08-12 14:46:34 +0200alx741(~alx741@181.196.68.193)
2021-08-12 14:47:24 +0200Pickchea(~private@user/pickchea)
2021-08-12 14:47:30 +0200drownbes(~drownbes@gprs-inet-183-219.elisa.ee)
2021-08-12 14:49:25 +0200drownbes(~drownbes@gprs-inet-183-219.elisa.ee) (Remote host closed the connection)
2021-08-12 14:52:45 +0200 <shane> Is there any kind of "Free" thing that gives an ArrowApply from any Arrow?
2021-08-12 14:53:44 +0200 <merijn> Probably not
2021-08-12 14:54:16 +0200 <merijn> tbh, I'd question the use of Arrow to begin with and *double* question the use of any Arrow that needs ArrowApply
2021-08-12 14:54:38 +0200drownbes(~igloo@gprs-inet-183-219.elisa.ee)
2021-08-12 14:54:53 +0200 <merijn> Arrow is a kinda meh abstraction
2021-08-12 14:55:59 +0200drownbes(~igloo@gprs-inet-183-219.elisa.ee) (Remote host closed the connection)
2021-08-12 14:56:16 +0200 <shane> Yeah. So obviously any ArrowApply could just be a Monad
2021-08-12 14:56:53 +0200 <merijn> If you think you want Arrow, you *probably* want (a combination of) Applicative/Category/Profunctor
2021-08-12 14:57:07 +0200 <merijn> And if you want ArrowApply, you just want Monad :p
2021-08-12 14:57:09 +0200 <shane> I obviously have those instances as well
2021-08-12 14:57:25 +0200 <merijn> Oh, then I wouldn't even bother with Arrow instances
2021-08-12 14:57:27 +0200 <shane> But the reason I'm using Arrow is because this thing allows a composition that is "faster" than monad composition
2021-08-12 14:58:28 +0200 <shane> The actual type is more complicated than this, but the essence is basically `newtype Foo m i a = Foo (Either (m a) (i -> m a))`
2021-08-12 14:58:33 +0200 <merijn> shane: Composition as in Arrow's "arr b c -> arr a b -> arr a c"?
2021-08-12 14:58:57 +0200 <shane> Yeah. Basically, that can sometimes be `const` for my type
2021-08-12 14:59:08 +0200 <merijn> shane: Don't you just want Category, then?
2021-08-12 14:59:16 +0200 <merijn> That already has that composition
2021-08-12 14:59:18 +0200 <shane> Well I want to use arrow syntax
2021-08-12 14:59:42 +0200 <merijn> I would recommend you don't, because no one else will understand how the hell to read your code :p
2021-08-12 14:59:54 +0200 <merijn> I think maybe 3 people in here understand arrow syntax :p
2021-08-12 15:00:59 +0200 <shane> It's also true that nobody will understand my code if it's just a bunch of `lmap`s and `>>>`
2021-08-12 15:01:09 +0200 <kuribas> I haven't seen a compelling usecase for arrows, where Applicatives wouldn't work better...
2021-08-12 15:01:35 +0200 <shane> Well, I believe that I have one
2021-08-12 15:03:47 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net) (Ping timeout: 252 seconds)
2021-08-12 15:05:00 +0200jneira60(~jneira60@212.8.115.226) (Quit: Client closed)
2021-08-12 15:06:51 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962) (Remote host closed the connection)
2021-08-12 15:07:06 +0200flukiluke(~flukiluke@2603:c023:c000:6c7e:8945:ad24:9113:a962)
2021-08-12 15:09:40 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-08-12 15:11:47 +0200phma(phma@2001:5b0:211b:9608:8da1:6cde:bf81:5b9c) (Quit: Konversation terminated!)
2021-08-12 15:12:33 +0200hendursa1(~weechat@user/hendursaga) (Quit: hendursa1)
2021-08-12 15:12:59 +0200hendursaga(~weechat@user/hendursaga)
2021-08-12 15:15:32 +0200slowButPresent(~slowButPr@user/slowbutpresent)
2021-08-12 15:24:27 +0200jao(~jao@cpc103048-sgyl39-2-0-cust502.18-2.cable.virginm.net)
2021-08-12 15:24:49 +0200chomwitt(~chomwitt@athedsl-32301.home.otenet.gr) (Ping timeout: 248 seconds)
2021-08-12 15:28:09 +0200Cajun(~Cajun@user/cajun) (Quit: Client closed)
2021-08-12 15:29:40 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-12 15:39:22 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-12 15:40:07 +0200mei(~mei@user/mei) (Read error: Connection reset by peer)
2021-08-12 15:45:05 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net) (Ping timeout: 248 seconds)
2021-08-12 15:45:41 +0200nvmd(~nvmd@user/nvmd) (Ping timeout: 268 seconds)
2021-08-12 15:49:33 +0200emliunix(~emliunix@8.38.148.66) (Remote host closed the connection)
2021-08-12 15:49:55 +0200emliunix(~emliunix@8.37.43.217)
2021-08-12 15:54:54 +0200shapr(~user@pool-108-28-144-11.washdc.fios.verizon.net)
2021-08-12 15:56:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 16:01:14 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Ping timeout: 272 seconds)
2021-08-12 16:06:16 +0200 <Arahael> merijn: Every time I come close, I promptly forget what it is! :)
2021-08-12 16:09:07 +0200Kirat(~Gill@103.217.122.17)
2021-08-12 16:11:38 +0200slack1256(~slack1256@181.203.4.196)
2021-08-12 16:16:23 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-12 16:19:20 +0200jespada(~jespada@90.254.247.46) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-12 16:22:23 +0200Kirat(~Gill@103.217.122.17) (Remote host closed the connection)
2021-08-12 16:22:25 +0200Kirat_(~Gill@157.39.46.3)
2021-08-12 16:23:11 +0200Kirat_(~Gill@157.39.46.3) (Client Quit)
2021-08-12 16:24:09 +0200mattil(~mattilinn@87-92-39-170.bb.dnainternet.fi)
2021-08-12 16:24:30 +0200Kirat(~Gill@103.217.122.17)
2021-08-12 16:25:14 +0200mattil(~mattilinn@87-92-39-170.bb.dnainternet.fi) (Remote host closed the connection)
2021-08-12 16:25:37 +0200mattil(~mattilinn@87-92-39-170.bb.dnainternet.fi)
2021-08-12 16:26:33 +0200Kirat(~Gill@103.217.122.17) (Client Quit)
2021-08-12 16:26:57 +0200jespada(~jespada@90.254.247.46)
2021-08-12 16:27:16 +0200Pickchea(~private@user/pickchea) (Quit: Leaving)
2021-08-12 16:28:47 +0200myShoggoth(~myShoggot@97-120-70-214.ptld.qwest.net)
2021-08-12 16:30:09 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-12 16:32:25 +0200 <janus> does anyone know any alternatively licensed versions of inverseMap from relude? our library is BSD licensed, and relude is MIT. i feel like it could be age-old folklore, maybe there are other versions
2021-08-12 16:35:47 +0200drownbes(~igloo@gprs-inet-183-219.elisa.ee)
2021-08-12 16:36:33 +0200 <tomsmeding> :t \f -> let m = M.fromListWith (error "non-injective") [(f x, x) <- [minBound..maxBound]] in \y -> M.lookup y m
2021-08-12 16:36:34 +0200 <lambdabot> error:
2021-08-12 16:36:34 +0200 <lambdabot> parse error on input ‘<-’
2021-08-12 16:36:34 +0200 <lambdabot> Perhaps this statement should be within a 'do' block?
2021-08-12 16:36:46 +0200Sgeo(~Sgeo@user/sgeo)
2021-08-12 16:36:56 +0200 <tomsmeding> :t \f -> let m = M.fromListWith (error "non-injective") [(f x, x) | x <- [minBound..maxBound]] in \y -> M.lookup y m
2021-08-12 16:36:58 +0200 <lambdabot> (Ord k, Bounded a, Enum a) => (a -> k) -> k -> Maybe a
2021-08-12 16:37:07 +0200drownbes(~igloo@gprs-inet-183-219.elisa.ee) (Client Quit)
2021-08-12 16:37:39 +0200 <janus> tomsmeding: thanks, what's the license ? ;)
2021-08-12 16:37:43 +0200 <tomsmeding> janus: wrote this without looking at relude sources; I publish it in the public domain :p
2021-08-12 16:38:04 +0200 <janus> amazing, thanks :D
2021-08-12 16:38:08 +0200 <tomsmeding> Check that it has the right behaviour though
2021-08-12 16:38:26 +0200 <tomsmeding> Like, check that from the second call onward it's fast
2021-08-12 16:39:18 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-12 16:39:23 +0200 <janus> well if it has a map on the scope immediatly inside the function. surely it can't be different than relude's if also use INLINE
2021-08-12 16:39:34 +0200 <janus> but better crack open core, i guess
2021-08-12 16:39:49 +0200 <tomsmeding> Just test it :p
2021-08-12 16:40:14 +0200 <boxscape> (I usually do [minBound..] instead of [minBound..maxBound])
2021-08-12 16:40:59 +0200 <tomsmeding> Right, because enumFrom can potentially be faster than enumFromTo
2021-08-12 16:41:01 +0200 <tomsmeding> Good call
2021-08-12 16:41:15 +0200 <boxscape> I mostly do it because It's shorter but I guess that's not a bad reason either :P
2021-08-12 16:41:33 +0200 <boxscape> though I'm not sure if it really is faster
2021-08-12 16:42:46 +0200wonko(~wjc@62.115.229.50)
2021-08-12 16:44:37 +0200 <tomsmeding> Lol the enumFrom of Word32 is (indirectly) defined as the same as enumFromTo with maxBound
2021-08-12 16:44:56 +0200 <boxscape> yeah I was looking at -ddump-deriv, it's much the same
2021-08-12 16:45:05 +0200 <tomsmeding> They use these functions at the bottom of the file https://hackage.haskell.org/package/base-4.15.0.0/docs/src/GHC-Real.html#integralEnumFrom
2021-08-12 16:45:14 +0200 <boxscape> even if you don't have a Bounded instance it calls enumFromTo $maxtag
2021-08-12 16:47:55 +0200 <tomsmeding> boxscape: that would depend on how the instance in question implements enumFrom, right?
2021-08-12 16:48:05 +0200 <tomsmeding> The default implementation is bonkers for bounded types
2021-08-12 16:48:27 +0200 <boxscape> right, what I mean is that's the enumFrom instance if you write deriving Enum
2021-08-12 16:48:32 +0200 <merijn> Enum is a bonkers and bad class anyway
2021-08-12 16:48:36 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-12 16:48:41 +0200 <boxscape> s/instance/implementation
2021-08-12 16:48:42 +0200 <merijn> Fire into the sun, plx
2021-08-12 16:48:53 +0200 <tomsmeding> boxscape: the default implementation of enumFrom is enumFrom x = map toEnum [fromEnum x ..]
2021-08-12 16:49:03 +0200 <tomsmeding> Which is going to beautifully error out for bounded types
2021-08-12 16:49:25 +0200 <tomsmeding> (which the docs also say)
2021-08-12 16:49:26 +0200 <boxscape> yep though luckily it's not used if you derive Enum
2021-08-12 16:49:43 +0200 <tomsmeding> Ooh _deriving_ Enum, I see
2021-08-12 16:50:43 +0200 <tomsmeding> merijn: what's your suggestion for a replacement? Split off fromEnum/toEnum into a separate class?
2021-08-12 16:51:13 +0200Boomerang(~Boomerang@xd520f68c.cust.hiper.dk) (Ping timeout: 248 seconds)
2021-08-12 16:51:38 +0200tchakka_tchakka
2021-08-12 16:52:01 +0200 <merijn> tomsmeding: 1) get rid of the mapping to ints, it leads to all sorts of bad code, 2) have separate classes for bounded and unbounded types
2021-08-12 16:52:16 +0200 <merijn> 3) nuke "instance Enum Double" from orbit
2021-08-12 16:52:29 +0200 <tomsmeding> Lol can back 3
2021-08-12 16:52:34 +0200 <merijn> tomsmeding: Why do we have/need fromEnum/toEnum to begin with?
2021-08-12 16:52:51 +0200 <tomsmeding> Although... It's terribly convenient for one-off oneliners
2021-08-12 16:52:58 +0200waleee(~waleee@2001:9b0:216:8200:d457:9189:7843:1dbd) (Ping timeout: 240 seconds)
2021-08-12 16:53:24 +0200 <tomsmeding> But I agree
2021-08-12 16:53:41 +0200nvmd(~nvmd@user/nvmd)
2021-08-12 16:54:01 +0200 <tomsmeding> Eh, map fromIntegral [a..b] is fine as a replacement of Enum Double for oneliners
2021-08-12 16:54:26 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net) (Ping timeout: 272 seconds)
2021-08-12 16:55:00 +0200waleee(~waleee@h-98-128-228-119.NA.cust.bahnhof.se)
2021-08-12 16:56:14 +0200 <tomsmeding> Unrelated, why does this exist: instance a ~ b => Bounded (a :~: b)
2021-08-12 16:56:30 +0200 <tomsmeding> I can't imagine a usecase
2021-08-12 16:58:38 +0200ldlework(~hexeme@user/hexeme) (Quit: co'o ro do)
2021-08-12 16:59:06 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-12 16:59:38 +0200 <boxscape> I imagine the it's there for lack of a reason not to provide it
2021-08-12 16:59:50 +0200 <kuribas> > [minbound..] :: Bool
2021-08-12 16:59:51 +0200 <lambdabot> error:
2021-08-12 16:59:51 +0200 <lambdabot> • Variable not in scope: minbound
2021-08-12 16:59:51 +0200 <lambdabot> • Perhaps you meant ‘minBound’ (imported from Prelude)
2021-08-12 16:59:55 +0200 <kuribas> > [minBound..] :: Bool
2021-08-12 16:59:57 +0200 <lambdabot> error:
2021-08-12 16:59:57 +0200 <lambdabot> • Couldn't match expected type ‘Bool’ with actual type ‘[a0]’
2021-08-12 16:59:57 +0200 <lambdabot> • In the expression: [minBound .. ] :: Bool
2021-08-12 17:00:00 +0200 <kuribas> > [minBound..] :: [Bool]
2021-08-12 17:00:02 +0200 <lambdabot> [False,True]
2021-08-12 17:00:03 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi)
2021-08-12 17:02:12 +0200hexeme(~hexeme@user/hexeme)
2021-08-12 17:03:23 +0200Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (Ping timeout: 268 seconds)
2021-08-12 17:03:44 +0200Vq(~vq@90-227-195-41-no77.tbcn.telia.com)
2021-08-12 17:06:34 +0200theproffesor(~theproffe@user/theproffesor) (Ping timeout: 240 seconds)
2021-08-12 17:08:10 +0200 <boxscape> % type (:) = Either
2021-08-12 17:08:10 +0200 <yahb> boxscape: ; <interactive>:3:6: error: Malformed head of type or class declaration: (:)
2021-08-12 17:08:19 +0200 <boxscape> hm I don't really see why this is not allowed
2021-08-12 17:09:18 +0200chomwitt(~chomwitt@athedsl-32301.home.otenet.gr)
2021-08-12 17:10:10 +0200infinity0(~infinity0@occupy.ecodis.net) (Ping timeout: 268 seconds)
2021-08-12 17:10:21 +0200alx741(~alx741@181.196.68.193) (Quit: alx741)
2021-08-12 17:11:29 +0200Guest8182(~chris@81.96.113.213) (Remote host closed the connection)
2021-08-12 17:12:38 +0200lortabac(~lortabac@2a01:e0a:541:b8f0:b0bf:dbe4:8f07:fd4e) (Quit: WeeChat 2.8)
2021-08-12 17:12:43 +0200jumper149(~jumper149@80.240.31.34)
2021-08-12 17:13:00 +0200 <tomsmeding> % type (::) = Either
2021-08-12 17:13:00 +0200 <yahb> tomsmeding: ; <interactive>:5:7: error: parse error on input `::'
2021-08-12 17:13:20 +0200 <tomsmeding> % typw (:!!) = Either
2021-08-12 17:13:20 +0200 <yahb> tomsmeding: ; <interactive>:6:6: error:; Not in scope: data constructor `:!!'; Perhaps you meant variable `!!' (imported from Prelude)
2021-08-12 17:13:32 +0200 <tomsmeding> % type (:!!) = Either
2021-08-12 17:13:32 +0200 <yahb> tomsmeding:
2021-08-12 17:13:45 +0200 <tomsmeding> Four similar lines, for different responses
2021-08-12 17:16:11 +0200thyriaen(~thyriaen@dynamic-078-055-014-077.78.55.pool.telefonica.de)
2021-08-12 17:16:16 +0200 <tomsmeding> boxscape: isn't the point that type-level operators starting with : are "lowercase operators" and those that do not "uppercase operators"
2021-08-12 17:16:20 +0200chris(~chris@81.96.113.213)
2021-08-12 17:16:23 +0200chrisGuest5293
2021-08-12 17:16:29 +0200 <tomsmeding> Wait no that makes no sense, ignore
2021-08-12 17:17:03 +0200Guest84(~Guest84@2406:3003:2006:447e:9d85:ae5b:bc5f:9191)
2021-08-12 17:17:08 +0200 <janus> can you really override (:) ? i thought it was special
2021-08-12 17:17:20 +0200 <geekosaur> so did I tbh
2021-08-12 17:17:21 +0200 <janus> % let (:) :: Int = 5
2021-08-12 17:17:21 +0200 <yahb> janus: ; <interactive>:8:5: error:; * The constructor `:' should have 2 arguments, but has been given none; * In the pattern: (:); In the pattern: (:) :: Int; In a pattern binding: (:) :: Int = 5; <interactive>:8:5: error:; * Couldn't match expected type `Int' with actual type `[a0]'; * In the pattern: (:); In the pattern: (:) :: Int; In a pattern binding: (:) :: Int = 5
2021-08-12 17:17:24 +0200 <boxscape> it is special but I don't see why it needs to be
2021-08-12 17:17:40 +0200 <boxscape> on the term level, fine
2021-08-12 17:17:48 +0200 <boxscape> but on the type level it shouldn't need to be special
2021-08-12 17:17:55 +0200 <boxscape> unless I'm missing something
2021-08-12 17:17:58 +0200 <boxscape> which is quite possible
2021-08-12 17:18:22 +0200 <tomsmeding> I guess the specialness is lifted because of DataKinds
2021-08-12 17:18:43 +0200 <boxscape> time to track down a pre-DataKinds ghc version to see if it was special then
2021-08-12 17:19:20 +0200 <tomsmeding> That would be an old ghc
2021-08-12 17:20:42 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-12 17:20:52 +0200Guest5293(~chris@81.96.113.213) (Ping timeout: 256 seconds)
2021-08-12 17:21:08 +0200 <boxscape> actually though if it's valid Haskell98 it should still work with today's GHC unless it's mentioned in the known bugs and infelicities section
2021-08-12 17:21:46 +0200 <tomsmeding> TIL the datakinds ' doesn't need to be attached to the name; ' A is a fine promoted A
2021-08-12 17:22:03 +0200 <tomsmeding> https://downloads.haskell.org/~ghc/latest/docs/html/users_guide/exts/data_kinds.html#distinguishin…
2021-08-12 17:22:25 +0200 <boxscape> -Wno-unticked-promoted-constructors is one of the first things I enable usually
2021-08-12 17:22:33 +0200 <boxscape> so ghc doesn't tell me to use ticks
2021-08-12 17:22:40 +0200 <boxscape> oh wait
2021-08-12 17:22:45 +0200 <boxscape> I misunderstood what you wrote
2021-08-12 17:23:32 +0200 <tomsmeding> Yeah I was writing about the allowed space
2021-08-12 17:24:00 +0200 <tomsmeding> And the horrible syntax ' A'
2021-08-12 17:24:03 +0200infinity0(~infinity0@occupy.ecodis.net)
2021-08-12 17:24:21 +0200 <boxscape> ah, nice
2021-08-12 17:25:21 +0200ubert(~Thunderbi@178.165.160.157.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2021-08-12 17:27:37 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-12 17:28:37 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi) (Read error: Connection reset by peer)
2021-08-12 17:29:23 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 17:32:30 +0200ubert(~Thunderbi@178.165.183.198.wireless.dyn.drei.com)
2021-08-12 17:33:31 +0200doyougnu(~user@c-73-25-202-122.hsd1.or.comcast.net)
2021-08-12 17:35:16 +0200mc47(~mc47@xmonad/TheMC47) (Read error: Connection reset by peer)
2021-08-12 17:35:29 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 17:36:33 +0200ubert(~Thunderbi@178.165.183.198.wireless.dyn.drei.com) (Ping timeout: 248 seconds)
2021-08-12 17:37:08 +0200oxide(~lambda@user/oxide)
2021-08-12 17:38:43 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-12 17:38:43 +0200thyriaen(~thyriaen@dynamic-078-055-014-077.78.55.pool.telefonica.de) (Quit: Leaving)
2021-08-12 17:38:50 +0200 <boxscape> alas, the whitespace between tick and constructor can't include a newline
2021-08-12 17:39:42 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 245 seconds)
2021-08-12 17:40:00 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-12 17:41:38 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 268 seconds)
2021-08-12 17:42:55 +0200ubert(~Thunderbi@77.119.168.246.wireless.dyn.drei.com)
2021-08-12 17:47:50 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-08-12 17:48:33 +0200fjvallarino(~fjvallari@186.136.54.215)
2021-08-12 17:48:54 +0200kor1(~kor1@user/kor1)
2021-08-12 17:49:20 +0200chomwitt(~chomwitt@athedsl-32301.home.otenet.gr) (Ping timeout: 252 seconds)
2021-08-12 17:51:12 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi)
2021-08-12 17:51:13 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com)
2021-08-12 17:56:44 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 17:58:16 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds)
2021-08-12 17:59:21 +0200Matthias1(~Matthias1@cpe-76-170-236-166.socal.res.rr.com) (Remote host closed the connection)
2021-08-12 17:59:40 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 272 seconds)
2021-08-12 18:02:38 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-08-12 18:02:40 +0200lbseale(~lbseale@user/ep1ctetus)
2021-08-12 18:05:21 +0200 <tomsmeding> boxscape: not sure how "alas" that is
2021-08-12 18:05:51 +0200 <boxscape> it depends on how exciting you want your code to be to unsuspecting readers
2021-08-12 18:05:52 +0200Matthias1(~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com)
2021-08-12 18:05:53 +0200 <geekosaur> yeh, that just sounds li8ke a way t confuse the reader
2021-08-12 18:06:23 +0200 <geekosaur> remember that also means you in 6b months
2021-08-12 18:06:38 +0200ubert(~Thunderbi@77.119.168.246.wireless.dyn.drei.com) (Ping timeout: 272 seconds)
2021-08-12 18:07:39 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 18:07:59 +0200agua_pesada(~agua_pesa@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea) (Read error: Connection reset by peer)
2021-08-12 18:08:00 +0200markpythonicbitc(~markpytho@50.228.44.6) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-12 18:08:30 +0200ubert(~Thunderbi@77.119.168.246.wireless.dyn.drei.com)
2021-08-12 18:09:02 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon) (Quit: Leaving for a break - theLounge)
2021-08-12 18:09:12 +0200MidAutumnMoon(~MidAutumn@user/midautumnmoon)
2021-08-12 18:11:05 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 18:11:09 +0200curiousgay(~curiousga@77-120-186-48.kha.volia.net)
2021-08-12 18:11:18 +0200xff0x(~xff0x@2001:1a81:5238:9600:357e:7c22:5b05:e9dc) (Ping timeout: 256 seconds)
2021-08-12 18:11:23 +0200 <kuribas> Why does <*> needs to be the same as `ap`?
2021-08-12 18:11:43 +0200 <kuribas> Wouldn't it make more sense then to have `ap` in the monad class, so it can be paralellized?
2021-08-12 18:11:47 +0200xff0x(~xff0x@2001:1a81:5238:9600:4e29:abec:ca9f:ff16)
2021-08-12 18:12:03 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-12 18:13:41 +0200ubert(~Thunderbi@77.119.168.246.wireless.dyn.drei.com) (Ping timeout: 268 seconds)
2021-08-12 18:13:41 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 268 seconds)
2021-08-12 18:13:47 +0200tzh(~tzh@c-24-21-73-154.hsd1.or.comcast.net)
2021-08-12 18:15:01 +0200Vajb(~Vajb@hag-jnsbng11-58c3ab-85.dhcp.inet.fi)
2021-08-12 18:15:19 +0200 <kuribas> I just feel some of these "laws" are very "arbitrary".
2021-08-12 18:15:57 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 245 seconds)
2021-08-12 18:15:59 +0200 <geekosaur> I think that's just so you can backform an Applicative for an existing Monad by setting <*> = ap
2021-08-12 18:16:25 +0200 <geekosaur> having toi do with the transitional days of AMP
2021-08-12 18:16:46 +0200dermato(~dermatobr@154.21.23.75) (Ping timeout: 272 seconds)
2021-08-12 18:17:28 +0200__monty__(~toonn@user/toonn)
2021-08-12 18:17:43 +0200 <kuribas> right
2021-08-12 18:19:27 +0200 <geekosaur> also, you can't in general parallelize a Monad, can you?
2021-08-12 18:23:00 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-12 18:23:39 +0200seiryn(~seiryn@2a01cb0409c990003ccf6635f6976a70.ipv6.abo.wanadoo.fr)
2021-08-12 18:26:31 +0200 <tomsmeding> geekosaur: if ap was defined as <*>, you could potentially parallelise ap
2021-08-12 18:26:40 +0200 <kuribas> geekosaur: no
2021-08-12 18:26:51 +0200chris(~chris@81.96.113.213)
2021-08-12 18:26:54 +0200chrisGuest2327
2021-08-12 18:28:33 +0200dermato(~dermatobr@154.21.23.75)
2021-08-12 18:28:58 +0200markpythonicbitc(~markpytho@2600:380:846c:ec0b:a0cc:2cb7:7089:4f8)
2021-08-12 18:29:48 +0200pschorf(~user@c-73-77-28-188.hsd1.tx.comcast.net)
2021-08-12 18:29:54 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Killed (NickServ (GHOST command used by allbery_b)))
2021-08-12 18:29:54 +0200allbery_b(~geekosaur@xmonad/geekosaur)
2021-08-12 18:29:57 +0200allbery_bgeekosaur
2021-08-12 18:31:08 +0200Guest2327(~chris@81.96.113.213) (Ping timeout: 252 seconds)
2021-08-12 18:31:10 +0200 <seiryn> Can we ask for help on this channel ?
2021-08-12 18:31:19 +0200 <geekosaur> sure
2021-08-12 18:32:50 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-12 18:33:57 +0200fjvallarino(~fjvallari@186.136.54.215) (Quit: Leaving...)
2021-08-12 18:34:22 +0200Vq(~vq@90-227-195-41-no77.tbcn.telia.com) (Read error: Connection reset by peer)
2021-08-12 18:34:28 +0200 <lechner> Hi, I am having a small love affair with yi, the editor. Why was that project abandoned, please? Also, why doesn't Ctrl-y (yank) work over ssh?
2021-08-12 18:35:05 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 18:35:20 +0200 <dsal> Because you should be using mosh, obviously. :P
2021-08-12 18:35:53 +0200 <geekosaur> check terminal settings, ctrl-y at least used to be delayed suspend
2021-08-12 18:36:21 +0200 <dsal> Projects are hard to keep up with. Some of us make hundreds of them to solve small problems and then get lonely because that sort of of application doesn't get a lot of traction.
2021-08-12 18:36:56 +0200kuribas(~user@ip-188-118-57-242.reverse.destiny.be) (Quit: ERC (IRC client for Emacs 26.3))
2021-08-12 18:36:56 +0200 <geekosaur> yeh, I think they just ran out of people willing to put in time on it
2021-08-12 18:37:34 +0200 <geekosaur> and there are already lots of editors
2021-08-12 18:37:46 +0200 <geekosaur> they're competing with neovim, for example
2021-08-12 18:38:22 +0200 <seiryn> Aaah nevermind, while trying to be sure about the name of the syntax i realised that i missed a language expension huhu
2021-08-12 18:39:09 +0200Vq(~vq@90-227-195-41-no77.tbcn.telia.com)
2021-08-12 18:39:15 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 18:40:50 +0200markpythonicbitc(~markpytho@2600:380:846c:ec0b:a0cc:2cb7:7089:4f8) (Ping timeout: 272 seconds)
2021-08-12 18:41:47 +0200 <lechner> geekosaur: on Debian, yi is the only lightweight emacs clone that supports Unicode. There is nothing like it. I even thought about suggesting it to Linus Thorvalds as a replacement for MicroEmacs, which he compiles himself because it cannot be distributed https://www.emacswiki.org/emacs/MicroEmacs
2021-08-12 18:42:58 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-12 18:44:19 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 18:47:00 +0200vysn(~vysn@user/vysn) (Ping timeout: 256 seconds)
2021-08-12 18:50:19 +0200Clint(~Clint@user/clint) (Quit: leaving)
2021-08-12 18:50:29 +0200Clint(~Clint@user/clint)
2021-08-12 18:53:20 +0200 <sm> emacs clone ? I thought it was more vi like
2021-08-12 18:54:24 +0200 <shapr> I thought it was both?
2021-08-12 18:55:05 +0200 <Clint> different keybinding sets do not a clone make
2021-08-12 18:55:27 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-12 18:56:46 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 18:56:51 +0200 <sm> https://github.com/yi-editor/yi/issues/1114
2021-08-12 19:01:30 +0200nvmd(~nvmd@user/nvmd) (Quit: Later, nerds.)
2021-08-12 19:01:38 +0200econo(uid147250@user/econo)
2021-08-12 19:03:02 +0200xff0x(~xff0x@2001:1a81:5238:9600:4e29:abec:ca9f:ff16) (Ping timeout: 245 seconds)
2021-08-12 19:03:58 +0200xff0x(~xff0x@2001:1a81:5238:9600:abd9:7ea2:c2a4:a5eb)
2021-08-12 19:04:11 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-12 19:06:26 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-12 19:13:57 +0200zebrag(~chris@user/zebrag)
2021-08-12 19:15:39 +0200justsomeguy(~justsomeg@user/justsomeguy)
2021-08-12 19:17:43 +0200Erutuon(~Erutuon@user/erutuon)
2021-08-12 19:18:25 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 248 seconds)
2021-08-12 19:20:25 +0200Matthias1(~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com) (Remote host closed the connection)
2021-08-12 19:21:05 +0200Matthias1(~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com)
2021-08-12 19:22:27 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-08-12 19:22:58 +0200Matthias1(~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com) (Remote host closed the connection)
2021-08-12 19:23:08 +0200Matthias1(~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com)
2021-08-12 19:23:53 +0200mc47(~mc47@xmonad/TheMC47)
2021-08-12 19:23:54 +0200mc47(~mc47@xmonad/TheMC47) (Remote host closed the connection)
2021-08-12 19:25:13 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 268 seconds)
2021-08-12 19:30:05 +0200denbrahe[m](~denbrahem@2001:470:69fc:105::19c0)
2021-08-12 19:30:47 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 19:31:19 +0200 <dsal> Yeah, if you use emacs and someone has a "great modern editor" that's much better and also has emacs key bindings, you'll generally be very disappointed. Key bindings are a minor part of emacs.
2021-08-12 19:31:41 +0200 <dsal> (which is also architecturally ancient and would be great if something actually *could* replace it, but there have been few attempts)
2021-08-12 19:32:10 +0200Matthias1(~Matthias1@2603-8001-b545-4900-756a-c676-ad1d-a3a6.res6.spectrum.com) ()
2021-08-12 19:34:17 +0200slack1256(~slack1256@181.203.4.196) (Ping timeout: 245 seconds)
2021-08-12 19:34:53 +0200 <geekosaur> supposedly gnu wants to redo emacs based on guile, but they sure are taking a long time to do it
2021-08-12 19:35:01 +0200geekosaur(~geekosaur@xmonad/geekosaur) (Remote host closed the connection)
2021-08-12 19:35:10 +0200 <monochrom> Hell, they still haven't finished Hurd. >:)
2021-08-12 19:35:14 +0200slack1256(~slack1256@181.203.118.120)
2021-08-12 19:35:26 +0200geekosaur(~geekosaur@xmonad/geekosaur)
2021-08-12 19:35:56 +0200 <monochrom> And I thought I was the greatest procrastinator especially when it comes to finishing and delivery.
2021-08-12 19:37:49 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-12 19:38:10 +0200 <dsal> Yeah, I guess one of the hard things is that emacs to me is all the modes I run which would be unlikely to work under guile.
2021-08-12 19:38:39 +0200azeem(~azeem@176.200.230.183)
2021-08-12 19:38:55 +0200 <dminuoso> geekosaur: To be fair, "redoing emacs in <insert-language>" is a very popular hobby..
2021-08-12 19:39:25 +0200 <dminuoso> I wouldn't be surprised if someone has done emacs in elisp - because why not run an editor inside your editor.
2021-08-12 19:40:22 +0200 <dsal> emacs is mostly just an elisp program already
2021-08-12 19:40:23 +0200 <geekosaur> worse than that, I think. iirc someone implemented TECO in elisp, then ran the original emacs in it to show how complete it was
2021-08-12 19:41:24 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-12 19:42:10 +0200 <monochrom> That's pretty deep and ironic inception. :)
2021-08-12 19:43:38 +0200chomwitt(~chomwitt@athedsl-32301.home.otenet.gr)
2021-08-12 19:46:22 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Ping timeout: 245 seconds)
2021-08-12 19:48:45 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-12 19:50:17 +0200wonko(~wjc@62.115.229.50)
2021-08-12 19:54:22 +0200 <justsomeguy> I'm writing a simple tool to list broken links on a webpage, given a url. Is there any reason not to use Network.HTTP? I vaguely recall getting errors about not being able to retrieve urls that use HTTPS, but can't seem to replicate it.
2021-08-12 19:55:19 +0200 <justsomeguy> I thought I'd ask now, while my program is still small, before I've commited to using a particular library.
2021-08-12 19:55:27 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 268 seconds)
2021-08-12 19:55:28 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de)
2021-08-12 19:56:41 +0200epolanski(uid312403@id-312403.brockwell.irccloud.com) (Quit: Connection closed for inactivity)
2021-08-12 19:58:16 +0200martyall(~martyall@066-241-088-129.dynamic.ashlandfiber.net)
2021-08-12 19:58:50 +0200chris(~chris@81.96.113.213)
2021-08-12 19:58:53 +0200chrisGuest9451
2021-08-12 19:59:10 +0200 <justsomeguy> Actually, I think that was a dumb question. I'll figure it out with some experimentation.
2021-08-12 19:59:40 +0200azeem(~azeem@176.200.230.183)
2021-08-12 20:02:21 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com) (Remote host closed the connection)
2021-08-12 20:03:45 +0200oxide(~lambda@user/oxide) (Ping timeout: 248 seconds)
2021-08-12 20:05:30 +0200hgolden(~hgolden2@cpe-172-114-84-61.socal.res.rr.com)
2021-08-12 20:05:39 +0200oxide(~lambda@user/oxide)
2021-08-12 20:08:57 +0200vysn(~vysn@user/vysn)
2021-08-12 20:10:08 +0200 <seiryn> Hmmmm, vim syntax highlighting mess up with quasiquote
2021-08-12 20:11:58 +0200 <dminuoso> I guess syntax highlighting is complicated to do right in Haskell, in particular in the presence of language extensions.
2021-08-12 20:12:01 +0200notzmv(~zmv@user/notzmv)
2021-08-12 20:12:24 +0200 <dminuoso> It seems like you cant reasonably do this well and consistently unless you use ghc-lib
2021-08-12 20:15:06 +0200 <maerwald[m]> seiryn: haha, quasiquotes also break hlint, HLS and hasktags
2021-08-12 20:15:29 +0200 <maerwald[m]> Depending on how you use them
2021-08-12 20:15:56 +0200 <seiryn> Quasiquotes, what do you want to destroy ? YES
2021-08-12 20:16:08 +0200kspalaiologos(~kspalaiol@user/kspalaiologos)
2021-08-12 20:19:15 +0200justsomeguy(~justsomeg@user/justsomeguy) (Quit: WeeChat 3.2)
2021-08-12 20:19:27 +0200 <seiryn> What i found is : if you put a string (I.E : something between quote) in quasiquote vim highlight it like a string, but except if it's an expression quasiquote it's not parsed like a string so the highlighting isn't relevant
2021-08-12 20:19:54 +0200 <seiryn> And it's ugly when you have random quote in your quasiquote
2021-08-12 20:22:25 +0200dyeplexer(~dyeplexer@user/dyeplexer) (Ping timeout: 248 seconds)
2021-08-12 20:22:46 +0200ec(~ec@gateway/tor-sasl/ec) (Ping timeout: 244 seconds)
2021-08-12 20:24:10 +0200 <monochrom> Most highlighters are poorly done.
2021-08-12 20:24:54 +0200 <monochrom> And I mean criminally negligently done.
2021-08-12 20:25:00 +0200 <seiryn> Yeaaaah
2021-08-12 20:25:32 +0200 <seiryn> My eyes : https://i.imgur.com/aaPQ6be.png
2021-08-12 20:26:03 +0200 <dminuoso> monochrom: Is there research into how this could be done intelligently? I mean if you bindly toss ghc-lib at it, you will get no highlighting on any syntax error.
2021-08-12 20:26:11 +0200 <monochrom> 99% of string literals are one-line-only, right? And for the 1% that spans multiple lines, the programmer must put some special escape code at the end of each line, right? This is practically true of all languages ever, right?
2021-08-12 20:26:53 +0200 <yushyin> seiryn: maybe nvim-treesitter does a better job?
2021-08-12 20:27:17 +0200 <monochrom> So a highlighter that sees an opening quote character and goes into "this is a char/string literal" mode, it stands to reason to at least exit that mode upon newline, right?
2021-08-12 20:27:22 +0200 <seiryn> yushyin : i don't know but i hope because i can't code in those condition
2021-08-12 20:27:27 +0200ubert(~Thunderbi@77.119.168.246.wireless.dyn.drei.com)
2021-08-12 20:28:41 +0200 <monochrom> So I do not mean that a highlighter needs to be intelligent. Regex and FSA are fine, I respect that.
2021-08-12 20:28:59 +0200 <monochrom> I mean that their authors are criminally dumb.
2021-08-12 20:29:01 +0200 <seiryn> dminuoso : The default syntax highlighting of vim is very dumb, it doesn't even involve a syntax tree
2021-08-12 20:29:41 +0200 <dminuoso> seiryn: Did you consider using a custom vim script?
2021-08-12 20:29:45 +0200 <dminuoso> Perhaps https://github.com/neovimhaskell/haskell-vim ?
2021-08-12 20:30:17 +0200 <monochrom> Like what fantasy world do they live in such that if they see an opening quote character and then if it isn't closed by the end of that same line they just assume that nothing has gone wrong?
2021-08-12 20:30:26 +0200Cajun(~Cajun@user/cajun)
2021-08-12 20:30:26 +0200 <dminuoso> monochrom: I can think a ton of reasons to be criminaly dumb on purpose in a highlighter
2021-08-12 20:30:29 +0200ec(~ec@gateway/tor-sasl/ec)
2021-08-12 20:30:30 +0200 <dminuoso> Consider a highlighter in emacs lisp.
2021-08-12 20:30:54 +0200 <yushyin> seiryn: https://paste.xinu.at/7Li/
2021-08-12 20:30:58 +0200 <dminuoso> Naive approaches quickly generate high amounts of objects, which can cause GC issues
2021-08-12 20:32:04 +0200 <monochrom> Well that's the other kind of criminally dumb in terms of even asymptotic costs.
2021-08-12 20:32:21 +0200 <seiryn> yushyin : Thanks
2021-08-12 20:32:24 +0200 <monochrom> It's why I respect choosing regexes and FSA and KISS
2021-08-12 20:32:43 +0200 <monochrom> But within that framework, the problem of runaway string literals is trivial to solve.
2021-08-12 20:32:45 +0200 <seiryn> Hmmmmm
2021-08-12 20:32:52 +0200 <seiryn> I try something with the syntax file
2021-08-12 20:32:58 +0200 <monochrom> or at least s/solve/mitigate/
2021-08-12 20:37:22 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 268 seconds)
2021-08-12 20:37:53 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 248 seconds)
2021-08-12 20:39:13 +0200sander(~sander@user/sander) (Read error: Connection reset by peer)
2021-08-12 20:39:40 +0200sander(~sander@user/sander)
2021-08-12 20:40:46 +0200azeem(~azeem@176.200.230.183) (Read error: Connection reset by peer)
2021-08-12 20:41:00 +0200azeem(~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it)
2021-08-12 20:42:33 +0200JavierNeira[m](~jneiramat@2001:470:69fc:105::d729)
2021-08-12 20:47:32 +0200ubert(~Thunderbi@77.119.168.246.wireless.dyn.drei.com) (Ping timeout: 252 seconds)
2021-08-12 20:50:28 +0200hnOsmium0001(uid453710@id-453710.stonehaven.irccloud.com)
2021-08-12 20:53:38 +0200vysn(~vysn@user/vysn) (Remote host closed the connection)
2021-08-12 20:56:13 +0200 <seiryn> Yeah so you can easily mitigate the problem but vim-treesitter is better
2021-08-12 20:58:40 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-12 20:59:39 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-08-12 20:59:53 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de)
2021-08-12 21:00:03 +0200jneira[m](~jneira@242.red-176-87-52.dynamicip.rima-tde.net)
2021-08-12 21:00:39 +0200slack1256(~slack1256@181.203.118.120) (Remote host closed the connection)
2021-08-12 21:01:21 +0200yoctocell(~user@h87-96-130-155.cust.a3fiber.se) (Ping timeout: 248 seconds)
2021-08-12 21:01:26 +0200 <tomsmeding> monochrom: "I mean that their authors are criminally dumb." -- that's kind of criminally rude
2021-08-12 21:02:16 +0200hendursaga(~weechat@user/hendursaga) (Remote host closed the connection)
2021-08-12 21:03:10 +0200 <tomsmeding> The wonder of open source is that the non-criminally-dumb people can help the criminally-dumb people out in making better software ;)
2021-08-12 21:03:13 +0200adanwan_(~adanwan@gateway/tor-sasl/adanwan) (Remote host closed the connection)
2021-08-12 21:03:27 +0200kspalaiologos(~kspalaiol@user/kspalaiologos) (Quit: Leaving)
2021-08-12 21:05:06 +0200hendursaga(~weechat@user/hendursaga)
2021-08-12 21:05:14 +0200 <monochrom> What if the dumb people outvote the non-dumb people? This has happened before. Good PRs are rejected by stubborn authors every once in a while.
2021-08-12 21:06:12 +0200martyall(~martyall@066-241-088-129.dynamic.ashlandfiber.net) (Remote host closed the connection)
2021-08-12 21:06:26 +0200adanwan(~adanwan@gateway/tor-sasl/adanwan)
2021-08-12 21:06:45 +0200 <tomsmeding> At which point you can fork :)
2021-08-12 21:07:29 +0200 <tomsmeding> I'm not disagreeing with you, just disagreeing with the wording "criminally dumb"
2021-08-12 21:07:34 +0200 <tomsmeding> But I'll stop :p
2021-08-12 21:08:17 +0200 <monochrom> I don't make that kind of strong accusations lightly.
2021-08-12 21:09:10 +0200 <monochrom> Someone who writes a highlighter for the first time, if they haven't thought of the issue I explained, I wouldn't be complaining. It is not an obvious issue for a first-timer.
2021-08-12 21:09:21 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de) (Quit: ZNC 1.7.2+deb3 - https://znc.in)
2021-08-12 21:11:39 +0200 <monochrom> But a highlighter that has been in production use for 10 years? During which you have seen the runaway string literal problem show up a million times? During which you have learned that there are languages that use unmatched quote characters to stand for something other than string/char literals and so one should do at least a tiny little bit of mitigation? And I just mean mitigation, damage control, you don't have to fully solve the problem?
2021-08-12 21:12:07 +0200kritzefitz(~kritzefit@picard.host.weltraumschlangen.de)
2021-08-12 21:12:28 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 21:13:35 +0200martyall(~martyall@097-090-118-246.res.spectrum.com)
2021-08-12 21:13:41 +0200 <monochrom> And in the context of "I use a simple regex because it is right for 90% of the cases, that's good enough", and then here we see that it is wrong for 90% of the cases?
2021-08-12 21:14:10 +0200 <monochrom> And the simple fix is simply adding one small thing to your existing regex?
2021-08-12 21:14:24 +0200 <monochrom> And after all those 10 years the author still hasn't acted?
2021-08-12 21:14:26 +0200 <dolio> monochrom: Maybe they're highlighting Haskell.
2021-08-12 21:14:39 +0200 <dolio> "This is valid on a single line\
2021-08-12 21:14:56 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 21:15:08 +0200 <monochrom> I have already covered that from two sides.
2021-08-12 21:15:13 +0200 <dolio> :)
2021-08-12 21:15:17 +0200auri(~admin@static.46.108.40.188.clients.your-server.de) (Changing host)
2021-08-12 21:15:17 +0200auri(~admin@fsf/member/auri)
2021-08-12 21:15:28 +0200 <tomsmeding> monochrom: what if the author hasn't acted? Well, you ask them to act :p
2021-08-12 21:16:04 +0200 <tomsmeding> Not acting is not criminal, and only implies dumbness if there are no external considerations
2021-08-12 21:16:22 +0200 <tomsmeding> Chris Done hasn't fixed a lot of bugs in ircbrowse, but is he dumb? I assume not :p
2021-08-12 21:16:41 +0200 <dolio> Not acting can be criminal.
2021-08-12 21:17:17 +0200 <tomsmeding> You don't have the author on contract for fixing stuff; if you do and they don't, then criminality enters the picture
2021-08-12 21:17:48 +0200 <dolio> I think that would be civil.
2021-08-12 21:17:53 +0200martyall(~martyall@097-090-118-246.res.spectrum.com) (Ping timeout: 248 seconds)
2021-08-12 21:17:58 +0200 <tomsmeding> But maybe I'm too much of a sheltered homeboy that gets scared at strong language :p
2021-08-12 21:18:08 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-12 21:18:16 +0200 <tomsmeding> dolio: indeed, even then :p
2021-08-12 21:19:19 +0200 <dolio> I tried writing vim highlighting that correctly recognized bad Haskell strings and it was pretty difficult.
2021-08-12 21:19:40 +0200jneira[m](~jneira@242.red-176-87-52.dynamicip.rima-tde.net) (Remote host closed the connection)
2021-08-12 21:20:06 +0200 <dolio> Probably not as difficult as correctly recognizing other stuff in vi, though.
2021-08-12 21:20:14 +0200 <dolio> Vim, even.
2021-08-12 21:20:19 +0200mattil(~mattilinn@87-92-39-170.bb.dnainternet.fi) (Quit: Leaving)
2021-08-12 21:21:20 +0200geekosaurflashes back totrying to hack around early cperl-mode bugs
2021-08-12 21:23:13 +0200 <dolio> The problem is that Vim has a system that seems like it should allow you to do some amount of hierarchical and context sensitive parsing, but in practice the features have really weird interactions that make it very difficult to actually parse anything.
2021-08-12 21:24:55 +0200tomsmeding's only knowledge about vim highlighting rules comes from at some point trying to ad-hoc understand enough to change a regex somewhere
2021-08-12 21:26:03 +0200 <tomsmeding> Also neither sublime text's nor vim's standard LaTeX highlighting works correctly with % within \verb| | blocks or math snippets
2021-08-12 21:27:12 +0200azeem(~azeem@dynamic-adsl-84-220-236-17.clienti.tiscali.it) (Ping timeout: 245 seconds)
2021-08-12 21:27:52 +0200azeem(~azeem@176.200.230.183)
2021-08-12 21:29:48 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk)
2021-08-12 21:31:42 +0200cole36(~cole@2601:600:8180:f3a0:435:b2d0:6cf:edf)
2021-08-12 21:31:49 +0200jakalx(~jakalx@base.jakalx.net) (Error from remote client)
2021-08-12 21:34:22 +0200burnsidesLlama(~burnsides@dhcp168-018.wadham.ox.ac.uk) (Ping timeout: 272 seconds)
2021-08-12 21:36:06 +0200martyall(~martyall@097-090-118-246.res.spectrum.com)
2021-08-12 21:36:12 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net)
2021-08-12 21:39:08 +0200jakalx(~jakalx@base.jakalx.net)
2021-08-12 21:39:38 +0200martyall(~martyall@097-090-118-246.res.spectrum.com) (Remote host closed the connection)
2021-08-12 21:41:47 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com)
2021-08-12 21:42:08 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Ping timeout: 268 seconds)
2021-08-12 21:46:19 +0200cole36(~cole@2601:600:8180:f3a0:435:b2d0:6cf:edf) (Quit: Client closed)
2021-08-12 21:47:23 +0200dhouthoo(~dhouthoo@178-117-36-167.access.telenet.be) (Quit: WeeChat 3.2)
2021-08-12 21:49:34 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl) (Ping timeout: 272 seconds)
2021-08-12 21:52:18 +0200norias(~jaredm@c-98-219-195-163.hsd1.pa.comcast.net) (Ping timeout: 256 seconds)
2021-08-12 21:58:39 +0200martyall(~martyall@097-090-118-246.res.spectrum.com)
2021-08-12 22:00:20 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 272 seconds)
2021-08-12 22:05:20 +0200juhp(~juhp@128.106.188.220) (Ping timeout: 256 seconds)
2021-08-12 22:05:45 +0200azeem(~azeem@176.200.230.183)
2021-08-12 22:05:46 +0200obs\(~obscur1ty@user/obs/x-5924898)
2021-08-12 22:06:46 +0200markpythonicbitc(~markpytho@2601:647:5a00:35:e049:539d:ba89:3861)
2021-08-12 22:06:48 +0200juhp(~juhp@128.106.188.220)
2021-08-12 22:07:07 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net)
2021-08-12 22:10:00 +0200emliunix(~emliunix@8.37.43.217) (Remote host closed the connection)
2021-08-12 22:10:22 +0200emliunix(~emliunix@8.37.43.217)
2021-08-12 22:12:16 +0200berberman_(~berberman@user/berberman)
2021-08-12 22:13:06 +0200michalz(~michalz@185.246.204.61) (Remote host closed the connection)
2021-08-12 22:13:47 +0200berberman(~berberman@user/berberman) (Ping timeout: 268 seconds)
2021-08-12 22:20:49 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 248 seconds)
2021-08-12 22:21:42 +0200azeem(~azeem@176.200.230.183)
2021-08-12 22:21:46 +0200skykanin(~skykanin@115.81-166-221.customer.lyse.net) (Quit: WeeChat 3.2)
2021-08-12 22:26:09 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 248 seconds)
2021-08-12 22:27:24 +0200wallymathieu(~wallymath@81-234-151-21-no94.tbcn.telia.com) (Quit: My MacBook has gone to sleep. ZZZzzz…)
2021-08-12 22:27:56 +0200drownbes(~igloo@79-206-50-195.sta.estpak.ee)
2021-08-12 22:29:13 +0200drownbes(~igloo@79-206-50-195.sta.estpak.ee) (Client Quit)
2021-08-12 22:32:09 +0200MQ-17J(~MQ-17J@d14-69-206-129.try.wideopenwest.com)
2021-08-12 22:33:37 +0200wonko(~wjc@62.115.229.50)
2021-08-12 22:33:38 +0200Pickchea(~private@user/pickchea)
2021-08-12 22:33:59 +0200azeem(~azeem@176.200.230.183)
2021-08-12 22:34:12 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 22:36:23 +0200oxide(~lambda@user/oxide) (Ping timeout: 268 seconds)
2021-08-12 22:36:58 +0200oxide(~lambda@user/oxide)
2021-08-12 22:38:55 +0200pschorf(~user@c-73-77-28-188.hsd1.tx.comcast.net) (Remote host closed the connection)
2021-08-12 22:45:50 +0200pschorf(~user@c-73-77-28-188.hsd1.tx.comcast.net)
2021-08-12 22:49:19 +0200martyall(~martyall@097-090-118-246.res.spectrum.com) (Remote host closed the connection)
2021-08-12 22:49:43 +0200oxide(~lambda@user/oxide) (Read error: Connection reset by peer)
2021-08-12 22:49:54 +0200joeyh_(joeyh@kitenet.net) (Quit: ZNC 1.8.2+deb2+b1 - https://znc.in)
2021-08-12 22:50:27 +0200jgeerds(~jgeerds@55d45555.access.ecotel.net)
2021-08-12 22:50:28 +0200h_(rootvegeta@fsf/member/hays) (Remote host closed the connection)
2021-08-12 22:51:28 +0200martyall(~martyall@097-090-118-246.res.spectrum.com)
2021-08-12 22:51:30 +0200tureba(~tureba@tureba.org) (Ping timeout: 240 seconds)
2021-08-12 22:51:54 +0200landonf(landonf@mac68k.info) (Ping timeout: 240 seconds)
2021-08-12 22:52:26 +0200wonko(~wjc@62.115.229.50) (Ping timeout: 268 seconds)
2021-08-12 22:53:19 +0200timCF_(~timCF@m91-129-100-127.cust.tele2.ee)
2021-08-12 22:53:31 +0200tureba(~tureba@tureba.org)
2021-08-12 22:53:37 +0200hays(~rootveget@fsf/member/hays)
2021-08-12 22:54:07 +0200joeyh(joeyh@kitenet.net)
2021-08-12 22:55:11 +0200landonf(landonf@mac68k.info)
2021-08-12 23:00:53 +0200acidjnk(~acidjnk@p200300d0c72b95922063193a743f77dc.dip0.t-ipconnect.de)
2021-08-12 23:04:09 +0200timCF_(~timCF@m91-129-100-127.cust.tele2.ee) (Quit: leaving)
2021-08-12 23:04:34 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-12 23:06:19 +0200_ht(~quassel@82-169-194-8.biz.kpn.net) (Remote host closed the connection)
2021-08-12 23:07:30 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net) (Quit: leaving)
2021-08-12 23:07:43 +0200wroathe(~wroathe@c-68-54-25-135.hsd1.mn.comcast.net)
2021-08-12 23:10:56 +0200amahl(~amahl@dsl-jklbng12-54fbca-64.dhcp.inet.fi) (Ping timeout: 268 seconds)
2021-08-12 23:14:49 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net) (Quit: WeeChat 3.2)
2021-08-12 23:16:10 +0200raehik(~raehik@cpc95906-rdng25-2-0-cust156.15-3.cable.virginm.net)
2021-08-12 23:17:12 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker) (Remote host closed the connection)
2021-08-12 23:17:28 +0200TheCoffeMaker(~TheCoffeM@user/thecoffemaker)
2021-08-12 23:18:22 +0200martyall(~martyall@097-090-118-246.res.spectrum.com) (Remote host closed the connection)
2021-08-12 23:19:08 +0200martyall(~martyall@097-090-118-246.res.spectrum.com)
2021-08-12 23:25:21 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 248 seconds)
2021-08-12 23:25:44 +0200azeem(~azeem@176.200.230.183)
2021-08-12 23:30:20 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 252 seconds)
2021-08-12 23:31:34 +0200azeem(~azeem@176.200.230.183)
2021-08-12 23:31:54 +0200martyall(~martyall@097-090-118-246.res.spectrum.com) ()
2021-08-12 23:32:31 +0200ystael(~ystael@user/ystael) (Ping timeout: 268 seconds)
2021-08-12 23:33:05 +0200acidjnk_new(~acidjnk@p5487d90a.dip0.t-ipconnect.de)
2021-08-12 23:36:36 +0200acidjnk(~acidjnk@p200300d0c72b95922063193a743f77dc.dip0.t-ipconnect.de) (Ping timeout: 272 seconds)
2021-08-12 23:36:58 +0200__monty__(~toonn@user/toonn) (Quit: leaving)
2021-08-12 23:38:03 +0200dragestil_(~quassel@user/dragestil) (Ping timeout: 268 seconds)
2021-08-12 23:41:39 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Remote host closed the connection)
2021-08-12 23:42:30 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-12 23:43:05 +0200dragestil_(~quassel@user/dragestil)
2021-08-12 23:44:34 +0200Atum_(~IRC@user/atum/x-2392232)
2021-08-12 23:44:55 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net) (Remote host closed the connection)
2021-08-12 23:45:28 +0200Tuplanolla(~Tuplanoll@91-159-69-50.elisa-laajakaista.fi) (Quit: Leaving.)
2021-08-12 23:45:33 +0200merijn(~merijn@83-160-49-249.ip.xs4all.nl)
2021-08-12 23:46:11 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca) (Client Quit)
2021-08-12 23:46:40 +0200machinedgod(~machinedg@135-23-192-217.cpe.pppoe.ca)
2021-08-12 23:47:13 +0200jneira(~jneira@28.red-80-28-169.staticip.rima-tde.net)
2021-08-12 23:49:07 +0200agua_pesada(~agua_pesa@2804:14c:8793:8e2f:311f:1da6:1cf6:61ea)
2021-08-12 23:50:24 +0200Erutuon(~Erutuon@user/erutuon) (Ping timeout: 268 seconds)
2021-08-12 23:50:59 +0200lavaman(~lavaman@98.38.249.169)
2021-08-12 23:51:30 +0200eggplantade(~Eggplanta@108-201-191-115.lightspeed.sntcca.sbcglobal.net)
2021-08-12 23:56:27 +0200gehmehgeh(~user@user/gehmehgeh) (Quit: Leaving)
2021-08-12 23:57:27 +0200awschnap(~lavaman@98.38.249.169)
2021-08-12 23:57:27 +0200lavaman(~lavaman@98.38.249.169) (Read error: Connection reset by peer)
2021-08-12 23:58:25 +0200azeem(~azeem@176.200.230.183) (Ping timeout: 268 seconds)
2021-08-12 23:59:06 +0200azeem(~azeem@176.200.230.183)