New
The latest blog posts to take off on Hacker News. 399 posts.
Gleam 0.16 compiles to JavaScript
News post: Gleam v0.16 released
Why I no longer contribute to Racket
Beautiful Racket
Rust 1.x seems to not always be backward compatible in practice
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Fitting a FORTH in 512 bytes
Software is full of circular dependencies if you look deep enough. Compilers written in the language they compile are the most obvious example, but not the only one. To compile a kernel, you need a running kernel. Linkers, build systems, shells. Even text editors, if you want to write the code instead of just…
Good and Bad Elixir
Words from Chris Keathley
From Julia to Rust
I've been more serious about learning Rust recently, after dragging on with passive learning for a while. My first real programming language was Julia, and I know other Julians interested in Rust. I've written this article for those people in mind, because Rust and Julia are good performance sparring partners, but…
Zig 0.8.0 Release Notes
Zig is a general-purpose programming language and toolchain for maintaining robust , optimal , and reusable software.
Social virtual spaces with Elixir at Mozilla
A case study of how Elixir is being used at Mozilla.
Implementing a LLVM Micro C compiler in Haskell
In this series, we will explore how to write a compiler for a small subset of C to LLVM in Haskell. Our language, Micro C, is basically a small subset of real C. We'll have basic numeric types, a real bool type, pointers, and structs. At the end of the series, we'll have a beautiful executable, mcc (Micro C…
Go: Fuzzing Is Beta Ready
Native Go fuzzing is now ready for beta testing on tip.
Tour of our 250k line Clojure codebase
At Red Planet Labs we’ve been quietly developing a new kind of developer tool for many years. Our tool reduces the cost of building large-scale end-to-end applications by multiple orders of magnitu…
Why Is JRuby Slow?
In this article, the author explores why JRuby, an alternative Ruby interpreter that runs on the Java Virtual Machine (JVM), is slower than other R...
An Intuition for Lisp Syntax
Every lisp hacker I ever met, myself included, thought that all those brackets in Lisp were off-putting and weird. At first, of course. Soon after we all came to the same epiphany: lisp’s power lies in those brackets ! In this essay, we’ll go on a journey to that epiphany.
Functional Programming in Go with Generics
Functional programming is an increasing popular programming paradigm with many languages building or already supporting it. Go already supports some of these features such as first-class and higher order functions and enabling functional programming.
Let's Build a Regex Engine (2019)
How to understand the language of <\/?[\w\s]*>|<.+[\W]>
Replit now supports every programming language in Nix
At Replit, we want to give our users the most powerful, flexible, and easy-to-get-started coding environment. However, it has been limiting because we only support a fixed set of languages and OS packages, some of which are outdated. Ideally, users should be able to use any language and install any package with…
Writing Pythonic Rust
Over the past several weeks I have been attempting to reimplementthe API of an existing python library as a wrapper for an equivalent library inRust.
Methods for Array Initialization in Rust (2018)
Arrays in Rust are fixed size, and Rust requires that every element in an array is initialized to a valid value when the array is initialized. The result of these requirements is array initialization in Rust is a much deeper topic than it would seem.
Rustc_codegen_GCC can now run libcore’s tests and pass most of them
Antoyo's Personal Blog
My Road to Erlang (2008)
It's not about technology for its own sake. It's about being able to implement your ideas.
Metaprogramming in Elixir
In this article, we cover metaprogramming and macros in Elixir. Discover how you can use Elixir to write code that writes code.
Ruby 3 JIT can make Rails faster
I’ve wondered Why Rails becomes slow with JIT for a long time. Today, I’m pleased to share my answer to the question in this article, which…