Writing A Lisp Interpreter In Haskell
An article describing the experience of writing a Lisp interpreter in Haskell.
Topics /
The most popular blog posts about software engineering on Hacker News. 14,544 posts.
An article describing the experience of writing a Lisp interpreter in Haskell.
Don’t worry … it’s super easy 🙃
Chris McCormick - News
This post is a basic introduction to running HTTPS servers and clients in Go using TLS. It assumes some familiarity with public-key crypto. Feel free to check out my earlier posts about RSA and the Diffie-Hellman Key Exchange ; TLS uses the elliptic-curve version of Diffie-Hellman. I won't be covering how the protocol…
Owen's personal website and portfolio
A deep dive into Rust’s vec::Drain and its Drop implementation as an example of how ownership prevents subtle bugs—memory and otherwise!
Modern OpenGL, and by extension WebGL, is very different from the legacy OpenGL I learned in the past. I understand how rasterization works, so I’m comfortable with the concepts. However, every tutorial I’ve read introduced abstractions and helper functions that make it harder for me to understand which parts are…
This is just amazing. In 20 lines of node.js code and 10 minutes of time I was able to write a HTTP proxy. Take a look: var http = require('http'); http.createServer(function(request, response) { var proxy = http.createClient(80, request.headers['host']) var proxy_request =...
A Modern C++ Implementation of the Apache Arrow Columnar Format
Hi guys, in this post we will learn how to bypass downloading restrictions on Soundcloud. We will create a Python script which will allow us to download even…
Git can “trace the evolution” of a specific method, showing you logs of how it has changed over time.
Originally published on CodeGangsta on May 19, 2014. Restored here to preserve the legacy Martini/Golang archive. It’s never easy to take honest criticism, especially when the target of the criticism…
Cheese Talks: A website about games and game related topics, featuring interviews, articles and neat visualisations.
Let's blink an LED on Pine64 Ox64 BL808 64-bit RISC-V Single-Board Computer... With Nim Programming Language and Apache NuttX Real-Time Operating System
Which is the first answer to the first question if you search for 'sort a list' on Stack Overflow (which was answered by Devin Jeanpierre ).
In the previous post we have written code to change the amplitude of wave files. Now we’ll take a look at how we can turn a mono wave file into a stereo wave file with optional panning, and explore how this is represented internally by the WAVE file format. Channels The raw audio data inside a WAVE file consists of…
This is the second post in a series on Kubernetes , the open source cluster manager. The first post was about the kubelet .
I was recently trying to validate some performance improvements related to lld at $DAYJOB and it was a little frustrating to see the improvements in our benchmarks but not in the live-production dashboards.
If you can ctrl-c and ctrl-v, you can build a JIT.
And lessons learnt
I spent this summer building a new app, for a machine that hasn’t been on the market since 1980 and wasn’t built to support graphics, sound, connectivity or even lowercase letters, sold by a company that went bankrupt a decade ago, tailor-made for an audience of one: my dad, who celebrated his 70th birthday this past…
Or the 'Matt Godbolt shows us some compiler magic' edition!
This is the second in an indefinite series of posts about things that I think went well in the Sorbet project. The previous one covered our testing approach. Sorbet is fast. Numerous of our early users commented specifically on how fast it was, and how much they appreciated this speed. Our informal benchmarks on…