Hacker News with Generative AI: Programming Languages

Zig is a general-purpose programming language (ziglang.org)
Zig is a general-purpose programming language and toolchain for maintaining robust, optimal and reusable software.
Swift Achieved Dynamic Linking Where Rust Couldn't (faultlore.com)
For those who don’t follow Swift’s development, ABI stability has been one of its most ambitious projects and possibly it’s defining feature, and it finally shipped in Swift 5. The result is something I find endlessly fascinating, because I think Swift has pushed the notion of ABI stability farther than any language without much compromise.
Why F#? (batsov.com)
If someone had told me a few months ago I’d be playing with .NET again after a 15+ years hiatus I probably would have laughed at this.1 Early on in my career I played with .NET and Java, and even though .NET had done some things better than Java (as it had the opportunity to learn from some early Java mistakes), I quickly settled on Java as it was a truly portable environment.
Pidgin 3.0 Experimental 2 (2.91.0) has been released (imfreedom.org)
Swift 6.1 Released (swift.org)
Swift 6.1 is now available!
JEP draft: Prepare to make final mean final (openjdk.org)
Issue warnings about uses of deep reflection to mutate final fields. The warnings aim to prepare developers for a future release that ensures integrity by default by restricting final field mutation; this makes Java programs safer and potentially faster. Application developers can avoid both current warnings and future restrictions by selectively enabling the ability to mutate final fields where essential.
Show HN: TypeScript as a proof assistant for intuitionistic propositional logic (github.com)
TypeScript can be used just like a proof assistant (for intuitionistic propositional logic)!
Shadowing in Python gave me an UnboundLocalError (ntietz.com)
There's this thing in Python that always trips me up. It's not that tricky, once you know what you're looking for, but it's not intuitive for me, so I do forget. It's that shadowing a variable can sometimes give you an UnboundLocalError!
Python lock files have officially been standardized (python.org)
How to Secure Existing C and C++ Software Without Memory Safety [pdf] (arxiv.org)
The most important security benefit of software memory safety is easy to state: for C and C++ software, attackers can exploit most bugs and vulnerabilities to gain full, unfettered control of software behavior, whereas this is not true for most bugs in memory-safe software.
Taming the UB Monsters in C++ (herbsutter.com)
The C++ community broadly has a lot of hardening work well underway.
Cross Compiling Swift (khanwinter.com)
There are multiple ways to cross-compile Swift on different platforms. I explored a few methods while building a Discord bot and a Bluesky bot.
The Code That Controls Your Money (wealthsimple.com)
COBOL is a coding language older than Weird Al Yankovic. The people who know how to use it are often just as old. It underpins the entire financial system. And it can’t be removed. How a computer language controls the financial life of the world.
Why is this site built with C (marcelofern.com)
Learning from these two past mistakes, I came up with a set of requirements for my next (and hopefully final) website:
Rust Any part 3: we have upcasts (pocoo.org)
As of Rust 1.86, this is finally fixed. The cast now works:
Four Lectures on Standard ML (1989) [pdf] (cs.tufts.edu)
Towards fearless SIMD, 7 years later (linebender.org)
Seven years ago I wrote a blog post Towards fearless SIMD, outlining a vision for Rust as a compelling language for writing fast SIMD programs. Where are we now?
Making WebGL typesafe in Idris 2 (drbearhands.com)
I’d wanted to learn Idris for a while, and see how far I could realistically take type-safety. In particular, can I ensure all documentation of the WebGL spec is encompassed in types? (thus achieving correctness-by-construction).
Memelang: A hybrid graph-relational query language (memelang.net)
Memelang is a hybrid graph-relational query language that encodes complex relationships in a compact syntax.
A diagram of C23 basic types (wordpress.com)
This week on the C committee mailing list we had a discussion about how C’s types are organized into different categories. At the end I came up with a diagram with that organization. It basically translates the section “6.2.5 Types” of the C23 standard into a graph of inclusions.
Typed Japanese (github.com/typedgrammar)
If you can write TypeScript, you can understand Japanese!
Koto Programming Language (koto.dev)
A lightweight scripting language for Rust applications.
Rust is indeed woke (dreamwidth.org)
Hello, you've been (semi-randomly) selected to take a CAPTCHA to validate your requests. Please complete it below and hit the button!
I Built Faster Reinforcement Learning in C# Solo Than Teams Did with Python (rlmatrix.com)
The question comes relentlessly: “Why build reinforcement learning in C#?” Behind this query lies an unspoken assumption that serious machine learning happens exclusively in Python. This perspective reveals a fundamental disconnect between academic ML researchers with their sprawling Python scripts and those of us solving real industrial problems.
C and C++ prioritize performance over correctness (2023) (swtch.com)
The original ANSI C standard, C89, introduced the concept of “undefined behavior,” which was used both to describe the effect of outright bugs like accessing memory in a freed object and also to capture the fact that existing implementations differed about handling certain aspects of the language, including use of uninitialized values, signed integer overflow, and null pointer handling.
Can jank beat Clojure's error reporting? (jank-lang.org)
Hey folks! I've spent the past quarter working on jank's error messages. I've focused on reaching parity with Clojure's error reporting and improving upon it where possible.
Rust vs. Go in 2025 (bitfieldconsulting.com)
Can I say something without everyone getting mad?
LLVM Back End for MoonBit (moonbitlang.com)
In the past two years, MoonBit has demonstrated significant performance advantages across WebAssembly, JavaScript, and native backends. We believe that for a new language to be truly valuable, it must offer a generational leap in both core performance and developer experience. Today, we are excited to introduce MoonBit LLVM backend support with 8× the performance of Java in the FFT benchmark, and out-of-the-box debugging.
MilliForth-6502: The smallest Forth real programming language for 6502 (github.com/agsb)
Xee: A Modern XPath and XSLT Engine in Rust (startifact.com)
For the last two years I've been working on a programming language implementation in Rust named Xee. Xee stands for "XML Execution Engine" and it supports modern versions of XPath and XSLT. Those are programming languages, and yes, that's XML stuff.