
Explore WebAssembly's new garbage collection feature, its design rationale, and implications for compilers targeting object-oriented and functional languages.

Explore Xsmith, a Racket library for efficient fuzz testing of programming languages. Learn to create conforming programs for differential testing with minimal code, finding bugs in various language implementations.

Explore the future of programming languages focused on reasoning, integrating human developers, symbolic systems, and AI agents. Learn about the Bosque platform's radical simplification approach.

Explore spatial programming with CellPond, a novel approach that eliminates escape hatches and maximizes visual, interactive benefits.

Explore a monadic framework for name resolution in multi-phased type checkers, bridging the gap between abstract typing rules and practical implementations using compositional mappings and monadic combinators.

Explore live state-first debugging for web GUI apps, revealing state changes without logs or breakpoints. Learn about Unfold's timeline, code correlation, and auto-replay features.

Explore fundamental principles of type systems, comparing session types with traditional types in logic, mathematics, and computer science.

Explore the concept of polyglot programming, its prevalence, benefits, and challenges. Examine integration issues and software engineering implications for multi-language development.

Explore the expressive power of mixed session types in distributed processes, examining their impact on type safety and communication in asynchronous and synchronous contexts.

Explore insights gained while writing a book on session types, including coinductive definitions, linear vs. sharable types, subtyping, and propositions-as-types approach.

Explore insights on dynamic languages from a seasoned researcher's perspective, covering successful strategies in research, advising, and project leadership.

Explore the future of programming languages in AI-driven development, examining key features, tools, and workflows needed for effective human-AI collaboration in software creation.

Explore WebAssembly's design for running high-level languages on a low-level VM, addressing challenges and performance optimizations for dynamic languages.

Explore Witter, a library for white-box testing in programming education. Analyze method execution against reference solutions to verify algorithm behavior and provide insightful feedback.

Explore local-first software's impact on edge computing, examining challenges and solutions for metadata scaling in counters and causal CRDTs.

Explore advanced techniques for collaborative editing: implement undo/redo functionality and move operations in CRDTs, enhancing real-time document synchronization and user experience.

Explore a Domain-Specific Language for stack-based computations, ensuring type correctness and supporting multiple views and mutually recursive functions of arbitrary arities.

Explore ProTI, an automated unit testing approach for Infrastructure as Code programs, enabling rapid prototyping and efficient bug detection in cloud resource configurations.

Explore Hazel, a groundbreaking live programming environment with error localization and recovery mechanisms, ensuring well-structured and meaningful code at every stage.

Explore Latte, a lightweight system for tracking aliasing and uniqueness in Java, minimizing annotations and complexity while supporting destructive reads and practical applications.

Explore a proposed trait debugger for Rust, extracting and visualizing proof trees to facilitate debugging of complex trait errors in any domain and scale.