6 ms·
XS: A programming language. Anywhere, anytime, by anyone
- skybrian 5mo agoIt’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/docs/stdlib https://github.com/xs-lang0/xslang.org/tree/main/src/app/doc...
- nine_k 5mo agoIt'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.
- buu700 5mo agoAssuming 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/jart/cosmopolitan.
- __erik 5mo agoHere'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
- kybernetikos 5mo agoyeah, it's like a list of some of the language features I'm most interested in (probably the only thing really missing from my list would be a form of capabilities- so you can restrict library code to a subset of the capabilities you have- this is because library code is inherently not fully trust worthy, and it's infeasible to thoroughly review all library code). I think interaction with C code would be important for some of the usecases I'd be interested in, but I wasn't sure if there was anything around that. It's got an odd feel though - normally languages try to use a small set of deep features to provide many higher level features, but this language feels more like a grab bag than a careful design. I was also expecting some explanation of how the effects system gets exposed in the type system, but I couldn't find anything in the text about that. And you're right. A GIL feels very suspect. Having said all that, the most important part of any programming language is its ecosystem, so more detail on syntax highlighting, refactoring (is there an LSP?) and community (maybe there should be more than just test-package on the official package manager site?) would be welcome.
- mpalmer 5mo agoAll 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.
- saulpw 5mo agoYeah, 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.
- stefanos82 5mo agoPerl 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.xs https://github.com/adriaandens/XSamples/blob/master/XSamples... [1] https://perldoc.perl.org/perlxs https://perldoc.perl.org/perlxs
- nine_k 5mo agoWhile 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.
- giancarlostoro 5mo agoI thought CraigsList and maybe eBay?
- kmoser 5mo agoIt seems eBay ditched Perl a long time ago: https://stackoverflow.blog/2021/03/01/sacrificial-architecture-learning-from-abandoned-systems/ https://stackoverflow.blog/2021/03/01/sacrificial-architectu...
- kjs3 5mo agoNot '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.
- indigodaddy 5mo agoCpanel, IMDb(?)
- darrenf 5mo agoDuckDuckGo.
- 5mo ago
- chrsw 5mo agoInteresting idea. I've fantasized about doing something similar myself. Like someone else in this thread already said though, looks very generated, unfortunately.
- mccoyb 5mo agoThis 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 ...
- timcobb 5mo ago> There are two parallel type inference systems in `src/types` Oooof brutal. I agree it is remarkable people release stuff like this.
- mccoyb 5mo agoIf 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)
- kmoser 5mo ago> 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.
- tgv 5mo agoHave you ever tried to optimize code that runs on LSB and MSB hardware? Or 32 and 64 bits? It can get pretty hairy.
- Alifatisk 5mo agoInitially, 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.
- feelamee 5mo agowhy? why you should care if it is human written or by ai, if the result is the same?
- nkrisc 5mo agoTraditionally 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.
- Alifatisk 5mo agoThat’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.
- MeetingsBrowser 5mo agoThe 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.
- CharlesW 5mo agoNot to be confused with the amazing open source XS JavaScript engine. https://github.com/Moddable-OpenSource/moddable https://github.com/Moddable-OpenSource/moddable
- atemerev 5mo agoI 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.
- brabel 5mo agoHave 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.
- atemerev 5mo agoOf course. I write Scala and Elixir too. The problem is that they are a tiny bit less seamless. Maybe 5%. And with coding assistant speeds, this is enough to compound. And even less teams choose them than before. And it accelerates.
- cozzyd 5mo agoWorks well enough on C! And even Fortran...
- atemerev 5mo agoEven Haskell. But "well enough" is not "the best possible". And since there is no fun with "writing things in a cool language" anymore anyway...
- soulofmischief 5mo ago> 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.
- hunterpayne 5mo agoIts emacs as a programming language.
- trashburger 5mo agohttps://github.com/xs-lang0/xs/blob/d9e11545685c29c054c50c529a656f8114941230/src/jit/jit.c#L1 https://github.com/xs-lang0/xs/blob/d9e11545685c29c054c50c52... 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.
- heikkilevanto 5mo agoI 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.
- kikimora 5mo agoDo effects became part of the function type? Without compiler checking for effect handlers it will be very hard to use.