r/ProgrammingLanguages • u/Athas • 1d ago
r/ProgrammingLanguages • u/AutoModerator • 14d ago
Discussion October 2026 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?
Once again, feel free to share anything you've been working on, old or new, simple or complex, tiny or huge, whether you want to share and discuss it, or simply brag about it - or just about anything you feel like sharing!
The monthly thread is the place for you to engage /r/ProgrammingLanguages on things that you might not have wanted to put up a post for - progress, ideas, maybe even a slick new chair you built in your garage. Share your projects and thoughts on other redditors' ideas, and most importantly, have a great and productive month!
NOTE: AI built/assisted projects are against the rules and this applies to this thread. If you share a link to a project that makes use of AI (Claude Code) for anything, you will be banned permanently without warning.
r/ProgrammingLanguages • u/yorickpeterse • Apr 05 '26
In order to reduce AI/LLM slop, sharing GitHub links may now require additional steps
In this post I shared some updates on how we're handling LLM slop, and specifically that such projects are now banned.
Since then we've experimented with various means to try and reduce the garbage, such as requiring post authors to send a sort of LLM disclaimer via modmail, using some new Reddit features to notify users ahead of time about slop not being welcome, and so on.
Unfortunately this turns out to have mixed results. Sometimes an author make it past the various filters and users notice the slop before we do. Other times the author straight up lies about their use of an LLM. And every now and then they send entire blog posts via modmail trying to justify their use of Claude Code for generating a shitty "Compile Swahili to C++" AI slop compiler because "the design is my own".
In an ideal world Reddit would have additional features to help here, or focus on making AutoModerator more powerful. Sadly the world we find ourselves in is one where Reddit just doesn't care.
So starting today we'll be experimenting with a new AutoModerator rule: if a user shares a GitHub link (as that's where 99% of the AI slop originates from) and is a new-ish user (either to Reddit as a whole or the subreddit), and they haven't been pre-approved, the post is automatically filtered and the user is notified that they must submit a disclaimer top-level comment on the post. The comment must use an exact phrase (mostly as a litmus test to see if the user can actually follow instructions), and the use of a comment is deliberate so that:
- We don't get buried in moderator messages immediately
- So there's a public record of the disclaimer
- So that if it turns out they were lying, it's for all to see and thus hopefully users are less inclined to lie about it in the first place
Basically the goal is to rely on public shaming in an attempt to cut down the amount of LLM slop we receive. The exact rules may be tweaked over time depending on the amount of false positives and such.
While I'm hopeful the above setup will help a bit, it's impossible to catch all slop and thus we still rely on our users to report projects that they believe to be slop. When doing so, please also post a comment on the post detailing why you believe the project is slop as we simply don't have the resources to check every submission ourselves.
r/ProgrammingLanguages • u/HoldeeYT • 6h ago
Just finished v1.0.0 of my first (semi) esoteric programming language, HexaDeath!
github.comHere's the Github link!
The README explains quite a bit of how the code works, so I won't really go into it very deeply here. But, the gist of it is that the language only uses 8-bit hex numbers for everything.
Here is a simple "Hello, World!" program!
21 05 01 00
64 05 01 00
6C 05 01 00
72 05 01 00
6F 05 01 00
57 05 01 00
20 05 01 00
2C 05 01 00
6F 05 01 00
6C 05 01 00
6C 05 01 00
65 05 01 00
48 05 01 00
Fun, right?
If you are interested enough to try it out, please let me know what you'd like to see come to it/if there are any bugs you encounter! This is my first programming language after all, so I don't expect it to be perfect!
r/ProgrammingLanguages • u/Vraliance • 6h ago
Truly Colorless Functions in Sabre
sabre.rroessler.ior/ProgrammingLanguages • u/ThomasMertes • 1d ago
Improved article about memory safety
Thank you to everyone who gave feedback on my article about memory safety.
I used the input to vastly improve the article (see "Achieving memory safety").
Please take a look and share your thoughts again and consider starring the Seed7 project on GitHub.
r/ProgrammingLanguages • u/mttd • 1d ago
Haskell: origins, evolution, and future | Simon Peyton Jones | JuliaCon Global 2026
youtube.comr/ProgrammingLanguages • u/simvux • 1d ago
Doiter - Pointers and Stack Frames are docker containers
github.comI created a fun, completely normal and sane side project.
r/ProgrammingLanguages • u/dwaynecrooks • 2d ago
Recursion without Recursive Bindings
blog.tinyinterpreters.devI explain how to implement a certain recursive function without the use of any recursive bindings in a tiny language called FUN. Then, I apply the same ideas to several more recursive functions so we clearly see the pattern. It begins our exploration into a certain famous combinator.
r/ProgrammingLanguages • u/Nuoji • 2d ago
Language announcement C3 0.8.5 - A windowing library and a C backend??
c3-lang.orgThe choice to add a windowing library to the stdlib is probably controversial. I feel that the general consensus tends to be that anything related to graphics shouldn't be in the standard library. So I'm kind of interested in what people think about this.
r/ProgrammingLanguages • u/Agecaf • 2d ago
Help Simple stack based programming languages?
A few years ago I made EarScript, a "simple" programming language based on brainfuck, with several additional "quality of life features" like goto statements.
Recently I've been wanting to make an evolution of that programming language and do so by incorporating a stack, as the previous language was completely tape-based in design.
I know for example lox from the Crafting Interpreters book is a well explained example, but I was wondering if there's programming languages that are closer to what brainfuck is, but based on a stack design rather than a tape design, or a register based design like some assembly languages (if I understand correctly). I think Wasm would be an example?
Are there any examples of simple stack based programming languages you'd recommend me to look into?
r/ProgrammingLanguages • u/StrikingClub3866 • 2d ago
Help Help with my C compiler
I can already a host a small subset of C, that can only host: "int myfunc() { return 10; } " , Which compiles to:
myfunc:
// prologue here
mov w0, #10
// epilogue here
ret
But what should I do next?
r/ProgrammingLanguages • u/Mindless_Head_6526 • 2d ago
Discussion Is it possible to have a JavaScript-like language with no reserved words?
I've come across languages such as Lisp and MUMPS that feature minimal grammar and lack any reserved keywords. But is it possible to achieve this in a language with a syntax resembling JavaScript? I'm aware that JavaScript has some handy rules, like "two identifiers cannot appear directly next to each other," which could be useful. Still, can this be accomplished for every keyword?
If it is possible, how? would it rely on a fragile lexer hack, or is there a solution that scales as new language keywords/constructs are added?
Clarification: Some people are reading this as "remove all keywords from JavaScript." That's not what I mean. I want to keep if, for, while, const, function etc., all of it, as syntax.
The question is only about reserved words: identifiers the lexer forbids you from using as names. Could every keyword instead be allowed to be used as variable/class/function/module name or atleast be contextual?
Since calling the syntax JS-like comes with its own nuances. I will also clarify on that part:
- Assume the language does not have "automatic semicolon insertion" and semicolons are mandatory as statement terminators.
- Assume the lexer is white space sensitive and produces different tokens for
-5(UnaryMinus,NumericLiteral(5)) and- 5(Minus,NumericLiteral(5)) and that improperly spaced forms like8 -5produces error for the sake of simplicity. Otherwise forms likeif(x) -5may be parsed asif(x) - 5and cause further unnecessary problems. - Using a keyword as an Identifier may or may not limit the functionality of the keyword in that scope. Eg. (Inside constructor of a class)
function super() {console.log("hi");} super(); // logs "hi" instead of calling the parent class
Even more clarification: I will list out the different types of reserved words in javascript. Note some of the newer keywords may be contextual or reserved only in strict mode or depending on the scope.
Literal like keywords:
true,false,null. Easiest to solve, just make them property of the window object (as done withundefined, yes null is a reserved word but undefined isnt) or make them language constants likeNaN,Infinity.Operator keywords:
- Prefix operator keywords:
typeof,delete,void,new - Infix operator keywords:
in,instanceof,as,extends
- Prefix operator keywords:
is-this-really-a-keyword keyword:
super,thisDeclaration keywords:
const,var,let,function,class.Module:
import,from,exportDeclaration modifiers:
async,function*,static,get,set.Control flow:
if else,try catch finally,while,do while. Andreturn,break,continue,throw.Complex cases?:
switch,case,default. For context Javascript usesidentifier: statementto represent statement labels, helpful in breaking outer loops.- Standard
forloops andforin/ofloops.
Why? What am I trying to achieve?: This is mostly a theoretical question I stumbled upon while creating my own language. I know it might have downsides for developer tools and experience. I am just wondering if it's possible.
r/ProgrammingLanguages • u/Kingwolf4 • 3d ago
Discussion Is the Zeta Programming language by Roy Murphy legit
So i stumbled upon this project, the zeta programming language by roy murphy on github. It is supposed to be a next generation system programming language.
So i coudnt really find any information about this project, especially considering it has its compiler written in pure zeta, which means the project is kinda somewhat progressed to a certain point worth noting. It even has its own website, and its own package manager's website .
What left question mark to me , is the last commit was 4 months ago, barely any issues, but the creator apparently has published and talked about it in docs, with quite detail etc.
Its rather confusing for a new comer; is this project actually legit? Need smarter people who know the craft to comment
If your interested , i stumbled upon this project when another person made a new borrow checker, and his own language - also called Zeta. https://www.reddit.com/r/rust/comments/1x1iapz/zetas_borrow_checker_the_nextgen_model_for_borrow/
I cant post any github link because apparently automod tags it.
r/ProgrammingLanguages • u/philip_schwarz • 2d ago
The Bowling Game - From Imperative to Functional Programming - Part 3
fpilluminated.orgr/ProgrammingLanguages • u/verdagon • 4d ago
Valen's Memory Safety: A New Kind of Borrow Checking
verdagon.devr/ProgrammingLanguages • u/Athas • 4d ago
What we ended up doing about alias propagation
futhark-lang.orgr/ProgrammingLanguages • u/Vraliance • 3d ago
Sabre Programming Language: v0.4.0
sabre.rroessler.ior/ProgrammingLanguages • u/Dry_Day1307 • 4d ago
Designing custom template handlers and tagged interpolations in my scripting language DinoCode
I am back after a couple of months away while adjusting to a new job. I am currently working on the next feature for DinoCode (you can check out at dinocode.blassgo.dev), and I would love some community feedback on template design.
DinoCode already supports simple templates with intrinsic multiline support and compile-time indentation stripping:
name = "Ana"
balance = 100
tax = 15
> JSON
{
"name": "$name",
"total": ${balance - tax}
}
print JSON
By default, the compiler strips out-of-margin garbage characters and interpolates variables or expressions. Now, I want to push templates further for things like SQL queries, HTML generators, or validation schemas, without introducing heavy runtime overhead.
I already use the as operator for strict type coercion in the language:
print "42" as int + 8 # 50
My idea is to reuse as on template blocks to pass the parts to a function or an object with a magic method. For example:
> query as mysql
SELECT * FROM users
WHERE id = ${user_id}
Here, query would be assigned the result of calling the mysql handler.
I am currently evaluating how to pass the parts to the handler. Which model do you think works best for representing and validating template parts cleanly?
r/ProgrammingLanguages • u/5nord • 4d ago
What is the right mental-model for TTCN-3 templates?
TTCN-3 is a standardized programming language for testing communicating and distributed systems. I am struggling to build a clear mental model of its templates.
A TTCN-3 template describes a pattern that describes a set of possible values. Which can be used to match incoming messages or build dependent-types:
```ttcn3 type record Message { integer id, charstring text }
template Message greeting := { id := 42, text := "hello" }
template Message anyGreeting := { id := ?, text := "hello" } ```
Here, ? matches any value of the field's type. Templates can also be recursive:
```ttcn3 type record Payload { integer value, boolean urgent }
type record Envelope { integer id, Payload payload }
template Envelope example := { id := 42, payload := { value := (1 .. 10), urgent := ? } } ```
My first implementation idea was to lower templates into a generic tagged union:
text
type Template<T> =
Exact(T)
| AnyValue
| AnyValueOrOmit
| Predicate(fn(T) -> bool)
That seems reasonable for scalar values, but it does not capture the structural nature of templates. For Template<Envelope>, each field needs to become a template recursively:
text
RecordTemplate {
id: Template<Integer>,
payload: RecordTemplate {
value: Template<Integer>,
urgent: Template<Boolean>
}
}
Is there an established programming-language concept for this? How would you model this recursive relationship in an actul type system?
r/ProgrammingLanguages • u/suhcoR • 5d ago
Algol60 compiler with a reusable IR targetting LuaJIT
github.comr/ProgrammingLanguages • u/Relative-Bottle-8498 • 4d ago
Requesting criticism Fork of an esolang I made a week ago.
I made nandcode a week ago, which is a language only using nand, and I thought I'd improve it, so I present to you, 1bitatatime. (I just added all the logic gates and added support for unary operations like not). Can you give some ideas as what to make next?
r/ProgrammingLanguages • u/FlameyosFlow • 6d ago
Requesting criticism Zeta's Borrow Checker: the next-gen model for borrow checking, and a drop-in for Rust's entire memory management model
gist.github.comI've just published my borrow checking model! Feel free to criticize it or just ask questions!
P.S While it is experimental, This model is fully implemented for the Zeta programming language, and the latest build of the compiler, LSP and toolchain manager (zetaup) can be found via the linked GitHub. a Zed extension is under development.
r/ProgrammingLanguages • u/Dan13l_N • 6d ago
Discussion How to call a special type of functions?
I am designing a simple, low-level programming language and I want suggestions about terms I should use in describing one feature.
We all know that methods are essentially syntax sugar for functions where there's an implicit argument often called this or self:
a.something(b) // nice syntax...
something(a, b) // ...but really
I will have functions where the result will be an implicit argument, accessible through result:
a = init(b) // nice syntax...
init(b, a) // ...but really
I want these functions to be used to initialize objects (like constructors):
var a = init(10)
but also in any assignment, they would write to objects. I want to avoid creating a local object in the function and returning a copy of it because it always turns into memcpy() in a general case, and the result can be a big struct or an array.
Does something like this already exist in some language? How would you call such functions?
r/ProgrammingLanguages • u/Smallpaul • 5d ago
Dependently typed languages and security
Can dependently typed languages maintain security relevant invariants? And if so, why are they not more popular for that? Especially now that AI can write the types.