Closer to finding what became of Moses Schönfinkel, inventor of combinators
In a follow-up to his first article about Moses Schönfinkel, Stephen Wolfram looks for the whereabouts of Schönfinkel after 1924 through his family history.
Topics /
The most popular blog posts about programming languages on Hacker News. 255 posts.
In a follow-up to his first article about Moses Schönfinkel, Stephen Wolfram looks for the whereabouts of Schönfinkel after 1924 through his family history.
Why choose Swift as a backend language in 2020? What are the available frameworks to build your server? Let me guide you.
While working on an article for the Monad.Reader, I’ve had the opportunity to think about how people learn and gain intuition for abstraction, and the implications for pedagogy. The heart of …
Sum types are pretty cool. Just like how a struct is basically “This contains one of these and one of these”, a sum type is “This contains one of …
Let me share a useful insight with you: constexpr is a platform. Just like you write code that targets Windows or a microcontroller, you write code that targets compile-time execution. In both cases you restrict yourself to the subset of C++ that works on your target platform, use conditional compilation if your code…
A deep-dive technical overview of how you can write CPython extensions in assembly (with a bonus tutorial on assembly programming)
The macro Ecto Query dynamic/2 allows you to build query fragments and interpolate them into one large query. We get easy-to-manage query building in an accessible way. It allows you to control the parameters from the user and transparently create filtering of data stored in the database.
Building a tiny FORTH for an Arduino UNO in one week
The conflict between subclassing and composition is as old as object-oriented programming. The latest crop of languages like Go or Rust prove that you don’t need subclassing to successfully write code. But what’s a pragmatic approach to subclassing in Python, specifically?
A workaround to get nice stack traces for errors in Go.
This is a follow-up to Error handling in Rust from a couple of days ago. The moment we want to use error propagation for different error types, we have to rely on trait objects with Box<dyn Error>, which means we defer a lot of information from compile-time to runtime, for the sake of convenient error handling.
Enumerating and analyzing 40+ non-V8 JavaScript implementations
The concept known as "worse is better" holds that in software making (and perhaps in other arenas as well) it is better to start with a minimal creation and grow it as needed. Christopher Alexander might call this "piecemeal growth." This is the story of the evolution of that concept.
What is threaded code? What is it good for? What are the differences between the various threading techniques? How do I implement threaded code portably? How fast are various threading techniques?
This paper appears in Advances in Exception Handling Techniques , edited by A. Romanovsky, C. Dony, J.L. Knudsen, and A. Tripathi. This book, published in 2001, is part of Lecture Notes in Computer Science, Volume 2022 , published by Springer .