Live data from Hacker News

Writing your own BEAM

martin.janiczek.cz

41–50 of 94 posts

Re: Writing your own BEAM

#42
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…

Perhaps you should give Nix a try :)

Re: Writing your own BEAM

#43
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…

Perhaps you should give Nix a try :)

Correct me if I'm wrong, but you'd still have to compile it from source on nix, no?

On my relatively powerful workstation, Erlang/BEAM takes about 7 minutes to compile.

We're working around this currently by having a fat devcontainer image, pre-built with Erlang inside (from source) by our CI. It chews through CI minutes unavoidably due to how docker layer caching works.

It would be awesome to just download and unpack a tarball, regardless of which distro you're using.

Re: Writing your own BEAM

#44

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.

Re: Writing your own BEAM

#45
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…

You want https://github.com/burrito-elixir/burrito

Re: Writing your own BEAM

#46

Earlier quoted context omitted.

[flagged]

This feels like willful ignorance. Can you really read the blog without realizing that there is a possibility this isn’t referring to Apache beam?

Nearly every personal blog post submitted here written for people that use a less-mainstream tool/environment/language draws aggressively obtuse comments by people mad that the author didn’t anticipate their lack of knowledge.

Re: Writing your own BEAM

#47

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.

Same here! I also don't want "the facts to come in the way of a good story", and want to believe B is BEAM.

Re: Writing your own BEAM

#48

Earlier quoted context omitted.

This feels like willful ignorance. Can you really read the blog without realizing that there is a possibility this isn’t referring to Apache beam?

Nearly every personal blog post submitted here written for people that use a less-mainstream tool/environment/language draws aggressively obtuse comments by people mad that the author didn’t anticipate their lack of knowledge.

There have been math and CS paper submissions where people complained that the papers lacked a complete course on set theory or some CS theory concept the paper relied on. It's a weird thing to do, but apparently popular.

Re: Writing your own BEAM

#49

Earlier quoted context omitted.

I think there are plenty of context clues in the first few sentences. > ... fascinated with BEAM, how it allowed easy spawning of processes ... > ... the appeal of BEAM languages ... > ... haven’t read The BEAM Book yet ... > ... examples are written in Elm ...

[flagged]

That’s one reason Apache shouldn’t have used essentially the same name as a well-known VM released more than 20 years prior.

Re: Writing your own BEAM

#50
post #43

Earlier quoted context omitted.

Perhaps you should give Nix a try :)

Correct me if I'm wrong, but you'd still have to compile it from source on nix, no? On my relatively powerful workstation, Erlang/BEAM takes about 7 minutes to compile. We're working around this currently by having a fat devcontainer image, pre-built with Erlang inside (from source) by our CI. It chews through CI minutes unavoidably due to how docker layer caching works. It would be awesome to just download and unpac…

Nix is centered around the local Nix store and binary caching.

As long as the specific version of Erlang you’re using is present in either your Nix store or the global cache for your OS and arch (at cache.nixos.org), you should not need to compile anything.

And if you rely on custom builds, you can just setup your own binary cache. This is similar to remote caching in Bazel.

Some more details on Nix caching here: https://zero-to-nix.com/concepts/caching/

Post reply on HN