Return type polymorphism in Haskell
In this brief post I want to discuss a fairly unusual feature of Haskell - functions that can be parameterized by their return type.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,709 posts.
In this brief post I want to discuss a fairly unusual feature of Haskell - functions that can be parameterized by their return type.
The chart classifies programming paradigms according to their kernel languages. Kernel languages are ordered according to the creative extension principle: a new concept is added when it cannot be encoded with only local transformations. Two languages that implement the same paradigm can nevertheless have very…
Coroutines are functions that pause and resume with state, allowing flexible, bidirectional control flow in PHP.
λm.me - An alternative frontend for Haskell?
Finally sitting down to learn Rust and how to write parsers.
The start of September brings a close to the Go 1.4 merge window . From now until the release in December, only bug fixes and tweaks will be accepted.
Let's take a quick look at what compile-time execution looks like in Zig.
Looking for operator or function names? Well have a look at the following and remember using existing one may ease the transition :)
Elixir is a fairly young language that was born when José and a few Rails developers tried to create a modern language optimized for concurrent, distributed, lightweight processes They wanted a modern Ruby-like syntax with a well-tested process ma
So, as previous posts show , I like Go well enough. But as a computer-language polyglot, "Go programmer" is not part of my identity, and I try for a balanced view. It is very human to go overboard in both praise and criticism, both easy to find online.
For a while now, the Ruby community has become enamored in the latest new hotness, evented programming and Node.js. It's gone so far that I've heard a number of prominent Rubyists saying that JavaScript and Node.js are the only sane way to handle a number of
We have finished the first chapter on a long journey of resurrecting Fortran: forming an initial core community of developers and users with enough momentum around the new Fortran website and projects at fortran-lang.org . There is still have a long way to go to, but this was a necessary (although not sufficient)…
An article describing the experience of writing a Lisp interpreter in Haskell.
Don’t worry … it’s super easy 🙃
A deep dive into Rust’s vec::Drain and its Drop implementation as an example of how ownership prevents subtle bugs—memory and otherwise!
If you can ctrl-c and ctrl-v, you can build a JIT.
This is the second in an indefinite series of posts about things that I think went well in the Sorbet project. The previous one covered our testing approach. Sorbet is fast. Numerous of our early users commented specifically on how fast it was, and how much they appreciated this speed. Our informal benchmarks on…
‘Monadic Parsing in Haskell’ is a short paper that laid the groundwork for libraries like Parsec and Attoparsec. Although it was published in 1998 (almost 20 years ago!) it has aged gracefully and the code samples will run with almost no changes. However, the state of the art has advanced since then and I think the…
Today, I'm publishing a new book: Property-Based Testing with PropEr, Erlang, and Elixir . It's my third book, the second one that is not self-published.
A point-by-point rebuttal of Zed Shaw's Unicode and 2to3 complaints, with a trainer's view on which Python version to teach beginners in 2016.
Lists play an important role in Lisp--for reasons both historical and practical. Historically, lists were Lisp's original composite data type, though it has been decades since they were its only such data type. These days, a Common Lisp programmer is as likely to use a vector, a hash table, or a user-defined class or…
God famously does not play dice with the universe, but he seems to enjoy writing Haskell :
This is somewhat of a followup to my post on Lua integration from a few days ago.