C2rust vs. Corrode
A couple weeks ago, Galois and Immunant launched c2rust. Since I wrote one of the best-known C-to-Rust translation tools (Corrode), and since I worked for Ga...
The latest blog posts to take off on Hacker News. 3,709 posts.
A couple weeks ago, Galois and Immunant launched c2rust. Since I wrote one of the best-known C-to-Rust translation tools (Corrode), and since I worked for Ga...
Minor nit: printing the predecessors of a basic block is a feature of the IL printer, not Clang. It is just visualizing information that is implicit in the IR anyway.
Traits Deep Dive, Part 2
Python's GIL explained in Python code
Nim is a relatively new programming language which allows users to write easy-to-read high-performance code. But if you are reading this Nim tutorial, the chances are that you already know about Nim.
During my life as a software engineer there only have been a few occasions where the design and principles of a language struck me as inherently beautiful and consequently inspired me to work with them.
In the past year I’ve written a number of minimalist C libraries, particularly header libraries. The distinction for “minimalist” is, of course, completely arbitrary and subjective. My definition in this context isn’t about the library’s functionality being stupidly trivial or even necessarily simple. I’m talking…
See also Dennis Ritchie on aliasing, PLOS article , pointer alias in C and remarks on the purpose of C.
In a bid to expand my programming brain by learning something about “dependent types”, I recently bought the Idris book. (Idris is a pure functional programming language that is mostly …
If I were more musically talented I would be writing a song ♫ Arguments that are destructured, and operator characters combine-ed; Loop binding changes and convert redefine-ed… ♫ no none of that, please stop.
Emacs 26.1 was recently released . As you would expect from a major release, it comes with lots of new goodies. Being a bit of an Emacs Lisp enthusiast , the two most interesting new features are generators ( iter ) and native threads ( thread ).
Chris Lattner, the architect of the Clang/LLVM C compiler explained the effects of the C standard’s “undefined behavior”(UB):
A practical introduction to the programming language Scheme
Over on GitHub, David Yu has an interesting performance benchmark for function calls of various Foreign Function Interfaces ( FFI ):
The Visitor Pattern is one of the most mis-understood of the classic design patterns. While it has a reputation as a slightly roundabout technique for doing simple processing on simple trees, it is actually an advanced tool for a specific use case: flexible, streaming, zero-overhead processing of complex data…
Introduction to modern Prolog
What happens when human error enters into semantic versioning and vgo
I looked into Python because I was considering translating the Lisp code for the Russell & Norvig AI textbook into Java. Some instructors and students wanted Java because
Briefly put, types in L-world are ambiguous, leading to unhygienic mixtures of value operations with reference operations, and uncontrolled pollution from null s infecting value code.
Mark Karpov wrote in his article on Migrating text metrics to pure Haskell how he originally did foreign calls out to C for many of the functions in his text metric package, but now ported them to Haskell when he learned that Haskell can give you performance comparable to C.