Tag
The blog post discusses the addition of primary constructors to Dart 3.13, a syntactic sugar feature designed to enhance code simplicity and readability based on user feedback and design iterations.
The article shares personal opinions on modern compiler building, advocating for tools like OhmJS for parsing and Prolog for type checking, with a focus on simplicity and iterative development.
The article describes various tricks and strategies for writing fast compilers, focusing on minimizing code execution, reducing memory usage, and optimizing common paths to achieve compilation speeds of over 500,000 lines of code per second.
A deep dive into the inconsistent behavior of Python's pre-declared constants, including keyword status, assignment restrictions, and shadowing quirks.
The author details creating a shoot 'em up game on a custom bytecode VM in 7 days for the Langjam Gamejam, producing a 3kB Windows executable with a fullscreen pixel shader.
An essay analyzing why programming languages fail, arguing that adoption depends less on technical merit than on how well a language serves programmers as a vocation, art, and job.
An exploration of multistack concatenative programming languages, discussing how auxiliary stacks and dynamic bindings like Factor's namespaces and PostScript's dictionaries can ease data stack management without sacrificing concatenative composition.
A blog post announcing the addition of recursive functions to the Futhark programming language, explaining the historical challenges of recursion on GPU backends and the design trade-offs involved.
Interview with Lua creator Roberto Ierusalimschy covering Lua's unique embedding-oriented design, its differences from Python, LuaJIT's workings, and predictions for AI's impact on programming languages.
Rust project goals outline plans for immobile types and guaranteed destructors to improve language safety and resource management.
This article examines explicit capture clauses in Rust as an alternative to move expressions, proposing a first-class language feature for converting references to owned values and analyzing various closure capture patterns.
A blog post discussing the design of integer types in various programming languages, arguing that Rust's approach of forcing explicit sizing and signedness selection is superior to languages with a default `int` type.
The article explores obscure details about pre-ANSI C (K&R C) including the absence of void, different floating point types, and simplified type specifier rules. It explains how the language's context-sensitive grammar was justified by single-pass compiler constraints.
G# is a new .NET language that brings Go-, Kotlin-, and Swift-style ergonomics to the .NET runtime, compiling directly to managed assemblies.
An article discussing the debate between signed and unsigned integer defaults in programming language design, using Odin and C3 as examples. The author argues that signed-by-default is more practical despite theoretical advantages of unsigned.
A free online textbook on compiler construction by Prof. Douglas Thain, enabling readers to build a compiler for a C-like language to X86 or ARM assembly, available for download or purchase.
Rhombus v1.0, a new extensible programming language built on Racket with conventional syntax and powerful macro facilities, has been released.
The article argues that disallowing trailing separators (like commas) in programming languages and data formats makes code editing more error-prone and less consistent, and advocates for language designs that permit trailing separators for better developer experience.
This article by Marshall Lochbaum discusses the philosophy behind choosing primitives in the BQN array programming language, arguing that primitives should be discovered rather than invented, and contrasts symbols versus names.
An article explaining the historical and technical reasons for the existence of the arrow operator (->) in the C programming language.