New
The latest blog posts to take off on Hacker News. 3,709 posts.
Named arguments are coming in PHP 8
A close look at named parameters in PHP 8
Everything you need (and don't need) to know about PHP's type system
This is the absolute best guide you'll find in the internet about how php handles typing internally and in userland.
An exploration of why Python doesn't require a 'main' function
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…
The Many Faces of an Undying Programming Language
This is a post I've been meaning to write for a while now: one anecdotally comparing programming languages in the Lisp family. I consider myself to be a Lisp hacker. Perhaps that much was obvious from the letter λ adorning my website's header, a reference to the λ-calculus which inspired John McCarthy to design the…
Clear explanation of Rust’s module system
Easy to understand explanation using visual aids and practical examples
Typed Lisp, a Primer (2019)
Exploring Lisp's fine-grained type hierarchy.
Turning the IDE Inside Out with Datalog
Introspectable and extensible IDEs with logic programming
Shipping Const Generics in 2020
It’s hard to believe that its been more than 3 years since I opened RFC 2000 , which defined the const generics for Rust. At the same time, reading the RFC thread, there’s also been a huge amount of change in this area: for one thing, at the time the RFC was written, const fns weren’t stable, and consts weren’t even…
Rust for JavaScript Developers – Pattern Matching and Enums
Part 4 covers pattern matching, destructuring, and enums
Hindley-Milner Type Inference (2012)
Robin Milner's type system with parametric polymorphism was a significant advance over the systems of Russell and Church. Arguably it is the ability to use type-variables that makes higher order logic a practical vehicle for proving non-trivial theorems. The Hindley-Milner algorithm is used to automatically infer…
Representing Code
To dwellers in a wood, almost every species of tree has its voice as well as its feature. Thomas Hardy, Under the Greenwood Tree
Moving from TypeScript to Rust / WebAssembly
My experience with both languages.
Rust for JavaScript Developers – Functions and Control Flow
Part 3 covers functions, closures, if-else, while, for..in, range and iterators
Writing a winning 4K intro in Rust
I recently wrote my first 4K intro in Rust and released it at the Nova 2020 where it took first place in the new school intro competition. W...
Rust on the ESP32 (2019)
Scott Mabin's blog
Back to old tricks, or, baby steps in Rust
I’ve been learning Rust for the past twenty days or so, working through the Blandy & Orendorff book, coding up things as I go. Once I got into playing with Rust traits and closures and as…
What is the core of the Python programming language?
Why ask this question? It's no secret that I want a Python implementation for WebAssembly [https://webassembly.org/]. It would not only get Python into the browser, but with the fact that both iOS [https://developer.apple.com/documentation/javascriptcore] and Android [https://developer.android.com/guide/webapps]…
Query-Based Compiler Architectures
What a query-based compiler is and what they are good for.
What Is Zig's “Colorblind” Async/Await?
An introduction to Zig's curious concurrent programming API.
Prolog Web Applications (2016)
Prolog Web Applications
Using Lua as a Serialization Format
This is somewhat of a followup to my post on Lua integration from a few days ago.
The Curious Case of Swift's Adoption of Smalltalk Keyword Syntax
I was really surprised to learn that Swift recently adopted Smalltalk keyword syntax: [Accepted] SE-0279: Multiple Trailing Closures . Tha...