Comments| Lobsters
The Raku® programming language.| raku.org
Effects as Capabilities| nrinaudo.github.io
A curated collection of answers that Rich gave throughout the history of Clojure - rich-already-answered-that.md| Gist
Benchmarks and theoretical explanation of why and when hashed radix sort beats hash tables.| Reiner’s webpage and articles.
Algebraic effects are not just a research concept anymore. You can use them in real software, today. Here's why you'd want to do that, in order of importance.| www.relax.software
If you pick a random talk at a C++ conference these days, there is a fair chance that the speaker will mention safety at least a couple of times. It’s probably fine like that. The committee and the community must think about improving both the safety situation and the reputation of C++. If you follow what’s going on in this space, you are probably aware that people have different perspectives on safety. I think almost everybody finds it important, but they would solve the problem in their...| Sandor Dargo’s Blog
Wookash Episode "Deciding the fate of C Language": https://www.youtube.com/watch?v=ES5_IWG8rcwWebsite: https://odin-lang.orgEmail: youtube@odin-lang.orgGitHu...| YouTube
Nimony: Design principles| Nim Programming Language Personal Blog
Let's build a Python type checker in 300 lines of code.| austinhenley.com
a personal blog| www.stylewarning.com
---| www.canicula.com
Statically typed programming languages can help catch mismatches between the kinds of values a [...]| LWN.net
This week I reached a milestone in my most useless side project so far. I finished writing a tic-tac-toe game in Lean 4, along with proofs to guarantee that the game behaves correctly! It “only” took me 20 hours, 1000 lines of code and endless suffering… Totally worth it, as you might expect. Chances are you haven’t heard about Lean before, so I’ll share more details below. But first, let’s have an overview of this article’s contents, since it ended up quite long:| Adolfo Ochagavía
| riki's house
| riki's house
| riki's house
| riki's house
| riki's house
I spent some time before making Datalogs that translated into SQL. https://www.philipzucker.com/tiny-sqlite-datalog/| Hey There Buddo!
This post is an exploration on some additional possible semantics for mutability (and immutability).| Ante
The APL Farm has recently hosted discussions about the proposed under operator, asking “why Dyalog hasn’t implemented it a long time ago”. I claimed that an important reason was that Roger Hui wasn’t a big fan of the proposed extension known as “structural under”. Stefan Kruger then asked me why that was so. Since Roger isn’t able to respond himself, I’ll do my best to explain my own understanding of the issues.| www.dyalog.com
what led us down this path| dbeef.dev
[fogus.me| blog.fogus.me
AsciiDots is an esoteric programming language based on ascii art. In this language, dots, represented by periods (.), travel down ascii art paths and undergo operations.| ajanse.me
Overview| cprimozic.net
Dyna | dyna.org
Personal blog of Stephen Diehl - Software engineer writing about technology, programming, and the future| Stephen Diehl
Typecheckers built for fun| sdiehl.github.io
Anaphoric Macros| letoverlambda.com
An important aspect of OCaml that newcomers might want to| kirancodes.me
Placing Arguments| blog.yoshuawuyts.com
A candid discussion between Siddhant and AmitU about building fastn, the challenges of open source sustainability, and launching our Rust Consultancy| fastn.com
A detailed explanation of why I chose OCaml as the ‘default’ programming language for every project.| xvw.lol
Type inference for plain data using Monoids The context behind this post is that my partner asked me how to ...| www.haskellforall.com
I wanted to share a side project I’ve been tinkering with for a while and finally got around to shipping: Coalton Playground – basically a web-based REPL for Coalton, which is this inte…| Abacus Noir
A linear scan through the history of… linear scan register allocation.| Max Bernstein
This book describes the compiler design of the next generation Numba compiler. This compiler and its components are extremely experimental and under rapid development. If you have questions, raise an issue on the GitHub repository.| numba.pydata.org
TLDR: I made Filli (this is a link), a Lua/python-like embeddable language written in C23 (or C99 with GNUisms; compiles as C++ too!). The license is permissive. It’s sandboxable, like Lua. I…| Abandonculture
Forsp: A Forth+Lisp Hybrid Lambda Calculus Language| xorvoid.com
Out-Fibbing CPython with the Plush Interpreter| pointersgonewild.com
🌱 A minimal programming language and compiler.| Git
On his blog, Bob Harper asks what, if anything, a declarative language is . He notes that "declarative" is often used to mean "logic or func...| semantic-domain.blogspot.com
This is the third in a series of posts about a virtual machine I’m developing as a hobby project called Bismuth. I’ve talked a lot about Bismuth, mostly on social media, but I don’t think I’ve done a good job at communicating how you go from some code to a program in this VM. In this post I aim to rectify that by walking you through the entire life cycle of a hello world Bismuth program, from the highest level to the lowest.let hello = data_utf8("Hello world!\n");func main() i32 { // ...| Eniko does bad things to code
I sometimes get asked if Odin has any plans to add hygienic macros or some other similar construct. My general, and now (in)famous, answer is to many such questions is: No. I am not against macros nor metaprogramming in general, and in fact I do make metaprograms quite often (i.e. programs that make/analyse a program). However my approach with the design of Odin has been extremely pragmatic. I commonly ask people who ask for such things what are they specifically trying to solve? Usually they...| www.gingerbill.org
A couple of people have asked me for my thoughts on part of an article from Tiark Rompf| tratt.net
In Object Oriented programming, identity and behaviour are often conflated. But it can be usefuk to think of them as different concepts.| ismaelcelis.com
Programming Languages:| www.plai.org
Memory safety is all the rage these days. But what does the term even mean? That turns out to be harder to nail down than you may think. Typically, people use this term to refer to language...| www.ralfj.de
The Kernel Programming Language| web.cs.wpi.edu
Parsing, performance, and low-level programming.| blog.reverberate.org
Oils is our upgrade path from bash to a better language and runtime. It's also for Python and JavaScript users who avoid shell! - oils-for-unix/oils| GitHub
Yes I know about that one talk from Rob Pike.| kristoff.it
Sometimes, especially when dealing with business logic, we have to deal with data that comes in from the real world, or elsewhere, naturally very messily typed, leading to nasty type signatures and messes of macros or code generation to build data structures from a schema. Row polymorphism can help us by abstracting over the fields contained in a record type in the type signature, letting us define records based on data, concatenate records together, and define functions that are generic acro...| Stranger Systems
The new binding application in Idris helps write programs with dependent pairs and other structures with lambda as the trailing argument. This post is a small collection of uses I have for it.| andrevidela.com
The short version of this shower thought: storing the tags for sum types after the payload rather than before can save a surprising amount of space.| www.scattered-thoughts.net
Discuss on Reddit, GitHub or Discord.| contextgeneric.dev
exposing raw pointers make the optimizer’s job horribly hard. high level languages can constrain your program, making more optimizations sound.| jyn.dev
C3 is a programming language that builds on the syntax and semantics of the C language, with the goal of evolving it while still retaining familiarity for C programmers.| c3-lang.org
The following post will talk about the design of the first version of the Intermediate Representation of Kunai, the design decisions and how it was implemented.| Eduardo Blázquez's Personal Webpage
3| lists.sr.ht
The program consists of 80-minute lectures.| www.cs.uoregon.edu
A long-running interest of mine is how we could add variadic generics to the Rust programming language.| PoignardAzur
On StackExchange, someone asks why programmers talk about “calling” a function. Several possible allusions spring to mind: Calling a function is like calling on a friend — we go, we stay a while, we come back. Calling a function is like calling for a servant — a summoning to perform a task. Calling a function is like making a phone call — we ask a question and get an answer from outside ourselves. The true answer seems to be the middle one — “calling” as in “calling up, summ...| Arthur O’Dwyer
I was playing around with recursion-schemes, which is pretty cool. It’s very nice to be able to define interpreters like this, so my immediate thought was: can we do this for the lambda-calculus? Strangely, I couldn’t find any examples online of lambda-calculus interpreters written as catamorphisms, and it actually turns out to be a little bit tricky. So here’s what I came up with.| Terms and Truth-Conditions
Something I’ve been seeking for a while is a notion of a “refinement e-graph”.| Hey There Buddo!
Personal Blog| www.stephendiehl.com
You might have heard that polymorphism is hard to combine with Hindley-Milner type inference, but what does this mean exactly?| blog.snork.dev
An analysis of languages abstraction power with examples of Lisp features which are non-implementable in C and the reasons for it| mihaiolteanu.me
It seems to me that telescopes https://ncatlab.org/nlab/show/type+telescope , the dependently typed notion of context, is more central to the topic of dependent types than the dependent types are.| Hey There Buddo!
A popular meme in the world of PL’s is that “Haskell has monads”, with the implication that this is a distinctive feature of the language, separate from all others. While it is t…| Existential Type
This post will be a bit all over the place. Several months ago, I wrote Hard Mode Rust, exploring an allocation-conscious style of programming. In the ensuing discussion, @jamii name-dropped TigerBeetle, a reliable, distributed, fast, and small database written in Zig in a similar style, and, well, I now find myself writing Zig full-time, after more than seven years of Rust. This post is a hand-wavy answer to the why? question. It is emphatically not a balanced and thorough comparison of the ...| matklad.github.io
Clarity and Humbleness| digitalhumanities.org
Discuss on Reddit, Lobsters, and Hacker News.| contextgeneric.dev
A discussion of some of the downsides of Zig| typesanitizer.com
To assist with job interviews at the NRAO we recently wrote a small “contest” program. Without giving away the details, the crux of the problem is| storytotell.org
I’m working on a Java decompiler because I’m not satisfied with the performance of other solutions. I’ve always heard that decompiling JVM bytecode is a solved problem, but I’ve concluded that the decompilation methods used by CFR and Vineflower are hacky, inefficient, and sometimes don’t even work. The existing solutions are haphazard and inadequate compared to alternative approaches. Specifically, I have beef with the control flow extraction strategies employed by most decompilers...| purplesyringa's blog
Linearity and uniqueness| kcsrk.info
A deep dive into implementing the ’tagless initial’ pattern in Rust using enums and the never type to achieve zero-cost abstractions, demonstrated with optimized assembly output.| Inferara
A reviewer, in one of those off-hand little low-level comments they leave, which one is sometimes tempted to ignore as one works on a revision because they're not _strictly_ actionable, has absolutely nerd-sniped me. What does "higher-order" in "higher-o...| www.williamjbowman.com
A break from programming languages| lexi-lambda.github.io
wingolog: article: whippet lab notebook: guile, heuristics, and heap growth| wingolog.org
Many Ruby applications allocate objects. What if we could make allocating objects six times faster? We can! Read on to learn more!| Rails at Scale
Functional hash tables explained| spritely.institute
TLDR. Types are basically sets. Why not python sets?| Hey There Buddo!
Mystical| suberic.net
I've been seriously writing Forth, with my homebrew Forth dialect, for about a year now, off and on, and I've noticed something interesti...| blog dot information dash superhighway dot net
When I switched over the C# compiler team, I had hoped that I would be able to give some insight into how the design team works, what decisions we make, etc. Language design is a very esoteric field, and there's not a lot written about it (though “Design and evolution of C++“ is a pretty good read). I had hoped that I would be able to do this with concrete examples, as that makes it much easier.| learn.microsoft.com
About half a year ago I encountered a paper bombastically| dotat.at
Every so often I come across a paper, blog post, or (occasionally) video that completely changes how I think about a topic in programming languages and compilers. For some of these posts, I can’t even remember how I thought about the idea before reading it—it was that impactful.| Max Bernstein
It's pretty well-known at this point that the solution for complex webs of ownership in Rust is just to use newtyped indices. Graphs are the prototypical exa...| eikopf
Syntactic musings on match expressions| blog.yoshuawuyts.com
A discussion of how Sorbet's type syntax came to be, the problems it solves, and how it could improve.| blog.jez.io
The Y combinator is a central concept in lambda calculus, which is the formal foundation of functional languages. Y allows one to define recursive functions without using self-referential definitions.| lptk.github.io