Move, simply
C++ “move” semantics are simple, and unchanged since C++11. But they are still widely misunderstood, sometimes because of unclear teaching and sometimes because of a desire to view move…
Topics /
The most popular blog posts about programming languages on Hacker News. 258 posts.
C++ “move” semantics are simple, and unchanged since C++11. But they are still widely misunderstood, sometimes because of unclear teaching and sometimes because of a desire to view move…
Programming, retrogaming, hacking and computer stuff.
In your build tools, you may have noticed that you have an ECMAScript 3 target, and 5 and up, but never a 4. Why is that?
What a query-based compiler is and what they are good for.
The chart classifies programming paradigms according to their kernel languages. Kernel languages are ordered according to the creative extension principle: a new concept is added when it cannot be encoded with only local transformations. Two languages that implement the same paradigm can nevertheless have very…
This is the second in an indefinite series of posts about things that I think went well in the Sorbet project. The previous one covered our testing approach. Sorbet is fast. Numerous of our early users commented specifically on how fast it was, and how much they appreciated this speed. Our informal benchmarks on…
This is somewhat of a followup to my post on Lua integration from a few days ago.
This is the absolute best guide you'll find in the internet about how php handles typing internally and in userland.
Blog of Guillaume Gomez (Guide on how to write documentation for a Rust crate)
Adding a reader to our Lisp compiler
In late 1986 and early 1987 an ad hoc group of Smalltalk implementors got together to see if they could agree on a design for the next major version of Smalltalk, after Smalltalk-80. The intent was that what they agreed upon would feed into an IEEE standardization process. That process never got
Checked exceptions have always been a controversial feature of the Java language.
Robert O'Callahan. Christian. Kiwi. Software guy. All content human-authored unless otherwise noted.
A Python developer's honest review of Haskell: the type system, tooling, learning curve, and practical tradeoffs.
In the first post of the series we've looked at the CPython VM. We've learned that it works by executing a series of instructions called bytecode....
For about five years I've been trying to implement a fully conforming C preprocessor for the front end of the CScout refactoring browser. I've found this to be a fiendishly difficult task. Although what I have written can correctly process million-line real-life projects, every once in a while I come across a…
area being the function you really care about it is defined first - after all, code reads from top to bottom.
Part 4 covers pattern matching, destructuring, and enums
A common perspective is that types are restrictions . Static types restrict the set of values a variable may contain, capturing some subset of the space of “all possible values.” Under this worldview, a typechecker is sort of like an oracle, predicting which values will end up where when the program runs and making…
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...
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…
DSLs, or domain specific languages, are programming languages that are designed to implement a set of features specific to a particular problem or field. An example could be Make , the build tool, which is a specially designed language for combining ...
Exploring Lisp's fine-grained type hierarchy.
It’s hard to believe that its been more than 3 years since I opened RFC 2000 , which defined the const generics for Rust. At the same time, reading the RFC thread, there’s also been a huge amount of change in this area: for one thing, at the time the RFC was written, const fns weren’t stable, and consts weren’t even…
You're probably reading this page because you've attempted to access some part of my blog (Wandering Thoughts) or CSpace , the wiki thing it's part of. Unfortunately you're using a browser version that my anti-crawler precautions consider suspicious, most often because it's too old (most often this applies to versions…