Assorted Thoughts on Zig and Rust
I've been using zig for ~4 months worth of side projects, including a toy text editor and an interpreter for a relational language . I've written ~10kloc.
The latest blog posts to take off on Hacker News. 5,636 posts.
I've been using zig for ~4 months worth of side projects, including a toy text editor and an interpreter for a relational language . I've written ~10kloc.
A blog about computer science, systems, technology, and sometimes vegan cooking.
Traditionally C++ has been seen by many (and you know who you are) as just plain bad: the code is unreadably verbose, error messages are und...
We are very proud to announce Nim version 1.4 after six months of continuous development! Other than version 1.0, this is probably the biggest Nim release yet and we’re very excited to release it!
Nim is advancing towards more efficient memory management models. Let's talk about ARC/ORC and see how they will change the way memory works in Nim.
Isn’t it weird that we treat source code as text? That is, we have this extremely well-structured and strongly-typed object — the abstract syntax tree — that exists conceptually in our minds, and in actuality inside of our compiler, but for some reason we pretend it’s just a pile of bytes and edit it byte-by-byte…
Two years ago, I had a blog entry describing falling in love with Rust . Of course, a relationship with a technology is like any other relationship: as novelty and infatuation wears off, it can get on a longer term (and often more realistic and subdued) footing – or it can begin to fray. So well one might ask: how is…
A bit over a year ago, I wrote some notes on a “smaller Rust” - a higher level language that would take inspiration from some of Rust’s type system innovations, but would be simpler by virtue of targeting a domain with less stringent requirements for user control and performance. During my time of unemployment this…
A blog about life between two parens.
I’m excited to announce Swift Algorithms, a new open-source package of sequence and collection algorithms, along with their related types.
area being the function you really care about it is defined first - after all, code reads from top to bottom.
My cofounder Joe and I recently finished SICP. It was a mind-bending experience: you start from just 3 concepts, and you recursively build up algebraic equation solvers, circuit simulators, 4 interpreters, and a compiler.
Elixir v1.11 is out with improvements to the compiler and tighter integration with Erlang/OTP.
I show how two domain-specific type systems, information flow control and two-party communication protocols, can be implemented in Rust using type-level programming. I explain how interesting properties of these domains can be verified at compile-time. Finally, I construct a general correspondence between type…
The following table shows diagrams of identity, the booleans, some standard combinators, some Church numerals, the predecessor function on Church numerals, and Omega. term definition diagram alternative I/1 λx.x K/true λx.λy.x false/0 λx.λy.y S λx.λy.λz.(x z)(y z) Y λf.(λx.x x)(λx.f(x x)) 2 λf.λx.f(f x) 3 λf.λx.f(f(f…
You are seeing this because the administrator of this website has set up Anubis to protect the server against the scourge of AI companies aggressively scraping websites . This can and does cause downtime for the websites, which makes their resources inaccessible for everyone.
I’m delighted to announce Swift Atomics, a new open source package that enables direct use of low-level atomic operations in Swift code. The goal of this library is to enable intrepid systems programmers to start building synchronization constructs (such as concurrent data structures) directly in Swift.
Compiling Lisp let expressions to x86-64
Research in programming languages offers powerful tools, but our systems of notation stymie outsiders. Can we change our notational approach and broaden our audience—without compromising on c…
Learn about OTP, a set of tools and libraries that Elixir inherits from Erlang.
While not yet at version 1.0, Zig is about to reach a new level of maturity and stability.
I have changed my mind about some topics big and small so far in my life. Today: the value of types for programming.
The PyPy team is proud to release version 7.3.2 of PyPy, which includes three different interpreters: PyPy2.7, which is an interpreter su...