Bend 2.0.19
- 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
matchon denseU32literals compiles to a lookup table, as one on
Natalready 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,cosandtanwith 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