Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
tome
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
22 ms
·
391.
▲
by
tome
2y ago
My experience is similar, and in addition I would say that I have come across badly written, difficult to understand Haskell code, but it was always straightforward to refactor it into something clearly written.
392.
▲
by
tome
2y ago
> It's also a bummer that you need the containers package for basic DS. So, batteries not included Batteries are included, because containers ships with every distribution of GHC, and you don't need to use stack or cabal to e
393.
▲
by
tome
2y ago
I randomly chose *> to search for on Google. It does pretty well, and yes, the top result is StackOverflow. https://www.google.com/search?q=*%3E&iflsig=AL9hbdgAAAAAZzeB... *
394.
▲
by
tome
2y ago
That's a strange objection, because Haskell supports state, of course. In fact I'd say it's the best language for supporting state, because it makes it explicit.
395.
▲
by
tome
2y ago
I agree. I think the LSP makes it essentially impossible to subclass a concrete superclass, because the subclass must retain all the observable behaviour of the superclass. If it does so then what's the point? On the other hand, imp
396.
▲
by
tome
2y ago
* We now have ghcup, a solid way to install Haskell (inspired by rustup, I believe). It used to be that you got access to one GHC package from your Linux distribution if you were lucky, otherwise you had to install manually from a bindist.
397.
▲
by
tome
2y ago
The supposed problems in the Haskell example presented in the article have nothing to do with purity. Logging is by definition an effect. Haskell supports effects just fine. (I'd personally say better than any other language I know.
398.
▲
by
tome
2y ago
Sure, it could handle that case. You'd have to write a `withSwappableLogger` function which produces a logger that listens for updates telling it where to log to in future.
399.
▲
by
tome
2y ago
This is strange to me because I don't see FP faltering here at all. I suppose it depends on precisely what you mean by "OOP" and "FP". Below is an example implementation in my Haskell effect system Bluefin. It de
400.
▲
by
tome
2y ago
The Haskell community is admittedly less active in promoting niche concepts like zygohistic prepomorphisms, but much more active in building out a solid ecosystem. You won't hear much about the latter because it isn't shiny and w
401.
▲
by
tome
2y ago
Could you say more about what branching/unification is in this context, and how Rama supports/uses it?
402.
▲
by
tome
2y ago
Interesting. How do you distinguish that notion from the notion of the "bourgeoisie"?
403.
▲
by
tome
2y ago
On the other hand, if they're completely different from a template language it seems like it should be just a moments work to demonstrate why, and help a fellow professional understand what they're missing.
404.
▲
by
tome
2y ago
Who knows whether Haskellers are better, on average, at designing software. As a Haskeller I'd like to think they are! But I really have no idea. What I do know is that _I_ can design better software in Haskell than in Python, and I
405.
▲
by
tome
2y ago
Yes, and for interested parties it's probably worth elaborating that Git might be something like class Git m where clone :: Url -> m GitRepo currentHead :: GitRepo -> m CommitHash and Logging might be som
406.
▲
by
tome
2y ago
> Additionally, it would be good to see some proper refactoring tooling. Renaming, moving types/functions from one module to another, etc. Doesn't HLS have renaming, at least?
407.
▲
by
tome
2y ago
Yup, that's right. Libraries can expose the wrong thing, or just space leak internally. Here's an example: https://github.com/mrkkrp/megaparsec/issues/486
408.
▲
by
tome
2y ago
That does sound like a bummer. To add some explanation, to explain why I said that effectful and Bluefin are here to say, it's because they're based on IO, so it's easy to get them to interoperate, and if in the future a new
409.
▲
by
tome
2y ago
> Just to be clear I think Bluefin is really cool and I'm a fan of your work overall. Thanks! > I'm speaking from the industry/production perspective here. When polysemy and freer-effects were released there was a simil
410.
▲
by
tome
2y ago
> U+093b is still in the BMP I'm sorry, I don't know what that means. If you have a specific character you'd like me to try then please tell me what it is. My Unicode expertise is quite limited. > I am not sold on len
411.
▲
by
tome
2y ago
"Cute" comes across as very dismissive. I'm not sure if you intended that. lens-regex-pcre is just a wrapper around PCRE, so anything that works in PCRE will work, for example, from your Mozilla reference: ghci> &qu
412.
▲
by
tome
2y ago
> But DataKinds is not stable I mean "not unstable"
413.
▲
by
tome
2y ago
> Some libraries use exceptions for lots of error states that in Go would be a returned error value Yes. This is a very very bad aspect of the design of many Haskell libraries. They just throw away the whole point of doing Haskell.
414.
▲
by
tome
2y ago
I like this observation! It explains a lot.
415.
▲
by
tome
2y ago
> I find some code easier to express with procedural/mutable loops than recursion Do you mean like this example of calculating the 5th triangular number with a procedural loop and mutable state? Haskell supports them just fine! ht
416.
▲
by
tome
2y ago
Having used Mu I concluded that Haskell got function laziness correct. (Data type laziness is a different issue, but that can be solved by `StrictData`).
417.
▲
by
tome
2y ago
> "Gee, this effects library I built my entire code base around to date is really nifty but also I can't actually express my needs in it after all" This is why I recommend IO-based effect systems like Bluefin and effectful
418.
▲
by
tome
2y ago
> generally when people say "choose effect system" they mean choose some algebraic effect system This isn't really true. Bluefin and effectful are effect systems, but not algebraic effect systems.
419.
▲
by
tome
2y ago
> This shouldn't even be proposed as a question to someone new to Haskell. They should learn how monad transformers work and just use them. 90% of developers playing around effect systems would be just fine with MTL or even just con
420.
▲
by
tome
2y ago
> It tends to have 'first error, breaks rest of compile' problems Sort of. It has a "failure at a stage prevents progress to next stage", so a parse error means you won't type check (or indeed, continue parsing)
More ›