2024/10/06

Newest at the top

2024-10-06 20:14:08 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) (Ping timeout: 245 seconds)
2024-10-06 20:13:56 +0200 <monochrom> I am wary of harping over "unreadable" as if it's an political ideological religious slogan. (un)readable to which target audience?
2024-10-06 20:13:45 +0200 <davean> I don't see the use there, but theres nothing special going on?
2024-10-06 20:13:08 +0200 <int-e> there's also this... and you can argue at length whether it's a use or an abuse: https://paste.tomsmeding.com/eLPAX2o3
2024-10-06 20:13:01 +0200 <monochrom> I also expect educated people to see what I'm doing, even without that comment.
2024-10-06 20:12:32 +0200 <Inst> abc <- pure $ do ...
2024-10-06 20:12:27 +0200 <davean> You can do any sort of calculation in IO, so?
2024-10-06 20:12:26 +0200 <monochrom> I do that. But I also add a comment "this is in Maybe".
2024-10-06 20:11:56 +0200 <Inst> well, the point is, you can insert do within the definition of an IO value that's actually a Maybe computation and it gets confusing
2024-10-06 20:11:14 +0200 <davean> do doesn't have type stuff, its syntax ...
2024-10-06 20:11:05 +0200 <davean> there is no polymorphism here.
2024-10-06 20:10:49 +0200 <Inst> in the sense that having too much polymorphism can be a bad thing
2024-10-06 20:10:40 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-06 20:10:39 +0200 <Inst> i'm just saying that it's related to me complaining about how you don't have container polymorphism due to all the annotations required to use functions from different container libraries / modules
2024-10-06 20:10:21 +0200ljdarj(~Thunderbi@user/ljdarj) (Remote host closed the connection)
2024-10-06 20:10:14 +0200morb(~morb@pool-108-41-100-120.nycmny.fios.verizon.net)
2024-10-06 20:09:51 +0200merijn(~merijn@204-220-045-062.dynamic.caiway.nl) merijn
2024-10-06 20:09:51 +0200 <int-e> we can still shoot programmers who, err, do that.
2024-10-06 20:09:51 +0200 <Inst> no, but some people apparently inline do blocks without type annotations and then complain that it's unreadable
2024-10-06 20:09:45 +0200 <geekosaur> why does this bother you?
2024-10-06 20:09:30 +0200 <Inst> do pi is valid
2024-10-06 20:09:27 +0200 <davean> right, its *syntax*
2024-10-06 20:09:15 +0200 <Inst> see the do bulleting fanclub
2024-10-06 20:09:04 +0200 <Inst> actually, do blocks don't even require monads or applicatives
2024-10-06 20:09:02 +0200 <monochrom> I thought people complained not having ApplicativeDo when it was not available.
2024-10-06 20:08:58 +0200 <int-e> davean: well that's a very important question when you overload it Stroustrup style
2024-10-06 20:08:35 +0200 <davean> thats like asking what the type of whitespace is
2024-10-06 20:08:17 +0200 <davean> there is no type of a do block ... its syntax ...
2024-10-06 20:08:02 +0200 <Inst> you can't see the type of the do block
2024-10-06 20:07:58 +0200 <Inst> do is polymorphic over monads and applicatives (with -XApplicativeDo)
2024-10-06 20:07:52 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-06 20:07:39 +0200 <davean> what is polymorphic do?
2024-10-06 20:07:37 +0200 <int-e> "people"
2024-10-06 20:07:37 +0200 <Inst> especially since it's a pain in the ass to provide a proper type annotation to it
2024-10-06 20:07:33 +0200ljdarj(~Thunderbi@user/ljdarj) (Remote host closed the connection)
2024-10-06 20:07:17 +0200 <Inst> iirc people complain about polymorphic do as well
2024-10-06 20:07:10 +0200 <monochrom> Two lines of "import X qualified; import X (X)" is annoying. But it's also only 1% of my time.
2024-10-06 20:06:58 +0200 <int-e> this one is a mix of 3 and 4.
2024-10-06 20:06:53 +0200 <int-e> I guess there's 4) it's not a great fit for a lazy functional programming language
2024-10-06 20:06:46 +0200 <Inst> and the Python guys are happy with their NotAsBadAsJuliaSinceTheresMillionsOfEyeballs.len() functions
2024-10-06 20:06:14 +0200 <monochrom> Personally I find "Map.insert" and "V.insert" very clarifying.
2024-10-06 20:05:50 +0200 <Inst> fff, is hoogle down again?
2024-10-06 20:05:50 +0200 <int-e> "Why doesn't Haskell have XXX" usually comes down to three things. 1) it's too hard, or 2) it's not in desparate demand, or 3) there are viable alternatives that are good enough
2024-10-06 20:05:34 +0200robertm(robertm@lattice.rojoma.com) robertm
2024-10-06 20:05:08 +0200ljdarj(~Thunderbi@user/ljdarj) ljdarj
2024-10-06 20:04:49 +0200ljdarj(~Thunderbi@user/ljdarj) (Remote host closed the connection)
2024-10-06 20:04:45 +0200 <int-e> well evidently it's not rising to the level of a problem
2024-10-06 20:04:30 +0200 <davean> I think you're the only one that sees it as a problem
2024-10-06 20:04:16 +0200 <Inst> and we won't have that problem
2024-10-06 20:04:11 +0200 <Inst> maybe someday people will do an API change and people will CRYYYYYY