This language, README, website has been written by AI agents.
At one point, the author may have written a fair bit of code by hand (starting with a Crafting Interpreters project, and then adapting it recently using agents?). The commit history is very confusing.
The design of the VM is nearly identical to the clox interpreter in Crafting Interpreters. There's also a bit of Lua inspiration mixed in the instruction encoding.
Who is this language for? Who is the audience, and what does the author intend to convey to them?
There's a ton of features -- are they used consistently? We have function overloading and traits. We have optional type annotations and effects -- the effects are handled with a (fragile) multi-shot continuation implementation (at least copy Leijen or libmprompt! that code is out there, free to use, and robust!)
There are two parallel type inference systems in `src/types`. The type system which the language actually uses is not consistent yet (see e.g. `inference.c`: "recursive type: bind anyways")
With that being said, I'd take the cross platform claims with an extreme grain of salt ...
The polymorphism looks a little half-missing as well (checker.c):
/* generalize: check if vars in t are free (not bound in env).
For now, a simplified version that just returns the type as-is. */
CkType *ck_generalize(CkTypeEnv *env, CkType *t) {
So the identity func (id x = x) stays a monotype?
Also, I'm not seeing any more or less safety in this code than the surrounding code:
Are multiple type-checking threads blasting through this at the same time?
The most interesting claim that this file makes is that it does HM-inference as well as subtyping. I'm smart enough to parrot "that's undecidable" even if I'm too dumb to know why.
HM is hard enough without taking the sizeof pointers and mallocing every few lines.
Not 'large Perl codebases', but I know an awful lot of 'small Perl codebases', relatively speaking, doing the sort of sysadmin stuff Perl was designed to do. It's still a great scripting language, and there's a lot of folks who didn't get the memo that cool kids don't use Perl any more.
There are a lot of words related to language design like tree walk interpreter, algebraic effects, and semantic analyzer. But no real content about the language design, motivation, or what distinguishes it from other languages.
Also strange to start of the language introduction with an entire page dedicated to comments and how white space is handled.
If this was written by a human, I how it is taken as constructive criticism to consider what key points you want to convey before people bounce off of a page.
It's a small language that looks familiar if you know other imperative Algol-derived languages. The point is not in that, the point is a single binary for everything, and portability.
It's like busybox, which is unremarkable as Unix userland, but is interesting because it's a single small binary.
But beyond the standard Algolish stuff, XS seems to have quite a few modern niceties, such as traits, generics, closures, OOP, pattern-matching, and even algebraic effects.
Assuming that's the primary value prop, they should go all the way and distribute it as a single cross-OS/arch fat binary. It looks like this may be a way to actually accomplish that: https://github.com/jart/cosmopolitan.
Every other piece of
* the old tier-1 dispatch JIT (the ~1500 lines of per-opcode helpers,
* the jump-table dispatcher, the jit_rt_* runtime shims) was deleted
* because benchmarks showed tier-2 dominated on every workload that
* reached the JIT at all. */
No human cares about including such an irrelevant detail as the lines of code in helper functions. Obvious LLM context spew, obvious AI slop project. Please stop posting things you didn't bother actually working on.
I don't buy "Anywhere, anytime, by anyone" - no language can be that. Different people and different projects have wildly different needs. It looks like it tries to provide a single binary offering most of the compiler, debugger, linter, etc. on "all" platforms. Noble goal in itself, useful for some cases, but utterly irrelevant for many (most?) projects. If I have already decided to work on Linus, I don't care about Windows compatibility. And why "by anyone"? If a language is optimized for school kids, it can not be optimal for serious professionals, and vice versa.
Initially, the page looked very intriguing and the promises looked every fascinating. A whole DX toolchain in one binary? The binary can run in different systems? Only 3 MB? Then I read the comments here saying its ai slop, I lost all my interest now.
Traditionally if a human spent some of their limited time here on Earth to create something, they must have believe there was some value in it, and other humans will be inclined to spend a bit of their limited time here on Earth to take a look and see if they value it as well. Sometimes, the only person who values it is the creator, but often other people will value it as well.
I can only speak for myself, but I'm not going to use the precious time I have alive wading through the mountains of schlock that LLMs can spew out looking for anything of value. I'm interested in things a human wanted to spend their finite time doing instead of something else.
Yeah, that's my concern too. I might be interested in checking out an AI-developed language, if I knew who was working on it, could research them as a person (are they an undergrad pre-career or retired post-career?), see previous projects of theirs, or even contact them. But I have no interest in some anonymous project that has no provenance and no chance of longevity.
Interesting idea. I've fantasized about doing something similar myself. Like someone else in this thread already said though, looks very generated, unfortunately.
This language, README, website has been written by AI agents.
At one point, the author may have written a fair bit of code by hand (starting with a Crafting Interpreters project, and then adapting it recently using agents?). The commit history is very confusing.
The design of the VM is nearly identical to the clox interpreter in Crafting Interpreters. There's also a bit of Lua inspiration mixed in the instruction encoding.
Who is this language for? Who is the audience, and what does the author intend to convey to them?
There's a ton of features -- are they used consistently? We have function overloading and traits. We have optional type annotations and effects -- the effects are handled with a (fragile) multi-shot continuation implementation (at least copy Leijen or libmprompt! that code is out there, free to use, and robust!)
There are two parallel type inference systems in `src/types`. The type system which the language actually uses is not consistent yet (see e.g. `inference.c`: "recursive type: bind anyways")
With that being said, I'd take the cross platform claims with an extreme grain of salt ...
The polymorphism looks a little half-missing as well (checker.c):
So the identity func (id x = x) stays a monotype?Also, I'm not seeing any more or less safety in this code than the surrounding code:
Are multiple type-checking threads blasting through this at the same time?The most interesting claim that this file makes is that it does HM-inference as well as subtyping. I'm smart enough to parrot "that's undecidable" even if I'm too dumb to know why.
HM is hard enough without taking the sizeof pointers and mallocing every few lines.
> There are two parallel type inference systems in `src/types`
Oooof brutal. I agree it is remarkable people release stuff like this.
> With that being said, I'd take the cross platform claims with an extreme grain of salt ...
Given that it's written in C (and assuming it actually compiles), I'm likely to believe the cross-platform claim.
Have you ever tried to optimize code that runs on LSB and MSB hardware? Or 32 and 64 bits? It can get pretty hairy.
If the author sees this, I don't mean to be harsh! It's possible I'm mistaken: I'm just going off of a few "smells"
Very impressive if I'm wrong (hopefully some of the comments help you prune some of these smells, if you wish)
Heads up folks: this comment appears to be 100% ai generated according to pangram.
Perl developers that depend on XS [1] for extending their code's behavior will have a "lovely" time with this lol!
Here's an example https://github.com/adriaandens/XSamples/blob/master/XSamples...
[1] https://perldoc.perl.org/perlxs
While at it: How much Perl code is still running in production? I only know about two large Perl codebases, at Debain, and at booking.com.
Not 'large Perl codebases', but I know an awful lot of 'small Perl codebases', relatively speaking, doing the sort of sysadmin stuff Perl was designed to do. It's still a great scripting language, and there's a lot of folks who didn't get the memo that cool kids don't use Perl any more.
Cpanel, IMDb(?)
I thought CraigsList and maybe eBay?
It seems eBay ditched Perl a long time ago: https://stackoverflow.blog/2021/03/01/sacrificial-architectu...
DuckDuckGo.
The docs feel AI generated.
There are a lot of words related to language design like tree walk interpreter, algebraic effects, and semantic analyzer. But no real content about the language design, motivation, or what distinguishes it from other languages.
Also strange to start of the language introduction with an entire page dedicated to comments and how white space is handled.
If this was written by a human, I how it is taken as constructive criticism to consider what key points you want to convey before people bounce off of a page.
It’s a bit hard to tell what’s interesting about the language itself.
On the website, the standard library lacks a table of contents, but you can see what it has here:
https://github.com/xs-lang0/xslang.org/tree/main/src/app/doc...
It's a small language that looks familiar if you know other imperative Algol-derived languages. The point is not in that, the point is a single binary for everything, and portability.
It's like busybox, which is unremarkable as Unix userland, but is interesting because it's a single small binary.
But beyond the standard Algolish stuff, XS seems to have quite a few modern niceties, such as traits, generics, closures, OOP, pattern-matching, and even algebraic effects.
Assuming that's the primary value prop, they should go all the way and distribute it as a single cross-OS/arch fat binary. It looks like this may be a way to actually accomplish that: https://github.com/jart/cosmopolitan.
https://github.com/xs-lang0/xs/blob/d9e11545685c29c054c50c52...
No human cares about including such an irrelevant detail as the lines of code in helper functions. Obvious LLM context spew, obvious AI slop project. Please stop posting things you didn't bother actually working on.I don't buy "Anywhere, anytime, by anyone" - no language can be that. Different people and different projects have wildly different needs. It looks like it tries to provide a single binary offering most of the compiler, debugger, linter, etc. on "all" platforms. Noble goal in itself, useful for some cases, but utterly irrelevant for many (most?) projects. If I have already decided to work on Linus, I don't care about Windows compatibility. And why "by anyone"? If a language is optimized for school kids, it can not be optimal for serious professionals, and vice versa.
Here's a lot of really nice features in this language (I really like the actor / nursery designs), but a GIL in 2026 feels like a massive weakness
Its emacs as a programming language.
Initially, the page looked very intriguing and the promises looked every fascinating. A whole DX toolchain in one binary? The binary can run in different systems? Only 3 MB? Then I read the comments here saying its ai slop, I lost all my interest now.
why? why you should care if it is human written or by ai, if the result is the same?
Traditionally if a human spent some of their limited time here on Earth to create something, they must have believe there was some value in it, and other humans will be inclined to spend a bit of their limited time here on Earth to take a look and see if they value it as well. Sometimes, the only person who values it is the creator, but often other people will value it as well.
I can only speak for myself, but I'm not going to use the precious time I have alive wading through the mountains of schlock that LLMs can spew out looking for anything of value. I'm interested in things a human wanted to spend their finite time doing instead of something else.
Human accomplishment is a predictor of future accomplishment. AI not as much.
Human effort signals value, AI does not.
Human effort is often inviting collaboration. AI rarely does.
Because the result isn't the same. Not yet anyway.
That’s a big if. I am not willing to spend time on reviewing slop. I am already on my limit of how much information I process daily.
Does this mean that you will not review human slop too?
Then, what if ai will write something cool/good/interesting/high quality/amazing?
Not to be confused with the amazing open source XS JavaScript engine. https://github.com/Moddable-OpenSource/moddable
All the copy is entirely generated. I can't find any actual human associated with this thing.
At this point, it doesn't really matter what the language does, because the author and I have mutual respect. There is none.
Yeah, that's my concern too. I might be interested in checking out an AI-developed language, if I knew who was working on it, could research them as a person (are they an undergrad pre-career or retired post-career?), see previous projects of theirs, or even contact them. But I have no interest in some anonymous project that has no provenance and no chance of longevity.
I liked it. AI-generated or not, syntactic decisions are tasteful and the language itself checks all the important boxes.
Too bad that agentic world basically destroyed all programming languages that are not Python, Typescript or Rust.
Have you actually tried other languages?? I used Dart, Common Lisp, Java, Kotlin, Groovy and more and LLM seems to be as good at those as on Python.
Interesting idea. I've fantasized about doing something similar myself. Like someone else in this thread already said though, looks very generated, unfortunately.
> let is immutable (reassignment is a runtime error), var is mutable, and const is identical to let at runtime but signals intent.
Tells me all I need to know. Signalling my intent to call this garbage.