Gleam v1.17.0

(gleam.run)

130 points | by figbert 2 days ago ago

19 comments

  • Defletter 2 days 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.

  • __jonas 2 days 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 2 days ago

    Every time I read one of these I’m impressed by the language server work. Gleam’s DX is so good.

    • 3stacks 2 days ago

      but do they oppose nazism? This is a key factor in choosing a programming language

      • batisteo 2 days 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.

        • 3stacks 16 hours ago

          High levels of sarcasm. it's a hilarious stance for a programming language to take

  • ofrzeta 2 days ago

    Stupid question but does the Gleam website run on Gleam?

  • sltr 2 days ago

    every time I use Gleam I feel happy

  • stevefan1999 2 days ago

    Is there any AOT solution for running BEAM?

    • toast0 2 days ago

      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 a day 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

  • sunjester 2 days ago

    None of the links on your website footer work?

    • m8s 2 days ago

      Hmm they all seem to be working for me

  • J7jKW2AAsgXhWm 2 days ago

    amazing!