Repository navigation
- A Nat crosses to a JS host as a plain number (PR #1506 by
nicolas-abril). Breaking for JS callers: an effect's.jsand a
caller of an exported def pass and get5, not5n. ANatanswer or
argument that isn't a whole number from 0 to 2^53 stops the run with the
Nat error, as in C. Calls into exported defs are about 3.5x faster. IO.exit(code)ends a program quietly with a status from 0 to 255
(#1465, PR #1492 by oxura). A code above 255, inIO.exitorIO.die,
exits 1 instead of wrapping.F32.showtakes a plain parameter, so~F32.showfitsList.show
andMaybe.show(#1511, PR #1518 by vicmcorrea). A caller passing it as
+now wraps it:(x => F32.show(x)).- bend-lint, a standalone linter with rules written in TS or Bend, in
tools/bend-lint(PR #1389 by MattCozendey). - Faster:
- The CPU hands a slow grow's forks to idle threads, so a wide late fork
runs 2.6x faster at 14 threads (#1475, PR #1479 by viridale). - BendTT's parser reads the text's bytes, so
--verdictparses twice as
fast in a quarter of the memory (PR #1380 by nicolas-abril); safe.ts
walks each term once (PR #1384 by nicolas-abril). - A bang over a pair no longer sends every closure to the device (PR
#1336 by chaserelock); a spin is a device call by its C's length in
characters, and always inline on the host (PR #1413 by nicolas-abril). - A native build frees the compiler's memory before clang runs (PR #1385
by Iann29). - On Linux a window paces at the display's refresh rate, not 60 Hz (PR
#1379 by igorhasse).
- The CPU hands a slow grow's forks to idle threads, so a wide late fork
- CLI:
bend updatefails when the installer download fails (#1481, PR #1485
by vicmcorrea).--checkupreads only the import header, and imports with a trailing
# comment(#1501, #1497, PRs #1502 by oxura and #1517).bend a.bend --verdict b.bendis refused: extra arguments go only to a
plain run (#1503, PR #1516).- Inline HTML module scripts are bundled (#1400, PR #1412 by oxura), keep
their diagnostic positions (PR #1454 by Osraka), and a bundler failure
is a formatted error (#1399, PR #1406 by oxura). - An unreachable hub is a formatted error, not a TypeError (PR #1428 by
HamedShams); a native build that fails before clang removes its
/tmp/bend-*dir (#1402, PR #1405 by Yi-111-a). - A
!build finds CUDA at$CUDA_PATHand/opt/cuda(PR #1373 by
igorhasse).
- Fixes:
- Linux audio keeps a partially written chunk until ALSA takes it, and
stops on a dead device instead of spinning (PR #1508 by
sebastian-griego). F32.hypotkeeps lengths past 1.8e19 and below 1e-19 (PR #1515 by
sebastian-griego).- A closed stdout or stderr reader ends a program by SIGPIPE (#1467, PR
#1470 by viridale);Process.runreads until stdout and stderr close
(#1343, PR #1392 by nicolas-abril);get_envrejects a name with a NUL
(#1449, PR #1450 by Yi-111-a). - An erased last argument no longer cuts its call (#1374, PR #1377 by
nuxyel); the effect table is sized to the program's constructor ids
(#1163, PR #1378 by vicmcorrea); arrays of concrete functions compile
(#1404, PR #1410 by oxura);lay_eltakes only datatypes and type
formers (PR #1426 by nicolas-abril); a__proto__export survives in
JS (PR #1458 by vicmcorrea). - Match-refined Data views stay in copyable lets (#1349, PR #1369 by
oxura); Array-wrapped JS marshalling is stack-safe (#1346, PR #1370 by
oxura). --verdictbuilds inlined recursive let arguments at each use (#1326,
PR #1368 by oxura), keeps Base-free large Nat literals (#1330, PR #1337
by oxura), and parses both rewrite motive binders in its diagnostics
(#1315, PR #1407 by oxura).- The formatter keeps module import paths (PR #1325) and separated brace
arguments (PR #1505), by vicmcorrea; the linter keeps quoted foreign
import paths (PR #1422) and module headers (PR #1460), by vicmcorrea.
- Linux audio keeps a partially written chunk until ALSA takes it, and
- Docs: README Limitations names backend divergence and the unproven
translation (#1423, PR #1424); the formatter README installs
bend2-fmt-lspon PATH (PR #1486 by Osraka); IO forks vs CPU parallel
calls (#1375, PR #1415 by oxura); BendRT's opening program checks again
(#1308, PR #1382 by oxura).
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:
- 846d25ccf0c12d5d1e5e648c0b3ba4c8397fdb852812ac00ef8135998f8e194b bend-2.0.37-darwin-arm64.tar.gz
- 93eea3f54b7b91f28ea15a1b9f2d825afa58c1fcd417c11024a62f8c3506b813 bend-2.0.37-darwin-x64.tar.gz
- b65d452e5c68a4c486e353220d4298ba5d76f535db47109a7d76ffdf72efafb1 bend-2.0.37-linux-arm64.tar.gz
- 84c32465a39bc9ac315eade23f470cb8db03153dc860f89564fcfec153c3e445 bend-2.0.37-linux-x64.tar.gz