Yaegi – Yet Another Go Interpreter
Yaegi, Yet Another Go Interpreter, is an open source project to bring executableGo scripts, embedded plugins on top of the Go runtime...
The latest blog posts to take off on Hacker News. 5,636 posts.
Yaegi, Yet Another Go Interpreter, is an open source project to bring executableGo scripts, embedded plugins on top of the Go runtime...
Drago — a nice example of a real-world binary tree This was the first post about my book on algorithms and Lisp. Writing it, actually, st...
Some years ago someone asked whether it would make sense to switch Python to a PEG parser. (Or a PEG grammar; I don’t recall exactly what…
They’re not burritos.
Many people who use Rust for a bit - especially those who like the language but do not fall in love with it - feel a sense that there must be a smaller, simpler variation on the same theme which would maybe be a little less powerful, but would also be much easier to use. I agree with them, but I think they are almost…
CPython has supported multiple interpreters in the same process (AKA “subinterpreters”) since version 1.5 (1997). The feature has been available via the C-API. [c-api] Multiple interpreters operate in relative isolation from one another, which facilit...
Compilers, interpreters, runtimes, and the like can sometimes feel vaguely magical. They take your code, perform complex transformations that you only partially understand, and spit out an executable binary. Clearly, the inner workings of such a beast must contain arcane secrets, not meant for the minds of mortals.
Video and transcript of Jimmy Koppel's Compose 2019 talk on defunctionalization, the best refactoring you've never heard of.
an opinionated collection of programming languages.
Evaluating Rust as the common denominator of modern development
Cedarwood is an effort to speed up jieba-rs , an efficient implementation of trie is needed in order to satisfying the following needs.
Many people come to Clojure from an imperative language and find themselves out of their element when faced with Clojure’s approach to doing things, while others are coming from a more functional background and assume that once they leave Clojure’s functional subset, they will be faced with the same story re: state as…
WG21 has a strict schedule (see P1000) by which we ship the standard every three years. We don’t delay it. Around this time of each cycle, we regularly get questions about “but why so strict?”, esp…
We sometimes think of the number of passes in a compiler as a measure of the compiler’s complexity. But what if we could make compiler development more approachable by fully embracing the ide…
This post describes a compile-time technique for catching use-after-move bugs in modern C++. It’s currently used to prevent some mistakes in the Serenity Operating System.
I wanted to give an update on the status of the “async-await foundations” working group. This post aims to cover three things:
A little over a decade ago, there were some popular blogposts about whether Ruby was an acceptable Lisp or whether even Lisp was an acceptable Lisp . Peter Norvig was also writing at the time introducing Python to Lisp programmers . Lisp, those in the know knew, was the right thing to strive for, and yet seemed…
For my ten years in the Erlang community, I decided to cover a few topics such as hype phases and how this related to Erlang, the ladder of ideas within the language and how that can impact adoption, what changed in my decade there, and what I think Erlang still has to bring to the programming community at large.
Why Lisp Failed.
Course overview Memory leaks and dangling pointers are the main issues of the manual memory management. You delete a parent node in a linked list, forgetting to delete all its children first -- and your
We are proud to announce the release of Pony version 0.29.0. This release includes several improvements to the standard library's TCP support. This version contains breaking API changes. We recomme...
After a rather long break from programming and Clojure I decided give them another go. When it comes to managing Clojure projects, Leiningen is de-facto standard tool. Recently, Clojure CLI tools are becoming more and more popular, though. Switching to yet-another-build-tool doesn't have any pragmatic value, but it's…
Updated (2023-05-08): the Go compiler keeps evolving and it takes time to keep up with changes. While the general gist of this post remains true and it's worth reading to understand how the compiler works on a high level, the details of the modifications are slightly different now.