Compiling a Functional Language Using C++, Part 9 – Garbage Collection
In this post, we implement a garbage collector that frees memory no longer used by the executables our compiler creates.
Topics /
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
In this post, we implement a garbage collector that frees memory no longer used by the executables our compiler creates.
Dr. Martin Odersky, the lead designer/developer of the Scala Programming Language , Generic Java, and Pizza requires no introduction, but the motivation for this micro-interview does. That is, there is an unfortunate view in some circles that sees the existence of Scala and Clojure as somehow being at odds. In…
Lately I've had an urge to start playing a few games again, namely Nethack and Dwarf Fortress (the latter being triggered by this book ). Aside from being incredibly fun, they also made me want to play around with writing a roguelike game of my own.
One of Lisp's great features is its condition system. It serves a similar purpose to the exception handling systems in Java, Python, and C++ but is more flexible. In fact, its flexibility extends beyond error handling--conditions are more general than exceptions in that a condition can represent any occurrence during…
This post describes how to compile a single C++ source file to an object file with the Clang API. Here is the code. It behaves like a simplified clang executable that handles -c and -S…
Some updated tips for porting software to Python 3.
Visualize binary protocols by building parsers in Elixir.
What happens when we get or set an attribute of a Python object? This question is not as simple as it may seem at first. It is true that any...
Listen in on Jane Street’s Ron Minsky as he has conversations with engineers working on everything from clock synchronization to reliable multicast, build systems to reconfigurable hardware. Get a peek at how Jane Street approaches problems, and how those ideas relate to tech more broadly.
Persistent PHP processes in Erlang/OTP. “It’s so easy, in fact, that I now use it to debug WordPress functions from within Erlang.”
According to the LISP 1.5 Programmer's Manual ISBN 0 262 13011 4, `A' and `D' stand for `address' and `decrement', as on page 36 it says:
Monad is a design pattern used to describe computations as a series of steps. They manage side effects in pure functional languages but can also be used in other languages to control complexity.
I've been asking myself the question, what is Apple's plan for Swift and Objective-C? When Swift became public in 2014, its creator Chris Lattner seemed to claim that Swift and Objective-C would coexist indefinitely. From an xcode-users mailing list post:
Iterators in Go are a neat way to write “lazy loops”, where we never generate more results than we actually use. Let’s see what that would look like in Go programs, and what new facilities it gives us in the standard library.
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
Define a simple, standard API for parsing and generating JSON documents so that doing so does not require an external library. Enable many JSON processing tasks to be accomplished with little coding. This is an incubating API .
T-Minus 15.193792102158E+9 years until the universe closes!
Last year, as an occasional contributor to the Rust project, I did not think much about the organisational structure of the team behind the project. I saw a hierarchy of teams and groups, team leaders, etc. Just like any other organisation. This year, after getting more involved, becoming a library team member and…
In this article, we introduce you to the concept of algebraic data types and show how you can build your own data types in Haskell.