Minesweeper in Clojure
As a fun experiment, and to show the basics of clojure development, I implemented a minesweeper clone using clojurescript and p5.js.
The latest blog posts to take off on Hacker News. 361 posts.
As a fun experiment, and to show the basics of clojure development, I implemented a minesweeper clone using clojurescript and p5.js.
Explore the challenges and solutions when applying types and functional programming concepts in JavaScript. This insightful blog post delves into the complexities of managing data shape, immutability, and trust in dynamic code, offering practical advice and alternative approaches to enhance code reliability and…
A blog about computers, functional languages, Lisp, and Scheme.
Rust can be difficult to learn and frustrating, but its also the most exciting thing in software development in a long time. Learn more by reading our blog.
This is the keynote talk that I gave at the 2018 European Lisp Symposium in Marbella, Spain.
Everything you need to know today about Python Packaging: PEPs 517/518, pyproject.toml, Pipenv, setuptools, and—of course—pip.
In this post we’ll explore Haskell’s kind system, the similarities between types and kinds, and show how these can be leveraged to write safer and more reusable code.
Google Cloud is announcing a new Go 1.11 runtime for App Engine, with fewer limits on app structure.
There are a lot of places you’ll see * and ** used in Python. These two operators can be a bit mysterious at times, both for brand new programmers...
R is a programming language for statistical computing known for its rich ecosystem of 3rd party libraries called “packages”. The R…
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites . This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
I’ve been exploring the idea of an Elm compiler that produces assembly for the Erlang Virtual Machine. You can find the code for this project on GitHub . This essay documents some interesting parts of the project.
Last week, I wrote a blog post about ResourceT, and mentioned Rust's RAII being better than Haskell's bracket pattern. In this blog post, I demonstrate what this advantage is.
In programming research, we say a lot about programs and languages, but very little about the actual process of programming. One simple trick that will make programming language research significantly more interesting is to think about programs not as expressions, but as a result of a sequence of interactions that…
This paper presents an evaluation of the use of a high-level language (HLL) with garbage collection to implement a monolithic POSIX-style kernel. The goal is to explore if it is reasonable to use an HLL instead of C for such kernels, by examining performance costs, implementation challenges, and programmability and…
λm.me - Compiling Lisp to JavaScript from scratch in 350 LOC
A lot has changed since my last post nearly a year ago. I want to write about my experience coming from a ML-family language to a Lisp. It’s not very informa...
Jane Street is a quantitative trading firm and liquidity provider with a unique focus on technology and collaborative problem solving.
I’ve told this story in person dozens of times, it’s time to write it down and share it here. I’ve again experimentally recorded a video version (below), which you can view on a non-Flash device here .
More than thirteen years have passed since Herb Sutter declared that the free lunch is over and concurrency is upon us , and yet it's hard to claim that most mainstream languages have made a strong shift towards concurrent modes of programming. We have to admit that concurrency is just hard , and the struggles of some…
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.