"Generics" and generic deriving in #haskell is some magic I have to learn about soon. `DeriveGeneric` just made implementing ToJSON and FromJSON very easy.
I really needed to hear this #haskell talk.
It's about deciding how fancy and novel to let your Haskell code with relation to maintenance. Haskell has a lot of novel tools at its disposal. Each time you choose to use a novel tool you increase the learning curve not only for beginners, but also for your future self. Sometimes that trade odd is worth it.
I also learned about some cool libraries.
I just found out about this little function: `on`.
Easiest way to think about it:
((+) `on` f) x y = f x + f y
I love #haskell!
I was reading #haskell docs and I thought this line was funny because it really encapsulates most Haskell docs:
"Since Void values logically don't exist, this witnesses the logical reasoning tool of "ex falso quodlibet". "
Is it just me or is there a lot of code generation in Haskell libraries which feels like an annoying hack and workaround? Is this some kind of #metaprogramming (I think?) workaround from other langs?
What's with the #groundhog library? It's very useful and I'm grateful it exists for #haskell, but compared to some ORMs I've used it feels extremely counterintuitive and tedious and can't just "figure stuff out on its own." Maybe I'll grow to love it over time.
I love #haskell, but sometimes the ecosystem feels brutal. Doctests are broken so now I have to use cabal-docspec, which is less simple to get working (at the moment [I believe this will just work with cabal doctests in the future], and which has weird limitations with how things are scoped and what can be imported.
I still really like my phlogging module as seen here in #burrow: https://github.com/hyperrealgopher/burrow/blob/master/src/Phlog.hs #haskell
I'm going to make a website that has a graphical representation of chat rooms. Which #haskell libraries should I look at? Miso? `websockets`? Any suggestions?
#haskell: sometimes you gotta manipulate and shuffle around some monads and functors/applicatives like a 4D Russian nesting doll.
`traverse` is a function that really shows that off. Picture related. Using `traverse` with `Either` and `Maybe` while inside a parser monad.
Has anyone ever released #haskell software for #debian before? Or manage software releases? I have been doing static binaries because the deployment and packaging is way easier to manage, but apparently that's a really bad practice. I'm not sure how to make reliable software with dependencies when it's all dynamically linked.
Can I include some of the dynamically linked files too which can be replaced by the user's dependencies? How does that work? I'm new to the concept of compiling, really.
Fosstodon is an English speaking Mastodon instance that is open to anyone who is interested in technology; particularly free & open source software.