Understand it. Then build with it.
The BASIL manual
Start at the beginning, follow a topic, or look up a function. These chapters explain the language with examples, including ownership and borrowing for readers who have never used them before.
The web edition includes 25 teaching chapters, detailed library guides, and the compiler’s public API. The PDF book is also available for offline reading. The current implementation targets Linux x86-64.
Learn the language
A complete course, from your first program to ownership, coroutines and native applications.
01Your first program02Values, variables and expressions03Decisions and repetition04Functions and subroutines05Text and formatting06Records, alternatives and missing values07Lists, sets and dictionaries08Dense arrays and buffers09Ownership and borrowing, from first principles10Files, transfers and automatic cleanup11Checked errors and recovery12Modules, projects and packages13Generics, callbacks and custom value behavior14Coroutines and concurrent tasks15Channels, SELECT and timeouts16Console input, files and subprocesses17JSON, schemas and serialization18Dates, clocks, UUIDs and randomness19URLs, TCP and HTTP20Typed SQLite data21Binary formats, compression and numerical work22Building complete applications23Native interfaces and advanced library design24Diagnostics, limits and migration25Glossary and topic index
The library reference
Behavior, examples and limits for everyday text, data, networking, images and more.
String library referenceFormat stringsMultiline stringsCollection library referenceCompiler-shipped collection familiesSequence operations and bracketsInitialized buffers, bulk I/O and allocationOptional fallback and parameter defaultsCallback-dependent failure contractsLocal functions, callable values and visibilityValue equality, ordering, hashing and displayJSONShared serialization and custom format metadataRecursive type metadataLoggingDates, times, durations and clocksUUID valuesSecure random bytesURLs, paths and query parametersHTTP and HTTPSRegular expressionsNative BASIL compressionCoordinate and vector arithmeticUnsigned numbers and bit operationsFloating point and mathBASIL terminal, file and process servicesCommands, projects and librariesBuild-time embedded valuesText encodingByte buffers, text builders and streamsNative images and drawingNative image format profilesNative fonts and textNative Canvas API reference
Every built-in, A–Z
Compiler-generated signatures, including overloads, access modes and checked errors.
A · Built-in APIB · Built-in APIC · Built-in APID · Built-in APIE · Built-in APIF · Built-in APIG · Built-in APIH · Built-in APII · Built-in APIJ · Built-in APIK · Built-in APIL · Built-in APIM · Built-in APIN · Built-in APIO · Built-in APIP · Built-in APIQ · Built-in APIR · Built-in APIS · Built-in APIT · Built-in APIU · Built-in APIV · Built-in APIW · Built-in APIY · Built-in APIZ · Built-in API
The exact language
Implemented semantics and current boundaries.