Rendered at 21:21:07 GMT+0000 (Coordinated Universal Time) with Cloudflare Workers.
Defletter 20 hours ago [-]
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.
adamdecaf 20 hours ago [-]
Scala has had a function called ??? which fills the same role and it’s really useful.
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...
0xdeafbeef 3 hours ago [-]
Todo type in rust will be a never type. Eg thing which exit or panic returns
packetlost 2 hours ago [-]
Oh I hadn't thought about that!
__jonas 22 hours ago [-]
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.
trescenzi 21 hours ago [-]
Every time I read one of these I’m impressed by the language server work. Gleam’s DX is so good.
3stacks 10 hours ago [-]
but do they oppose nazism? This is a key factor in choosing a programming language
batisteo 10 hours ago [-]
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.
ofrzeta 16 hours ago [-]
Stupid question but does the Gleam website run on Gleam?
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.
cdaringe 5 hours ago [-]
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
https://scala-lang.org/api/3.3.1/scala/Predef$.html#???-0
> Black lives matter. Trans rights are human rights. No nazi bullsh*t.
Is it enforced? I just hope so.
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.