Extending Rust's Effect System
This is the transcript of my RustConf 2023 talk: "Extending Rust's Effect System", presented on September 13th 2023 in Albuquerque, New Mexico and streamed online.
The latest blog posts to take off on Hacker News. 5,635 posts.
This is the transcript of my RustConf 2023 talk: "Extending Rust's Effect System", presented on September 13th 2023 in Albuquerque, New Mexico and streamed online.
Mat Ryer, principal engineer at Grafana Labs and host of the Go Time podcast, shares what he’s learned from more than a dozen years of writing HTTP services in Go.
The following is a loose collection of thoughts that came up while porting unsafe-libyaml to safe, idiomatic Rust, which may be useful to someone else who is considering "rewriting it in Rust", as the ancient journeyman prayer goes.
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.
Posted by Lars Bergstrom – Director, Android Platform Tools & Libraries and Chair of the Rust Foundation Board Back in 2021, we announced...
In the early-to-mid 2010s, there was a renaissance in languages exploring new ways of doing concurrency. In the midst of this renaissance, one abstraction for achieving concurrent operations that was developed was the “future” or “promise” abstraction, which represented a unit of work that will maybe eventually…
This post intends to provide a brief overview of the algorithm described in Luc Maranget’s “ Compiling Pattern Matching to Good Decision Trees ”.
We are delighted to announce the open source first release of Pkl (pronounced Pickle ), a programming language for producing configuration.
History of Perl releases since version 5.6, each with a summary of added or changed features.
Overture to our small Lisp to x86-64 compiler
This article attempts to outline, in informal terms, a new theory of combinators, related to the theory of Combinatory Logic pioneered by Moses Schonfinkel, Haskell Curry, and others in the 1930s. Although not essential, an understanding of the classical theory of combinators may be helpful (see the links at the…
2023 seems to have been the year where I "made the rounds" of a number of major Lisps. There were several elements that lead to this. Firstly must have been my exposure to Elixir in 2022, which introduced me to the idea of debugging live systems and "staying in your program". Secondly must have been my chief complaint…
My own concatenative programming language
Explore how Common Lisp and Clojure shape modern programming, and discover why understanding these foundations is crucial for tech choices today
deadcode is a new command to help identify functions that cannot be called.
Scrapscript is a small, pure, functional, content-addressable, network-first programming language. It’s designed to allow creating small, simply shareable programs. The language was created by Taylor Troesh and the main implementation was created by me and Chris.
I wrote the analysis of “useless sugar” features of Ruby for two months, and I regret nothing.
This post announces SaberVM, an abstract machine for functional programs that guarantees safety, reliability, and portability.
Some time ago, during a code review, I had a discussion with a colleague of mine about preferring dict() over {} in new Python code. They argued that dict() is more readable — and expresses intent more clearly — therefore should be preferred. I wasn’t convinced by that, but at that time I didn’t have any…
One of the established and most popular programming languages is the C programming language. It is relatively easy to learn, and highly practical. Maybe surprisingly, the C programming language keeps evolving, slowly and carefully. If you have GCC 13 or LLVM (Clang) 16, you already have a compiler with some of the…
I was just chatting with Ben Titzer on Twitter about control flow in his Virgil language (which is cool and you should definitely check ...
Every now and then, I stumble onto some algorithm or idea that’s so clever and such a perfect solution to a problem that I feel like I got smarter or gained a new superpower just by learning it. Heaps were one, just about the only thing I got out of my truncated CS education. I recently stumbled onto another: Pratt or…
Sit beside me and hear this crazy old man's tale of when I asked Rust for too much
Over the weekend, I was working on a personal Rust project when I ran into an excessive memory usage problem. After an evening of trial and error, I found a workaround to fix the memory usage, but I still didn’t understand how the issue was even possible, so I then spent another evening digging through the source code…
Usually in C identifiers are not directly followed by strings. But when U prefixed literals were introduced in C. there still were some rare clashes with existing code. This happened were a macro U…
The Rust language has incrementally grown a set of patterns to support control-flow effects including error handling, iteration, and asynchronous I/O. In The registers of Rust , boats lays out four aspects of this pattern shared by Rust’s three effects. Today these effects are typically used in isolation, or at most…
We are announcing a new Crystal release with several new features and bug fixes.
Contributing development work upstream to D leadership has always been a very frustrating process. While the oft-repeated claim that D is a closed-source language is not really true (the D-specific parts of the compiler were GPL'd as early as 2002, leading to an all-GPL compiler (what we now know as gdc) being…
Some C++ folk seem to think so, but they're wrong!