Live data from Hacker News

XS: A programming language. Anywhere, anytime, by anyone

xslang.org

1–10 of 44 posts

Re: XS: A programming language. Anywhere, anytime, by anyone

#6

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.

Re: XS: A programming language. Anywhere, anytime, by anyone

#7
post #2

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.

Re: XS: A programming language. Anywhere, anytime, by anyone

#9
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 ...

Re: XS: A programming language. Anywhere, anytime, by anyone

#10
post #9

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 en…

> There are two parallel type inference systems in `src/types`

Oooof brutal. I agree it is remarkable people release stuff like this.

Post reply on HN