Shorter feedback cycles for contributors and higher quality of releases, these are a few of our favourite things about the Haddock documentation generation tool coming home to the GHC repository.
@mangoiv@maralorn Yes, I agree with this view. I don't think Maybe is the right analogy. The MVar being empty is not a case you have to explicitly deal with, it already has a behaviour attached to it (blocking). Regarding the missing entry in the square, isn't that just an IORef?
Yeah, It's kinda IORef but I thought that doesn't count because it has less concurrency guarantees.
But I think I get now why MVars are much more useful. I have even used TMVars myself as locks when the action I wanted to do with it contained effects.
how the hell do you add dependencies in Haskell stack, I add yesod to the build-depends in the cabal file like shown in the stack example but on running stack build it fails saying it couldn't find yesod, and then the line is removed from the cabal file. Haskell ecosystem is hell.
I personally really like how Haskell Stack works (package sets are amazing), but the interactions between it and the Cabal file are definitely confusing
usually, it is used to define methods, but in function arguments, it serves as syntactic sugar so you don't have to name generic types... but in a return type, it has a meaning that is slightly different, and actually expresses a semantic not even vanilla haskell can represent!
basically, instead of being able to return any type implementing a trait, it states that it can return at least one type that implements a trait.
in haskell terminology, specifying a generic type parameter is "forall a", while returning an "impl" is "exists a".
The GHC developers are very pleased to announce the release of GHC 9.10.1! 🎉
On the menu:
→ GHC2024 language edition
→ Linear let and where
bindings
→ Annotation of exceptions with backtraces
→ Required type arguments for functions
→ Javascript FFI support in the WebAssembly backend
… and many more!
Between the continued iteration on the GHC20xx meta-extension mechanisms, further improvements in the JS/wasm backends, and (my favorite) the availability of exception backtraces in base, there is lots in this release to be excited about.
See the Haskell Discourse thread for the full announcement:
@simonmic Also applies to searching for the best way for the work to work. (Some people might call this #processimprovement, or #Rightshifting, or methodology discovery).