Live data from Hacker News

Untitled topic

news.ycombinator.com

1–6 of 6 posts

Re: undefined

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

Re: undefined

#5

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.

Re: undefined

#6

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…

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:

  ┌──────────────────┬─────────────┐
  │       heap       │ worst pause │
  ├──────────────────┼─────────────┤
  │ 2MB              │ 0.10 ms     │
  ├──────────────────┼─────────────┤
  │ 8MB (production) │ 0.66 ms     │
  ├──────────────────┼─────────────┤
  │ 32MB             │ 2.47 ms     │
  └──────────────────┴─────────────┘