Programming Algorithms in Lisp: Data Structures
The next several chapters will be describing the basic data structures that every programming language provides, their usage, and the most i...
The latest blog posts to take off on Hacker News. 3,709 posts.
The next several chapters will be describing the basic data structures that every programming language provides, their usage, and the most i...
I have written this post for developers in the Common Lisp community who asked why I am switching to Julia. It may only be relevant for the small set of people who use Common Lisp for scientific computing.
PHP 7.4 adds typed properties to classes
The introductory post for this book, unexpectedly, received quite a lot of attention, which is nice since it prompted some questions, and on...
A tiny, strict, impure, curried, dynamically typed (although that may change), partially applied language with rather peculiar syntax.
Now that the Cologne meeting is over and we’ve more or less finalized (at least before the NB comments come in) C++20, I wanted to take the time to describe in detail one of the new language features we can look forward to. The feature is typically referred to as operator<=> (defined in the language as “three-way…
Any problem in computer science can be solved with another level of indirection. Except for the problem of too many layers of indirection.
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…
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.
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…
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.
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
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…