Huh, I didn't know how much I needed a "todo" type until now. So often I'll be defining a packet sumtype, or a collection, and not have created the type yet, so just use ubyte, or Object, or whatever. Having an explicit "todo" type would be amazing in other languages.
Lovely to see support for building escripts in the compiler.
I’d be excited to see that go one step further and provide something like the deno/bun/node compile feature, allowing one to export a binary that includes the BEAM and compiled code in a single file. I know some people are working on tools like that already and it’s not trivial, but having it in the compiler would be really neat.
The BEAM JIT is all done when .beam files are loaded. It's a runtime JIT, because you can always load new code, but it's not a tracing JIT and it's designed to be pretty fast to do it while loading. For most applications of BEAM, I think the time spent loading code, including JIT, is probably immaterial.
If you have a special need, I haven't seen anyone do it, but I would expect it wouldn't be that hard to run the jit ahead of time. I haven't fully studied it, but I think the expectation is the output from jit should be pretty much the same every run, so it seems doable to generate it once and load many times.
Compile to js target and leverage v8 compiler cache? I dunno, just riffing. You’re probably BEAMing vs js runtime-ing for server workloads, but periodically i compile to node and do stuff
Huh, I didn't know how much I needed a "todo" type until now. So often I'll be defining a packet sumtype, or a collection, and not have created the type yet, so just use ubyte, or Object, or whatever. Having an explicit "todo" type would be amazing in other languages.
Scala has had a function called ??? which fills the same role and it’s really useful.
https://scala-lang.org/api/3.3.1/scala/Predef$.html#???-0
Rust has the todo!() macro but no todo type. I use todo! constantly and would probably make heavy use of a todo type as well...
Todo type in rust will be a never type. Eg thing which exit or panic returns
Oh I hadn't thought about that!
Lovely to see support for building escripts in the compiler. I’d be excited to see that go one step further and provide something like the deno/bun/node compile feature, allowing one to export a binary that includes the BEAM and compiled code in a single file. I know some people are working on tools like that already and it’s not trivial, but having it in the compiler would be really neat.
Every time I read one of these I’m impressed by the language server work. Gleam’s DX is so good.
but do they oppose nazism? This is a key factor in choosing a programming language
I don’t know how it relate to the responded comment, nor what’s the level a sarcasm used, but they do, it’s on the footer of every pages.
> Black lives matter. Trans rights are human rights. No nazi bullsh*t.
Is it enforced? I just hope so.
High levels of sarcasm. it's a hilarious stance for a programming language to take
Stupid question but does the Gleam website run on Gleam?
Yes! It's statically built. https://github.com/gleam-lang/website
every time I use Gleam I feel happy
Is there any AOT solution for running BEAM?
The BEAM JIT is all done when .beam files are loaded. It's a runtime JIT, because you can always load new code, but it's not a tracing JIT and it's designed to be pretty fast to do it while loading. For most applications of BEAM, I think the time spent loading code, including JIT, is probably immaterial.
If you have a special need, I haven't seen anyone do it, but I would expect it wouldn't be that hard to run the jit ahead of time. I haven't fully studied it, but I think the expectation is the output from jit should be pretty much the same every run, so it seems doable to generate it once and load many times.
Compile to js target and leverage v8 compiler cache? I dunno, just riffing. You’re probably BEAMing vs js runtime-ing for server workloads, but periodically i compile to node and do stuff
None of the links on your website footer work?
Hmm they all seem to be working for me
amazing!