Popular: Data updated October 27, 2026

Categories

Internet1,356
Communication321
Audio & video898
Graphics & design539
Office & productivity1,124
Developer tools3,134
AI tools529
Security & privacy385
System tools3,114
Games523
Education & science239
Network & IT284

culebra: all versions and old releases

Programming language with a bytecode VM, JIT, and AOT compiler

2 versions of culebra are listed here, from September 27, 2026 to the current 0.8.0. Each one links to the publisher’s own installer files.

2026: 2 2 26
VersionDateSizeFiles
0.8.0Latest October 26, 2026 — 64-bit ZIP
Release notes
Highlights
- Audio: a namespace of its own for sound, with or without a window. Tones, samples, streamed music and Audio.PCM (samples a script computes), Audio.Graph (native parts, worked out as they play), Audio.Capture (the microphone), and functions that measure a sound: Audio.decode, spectrum, stft/istft, resample, pitch, harmonics, loudness, integrated_loudness.
- Kauai, a language for writing music as a band plays it: a lead sheet of chords and melody, and grooves written against the chord. culebra play song.kau plays one, --wav writes it to a file, --from/--to render a part, --watch plays it again whenever a file is saved. Instruments made from recordings (a soprano and an alto saxophone) play phrase by phrase from real notes, with the tools to make more.
- LLM: a client for large language models in the standard library (LLM.ask, a conversation that keeps its history and runs the tools the model asks for, and a request sent as it is), and Http reads Server-Sent Events.
- Isolates send more: a @value or @derive instance, a class, an enum's constructor and a bound method now cross an isolate boundary, and a child's throw that cannot cross back fails the join with an error that says so.
- Dir: one trait over the places files come from. Dir.disk, Dir.memory, Dir.zip (read ZIP archives; Compress.zip writes them) and Dir.embedded; Http serves any Dir.
- XML namespace and Encoding.utf16; String.pack/String.unpack for numeric arrays and @packable records.
Changes
Breaking
- Embed.dir(name) is now Dir.embedded(name), a Dir like the others; the Embed namespace is gone. exists(""), exists(".") and exists("sub") are true for a directory that holds a file.
- Sound moved out of Canvas into Audio: Canvas.tone, Canvas.Sound, Canvas.music and the rest are now Audio.tone, Audio.Sound and Audio.music, and play with no window. Canvas forwards none of them.
- Time.parse is strict: the whole string must match, with one date, and Time.from_parts has defaults. UTC is now computed directly from the calendar in both directions.
Language / interpreter
- Names and scopes: a read that nothing visible declares is a NameError at load; if, cond and ?: arms are scopes of their own; a declaration or a defer takes no trailing if/unless; fn is declared nowhere, however a binding spells it; a typed static field is a static field.
- Types: a field's annotation is checked on every write; a built-in type's name in an annotation means that type; a Function type pattern takes a callable instance; an error's kind is a type name that takes it.
- @value and @packable classes: a field may hold the standard library's own value classes, a write that throws leaves the field as it was, and a flat class's layout is its declaration's.
- Effects and generators: a lowered body's variables get a slot each by scope; handle bodies leave only through their value; an empty handler clause is nil; fn inside a lowered frame, a defer or an effect fn names the function the user wrote.
- Errors name what went wrong more often: an unterminated string, a call on a method that is not there, a surplus positional told the keyword it was written for.
- fmt lays an array of numbers out as a table, and keeps parentheses that change meaning.
JIT / AOT / VM
- A cached JIT object is reached by a second key that holds across builds, and a hit skips the IR pipeline as well as the backend.
- The VM keeps the receiver a frame was called with, compiles MoveRetain in place of Op::Retain, and several slot and scope fixes remove lifetime bugs in closures, defaults and destructuring.
- GC: pins are counted, an object whose edges are in flux is a root, and the object registry is never more than 5/8 full.
Standard library
- Audio (above), Dir (above), XML (XML.parse, XML.events, paths with predicates, and element methods that survive isolates), LLM, Encoding.utf16, String.pack/String.unpack.
- Http: events: reads any request's answer as Server-Sent Events; srv.static serves any Dir; a streamed response is
0.4.0 September 27, 2026 — 64-bit ZIP

Most popular in Languages & SDKs

See all
  1. Go Programming LanguageAn open source programming language that makes it simple to build secure, scalable systems.
  2. LLVMA collection of modular and reusable compiler and toolchain technologies.
  3. DenoA modern runtime for JavaScript and TypeScript
  4. CMakeCMake is a cross-platform, open-source build system generator.
  5. YarnYarn is a package manager that doubles down as project manager. Whether you work on one-shot projects or large monorepos, as a hobbyist or an enterprise user, we've got you covered.
  6. CcacheCcache is a compiler cache. It speeds up recompilation by caching previous compilations and detecting when the same compilation is being done again.
  7. sbtA build tool for Scala, Java, and more
  8. BOINCOpen-source software for volunteer computing and grid computing.
  9. Dart SDKA set of tools and libraries for the Dart programming language.
  10. NVM for WindowsA node.js version management utility for Windows. Ironically written in Go.

Tags

Share