Live data from Hacker News

Writing your own BEAM

martin.janiczek.cz

81–90 of 94 posts

Re: Writing your own BEAM

#81
post #34

The BEAM is fascinating for many reasons, including being register-based. I really just wish the BEAM was portable in the way the JVM is. The BEAM hooks into so many system libraries, you must compile it on every flavor of linux instead of just unpacking a tarball. This means you either must use your distro package manager's version, or compile from scratch. If you want to control the exact version that's being used…

> The BEAM is fascinating for many reasons, including being register-based. > I really just wish the BEAM was portable in the way the JVM is. Inferno is both register based and highly portable using the same tool chain as Plan 9 which runs seamlessly across multiple architectures. This eventually evolved into the Go tooling as Rob Pike came up with the Plan 9 design and worked on it with Ken Thompson. https://seh.dev…

To be clear, Inferno is the operating system. The virtual machine is Dis. There exist a few examples[1] of 64-bit Dis, but usually the problem people run into is making the Limbo[2] compiler spit out 64-bit code.

It's rather unfortunate, Inferno is a really nice system with a lot of interesting reference stuff implemented like a typed shell[3]. It's also Plan 9 in a box with all the accoutrements, and knowers will have jumped out of their seat at the implication. I can't understate how cool the Inferno system is.

[1] - https://github.com/Plan9-Archive/9ferno

[2] - https://en.wikipedia.org/wiki/Limbo_(programming_language)

[3] - https://inferno-os.org/inferno/man/2/alphabet-intro.html

Re: Writing your own BEAM

#82

I have learnt to love and embrace the BEAM. Wikipedia says "Originally BEAM was short for Bogdan's Erlang Abstract Machine, named after Bogumil "Bogdan" Hausman, who wrote the original version, but the name may also be referred to as Björn's Erlang Abstract Machine, after Björn Gustavsson, who wrote and maintains the current version." Whether the B is for Bogdan or Bjorn, there's something really fun and Space Quest-…

I like to think the B stands for BEAM.

It obviously stands for "Benoit B Mandelbrot"

Re: Writing your own BEAM

#85

Earlier quoted context omitted.

> The BEAM is fascinating for many reasons, including being register-based. > I really just wish the BEAM was portable in the way the JVM is. Inferno is both register based and highly portable using the same tool chain as Plan 9 which runs seamlessly across multiple architectures. This eventually evolved into the Go tooling as Rob Pike came up with the Plan 9 design and worked on it with Ken Thompson. https://seh.dev…

To be clear, Inferno is the operating system. The virtual machine is Dis. There exist a few examples[1] of 64-bit Dis, but usually the problem people run into is making the Limbo[2] compiler spit out 64-bit code. It's rather unfortunate, Inferno is a really nice system with a lot of interesting reference stuff implemented like a typed shell[3]. It's also Plan 9 in a box with all the accoutrements, and knowers will ha…

I dunno what happened to the 64bit port, the author just up and deleted it with no reason given AFIK. Thankfully someone had a recent clone and uploaded it to the archive.

Limbo is incomplete, forget what exactly but a few people on the 9fans discord recently ran into issues. Always remember, Inferno was forced onto the Labs people by Lucent in an attempt to compete with Sun's Java and built in a year. Bell Labs did not do marketing and Lucent fumbled the whole thing.

Plan 9 in a box is only useful if you MUST use a foreign host like Linux. Otherwise I would much prefer the machine actually run Plan 9.

Re: Writing your own BEAM

#86

Earlier quoted context omitted.

Nix is enormously complicated, kind of unstable and not well documented. I get that if you've gone through the pain of learning it you get a system with some very nice properties. But casually suggesting "maybe try nix" is a bit like telling someone who wants to listen to Mozart "maybe try playing a piano".

How is it unstable? It's one of the most reliable pieces of software I have used honestly. In any case 'nix-shell -p erlang|elixir' does not seem too complicated to me.

Flakes is still experimental despite being very widely used.

Re: Writing your own BEAM

#87

Earlier quoted context omitted.

I hope you're not accusing the original commenter here of "lashing out" for wanting one definition at the start.

I was speaking more generally, but sure, I think the behavior fits. BEAM has a lot more surface area than Apache Beam does here — just do a site search for beam and see how far you have to go to see the Apache project. It’s ridiculous to expect the author of a blog post targeted at people interested in BEAM to disambiguate between them. Additionally, it’s a BEAM conference talk converted to a blog post and it says so…

A criticism asking for one sentence that the author then went and added is pretty well short of lashing out in my book. And by itself is very weak evidence of insecurity. Shrug.

Re: Writing your own BEAM

#89

Earlier quoted context omitted.

I think its written for people who already know what the BEAM is. The BEAM is the VM for Erlang or Elixir, similar to how Java has the JVM and C# has .NET essentially.

> similar to how Java has the JVM and C# has .NET essentially. I'm pretty sure that in this analogy, C# has the CLR.

Yeah, I always called it .NET runtime instead because everyone who isnt deep into .NET will understand what is meant.

Re: Writing your own BEAM

#90

Earlier quoted context omitted.

I was speaking more generally, but sure, I think the behavior fits. BEAM has a lot more surface area than Apache Beam does here — just do a site search for beam and see how far you have to go to see the Apache project. It’s ridiculous to expect the author of a blog post targeted at people interested in BEAM to disambiguate between them. Additionally, it’s a BEAM conference talk converted to a blog post and it says so…

A criticism asking for one sentence that the author then went and added is pretty well short of lashing out in my book. And by itself is very weak evidence of insecurity. Shrug.

Semantics. Shrug.
Post reply on HN