Lil' Fun Langs
a pungent monad odor that attracts mathochists
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 3,709 posts.
a pungent monad odor that attracts mathochists
Obviously, not everyone hates Go. But there was a [quora question]( https://www.quora.com/Why-does-Go-seem-to-be-the-most-heavily- criticised-among-the-newer-programming-languages?srid=uCiY&share=1) recently about why everyone criticizes Go so much. (sorry, I don’t normally post links to Quora, but it was the…
A 2026 sequel to C Constructs That Don't Work in C++: what still breaks, what C++20 changed, and what C23 changed.
Some personal reflections about the evolution and death or programming languages. By the forces a circumstances, I had to reverse engineer and decommission a few Perl scripts in an old company earl…
This blog post discusses a few alternative Rust-language memory models. I hope that this discussion is of value to the Rust community, but in the end, it is their language, so it is also their choice of memory model. This discussion takes the Rust fearless-concurrency viewpoint, tempered by…
2024-07-06 I’ve archived this post Looking for the post Racket frustrates me? You can read the original post on The Internet Archive’s Wayback Machine. Why archive this post? It’s been about a year since I published this post and since realized something: I don’t have any skin in the game anymore. My workflow is now…
Author: Eduardo Ochs eduardoochs@gmail.com https://anggtwu.net/ https://www.lua.org/gems/ https://www.lua.org/gems/selected.html Version: 2008feb17 Listings: http://anggtwu.net/miniforth/miniforth5.lua http://anggtwu.net/miniforth/miniforth5.out Preprint version: https://anggtwu.net/miniforth/miniforth-article.pdf
If you’ve done Fourier series approximations of functions, you had three reactions to today’s XKCD comic :
It's not about technology for its own sake. It's about being able to implement your ideas.
I'm a Product Manager at Google. I use data and UX to drive great products. And it turns out—the toughest problems are won in translation.
Working with pure functions is simple: you pass arguments, you get a result — no side effects happen. If, on the other hand, a function does have side effects, like mutating its arguments or global objects, it's harder to reason about. But we've got used to those too: if you see something like player.set_speed(5) you…
Perverse incentives surrounding best practices
What if you could build realtime web apps with the same ease as you build static web pages in PHP today? Without long polling, event handling and state synchronization, the engineering complexity of realtime web applications would drop by an order of magnitude. There would be a fundamental shift in the way we build…
I always assumed that Python's str.splitlines() split strings by " universal newlines ", i.e., \n , \r , and \r\n .
This article describes how you can build a simple LISP, based on the 1978 article <i>'A Micro Manual For LISP - Not The Whole Truth'</i> with Swift, taking advantage where possible of the features the language offers.
<!DOCTYPE html>
Over the course of my Spring 2020 semester at Harvey Mudd College , I developed a self-hosting compiler entirely from scratch. This article walks through many interesting parts of the project. It’s laid out so you can just read from beginning to end, but if you’re more interested in a particular topic, feel free to…
Cedarwood is an effort to speed up jieba-rs , an efficient implementation of trie is needed in order to satisfying the following needs.
“Common what?” is a common reply I get when I mention Common Lisp. Perhaps rightly so, since Common Lisp is not all that common these days. Developed in the sixties, it is one of the ol…
A short essay about the evolution of programming languages.
OCaml's let … = … in … is very confusing. When nested, you can't tell how it's nested.
I typed up some quotes from Chris Lattner on a recent panel discussion about Swift.
An expose on Implicits and Local Coherence
This is a sketch of proposed enhancements to the Java Virtual Machine instruction set, and secondarily to the Java Language, to support small immutable, identityless value types . (They may also be considered as identityless aggregates, user-defined primitives, immutable records, or restricted classes.) This is an…