Golang's big miss on memory arenas
When your software team needs to pick a language today, you typically weigh two factors: language performance and developer velocity.
Every blog post that took off on Hacker News, ranked by the votes of its best submission. 375 posts.
When your software team needs to pick a language today, you typically weigh two factors: language performance and developer velocity.
The destructor serves as the "finally".
My Python code was too slow, so I made it faster with Python. For some definition of “Python”.
The fundamental units of computation available to users today are not the same as they were 20 years ago. When users had at most a few cores on a single CPU, it made complete sense that every program was written with the assumption that it would only run on a single core.
Enums are one of the most popular features in Rust. An enum is a type whose value is one of a specified set of variants.
This is the fifth post in my planned multipart series on memory management. You will probably want to go back and read Part I , which covers C, parts II and III , which cover C++, and part IV , which introduces Rust memory management. In part IV, we got through the basics of Rust memory management up through smart…
Recto is a 2D programming language that uses nested rectangles as its core syntax, encoding structure and recursion directly in space instead of a linear stream of text. Recto explores new ways to write, parse, and reason about code—and even natural language—spatially.
The C++ standard library (also know as the STL) is, without a doubt, an astounding piece of work. Its scope, performance and incredible back...
When explaining Go to new programmers, I've found that it often helps to explain what Go values look like in memory, to build the right intuition about which operations are expensive and which are not. This post is about basic types, structs, arrays, and slices.
This page is a mini-site for my Snobol excursion with links to separate pages for my:
Abstract Rust is a non-Garbage Collected (GCed) language, but the lack of GC makes expressing data-structures that require shared ownership awkward, inefficient, or both. In this paper we explore a new design for, and implementation of, GC in Rust, called Alloy . Unlike previous approaches to GC in Rust, Alloy allows…
MATLAB still shines for math-heavy work. Its whiteboard-style syntax makes code easy to read, review, and run on modern tools like RunMat and fast GPUs.
(Previous post in the series was on Jai and can be found here)
We have invested significant time and resources to prototype macros over the past couple years. Unfortunately, each time we solved a major…
Bridge the gap between structured logging and errors in Go
(Image of "Four-Armed Chuck" programming a PDP-11 is from my giant write-up of Forth .)
The materials for the course on compilers: built incrementally and fully in tagless-final style
A short post about a neat little Zig idiom. Consider your average {sum type, variant, tagged union, enum, alt}:
wingolog: article: baffled by generational garbage collection
This post is a case study of writing a Rust application using only minimal, artificially constrained API (eg, no dynamic memory allocation). It assumes a fair bit of familiarity with the language.
This post will describe how I design my programs in Go. I needed this for work, and while I searched for a link, nothing quite fits my coding practices out there. The word “Layered” can pull up some fairly close descriptions, but I want to lay out what I do.
Ben Lindbergh at the Ringer asks “When did jerk stop meaning ‘stupid’?” He starts with the Steve Martin movie The Jerk , saying of its protagonist:
When defining a type in Inko , it's allocated on the heap by default. For example (using the syntax for the upcoming 0.18.0 release):
Karl Seguin's Blog - A mix of coding and creative writing
Exploring Lisp's fine-grained type hierarchy.