1. 53
  1. 7

    This all sounds really great, except this bit:

    And on a related node, recently publish packages can be replaced with gleam publish –replace. This is useful for correcting any mistakes made during the process of releasing a package.

    Does that mean the content of a particular version of a package can change? (Also I think there’s a typo “recent published packages”?)

    1. 12

      This is a feature of Hex (a package manager for all BEAM modules (erlang, elixir, gleam, etc)). The time limits are quite short so there should be very little danger:

      There are exceptions to the immutability rule, a package can be changed or unpublished within 60 minutes of the package version release or within 24 hours of initial release of the package.

      https://hex.pm/docs/faq#can-packages-be-removed-from-the-repository

      1. 4

        That’s neat !

        I wish PyPI had this: these kind of small release mistakes can happen very easily.

        1. 3

          Ahh ok. The time limits make it a bit less concerning.

          1. 6

            Packages also come with checksums so the tooling will identify a change compared to what is expected in the lockfile.

        2. 1

          While we’re pointing out typos: s/related node/related note

        3. 3

          With this a .ts.d file will be generated for each Gleam module compiled. … Will produce this .ts.d file. … gleam.ts.d

          Isn’t a TypeScript declaration file supposed to be .d.ts, not .ts.d? For example.

          1. 3

            Oops, typo. Thanks for catching that.

            1. 1

              There’s a few more of the same one.

            2. 1

              haha I was so confused by this and was thinking “what kind of workaround is this???” 😅 glad to know it was just a typo

            3. 2

              Gleam looks like a very nice language: I hope to find time to give it a try this summer.

              Is there a showcase of “stuff built with Gleam” out there ? I’m curious :)

              1. 2

                There’s a list of libraries and projects here: https://github.com/gleam-lang/awesome-gleam

                Could be useful. More to come in future!