Topics /

Programming Languages

The most popular blog posts about programming languages on Hacker News. 246 posts.

2024
32

I learned Haskell in just 15 years

Haskell is a programming language invented sometime in the 20th century by Scottish logicians as a prank. ¹ Fifteen years or so ago, for reasons I can no longer remotely recall, I started learning Haskell. Now, I have finally written a useful program in Haskell, and I am pretty sure I can do it again, if I ever need…

36

Speeding up Ruby by rewriting C in Ruby

There is a recent language comparison repo which has been getting shared a lot. In it, CRuby was the third slowest option, only beating out R and Python. The repo author, @BenjDicken, created a fun visualization of each language’s performance. Here’s one of the visualizations, which shows Ruby as the third slowest…

37

The Rust calling convention we deserve

I will often say that the so-called “C ABI” is a very bad one, and a relatively unimaginative one when it comes to passing complicated types effectively. A lot of people ask me “ok, what would you use instead”, and I just point them to the Go register ABI , but it seems most people have trouble filling in the gaps of…

40

Game Programming in Prolog

This article explains how a game can be made in Prolog by leveraging the hidden power of logic programming. Inspired by the elegance of data-driven design and declarative programming paradigms, I will be explaining a new way of designing game rules which can at the same time be used as the source code of the gameplay…

44

Piccolo – A Stackless Lua Interpreter

piccolo is an interpreter for the Lua language written in pure, mostly safe Rust with an eye towards safe sandboxing and resiliency. It uses gc-arena for its garbage collection system, and in fact gc-arena was originally created as part of piccolo .

46

The Rise of Worse Is Better (1991)

I and just about every designer of Common Lisp and CLOS has had extreme exposure to the MIT/Stanford style of design. The essence of this style can be captured by the phrase the right thing . To such a designer it is important to get all of the following characteristics right:

48

Crafting Interpreters: 640 Pages in 15 Months

My book Crafting Interpreters on programming languages is done. OK, OK. I know I said it was done like fifteen months ago . But now it’s really done. And by that I mean, the print, e-book and PDF versions are done. You can buy it . You can hold it in your hands. And I do mean “hands” plural. Because this little…

50

SIMD in Pure Python

First of all, this article is an exercise in recreational "because I can" programming. If you just want to make your Python code go fast, this is perhaps not the article for you. And perhaps Python is not the language you want, either!

54

Gleam Is Pragmatic

I’ve spent the past several years working with functional programming languages in my free time – primarily Haskell and OCaml. I love both languages but also find aspects of each frustrating. Haskell is terse and elegant with type classes providing a powerful mechanism for ad-hoc polymorphism. However, it can also be…

55

Coroutines and effects

For the past few months I’ve been mulling over some things that Russell Johnston made me realize about the relationship between effect systems and coroutines. You can read more of his thoughts on this subject here , but he made me realize that effect systems (like that found in Koka) and coroutines (like Rust’s async…

57

Lisp: Icing or Cake?

The Spring Lisp Game Jam 2024 ended one week ago. 48 games were submitted, a new record for the jam! This past week has been a time for participants to play and rate each other’s games. As I explored the entries, I noticed two distinct meta-patterns in how people approached building games with Lisp. I think these…

58

Crafting Interpreters with Rust: On Garbage Collection

I became interested in implementing programming languages a few years ago and discovered [Crafting Interpreters](https://craftinginterpreters.com/) by Bob Nystrom. At the time, I had experience with Rust and decided to use it to follow the book. Albeit, being a noob, I managed to implement a fully functional bytecode…

59

Swift is a more convenient Rust

Mercy4D jadi lounge gaming digital buat yang pengen main dengan suasana lebih nyaman. Game online yang tersedia beragam, tampilannya enak dilihat, jadi mau jelajah sebentar atau lanjut lama tetap terasa santai dan nggak monoton.

60

Janet for Mortals (2023)

I wrote a book. It’s called Janet for Mortals, and it’s free, and it’s on the internet, and you can read it right now. And you should read it right now, instead of reading this blog post, because this blog post is not very interesting if you haven’t read the book. Heck, this blog post is not very interesting even if…