⭐️ A friendly language for building type-safe, scalable systems!

Breaking changes to make for v2#

[1 ..] syntax#

Due to a bug in the parser we accept [1, ..] as a valid list value.

  • Emits warning when used.
  • Formatter rewrites it to desired syntax.

_ as a syntax#

This pattern doesn't make sense as one could write a instead. We don't want two ways of doing the same thing.

  • Emits warning when used.
  • Formatter rewrites it to desired syntax.

Shadowing imported values#

Do not allow shadowing an imported value, the same way one can't define two top level functions with the same name.

  • Emits warning when used.

Import one module multiple times#

Do not one module to be imported multiple times. This is currently accepted so long as each import uses a different alias.

  • Emits warning when used.

Development dependencies in src/ code#

Do not allow to use dev dependencies within src/.

  • Emits warning when used.
  • Blocks gleam export erlang-shipment.
  • Blocks gleam publish.

JavaScript runtime error fn property#

On JavaScript there is a deprecated fn property. This was a mistake, it should have been function. It still exists today due to backwards compatibility.