The visitor pattern is essentially the same thing as Church encoding
The functional programming analog of an object-oriented design pattern
The latest blog posts to take off on Hacker News. 5,636 posts.
The functional programming analog of an object-oriented design pattern
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
Find out how Red Hat engineers and a community of open source enthusiasts created the standard OpenJDK implementation for AArch64.
F# is a language that will make you sleep better
Cyclic dependencies: Part 1
PHP 8.1 adds support for PHP enums, as well as readonly properties, Fibers, performance improvements, new in initializers, and more.
CP/M was blessed with many programming languages, each with their own strengths and weaknesses. I think that Turbo Pascal stands out from these and I'm not alon
Note from 2025 me - I largely still agree with myself - and I still see the same crappy OO code getting pumped out. The final point in "Exceptions" is worth emphasising more.
You may have heard that TypeScript has been taking the web development space by storm in the last few years , bringing to it static types. I believe the same thing is starting to happen in the world of Python, where type checkers like mypy , Pyre , and Pyright are increasingly used, at least where Python is used by…
Latches and barriers are coordination types that enable some threads to wait until a counter becomes zero. You can use a std::latch only once, but you can use a std::barrier more than once. Today, I have a closer look at latches.
posted by Matthew Flatt With the upcoming version 8.0 release, Racket on Chez Scheme (Racket CS) will become the default implementation of Racket. This report discusses the implications of that change, continuing a series that was originally about Racket...
How to decide if your programs are vulnerable to PATH problems, and what to do about it.
Introduction Win32 APIs provide powerful functionality that let you get the most out of Windows in your applications. While these APIs are readily accessible to C and C++ developers, other languages like C# and Rust require wrappers or bindi
Official website for flow-based programming
Up until now, GraalVM has offered two ways to run Java programs: using the Java HotSpot VM with the GraalVM JIT (just-in-time) compiler…
Python f-strings give you a readable, concise way to interpolate and format strings, and they beat .format() and the % operator on speed.
Welcome! This is a series of blog posts that shows you how to build a text editor in Rust.
Rewriting programs in Rust has become a bit of a meme and one program that has been discussed a lot is cURL .
After working through “the book” on the Rust programming language and getting started with the first non-trivial, real-world application I found myself faced with a question I didn’t yet feel well-equipped to handle: “How should you structure error handling in a mature rust application?”
If Zig code doesn’t look like it’s jumping away to call a function, then it isn’t. This means you can be sure that the following code calls only foo() and then bar() , and this is guaranteed without needing to know the types of anything:
Earlier today Rich Hickey let the cat out of the bag that I’m joining the Clojure Core development team.
We are celebrating 10 years since the first commit to what would become Elixir.
A new version (0.3.0) of Idris 2 has been released. You can download the source (including generated Scheme and Racket files for bootstrapping) from the download page .
A new standard for travel on Crete. The official digital gateway to the island's untamed soul. Experience the future of Greek tourism.
Profiling Emacs and writing some Lisp to work with a 70000-file monorepo.
Generics is entering the language change proposal process
Haskell's features enable rapid development, easy maintainability, and excellent performance, making it a top choice as an industrial-strength programming language.
I'm a technologist with a focus in ecommerce, GenAI, and developer productivity. I enjoy building reliable and fast software, and helping others to do the same.