Mypy 1.6
We’ve just uploaded mypy 1.6 to the Python Package Index ( PyPI ). Mypy is a static type checker for Python. This release includes new fe...
The latest blog posts to take off on Hacker News. 390 posts.
We’ve just uploaded mypy 1.6 to the Python Package Index ( PyPI ). Mypy is a static type checker for Python. This release includes new fe...
Async/await syntax in Rust was initially released to much fanfare and excitement. To quote Hacker News at the time:
A recent poll on the Lazarus/FPC forum highlighted a fact: pascal coders are older than most coders. Usually, at our age, we should be managers, not developers. But we like coding
This has been a ground-breaking year for my C skills, and paradigm shifts in my technique has provoked me to reconsider my habits and coding style. It’s been my largest personal style change in years, so I’ve decided to take a snapshot of its current state and my reasoning. These changes have produced significant…
I recently watched GOTO conferences' talk Calling Functions Across Languages by Richard Feldman. I’m afraid I have to disagree with using the term 'language' in this context. It’s a no-brainer to call Java from Kotlin or Scala or to call Java from Kotlin. Hence, in the rest, I’ll use 'stack'.
An introduction to Ash Framework, written for new Elixir developers. Comes with LiveBooks for interactive examples, live-coding video walkthrough, and illustrations.
I want to address a controversy that has gripped the Rust community for the past year or so: the choice by the prominent async “runtimes” to default to multi-threaded executors that perform work-stealing to balance work dynamically among their many tasks. Some Rust users are unhappy with this decision, so unhappy that…
λm.me - An alternative frontend for Haskell?
This is a post about strong static typing, why I feel strongly about the topic, and some of the ways we utilize the Rust type system at Svix.
A rundown and critique of the NeoHaskell project
For the first time, AdaCore’s GNAT Pro subscribers will be able to develop safety- and security-certifiable embedded applications using Rust while…
Scott Mabin's blog
You probably know how to use async/await. But have you ever wondered how it works under the hood?
This is a self-contained low-power computer with its own display and keyboard that you can program in uLisp, a version of the high-level language Lisp for microcontrollers:
Rust versus Go is a controversial topic that pops up from time. In this post, we will compare both languages in the context of web development by writing a small web service which shows weather data in both languages.
Why the function signatures in the slices packages are so complicated.
Provide a standard API for parsing, generating, and transforming Java class files. This is a preview API .
Recently, I found myself returning to a compelling series of blog posts titled Zero-cost futures in Rust by Aaron Turon about what would become the foundation of Rust’s async ecosystem and the Tokio runtime. This series stands as a cornerstone in wri…
When Java 17 was released in 2021 as a “long term support” version, I wrote an article dissecting its features and came to the conclusion that it had a few nice features, but none that were compelling reasons to upgrade. Except one: tens of thousands of bug fixes.
Many Rust beginners with a background in systems programming tend to use bool (or even u8 – an 8-bit unsigned integer type) to represent “state”. For example, how about a bool to indicate whether a user is active or not? struct User { // ... …
As far as I know this is the first Haskell program compiled to Webassembly (WASM) with mainline ghc and using the browser DOM.
An introduction to strong arrows and how it leverages the Erlang VM to provide sound gradual typing.
Open sourcing our learnings around Windows APIs, COM, C++ and their delightful integration into Swift - while building Arc.
Go 1.21 shipped a preview of a change in Go 1.22 to make for loops less error-prone.
Proper support for sum types or tagged unions have become table stakes for systems programming languages. However, they can incur a lot of memory fragmentation that's not trivial to avoid without good support for metaprogramming. This post goes into Zig's powerful comptime feature, and how it allows some radical…
In Rust, there are certain API decisions about what is and isn’t sound that impact all Rust code. That is, a decision was made to allow or not allow types which have certain safety requirements, and now all users are committed to that decision. They can’t just use a different API with different rules: all APIs must…
Algebraic data types in Java.