The Kernel Programming Language
I'm developing a programming language called Kernel. Kernel is a conservative, Scheme-like dialect of Lisp in which everything is a first-class object.
Posts that commenters keep linking to, ranked by how many different people have cited them in Hacker News comments. 2,232 posts.
I'm developing a programming language called Kernel. Kernel is a conservative, Scheme-like dialect of Lisp in which everything is a first-class object.
I gave a talk at the DBX conference called The Future of Programming . Below are links and quotes from some primary sources I used, as well as links to wikipedia and elsewhere where you can learn more.
Every educated person really ought to have a basic understanding of accounting. Just like maths, science, programming, music, literature, history, etc., it’s one of those things which helps you make sense of the world. Although dealing with money is not much fun, it’s an unavoidable part of life, so you might as well…
Reaching 95%-ile isn't very impressive because it's not that hard to do. I think this is one of my most ridiculable ideas. It doesn't help that, when stated nakedly, that sounds elitist. But I think it's just the opposite: most people can become (relatively) good at most things.
Copyright 1999 by Craig A. Finseth. Contact the author with questions about distribution rights.
A recipe for a functional app, part 2
This article will try to convince you that adding some limitations on legal Unix/Linux/POSIX filenames would be an improvement. Many programs already presume these limitations, the POSIX standard already permits such limitations, and many Unix/Linux filesystems already embed such limitations so it'd be better to make…
An introduction to Zig's curious concurrent programming API.
Inspired by the strangler figs in Australia, a strangler fig application gradually draws behavior out of its host legacy application
In the ELF format there are two ways of providing a hash table of symbols. DT_HASH and DT_GNU_HASH . The first one is part of SYSV generic ABI and is well documented and marked as mandatory. DT_GNU_HASH is a newer, smaller, and faster replacement that is not documented , implemented in a few places (Glibc, GNU ld…
2012 note: This article was first published in 2005. After it was published, Django launched a RemovingTheMagic project to address some of my criticisms (though personally I still find it unusable), web.py inspired FriendFeed’s tornado.web and Google’s gae.webapp and others (though I still prefer web.py), and this…
I've gotten a bunch of emails asking for advice on how to learn Common Lisp in the present day. I decided to write down all the advice I've been giving through email and social media posts in the hopes that someone might find it useful.
The power to understand and predict the quantities of the world should not be restricted to those with a freakish knack for manipulating abstract symbols.
Welcome to the world of Git. I hope this document will help to advance your understanding of this powerful content tracking system, and reveal a bit of the simplicity underlying it — however dizzying its array of options may seem from the outside.
Someone : Did you hear that Facebook/Google uses a giant monorepo? WTF! Me : Yeah! It's really convenient, don't you think? Someone : That's THE MOST RIDICULOUS THING I've ever heard. Don't FB and Google know what a terrible idea it is to put all your code in a single repo? Me : I think engineers at FB and Google are…
In 2007, I met Philip Wadler at a conference, who mentioned to me that he wanted to teach lambda calculus to his eight-year-old children.
In an article recently linked from reddit entitled Tour de Babel you can read (among lots of other nonsense): Heck, people still use Tcl as an embedded interpreter, even though Python is far superior to Tcl in every conceivable way -- except, that is, for the frost thing.
Here's a language that gives near-C performance that feels like Python or Ruby with optional type annotations (that you can feed to one of two static analysis tools ) that has good support for macros plus decent-ish support for FP, plus a lot more. What's not to like? I'm mostly not going to talk about how great Julia…
Git is a simple, but extremely powerful system. Most people try to teach Git by demonstrating a few dozen commands and then yelling “tadaaaaa.” I believe this method is flawed. Such a treatment may leave you with the ability to use Git to perform simple tasks, but the Git commands will still feel like magical…
The tokens #t and #f are the True and False literals, respectively. The single quote mark serves to quote the following expression. The syntax ' exp is completely equivalent to (quote exp ) . The backquote character ` is called quasiquote in Scheme; it is similar to ' except that within a quasiquoted expression, the…
This post is part of the series “Debris: Opening the box”. Okay, previous posts from this series aimed to actually convey useful technical information: assuming you actually want to wri…
Why a programming language should not offer a primitive to capture undelimited continuations (call/cc).
Wow, no comments? They must all be stuck on that bit about the "home row." Oh well... here's hoping some of those non-typists make it all the way through this piece.
I always loved the visual aesthetic of dithering but never knew how it’s done. So I did some research. This article may contain traces of nostalgia and none of Lena.
Why I can't use Elm, and can't recommend it to others.
Musings of a Computer Scientist.
A couple of moments ago, I finished reading the article by Rob O'Leary about the pervasive data collection done by Visual Studio Code. Whilst Visual Studio Code is "open-source" (as per the OSD) the value-add which transforms the editor into anything of value ("what people actually refer