Back to News
Advertisement
Advertisement

⚑ Community Insights

Discussion Sentiment

0% Positive

Analyzed from 226 words in the discussion.

Trending Topics

#world#custom#seems#makes#freelang#magic#bit#stop#mark#sweep

Discussion (5 Comments)Read Original on HackerNews

reallyreasonβ€’about 1 hour ago
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.

keepamovinβ€’about 1 hour ago
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     β”‚
  β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
PhilipRomanβ€’about 1 hour ago
Does the server also handle TLS internally, or is it behind a proxy? For comparison, statically linked darkhttpd is around 138K
keepamovinβ€’about 1 hour ago
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.

copper-floatβ€’about 1 hour ago
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.