Hash-Based Bisect Debugging in Compilers and Runtimes
Explains hash-based bisect debugging, a technique using binary search to pinpoint bugs in compilers and runtimes, making complex debugging feel like magic.
Explains hash-based bisect debugging, a technique using binary search to pinpoint bugs in compilers and runtimes, making complex debugging feel like magic.
A developer details building a Lisp-to-JavaScript compiler in Rust, covering parsing, AST generation, and code transformation.
A guide to using .NET Analyzers to improve code quality, covering setup, configuration, and enabling them across projects.
A software developer's monthly business retrospective covering deployment security, release processes, and financial performance for TinyPilot hardware company.
Explores using Swift's internal @_silgen_name attribute for forward declarations to improve build times, with strong warnings about its risks.
A guide to using nightly Swift toolchains on macOS for testing bug fixes and upcoming language features like Embedded Swift.
Explains how the Swift compiler uses a syntax check to automatically apply @MainActor isolation to closures passed to DispatchQueue.main.async.
A developer details building a custom WebAssembly compiler and static type checker for their toy programming language, nodots, from scratch.
A tutorial on creating Swift Macros in Xcode 15 to generate code at compile time, improving code readability and reducing repetition.
A deep dive into the internal workings, history, and implementation of async/await in Swift, exploring its design and gotchas.
Explores .NET 8's new Interceptors feature, a preview capability for intercepting and replacing specific method calls at compile time.
Explains C# overload resolution rules, focusing on implicit conversions and compile-time constant evaluation to determine the best method match.
A developer shares a workflow tip for learning Rust by automatically creating Git snapshots of each build to track compiler errors.
Explains why eliding the 'await' keyword in C# async methods results in missing stack trace information, with code examples.
Introducing Kotlin/Wasm, a new experimental compiler for Kotlin targeting WebAssembly with GC, enabling web and multi-platform development.
Explains C# 'lowering' - how high-level syntax like foreach and async is transformed into simpler constructs by the compiler.
Explores how to make a StringBuilder enumerable in C# using compiler duck typing and extension methods, despite it not implementing IEnumerable.
Explains a bug in TypeScript's 'Add Missing Function' codefix and the PR that fixed it, detailing how type parameters are handled.
Explains the differences between C#, .NET, IL, and the JIT compiler, detailing their roles in the .NET development stack.
Using formal methods and Alive2 to find bugs in LLVM's AArch64 backend by lifting compiled code back to IR for refinement checking.