Understanding Yoneda(bartoszmilewski.com) You don’t need to know anything about category theory to use Haskell as a programming language. But if you want to understand the theory behind Haskell or contribute to its development, some familiarity with category theory is a prerequisite.
32 points by todsacerdoti 46 days ago | 0 comments
A Proper x86 Assembler in Haskell Using the Escardó-Oliva Functional(vmchale.com) Writing an assembler turns out to be an interesting example: one needs to calculate distances between jumps and their target labels, and the target may appear after the label. It turns out that one can write a one-pass assembler using the tardis monad or in Curry, using logic programming.
An "oh fuck" moment in time(ghuntley.com) Then took my kids down to the local pool. When I got back, I had a fully functional Haskell library with autogenerated C bindings, FFI to CoreAudio and my jaw was on the ground. Literally an "oh fuck" moment in time... This wasn't something that existed, it wasn't regurgitating knowledge from Stackoverflow. It was inventing/creating something new.
74 points by thcipriani 116 days ago | 28 comments
Functors to Monads: A Story of Shapes(jle.im) For many years now I’ve been using a mental model and intuition that has guided me well for understanding and teaching and using functors, applicatives, monads, and other related Haskell abstractions, as well as for approaching learning new ones.
243 points by ocean_moist 130 days ago | 95 comments
Namespaced De Bruijn Indices(haskellforall.com) In this post I share a trick I use for dealing with bound variables in Dhall that I thought might be useful for other interpreted programming languages.
A dictionary of single-letter variable names(jackkelly.name) Haskell’s expressive type system means that type signatures can carry a lot of information. Haskell’s polymorphism means that you sometime write a function that works across an enormous range of types, and are often left wondering “what do I actually call my variables?”. It is often the case that there’s nothing to say beyond “this variable is a Functor”, or “this variable is a monadic action”, and so a single-letter variable name is appropriate.
110 points by todsacerdoti 148 days ago | 91 comments
Fast Haskell: Competing with C at parsing XML (2017)(chrisdone.com) In this post we’re going to look at parsing XML in Haskell, how it compares with an efficient C parser, and steps you can take in Haskell to build a fast library from the ground up. We’re going to get fairly detailed and get our hands dirty.
5 points by hyperbrainer 150 days ago | 0 comments
Gleam Is Pragmatic(drewolson.org) I’ve spent the past several years working with functional programming languages in my free time – primarily Haskell and OCaml. I love both languages but also find aspects of each frustrating.
A Tour of Hell – Shell scripting Haskell dialect(chrisdone.com) This set of slides sketches out the implementation of Hell, in technical detail. I do tend to switch between the slides, old code, and the present code, so bear with me. It's more about the ideas. If you want to see a complete implementation, the complete implementation of Hell is one file, which you can look through easily.