XS: A programming language. Anywhere, anytime, by anyone
1–10 of 44 posts
Re: XS: A programming language. Anywhere, anytime, by anyone
#2On 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...
Re: XS: A programming language. Anywhere, anytime, by anyone
#3Re: XS: A programming language. Anywhere, anytime, by anyone
#4At this point, it doesn't really matter what the language does, because the author and I have mutual respect. There is none.
Re: XS: A programming language. Anywhere, anytime, by anyone
#5Here's an example https://github.com/adriaandens/XSamples/blob/master/XSamples...
Re: XS: A programming language. Anywhere, anytime, by anyone
#6Perl 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
Re: XS: A programming language. Anywhere, anytime, by anyone
#7It’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 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.
Re: XS: A programming language. Anywhere, anytime, by anyone
#8Re: XS: A programming language. Anywhere, anytime, by anyone
#9At 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 ...
Re: XS: A programming language. Anywhere, anytime, by anyone
#10This 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 en…
Oooof brutal. I agree it is remarkable people release stuff like this.