A programmer shares daily notes from attending PLDI in Boulder, detailing workshop participation, collaborative coding on Datalog and Knuth-Bendix, meeting researchers, and social activities.
#compiler
30 items
A developer named FractalFir created "crustc," a project that translates the entirety of Rust's compiler (rustc) from Rust source code into C code. The project uses a specialized transpiler to convert the Rust compiler's source into compilable C, aiming to make it accessible on platforms without Rust support.
The LLVM compiler infrastructure, originally developed as a research project at the University of Illinois, has evolved into a widely used framework supporting multiple programming languages. Federal funding from agencies like NSF and DARPA supported its development, enabling compiler technology used by companies such as Apple, Google, and AMD.
The Zig project has migrated all package management functionality from the compiler into the build system, as part of ongoing development efforts logged for June 30, 2026.
Tiny-C is a minimal subset of the C programming language designed as a teaching tool for compiler courses. The reference manual excerpt covers syntax and semantics, including program structure, statements, expressions, and the simplified type system, aiming to provide a foundation for understanding compilers without the complexity of full C.
The Zig compiler no longer handles package management; all package-related functionality has been moved to the build system. This change aims to simplify the compiler and give the build system more control over dependencies, package fetching, and resolution.
The author created a TypeScript Compiler Graph MCP tool that reduces token usage in code generation by up to 10x in Claude Code and Codex. It works by representing a TypeScript program's abstract syntax tree as a directed acyclic graph (DAG) instead of JSON, allowing the language model to process the same information more efficiently. The tool is available as an open-source package.
The Zig project has moved all package management functionality from the compiler into the build system, streamlining the toolchain's architecture.
The article explores how compilers and programming languages shape developers' thinking and code quality, arguing that many perceived personal coding failures are actually limitations of the compiler or language design. It advocates for understanding these constraints to write better software.
Researchers conducted an empirical study analyzing the LLVM optimization pipeline on a per-pass basis across multiple dimensions. The work provides detailed insights into how individual optimization passes affect code performance and compilation metrics, offering a granular understanding of compiler optimization behavior.
The Zig programming language project has moved all package management functionality from the compiler to the build system. This change aims to simplify the compiler and make package management more flexible and maintainable as part of the build process.
Ironsmith is a full grammar, parser, and compiler designed to interpret Magic: The Gathering card text. It enables programmatic parsing and processing of the game's complex card rules.
The Red programming language project announces that its toolchain now supports static linking, allowing the Red runtime library to be directly embedded into executables. This eliminates the need for a separate Red runtime DLL, simplifying distribution and potentially improving performance for standalone applications.
AiCompiler is a programming language concept where the LLM itself acts as the CPU, allowing developers to write code that is executed directly by a large language model instead of a traditional processor.
Unobin is a language and compiler that compiles Infrastructure as Code (IaC) into a single binary called a factory, which bundles the runtime and all dependencies. A factory is executed with a stack configuration file and can optionally display a progress UI in a browser.
Sasso is a new pure-Rust SCSS compiler that outputs byte-exact CSS matching dart-sass. It has zero dependencies, supports WebAssembly, and offers both a library and CLI interface.
A new TypeScript-to-C++ compiler aims to translate TypeScript code into native C++, potentially improving performance by compiling directly to machine code rather than running through JavaScript engines. The approach seeks to leverage TypeScript's type system for optimizations while maintaining compatibility with existing JavaScript/TypeScript codebases.
TypeScript 7 introduces significant performance improvements, including a new codebase architecture and streamlined build process that enable faster compilation and iteration cycles for developers.
The article argues that traditional compiler education, which often focuses on parsing and code generation for toy languages, is outdated. It calls for a revolution in how compilers are taught, emphasizing modern approaches like incremental compilation, intermediate representations, and practical tooling used in real-world production compilers.
Perry is a new tool that compiles TypeScript directly into native GUI and CLI applications, eliminating the need for a runtime environment like Node.js or Electron.
Slisp is a simple Lisp compiler for Linux/amd64 that compiles a minimal Lisp dialect to x86-64 machine code without runtime dependencies. The project provides a basic Lisp implementation with features like functions, conditionals, and recursion, generating standalone executables.
The GCC team has announced the release of GCC 14.4, the latest bug-fix release in the GCC 14 series. This version includes numerous bug fixes and improvements over GCC 14.3, addressing various issues reported by the community.
The Zig project reports progress on a unified SPIR-V backend for self-hosted compilation, supporting shader entry points, OpenCL kernel generation, and improved codegen with a new register allocator and LLVM-emulated 128-bit integer operations.
The paper explores the intersection of AI model compilation in MLIR with formal programming language theories, aiming to build a principled framework for understanding compilation flows. It demonstrates how concepts from lambda calculus and type theory can provide a unified view of compilation passes, and discusses benefits for correctness, optimization, and interoperability of AI compilers.
The article introduces Ruxe, a Rust library that uses type-level disjointness to enforce at compile time that no two mutably borrowed data can alias, preventing data races. By encoding unique ownership and disjointness constraints into the type system, Ruxe ensures that programs violating these constraints fail to compile, offering a static guarantee against data races without runtime overhead.
Zig's SPIR-V backend has made significant progress, now emitting valid SPIR-V modules and supporting many core language features. The implementation covers control flow, basic types, pointers, structs, arrays, slices, and function calls, though some areas like integer widening and certain intrinsics remain incomplete. Work continues on improving output quality and supporting additional features.
Xi is a full-featured, self-hosting programming language with a C99 backend. It includes built-in dependency injection, typed business-rule features like decision tables, and can compile to native binaries or WebAssembly. A real application called eXstream has been built using the language.
Collabora has announced Kraid, a new compiler for the Panfrost open-source graphics driver for Mali GPUs. Kraid aims to improve performance and code quality by replacing the existing compiler backend, bringing better optimization and support for newer hardware. The project represents a significant step forward for Linux graphics on ARM devices.
Zig's June 25, 2026 devlog announces new BitCast semantics that enforce stricter type safety at compile time, alongside multiple LLVM back end improvements including better code generation, faster compilation times, and enhanced debug info handling.
Zig's latest devlog introduces revised BitCast semantics for improved type safety and clarity, alongside several LLVM back end improvements that enhance optimization and code generation performance.