Skip to content

Bend 2.0.19

Choose a tag to compare

@VictorTaelin VictorTaelin released this 20 Sep 02:00
  • A Bend binary starts in 2 ms, not 12: the runtime reserves 8 GiB and
    grows it in place when a program needs more, instead of mapping the whole
    8 TiB address space at every run (#881).
  • A record of records compiles: a datatype past 256 machine words is a heap
    node, the way a recursive type already was, and a constant the compiler
    folds emits once. Seven levels of an eight-field record took 50 s, 19 GB
    and 97 MB of C; it now takes 0.06 s, 122 MB and 82 KB (#843).
  • A match on dense U32 literals compiles to a lookup table, as one on
    Nat already did: 256 cases took 1.46 MB of C and 3.5 GB, and now take
    80 KB and 1.6 GB (#867).
  • The Metal lane computes sin, cos and tan with the GPU's fast trig
    (#887).
  • A - local is erased again: its name is dead in the body, and its value
    is checked dead, so it may spend a variable twice. Since 2.0.16 the mark
    was lost on both counts.

Install: curl -fsSL https://bend-lang.com/install.sh | sh (or Homebrew: brew install bendlang/bend/bend, or Nix: nix profile install github:bendlang/bend).

sha256:

  • 9b3b7da0919e345ffe0f7c81059593bd45e533571dbaaedac45b5362ddb27779 bend-2.0.19-darwin-arm64.tar.gz
  • 41fdd494425f79746d78bbc2ee11279f199cd216c723de210fe1a2ad64375266 bend-2.0.19-darwin-x64.tar.gz
  • 388b3c1f98468ad7cc508b67044c842fc24c1527962cecd6a68c956ab6f92e5e bend-2.0.19-linux-arm64.tar.gz
  • 4f50d0a34283bb4e9ad6277a36fd91ef20c5d8992ca857c8185e605b866425b9 bend-2.0.19-linux-x64.tar.gz