Compiling Lisp to JavaScript in 350 Lines of Haskell
λm.me - Compiling Lisp to JavaScript from scratch in 350 LOC
The latest blog posts to take off on Hacker News. 5,636 posts.
λ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.
Mostly software: Rust, machine learning, and P2P systems. Previously, games and cocktails.
My blog post on falling in love with Rust got quite a bit of attention – with many being surprised by what had surprised me as well: the high performance of my naive Rust versus my (putatively less naive?) C. However, others viewed it as irresponsible to report these performance differences, believing that these…
Zig is an open-source programming language designed for robustness , optimality , and clarity . Zig is aggressively pursuing its goal of overthrowing C as the de facto language for system programming. Zig intends to be so practical that people find themselves using it even if they dislike it.
Note: This post was originally titled “Stop writing lambda expressions in Python” but I’ve changed the title after deciding that it was a little...
Today we're announcing the release of TypeScript 3.1!If you haven't heard of TypeScript, it's a language that builds on top of modern JavaScript and adds
The Nim team is happy to announce that the latest release of Nim, version 0.19.0, is now available. Nim is a systems programming language that focuses on performance, portability and expressiveness.
This post describes the furture support for Java and OpenJDK updates, now that Oracle has announced that soon it will no longer supply free binaries for JDK releases or write patches for bugs.
Dash knows your context, your team, and your work, so your team can stay organized, easily find and share knowledge, and keep projects secure, all from one place.
“Ah? A small aversion to menial labor?” The doctor cocked an eyebrow. “Understandable, but misplaced. One should treasure those hum-drum tasks that keep the body occupied but leave the mind and heart unfettered.”
As devs in late 2018, we’ve got lots of programming language choices. Mainstream ones alone, there’s about a dozen or so of them. They’re all awesome. As you wander a bit further down the obscurity path, you’ll find languages like elm , elixir , purescript , and reason . And just past those, you’ll find nim .
cpyext is PyPy's subsystem which provides a compatibility layer to compile and run CPython C extensions inside PyPy. Often people ask ...
The Standard does not require that implementations define intptr_t nor uintptr_t. It also does not require that implementations define integer-to-pointer conversions in any meaningful fashion unless they define those types. Conforming implementations are certainly allowed to document some integer-to-pointer…
Last year we held a machine learning seminar in our London office, which was an opportunity to reproduce some classical deep learning results with a nice twi...
Let me preface this with an apology: this is a technology love story, and as such, it’s long, rambling, sentimental and personal. Also befitting a love story, it has a When Harry Met Sally feel to it, in that its origins are inauspicious…
GraalVM challenges the status quo on the JVM. This newly-released just-in-time compiler brings substantial speed improvements and support for polyglot applications. It also allows us to translate our JVM bytecode into small self-contained native binaries. In this session we’ll explore Graal’s impact on Clojure. We’ll…
I promised two things when I did the closing keynote at RustConf 2018: