this post was submitted on 27 Mar 2024
47 points (98.0% liked)

chapotraphouse

13473 readers
1 users here now

Banned? DM Wmill to appeal.

No anti-nautilism posts. See: Eco-fascism Primer

Vaush posts go in the_dunk_tank

Dunk posts in general go in the_dunk_tank, not here

Don't post low-hanging fruit here after it gets removed from the_dunk_tank

founded 4 years ago
MODERATORS
 

Seriously. There’s so many floating around. It feels like there’s a cycle of

Random programmer thinks xyz language sucks -> she/he makes a slightly different, slightly faster, slightly more secure version -> by luck this gains mass adoption-> random programmer thinks new xyz language sucks

I propose when the revolution comes and the last guillotine falls we decide a general-purpose programming language that coders should stick to. I vote Lisp or any of the dialects (scheme, clojure, racket), but i also feel something about the Julia language for scientific research. Maybe we can decriminalize using C. Absolutely ban and hunt down the use of any of the hipster languages teenagers are into these days.

Nim? Zig? Crystal?? I am absolutely losing my damn mind. It compiles to bytecode people. Make up ur damn minds. To jail with all of u

you are viewing a single comment's thread
view the rest of the comments
[–] thetaT@hexbear.net 6 points 1 year ago* (last edited 1 year ago) (12 children)

I like Guile with its compiler tower. You can use multiple languages on the same VM, even using libraries from one language on another, which is fucking cool. The core language for Guile is Scheme, and it supports standards from R4RS-R7RS, along with plenty of built-in SRFIs, some implemented out-of-tree and many of its own Guile-specific extensions.

For the compiler tower, so far we've got the aforementioned ballin' Scheme implementation, Emacs Lisp, an unfinished JavaScript implementation that doesn't even fully implement ES3, Brainfuck, Python, wonky Lua, and Guile-specific Clojure. Hopefully there's more to come and there's some I missed.

While the main purpose for the compiler tower is to lower a language into the IR (Tree-IL) (although you can lower a language into another language too, which then itself can be lowered into IR), which gets lowered to more verbose IR (CPS), then bytecode - we can also raise IR through decompilation. For example, Guile-JavaScript compiles Scheme to IR, then decompiles the IR and raises it to JavaScript.

Then there's also Guile Hoot, which I believe lowers the IR into WASM. In theory, when its complete, the above languages could work with Hoot and he compiled to Hoot, but I'm not entirely sure on this.

[–] wheresmysurplusvalue@hexbear.net 2 points 1 year ago (1 children)

Guile is the configuration language for Guix right? I didn't know it was used outside that purpose, that's pretty cool

[–] thetaT@hexbear.net 4 points 1 year ago

"configuration language" is a bit of an understatement, as most of Guix itself is written in Guile, along with the PID 1, called Shepherd. Guile is literally the first thing the kernel starts on Guix.

load more comments (10 replies)