Skip to content

Bend 2.0.39

Latest

Choose a tag to compare

@Lorenzobattistela Lorenzobattistela released this 23 Oct 21:40
a3efe8a
  • bend --publish sends only files inside the entry's directory: a
    ../ climb, a symlink out of it or a LICENSE that links out is refused
    before mining, with no hub request (#1836, PR #1838 by oxura).
  • File.open(path, "x") creates a new file and fails with EEXIST if
    the path exists, in one step (#1821, PR #1824).
  • Non-UTF-8 arguments: IO.args_bytes gives each argument's bytes, and
    File.open_bytes opens a path given as bytes (#1798, PR #1799 by
    viridale).
  • Process.run runs through one worker on Bun and Node, so it no
    longer ends the run on Node, and a child that leaves stdin unread no
    longer hangs it (#1468, PR #1831 by oxura).
  • Metal: the lane spill of 2.0.38 is gone (PR #1809): it made
    bend -o of a ! program build 17% slower. A full lane fails with
    ERR_DEEP again, as in 2.0.37.
  • Fixes:
    • The GPU build sees a closure in a later instance of the same datatype
      (#1513, PR #1542).
    • C: a read-only walk borrows its list when a sum type puts a word where
      another constructor has a box (#1805, PR #1806 by viridale); a memory
      fault ends the program by its signal (SIGSEGV, SIGBUS), not exit 1,
      after flushing output (PR #1828 by oxura).
    • IO.get_env refuses a name with a =, which read part of another
      variable on C and Node (#1794, PR #1795 by orezraey).
  • CLI: bend -o never overwrites an input through a hard link or with
    the GPU archive <out>.gpu (PRs #1797 by sebastian-griego and #1826 by
    toprameen); a $CC that is not a usable clang 14+ ends the build with
    its reason, instead of a silent plain-clang build (#1802, PR #1804 by
    Yi-111-a).
  • Tools: the formatter keeps body columns after (, ;, tuple commas
    and in nested lambdas, and keeps a generic's > apart from a following
    = (PRs #1803 by toprameen, #1811, #1816, #1833, #1839 by vicmcorrea).
  • Docs: BendTT proves adequacy, a checked law holds at each closed
    instance (PR #1627 by ScottMoore0); the guide and BendRT say a hot type
    counts the fields of every node, shared or not (#1559, PRs #1812 by
    vicmcorrea and #1813), and BendRT matches the runtime on the corpus, JS
    requests and the CUDA cube (#1822, PR #1823).

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:

  • d4aaef68de545727429ce83b9e88ff3273bf068df599e3542e446755b5f3d83a bend-2.0.39-darwin-arm64.tar.gz
  • a512cfd1d29ec24c640126a6a640e597b4ea1abe0aefbda7cc57efd85ab56e22 bend-2.0.39-darwin-x64.tar.gz
  • 71b43e1bb9313dd14ac2b0553b854e41c39d65ecaa47040796ebff4a46f54a97 bend-2.0.39-linux-arm64.tar.gz
  • 6cf462fd8f70b094a4950ebb709a9c4ffd8f1d1189d9cedf1fd63cd5d041c7ab bend-2.0.39-linux-x64.tar.gz