Topics /

Programming Languages

The most popular blog posts about programming languages on Hacker News. 5,634 posts.

Any year
3481

Why Perl?

I sometimes get asked why I use Perl so much. Am I not a fan of strongly typed functional programming? Yeah, I am. Ask me to write something that is known, for sure , to become a big system and I’ll pick strongly typed functional programming without hesitation. 1 1 And, of course, put me in a team that uses Blub, and…

3486

Haskell, Monads and Purity

I believe the notion that Haskell uses “monads” to enforce purity is rather misleading. It has certainly caused quite a bit of confusion! It’s very much like saying we use “rings to do arithmetic”. We don’t! We use numbers, which just happen to form a ring with arithmetic operations. The important idea is the number …

3489

Why async fn in traits are hard

After reading boat’s excellent post on asynchronous destructors , I thought it might be a good idea to write some about async fn in traits. Support for async fn in traits is probably the single most common feature request that I hear about. It’s also one of the more complex topics. So I thought it’d be nice to do a…

3502

I Wrote a Scheme in 2025

One year minus one week ago to the day I published an article announcing the new Scheme implementation I was writing, scheme-rs . Today I am excited to announce that scheme-rs has reached its first version, 0.1.0 . You can check it out at it’s website ( scheme-rs.org , which should be updated to scheme.rs at some…

3504

JEP 431: Sequenced Collections

Introduce new interfaces to represent collections with a defined encounter order. Each such collection has a well-defined first element, second element, and so forth, up to the last element. It also provides uniform APIs for accessing its first and last elements, and for processing its elements in reverse order.

3505

Let's write a compiler, part 3: A parser

Tokenizing the source code input is a great start for our compiler. Now let's turn our attention to parsing the PL/0 grammar. Once we have finished with the parser, the front end of our compiler will be finished and we will have a PL/0 validator. This is a program that can read in PL/0 source code and inform the user…

3508

Interesting things about the Lua interpreter (2020)

The Lua programming language is unusual among its peers. It’s a dynamically typed, scripting language with a really small core (100-200kB), but runs efficiently, has far simpler semantics than other similar languages, and is just as old as the giants like JavaScript, Python, and Ruby – first made in a research lab…

3509

Layered Design in Go

This post will describe how I design my programs in Go. I needed this for work, and while I searched for a link, nothing quite fits my coding practices out there. The word “Layered” can pull up some fairly close descriptions, but I want to lay out what I do.