Compiling a Lisp to x86-64: Let expressions
Compiling Lisp let expressions to x86-64
The latest blog posts to take off on Hacker News. 21,830 posts.
Compiling Lisp let expressions to x86-64
All you need is a text editor, a makefile and a USB-serial cable.
Homepage of Michel Weststrate
Now available, code scanning is a developer-first, GitHub-native approach to easily find security vulnerabilities before they reach production.
Web Components had so much potential to empower HTML to do more, and make web development more accessible to non-programmers and easier for programmers. Remember how exciting it was every time we got new shiny HTML elements that actually do stuff ? Remember how exciting it was to be able to do sliders, color pickers…
Learn about OTP, a set of tools and libraries that Elixir inherits from Erlang.
Last week I was trying to add some testing code to libsecp256k1 and I was pulling out my hair trying to get it to work. No amount of printf was working to illuminate what I was doing wrong. Finally, out of desperation, I thought I would do a quick check to see if there are any compiler bugs related to memcmp , and lo…
As you all may know, I watched and posted my lecture notes of the whole MIT Introduction to Algorithms course. In this post I want to summarize all the topics that were covered in the lectures and point out some of the most interesting things in them. Actually, before I wrote this article, I had started writing an...
This is a response to the Rust call for blogs 2021 and also a followup to last year’s entry. It will be entirely focused on GUI.
I saw Martin Kleppmann’s talk a few weeks ago about his approach to realtime editing with CRDTs, and I felt a deep sense of despair. Maybe all the work I’ve been doing for the past decade won’t be part of the future after all, because Martin’s
While not yet at version 1.0, Zig is about to reach a new level of maturity and stability.
The story of a massive Kannada dictionary created by V. Krishna single handedly over four decades, and its accidental discovery and open sourcing at an unlikely place, a stock brokerage.
When I started my career, XML was ubiquitous. The meta-information in a Java JAR file - the manifest - follows a proprietary format. But Java EE designers built it from the ground up on XML: meta-information of all artifacts is in XML format e.g. web.xml, ejb-jar.xml, application.xml, etc. Java EE is one example I…
So in my post Is this evil? I covered a way of tracking users with CSS. While thinking about those weird ways of using the web I also started thinking about pushing live data to clients without JS. Or at least maintaining a connection. So WebSockets requires JS. WebRTC requires JS. Even HLS (video streaming), which…
I have changed my mind about some topics big and small so far in my life. Today: the value of types for programming.
The PyPy team is proud to release version 7.3.2 of PyPy, which includes three different interpreters: PyPy2.7, which is an interpreter su...
Words by Rob Rix.
Update 7 May 2022: A followup to this post containing significant conceptual advance is Xilem: an architecture for UI in Rust. I consider the Crochet experiment to be mostly negative, as there were a number of ergonomic and functional “paper cuts,” though several of the research goals were met, at least to some extent.
We are pleased to announce the release of Ruby 3.0.0-preview1.
My job these days is teaching TLA+ and formal methods: specifying designs to find bugs in them. But just knowing the syntax isn’t enough to write specs, and it helps to have examples to draw from. I recently read Chris Siebenmann’s Even in Go, concurrency is still not easy and thought it would make a good case study…
The story of debugging a mysterious Julia segfault.
Adding a reader to our Lisp compiler
Integers in programming languages have a valid range but arithmetic operations can result in values that exceed such ranges. For example, adding two large integers can result in an integer that cannot be represented in the integer type. We often refer to such error conditions as overflows. In a programming languages…