News for hackers. Stuff that matters.
Re:Clojure for the Erlang VM by macintux on Sunday January 05, 2020 @10:04PM (#21966085)
There are at least 19 alternative languages for the BEAM[1]. If anyone knows of any I’ve missed, let me know.

[1]: https://gist.github.com/macintux/6349828#alternative-languag...

Re:Clojure for the Erlang VM by BoiledCabbage on Monday January 06, 2020 @01:45AM (#21967080)
There are 4 relevant VMs: .net, java, js and erlang.

If you're making a language and not targeting one of them, you're DOA.

Re:Clojure for the Erlang VM by kragen on Monday January 06, 2020 @02:35AM (#21967296)
Also LLVM, wasm, amd64, ARM, aarch64, RISC-V, Vulkan, Radeon, NVIDIA, Gen, and iCE40. Instruction sets are more exciting than they have been since the 1980s.
Re:Clojure for the Erlang VM by dhash on Monday January 06, 2020 @02:57PM (#21972578)
These are native instruction sets, not a VM. The parent seems to also mean runtimes, which LLVM does not provide
Re:Clojure for the Erlang VM by kragen on Monday January 06, 2020 @03:07PM (#21972697)
I think all of those have software implementations ("VMs")†, although it's true that some of them have hardware implementations as well ("native instruction sets"). Since the IBM 360, though, the distinction has been very fuzzy.

† although Intel Gen, RADEON, and the NVIDIA GPU ones might be an exception

Re:Clojure for the Erlang VM by kjeetgill on Monday January 06, 2020 @04:24AM (#21967788)
Dead or arrival? I'd argue Go and Rust are pretty prominent recent arrivals that have seen great uptake.
Re:Clojure for the Erlang VM by unlinked_dll on Monday January 06, 2020 @03:21AM (#21967512)
And none of them guarantee tail call optimization leading to trade offs in the design of particular languages that may or may not be acceptable.
Re:Clojure for the Erlang VM by wues on Monday January 06, 2020 @03:29AM (#21967542)
Erlang guarantees tail call optimisation.
Re:Clojure for the Erlang VM by weavie on Monday January 06, 2020 @07:25AM (#21968583)
Pretty sure .Net has a TCO opcode that F# uses.
Re:Clojure for the Erlang VM by sb8244 on Monday January 06, 2020 @09:48AM (#21969478)
What does "guarantee" mean here? If you end a function in BEAM with another function call, it's TCO.
Re:Clojure for the Erlang VM by bad_login on Monday January 06, 2020 @11:06AM (#21970173)
Tail Call Optimization is an optimization done by the compile/vm that replace (in assembly terms) a CALL by a JMP. Therefore removing a call stack.
Re:Clojure for the Erlang VM by sb8244 on Monday January 06, 2020 @11:15AM (#21970260)
Correct. BEAM does real TCO as far as I'm aware. LYSE has a blurb about it and seems to agree (https://learnyousomeerlang.com/recursion).