Clicked through to the custom language it's implemented in ("Freedomlang") and was met with a bunch of really confusing AI-authored stuff.
> macOS emits x86-64 AT&T assembly
Seems like an obvious issue given that Apple makes no x86 machines, hasn't for three years, and plans to sunset Rosetta 2 in one year. The whole conceit of this "Freelang" project is that it has no "magic", and then incredibly just a bit further down the README states it has a stop-the-world mark/sweep garbage collector. That is quite magical, no? After reading the GitHub I confess I don't even understand what "magic" the authors are even complaining about. Honestly it seems like it's basically the same concept as Go, vibe-coded, with more pretense, worse syntax, and without the benefit of Google engineering.
You could implement the same functionality in Rust, using a custom target JSON without any libstd/libc. I've done so. It just requires that you accept some limitations and build your own abstractions around unsafe syscalls.
It's a blocking collection but not 'stop the world' (no world, all separate processes). The pause scales about linearly with heap size, as a full mark-and-sweep should:
┌──────────────────┬─────────────┐
│ heap │ worst pause │
├──────────────────┼─────────────┤
│ 2MB │ 0.10 ms │
├──────────────────┼─────────────┤
│ 8MB (production) │ 0.66 ms │
├──────────────────┼─────────────┤
│ 32MB │ 2.47 ms │
└──────────────────┴─────────────┘
Clicked through to the custom language it's implemented in ("Freedomlang") and was met with a bunch of really confusing AI-authored stuff.
> macOS emits x86-64 AT&T assembly
Seems like an obvious issue given that Apple makes no x86 machines, hasn't for three years, and plans to sunset Rosetta 2 in one year. The whole conceit of this "Freelang" project is that it has no "magic", and then incredibly just a bit further down the README states it has a stop-the-world mark/sweep garbage collector. That is quite magical, no? After reading the GitHub I confess I don't even understand what "magic" the authors are even complaining about. Honestly it seems like it's basically the same concept as Go, vibe-coded, with more pretense, worse syntax, and without the benefit of Google engineering.
You could implement the same functionality in Rust, using a custom target JSON without any libstd/libc. I've done so. It just requires that you accept some limitations and build your own abstractions around unsafe syscalls.
x86-64 works on aarch64, which is also planned.
It's a blocking collection but not 'stop the world' (no world, all separate processes). The pause scales about linearly with heap size, as a full mark-and-sweep should:
Does the server also handle TLS internally, or is it behind a proxy? For comparison, statically linked darkhttpd is around 138K
No it's pure HTTP: https://github.com/DO-SAY-GO/freelang/blob/main/examples/200...
TLS is CloudFlare which also absorbs a little bit of load in case anyone tries to destroy it.
I hate how all the text is AI generated slop. It makes me think they don't actually care about what they're doing, or that they didn't do it at all.