📅︎ 06.12.2024 📝︎ 08.12.2024 ✏︎ by Evy ⏱︎ 10 kg⋅eV ±12σ Negative Overhead Abstractions Today i’d like to coin a new term: The Negative Overhead Abstraction™. In this post we’ll briefly explore C++’s use of them, their relation to zero overhead abstractions, why they suck, and how we could do better.
📅︎ 17.04.2024 ✏︎ by Evy ⏱︎ 14 kg⋅eV ±12σ Machine Code is Typed Wait, what…? Sometimes, when discussions about type system designs arise, someone makes a slight remark that machine code, aka. that binary programming language your CPU speaks, is an example of an »untyped« language. I heard that claim again recently, listening to a podcast, and so i felt inspired to write about why i disagree with that claim.
📅︎ 25.02.2024 ✏︎ by Evy ⏱︎ 9 kg⋅eV ±12σ C#’s two NULLs In my work time i do a lot of C#. Inevitably i also run into a lot of nullable data. This is a short story of how i tried to make dealing with nullable data cleaner, coming from languages with monadic Option types. Did it go well? No.
📅︎ 26.06.2023 ✏︎ by Evy ⏱︎ 50 kg⋅eV ±12σ Designing a Virtual CPU ISA I found myself talking a few times about an old project of mine over at the good ol’ RPLCS. Today i finally thought: Why not blog about it? Introducing: Finvil, a virtual CPU ISA, meant to be embedded into applications as a bytecode interpreter for scripting. Fasten your seat belts, for we are gonna talk about different approaches and considerations in ISA and bytecode design.