CPU registers and OCaml
Even though registers are a low-level CPU concept, having some knowledge about them can help write faster code. Simply put, a CPU register is a storage for a...
Topics /
The most popular blog posts about programming languages on Hacker News. 5,634 posts.
Even though registers are a low-level CPU concept, having some knowledge about them can help write faster code. Simply put, a CPU register is a storage for a...
An extensively updated and expanded version of the best-selling first edition. Now covers recent and more advanced features of Haskell.
Little Lisp is an interpreter that supports function invocation, lambdas, lets, ifs, numbers, strings, a few library functions, and lists. I wrote it for a l...
An introduction to the Go context package.
In Chapter 1 , I asserted that the grammar of Lisp is uniform: every expression is a list, beginning with a verb, and followed by some arguments. Evaluation proceeds from left to right, and every element of the list must be evaluated before evaluating the list itself. Yet we just saw, at the end of Sequences , an…
Getting a kickstart in the logic programming world with Prolog
Software security must be addressed by all programmers, not just security experts. So we teach it in CS 330, a programming (languages) class.
AdaCore and NVIDIA have decided to publish this reference process freely as an open-source and evolving document, allowing the industry at large to adopt…
Rust should be improved to provide the necessary building blocks that are needed to write cryptography code that is free from timing side channels and similar hazards. These facilities should not be restricted to code within Rust -provided or -endorsed libraries; anybody should be able to use them to publish a crate…
MT-NLG has 3x the number of parameters compared to the existing largest model of this type and demonstrates unmatched accuracy in a broad set of natural language tasks.
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…
If you have never heard about functional programming before, I’ll have the honor to instill in you my view on it. If you have, you might know that it’s usually defined by some of …
Yesterday Crystal became one year old. Yay! :-)
The Arduino Uno Q is... a weird board. It's the first product born out of Qualcomm's buyout of Arduino. It's like if you married an Intel CPU, and a Raspberry Pi RP2040 microcontroller—oh wait, Radxa's X4 did that. Arduino even tried it before with their old Yún board, which had Linux running on a MIPS CPU, married to…
In this brief post I want to discuss a fairly unusual feature of Haskell - functions that can be parameterized by their return type.
Note: These pages make extensive use of the latest XHTML and CSS Standards . They ought to look great in any standards-compliant modern browser. Unfortunately, they will probably look horrible in older browsers, like Netscape 4.x and IE 4.x. Moreover, many posts use MathML, which is, currently only supported in…
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…
In the latest release of Swift, dictionaries and sets gain a number of new methods and initializers that make common tasks easier than ever. Operations like grouping, filtering, and transforming values can now be performed in a single step, letting you write more expressive and efficient code.
One-liners are like Haiku poetry. Not always practical, not always readable, they are fun to write. As with any art, some are better than others, but from time-to-time, a true gem pops up.
Coroutines are functions that pause and resume with state, allowing flexible, bidirectional control flow in PHP.
λm.me - An alternative frontend for Haskell?
Finally sitting down to learn Rust and how to write parsers.
Patterns to use types for better safety and design