A New Zealand supermarket experimenting with using AI to generate meal plans has seen its app produce some unusual dishes – recommending customers recipes for deadly chlorine gas, “poison bread sandwiches” and mosquito-repellent roast potatoes....
In this post I want to make this kind of simplicity more precise and talk about some reasons it’s important. I propose five key ideas for simple programming languages: ready-at-hand features, fast iteration cycles, a single way of doing things, first-order reasoning principles, and simple static type systems. I discuss each of...
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
Call-by-push-value is an evaluation strategy that determines when arguments to functions are evaluated. Call-by-value is what every mainstream language does: arguments are evaluated before the function is called. Call-by-name substitutes arguments directly into a function, so they may be evaluated multiple times or not at all....
This essay says that inheritance is harmful and if possible you should “ban inheritance completely”. You see these arguments a lot, as well as things like “prefer composition to inheritance”. A lot of these arguments argue that in practice inheritance has problems. But they don’t preclude inheritance working in another...
Created by Niko Matsakis, a core Rust developer (Language Team leader) who was influential in its evolution. He wrote the last article I posted. Also worked on by Brian Anderson, another core developer who worked on Rust in its early stages, on critical features such as the ....
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
As in /r/ProgrammingLanguages, we will have a thread every month where you can post PL-related projects you are working on. Unlike the main posts, this thread is much more lenient: you should post even if you only have minor updates or something tangentially related to programming languages....
The author claims that by removing some type inference (lambdas and generic instantiation) you can reduce the amount of code required to implement type-checking.
For the last year and a half, I and my recently-added collaborator Jane Losare-Lusby have been working in secret on a safe systems language that could be learned about as quickly as one can learn Go. I think we might have something worth exploring....
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
Pure is a modern-style functional programming language based on term rewriting. It offers equational definitions with pattern matching, full symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation, lexical closures, built-in list and matrix support and an easy-to-use C interface. The interpreter uses LLVM as a...
Supermarket AI meal planner app suggests recipe that would create chlorine gas (www.theguardian.com)
A New Zealand supermarket experimenting with using AI to generate meal plans has seen its app produce some unusual dishes – recommending customers recipes for deadly chlorine gas, “poison bread sandwiches” and mosquito-repellent roast potatoes....
How is it possible that roughly 50% of Americans can’t read above a 6th grade level and how are 21% just flat out illiterate?
From reddit.com/…/how_is_it_possible_that_roughly_50_o…...
Simple Programming Languages (ryanbrewer.dev)
In this post I want to make this kind of simplicity more precise and talk about some reasons it’s important. I propose five key ideas for simple programming languages: ready-at-hand features, fast iteration cycles, a single way of doing things, first-order reasoning principles, and simple static type systems. I discuss each of...
August 2023 monthly "What are you working on?" thread
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
I'm betting on Call-by-Push-Value (thunderseethe.dev)
Call-by-push-value is an evaluation strategy that determines when arguments to functions are evaluated. Call-by-value is what every mainstream language does: arguments are evaluated before the function is called. Call-by-name substitutes arguments directly into a function, so they may be evaluated multiple times or not at all....
If Inheritance is so bad, why does everyone use it? (buttondown.email)
This essay says that inheritance is harmful and if possible you should “ban inheritance completely”. You see these arguments a lot, as well as things like “prefer composition to inheritance”. A lot of these arguments argue that in practice inheritance has problems. But they don’t preclude inheritance working in another...
MLIR (Multi-Level IR) For Beginners (github.com)
Dada - an experimental language like Rust, but higher level (dada-lang.org)
Created by Niko Matsakis, a core Rust developer (Language Team leader) who was influential in its evolution. He wrote the last article I posted. Also worked on by Brian Anderson, another core developer who worked on Rust in its early stages, on critical features such as the ....
The Bosque Programming Language (www.microsoft.com)
January 2024 monthly "What are you working on?" thread
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
Ad-hoc polymorphism erodes type-safety (cs-syd.eu)
December 2023 monthly "What are you working on?" thread
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
June 2023 monthly "What are you working on?" thread
As in /r/ProgrammingLanguages, we will have a thread every month where you can post PL-related projects you are working on. Unlike the main posts, this thread is much more lenient: you should post even if you only have minor updates or something tangentially related to programming languages....
Coccinelle For Rust (Automated complex syntax transforms) (gitlab.inria.fr)
Cocinelle for C, the original
Zero to Hero | A Haskell Puzzle (zerotohero.fly.dev)
Borgo (language) (borgo-lang.github.io)
GitHub...
Meta, a Human-Friendly Programming Language (language.metaproject.frl)
From the site:...
Jolie, the service-oriented programming language (www.jolie-lang.org)
From the homepage:...
Unification-free ("keyword") type checking (www.haskellforall.com)
The author claims that by removing some type inference (lambdas and generic instantiation) you can reduce the amount of code required to implement type-checking.
The search for easier safe systems programming (blog post + language) (www.sophiajt.com)
For the last year and a half, I and my recently-added collaborator Jane Losare-Lusby have been working in secret on a safe systems language that could be learned about as quickly as one can learn Go. I think we might have something worth exploring....
Bringing Verse Transactional Memory Semantics to C++ (www.unrealengine.com)
Verse (paper/slides, language reference) is the “language for the metaverse” being developed by Epic Games and some very well-known PL researchers....
Mojo 🔥 @ LLVM 2023 (www.modular.com)
The Cell language - relational, reactive, replayable (www.cell-lang.net)
An interesting feature and explanation: Why relations are better than objects...
March 2024 monthly "What are you working on?" thread
How much progress have you made since last time? What new ideas have you stumbled upon, what old ideas have you abandoned? What new projects have you started? What are you working on?...
The Pure Programming Language (2022) (agraef.github.io)
Pure is a modern-style functional programming language based on term rewriting. It offers equational definitions with pattern matching, full symbolic rewriting capabilities, dynamic typing, eager and lazy evaluation, lexical closures, built-in list and matrix support and an easy-to-use C interface. The interpreter uses LLVM as a...