Skip to content

slang v0.2.2

Choose a tag to compare

@github-actions github-actions released this 10 Oct 22:49
· 295 commits to main since this release
20e4968

Runtime, database, and networking updates:

  • Improve generational garbage collection with page-ordered sweeping, parallel sweep and marking, and less work for pointer-free containers and long-idle tasks. Fix tracing of value structs and opt/result payloads.
  • Reduce PostgreSQL overhead with reusable query buffers, binary result decoding, FIFO pool waiters, and per-connection prepared statements.
  • Bound Redis replies and improve pool waiter wakeups.
  • Add bounded, deadline-aware DNS SRV/TXT lookup APIs for DNS seed-list clients such as MongoDB Atlas.
  • Add little-endian binary64 conversion helpers and improve compiler diagnostics and fatal-signal reporting.

Install

From a tarball (relocatable: unpack anywhere and run in place). Pick
the one for your platform below; each was unpacked outside the source tree
and used to build and run a new project before this release was published.

tar -xzf slang-0.2.2-darwin-arm64.tar.gz
./slang-0.2.2-darwin-arm64/bin/slangc --version     # slangc 0.2.2

From source:

git clone https://github.com/dolphlabs/slang && cd slang
git checkout v0.2.2
sudo make install          # PREFIX=/usr/local, or ~/.local

slangc new hello && cd hello && slangc main.sl --run

Upgrading a source install: run sudo make uninstall from the old
checkout first. make install overwrites the binary but never deletes
stale runtime files.

Requirements

slangc compiles to C, so every platform needs a C compiler (cc).

you import you need
anything a C compiler
net with TLS, crypto, httpc over https OpenSSL (macOS: brew install openssl; Debian/Ubuntu: apt install libssl-dev)
sql SQLite (Debian/Ubuntu: apt install libsqlite3-dev; ships with macOS)
compress, httpc zlib (Debian/Ubuntu: apt install zlib1g-dev; ships with macOS)

The Linux tarballs are built on Ubuntu 24.04 and need glibc 2.39 or later;
on an older distribution, build from source.

SHA-256

fdb20eb7ab35aad071e244d61596dea204e180f290f24e94dca19feaaf7231f9  slang-0.2.2-darwin-arm64.tar.gz
62ee922f85288e72dc3dd49eede2433515342f01ab9777dd3815392d452e0e6d  slang-0.2.2-darwin-x86_64.tar.gz
df97ac0d523d133b5ba59fecbf42813dd89cfa703834cd8f8590b72ddbe56fdc  slang-0.2.2-linux-aarch64.tar.gz
b4525b08ff69cda6c817e69186359ecb6d4d353b223512d0a0a4b1d887f28d66  slang-0.2.2-linux-x86_64.tar.gz