The type system is a programmer's best friend
Programming, Coffee and Indie Hacking
The latest blog posts to take off on Hacker News. 3,708 posts.
Programming, Coffee and Indie Hacking
Hi, I'm Peter Bex, a Scheme and free software enthusiast from the Netherlands. See my user page on the CHICKEN wiki or my git server for some of my projects.
In my never ending quest to have oksh support every C compiler in existence, I sometimes find C compilers in places you wouldn't expect them. Today, I'd like to demonstrate the C compiler built into the Digital Mars D compiler, or DMD for short. Recent versions of DMD have a complete C11 compiler built in named…
Erlang is a twenty-five-year-old programming language that has yet to win a popularity contest, and almost certainly will never win any medals for speed, let alone any tiaras for syntactic beauty. The language is slow, awkward, and ugly. Refactoring Erlang code is a pain.
Lil is part of the technology that powers Decker , a multimedia creative tool inspired by HyperCard . Decker uses Lil for adding custom behavior to decks and the widgets within. Lil is designed to be learned in layers, but it is a richly multi-paradigm language which incorporates ideas from imperative, functional…
Why self-host Zig?<br> For great justice, of course… and also a few more reasons actually.
One of my least favorite kinds of bug is when two different systems are interacting and the result has bad behavior but it’s difficult to say which (if either!) system is at fault. This is one of those stories, about Python’s buffer protocol and Rust’s memory model.
If you are a Rust developer you have most likely celebrated the news that the version 1.64 released on 22/09/2022 is 10-20% faster on…
This post is an attempt to explain the incremental parsing algorithm aretext uses for syntax highlighting. Like the rest of aretext, parsers are implemented in Go for portability and performance. Most people do not consider Go a functional programming language; nonetheless, aretext’s parsers rely on functional…
Out of all Lisps the ones I’ve come to appreciate the most are Scheme and Common Lisp.
A strong runner up was this quote, which captures the essence of what we should be trying to do when creating new languages:
A programming language gives us a way structure our thoughts . Each program, has a kind of internal structure, for example:
Code can really be written with any text editor that you're comfortable with. I tend to use Vim for quick edits and writing notes, and on L...
Some make the claim that "all languages depend on C"; 1 not only is this statement ill-typed, as implementations perhaps depend on other languages, and languages rarely do, but the statement would still be wrong if we correct it. Some will retort by writing parts of an implementation in another "system language"; more…
Lists play an important role in Lisp--for reasons both historical and practical. Historically, lists were Lisp's original composite data type, though it has been decades since they were its only such data type. These days, a Common Lisp programmer is as likely to use a vector, a hash table, or a user-defined class or…
A discussion of some of the downsides of Zig
A public service announcement about the dangers of utcnow and utcfromtimestamp and the benefits of using their replacements.
Zig lets you run code during compilation. What are the implications?
Tips and narratives around picking a weird language for your project
Dave MacQueen (with Robert Harper and John Reppy) has written a 100-page History of Standard ML . Here I offer my brief, personal and utterly subjective impressions of its early days, up to the deeply unfortunate schism that created what was then called Caml . Standard ML was a tragic missed opportunity. But even…
(Most) C++ implementations provide at least 8, 16, 32, and 64-bit signed and unsigned integer types. There are annoying implicit conversions, discussions about undefined behavior on overflow (some think it’s too much UB, others think it’s not enough), but for the most part they do the job well. Newer languages like…
Short version: the full text of my Introduction to the Theory of Programming Languages book (second printing, 1991) is now available. This page has more details including the table of chapters, and a link to the PDF (3.3MB, 448 + xvi pages). The book is a survey of methods for language description, particularly…
AndreGarzia.com website
Attempting to speed up a library without changing the code using mypyc
How the 46 kana letters map onto 80 Unicode code points and how katakana and hiragana compare.
Introducing Ezno and the current state of the project.
Java is good by modern standards, from a technical perspective, the platform having received a lot of improvements from Java 8 to 17. Unfortunately, it still stinks, and the problem is its “enterprise” culture.
I’ve just spent over a day, going to sleep at 1:00 am, to upgrade dependencies and fix eviction warnings in the build of a Scala project.