input peek, Brew cask, HTTP headers, compiler reader, pre‑commit, SSA
Release history
I made a Clojure-like language in Go, boots in 7ms releases
All releases
25 shown
No immediate action
v1.9.0
New feature
v1.7.2
Maintenance
Notable features
- Added go-joker support to benchmark scripts and documentation
- Added plan9 port and release pipeline
Full changelog
Changelog
- dd53ddb1a690b8d700d8ebcc213502bfab8ee60f Add go-joker support to benchmark scripts and documentation
- 8359258d95f6d4b765a5389acdaa627487c4705d Add plan9 port and release pipeline
- 46ce159c9b23021ff7bf38c14e812516c1e2e359 Strip ANSI escapes on plan9
- 9b1d56bd142dc4b6fef7c3a963d8891202a937b8 Untrack CLAUDE.md and committed .DS_Store files
- 5abb6f6ed25591b5da8955a0861f4d13b8b3e041 Update Homebrew formula to v1.7.1
v1.7.1
Maintenance
Minor fixes and improvements.
Full changelog
Changelog
- 361d0aa410f07746f89a679d370924202a23c884 Add link to related project: introduce paserati, a pure-Go JS runtime with TypeScript support
- cb67e77f8220c5d4304306ec7cf42e603671d3af Enhance runtime system properties: add os-name, arch, user-name, hostname, and version metadata
- 6f5b0e0e3428f396ef5e6f3751fd771da9bde733 Update Clojure compatibility section in README
- dec88cccf0156041cb57d27587e7d40e67549d54 Update Homebrew formula to v1.7.0
- 408d77e1d814fcd115fef771c943a82fcbfe2c18 Update README and benchmark results: refine performance metrics and clarify binary sizes
- eb791ba1829d7c513b6e5ba534882a8d1e80a972 Update README: clarify
with-precisionfunctionality for BigDecimal - 4b7743d4a2297ddf9df09b2924a647ea27425eb4 Update README: document lack of range queries for sorted collections
- af1323de5654e42376167809c0289e3ef632ea10 Update social media link: change Twitter to X in README
v1.7.0
Maintenance
Notable features
- Added seccomp, AppArmor functions; implemented mknod, prctl, and capset syscalls
Full changelog
Changelog
- d6e648a77c6709e5a34587dde7a22168ff4e0507 Enhance syscall support: add seccomp and AppArmor functions; implement mknod, prctl, and capset syscalls; update tests for JSON write functionality
- a00f74c5a521a2c8efd7a8fb2ad4c921a2968617 Refactor and enhance persistent data structures and their tests
- 2c62ee35b82728fa564df3de0f68199c6f2d9871 Update Homebrew formula to v1.6.0
v1.6.0
New feature
Notable features
- Implement transient collections: add TransientSet and enhance TransientMap with Contains and Invoke methods; introduce tap functions for debugging.
- Enhance loop and let compilers to support PersistentVector bindings
- Refactor map handling to use MapEntry type for improved clarity and consistency
Full changelog
Changelog
- 37a135d2f0be8a121a8808f909310ae2b1b7c39f Enhance error handling in zero? function and improve metadata preservation in assoc operations
- cbc9f7ed28c007e2b2e6e153db9faaec52e0edbf Enhance loop and let compilers to support PersistentVector bindings
- 25c2694e6acb12bf4223ae1eab0e1f5710c3faf9 Implement transient collections: add TransientSet and enhance TransientMap with Contains and Invoke methods; introduce tap functions for debugging.
- a8cb58d80e55798f958d99a9c6b4ba648b339969 Refactor map handling to use MapEntry type for improved clarity and consistency across the codebase
- aa901ed65557dbf3d99ecaf6f34954acdfbbed9b Update Homebrew formula to v1.5.0
- c5e3faf75abd67335b43c136e3cc5398ed2cec26 spawn-async :uid/:gid/:dir opts; unix/ uses SOCK_SEQPACKET
v1.5.0
New feature
Notable features
- Add Ratio and BigDecimal types, establishing a proper numeric tower
- Adds SortedMap, SortedSet, Compare types; removes stale VS Code setting
Full changelog
Changelog
- e3a9510660712afb0febeabd29824658db61089c Add Clojure test suite integration and symbolic value handling
- da33b858830541a019ffd6b41c6df9cb0cb299c1 Add Clojure test suite workflow guide, link from CLAUDE.md
- 18bd5d76e5c95352198e0281b4ed13ef2bf3370e Add Ratio and BigDecimal types, proper numeric tower
- fdf07b0e2ff87b54f1839b525af5c552baf2c0d4 Add SortedMap, SortedSet, Compare types; remove stale vscode setting
- 30548764049b564db48b4d02894dbf16dd3f0e1f Add async spawn + pipe + kill primitives, cross-OS bundle, script arg fix
- 66d5f4f2530a306d0dc778363013d256a4ac04d2 Add macros for dosync and ref operations; update knownFailing for hierarchy stubs
- 6626e70701e7a145b9bdd7032aa26847ac5f9890 Add missing builtins, fix comparisons and merge, fix Range.Cons
- a4c4f1bceb88314c7b8d14c9b3a243fc09fc608b Add number literals, missing builtins, fix 0-arity conj/dissoc
- 1f5d3075bf8b2c69e4fdd47a14aa1dc0ce2d620b Add portability constants, conj nil, count strings, sort nil, new builtins
- 88be87c998d3a837ec4a0561737133e89aab756a Add print-str, println-str, prn-str, inc', +', *', num, random-uuid, fix some-fn
- 0eb3dc3c7a5d3c1caeab96743d123abd4628754d Add signal-notify and WaitResult.signal
- b01fb7c0511019cd99ca96f6a7ec24fff3345c28 Compat suite: 43 more files compile, 22 tests graduate from knownFailing
- 8d3173bb44b72f2ad00f1c6e2e18cf7fd4b84a5f Fix Clojure compat: namespace aliases, reader, seq equality, builtins
- f1bc14b57cd10e794654bddcb6ee855a32ac6c8f Fix NaN/Inf arithmetic, sort compare, repeat/subvec/symbol coercion
- bd30066e33a2549a6688084ccda59f029234bf50 Fix builtins, graduate pop/select-keys, improve 15+ tests
- 01ad30729d8e5bca9d13b0be9f60695c6196b460 Fix empty?, sort, parse-long/double, conj map+map, int/byte/short/char coercion
- 7ed46d6e4f9d52798347e8fced3f07339b635b48 Fix integer? for BigInt, fix mod with negative BigInt operands
- 4a988aaa044a9262e4dc07d0d85c079702c8c4eb Fix reader conditional comments, negative hex, test isolation
- bfec08a57d07546fd2c3ad74daf536e4d8c3f91d Fix same-type seq equality, hash-set equality, get-in, nthrest, shuffle
- 14d2c8410738481284c5c1a67ce4a05b408d5538 Fix variadic tail call bug, add more builtins
- 020fca0e3dde259dd7f4b5e2626f55c0bb5506c9 Implement Unix namespace with socket primitives and add pty support for Linux
- da13889a13416ed22f6311e356888cc4421c23c1 Implement deftype and deftype-instance; enhance error handling and compatibility tests
- 760d297f0ae97ae70303cb3cfecdf36ab3433017 Refactor resolver paths, enhance nil checks in lang.go, and implement syscall type mappings for Linux
- 6ffc32eff0a42c4c44c7c645ab32965cf3e84048 Regenerate precompiled core for v1.5.0
- bb46c6074fdf616be5769a3cdab129ed3609e99f Resolver .cljc + underscore support, compare vectors, conj/update nil, contains? vectors
- a3c07eb653d217ebc4b79287043d77479cfc4d59 Skip unreadable reader conditional branches, fix negative hex literals
- 1108a20265e7c3ffb07143c25712bb0b81e6adcf update Homebrew formula for v1.4.0
v1.4.0
Maintenance
Minor fixes and improvements.
Full changelog
Changelog
- b00ec64659eeb9e6b63518d6ebf6c3e3179142a7 Add Fennel and Glojure benchmarks and update run scripts
- 15d658776bba42657ddf374bc599d4431870d89c Add Gloat benchmarks and update run scripts
- 872c5f7da4619e42c71ee44283d9a4ce0f8485a6 Add benchmark documentation for Clojure-compatible runtimes
- 31b841e8629535a3dab5e37ffae3aeda7e7602fc Add syscall namespace for Linux container primitives
- ec3922c13e3a3f1b08d5c66e953f4d8b655c4ca5 update Homebrew formula for v1.3.8
v1.3.8
Maintenance
Minor fixes and improvements.
Full changelog
Changelog
- 48eef675bdbde06e9850dd1c528f83c69f28d3b3 Add browser nREPL as a goal in README
- 04c12aba364b1fdca5b0db1919889c4fbdaa2e12 Document WASM web app compilation in README
- 0fc2258168136fbd1fa5ba2d090ba904362d48ec Exclude pods namespace from WASM builds
- b7e6b3abfbc5f82ca6e214b48cbc2822a485b30d Fall back to module proxy when version is unknown
- 5e62069b61985c9424c899c663eafe9df405bb74 Improve WASM fallback message for file:// protocol
- 9493d65510e45a856cd823c1be8b43bac91a9965 update Homebrew formula for v1.3.7
v1.3.7
New feature
Notable features
- Added WASM output support with related variables
Full changelog
Changelog
- 09e782938f7e29f0c159b5f30adfda7dc075b2e4 Add WASM output support and related variables
- 2da8eb3fe3c7801ab5f354b7c57d743158c7e417 Remove CLAUDE.md development guide file, consolidating documentation elsewhere.
- 4d8087b594fee88a3b2911a4371b5c0defb84c6f Remove tak function implementation from tak.py, eliminating unused code.
- 961252dda9ffa9a4b21011c9a6cbdb80964ed71c update Homebrew formula for v1.3.6
v1.3.6
Maintenance
⚠ Upgrade required
- Homebrew formula updated to version v1.3.5
Notable features
- Added *compiling-aot* var for ahead‑of‑time compilation control
Full changelog
Changelog
- 3cdbe297e4ed0c0f25cd0c1c62c8eb76f289791f Add compiling-aot var and fix bundled binary NS execution
- 68342015384ac0f5a3951837874fc63893280150 update Homebrew formula for v1.3.5
v1.3.5
Bug fix
Fixed multi-namespace LGB bundle execution order.
Full changelog
Changelog
- ec1aba8d360ded2b6beaff34046055f57671f9eb Fix multi-namespace lgb bundle execution order
- 8ba2cb037b7cb4d32f08f46e3620bfe9085b5c84 update Homebrew formula for v1.3.4
v1.3.4
Maintenance
Minor fixes and improvements.
Full changelog
Changelog
- 0b2d670fe0aadc46ce896c56c8546ddbe033e12e Enhance namespace handling in compilation and bundling
- 1865a3b252ed6875c3f465ce4271198d62327f01 Regenerate precompiled core bytecode
- 529ac7e98efa2af2e1a6752e92bbe9e6c5903a1e update Homebrew formula for v1.3.3
v1.3.3
New feature
Notable features
- Error handling in VM includes call stack tracing
Full changelog
Changelog
- 9da7ebb1dc94dc0c3c348718d07a0b8a599db260 Enhance error handling in VM to include call stack tracing
- d552d24371e327db66f7ce032928c5a92df8e019 update Homebrew formula for v1.3.2
v1.3.2
Maintenance
Minor fixes and improvements.
Full changelog
Changelog
- 3e604c91b48a2989848bd33769b539bc352f2aab Update benchmark results and enhance error handling
- 2036becd9976c2c7e4a17148e826b19040ff5517 update Homebrew formula for v1.3.1
v1.3.1
Bug fix
Notable features
- New numeric and string operations in core functionality
- Enhanced resolver functionality with updated dependencies
Full changelog
Changelog
- e015f32736884ae6a7e34374fcfe8fbecab696a3 Enhance core functionality with new numeric and string operations
- a6ce7c974e472a6dc1e7dee9e77f47a6ca5ba0ff Fix condition check in handleInfo to use vm.NIL instead of nil for improved reliability
- fe4ff712f6f3b08459135237e46e51a2449d70eb Update dependencies and enhance resolver functionality
- be533ef5fb9e6746e1a9fffca295da78f74054b1 update Homebrew formula for v1.3.0
v1.3.0
New feature
Notable features
- Standalone executable bundling support
- Compiling and running .lg and .lgb files
- Multi-namespace compilation in lgbgen with improved bytecode handling
Full changelog
Changelog
- f78140ef82ad7e9483225898d72b42def6287e9d Add bundling support for standalone executables
- 47e582cc9b3b9c68d863fb1d605db9d280299096 Add decoding and encoding capabilities for execution units
- 1cf90d4ac2c0c7d95cddfa4a5765e0acddb44b0b Add new methods to enhance functionality across various components
- 2b4754422379507f7540800c103b8a718fe6aefe Add support for compiling and running .lg and .lgb files
- d57221482fe5ad78614792aaa19c1f3af7fe30d4 Enhance lgbgen to support multi-namespace compilation and improve bytecode handling
- 56ddcb4b9a5286c9f6e7d2bdfd98fcba80f4e712 Refactor bytecode handling to support layered const pools
- 73c1b47da576535882ab15303b599834a46396b2 Update performance metrics in README and benchmark results
- 3471b7f07b7453b882550e9d2fcd9952480e3bdf update Homebrew formula for v1.2.0
v1.2.0
New feature
Notable features
- Implement specialized opcodes for core arithmetic and comparison operations in the VM.
- Enhance compiler to emit these opcodes for known builtins, improving performance.
- Wire up value equality for the OP_EQ fast path in the VM.
Full changelog
Changelog
- 4a782106f9654e51ad5638984e8c46bef76850cb Add .DS_Store and .nrepl-port to .gitignore to prevent tracking of system and nREPL configuration files.
- 25e8b3dbbf9a08236ae4a561295067e7789bdf71 Implement specialized opcodes for core arithmetic and comparison operations in the VM. Enhance the compiler to emit these opcodes for known builtins, improving performance. Update error handling in the frame for better exception management. Additionally, wire up value equality for the OP_EQ fast path in the VM.
- b3c202e6dded80044f4c3bbb8641c52209b65517 Remove unnecessary files: deleted .DS_Store and .nrepl-port to clean up the repository.
- b604d014adf8789290f02d4a34b09b10239a66a9 Specialized opcodes, lazy range, updated benchmarks
- 4961aa55bd8e2843801bd4501c972d6735e9b513 update Homebrew formula for v1.1.0
v1.1.0
New feature
Notable features
- Add babashka pod support and transit codec documentation for v1.1.0
- Implement EDN reader, add pod shutdown on exit, improve namespace evaluation
Full changelog
Changelog
- 11aaf6d001d380ae3464878a4c1e5aecdcc98630 Add babashka pod support, transit codec, and docs for v1.1.0
- c45a792a3c093eb2efae4037f3a24de69326a3a0 Enhance runtime functionality: add pod shutdown on exit, implement EDN reader, and improve namespace evaluation. Update JSON handling to prevent empty list errors and extend core language features with new bindings for channels and enhanced key handling.
- fa7f907a4201fc90cd9f2cca73377ced06dd7c31 add Calva connect sequence for VS Code nREPL integration
- 1feba2bf4f9eaa473f564aa1405729b7a2170450 add Homebrew formula for v1.0.0
- d6989e6306fd840c757c508b4e974d00e0e27a22 fix: wasm_exec.js moved to lib/wasm in Go 1.26
- 73a2a084ba7d187d712c690c5c0ab66f013d4f24 modernize wasm: remove node dev server, update deps, clean up
- 30f2a5b3c12257b32184cc07c80a65822631d11e rewrite nREPL server: proper protocol, stdout capture, completions, .nrepl-port
- 18fddf910039732694bd746a1f1ff2fa7f42cff6 wasm: add banner, fix error formatting to use FormatError
- bc54c883802444e985f2aa40d08ba45466ac306e wasm: fix formatting brackets, bigger logo, mono everywhere, no hr/footer
- c12da61f69266549e3cc96ef67bdbcd8ed7bb829 wasm: fix spacing with nbsp
- 830149e70a4b505f17dc1d2ec35455106dfb408c wasm: redesign web REPL — centered layout, refined dark theme, ANSI support
- 3a86b012a983044de71416c0c4035d1b0d1a4684 wasm: standardize HTML structure and improve CSS formatting for readability
- fbdcdfef1a851fbdebfda936f316cea318238824 wasm: use ANSI escapes instead of jquery terminal format syntax
- 4246bb68b022e8841750caab1bda42429a3f675c wasm: use raw HTML for colored greeting, fix bracket/ansi issues
v1.0.0
Breaking risk
Breaking changes
- Minimum Go runtime version increased to 1.22+
Full changelog
Installation
Homebrew (macOS / Linux)
brew tap nooga/let-go https://github.com/nooga/let-go
brew install let-go
From source
Requires Go 1.22+.
go install github.com/nooga/let-go@latest
Download binary
Grab a prebuilt binary from the list below. Drop anywhere. Eval!