The full list of (curry ...) modules. Optional modules that need an external library are gated by a -DBUILD_MODULE_X=ON CMake flag (most default ON); see each module's own doc page for its exact flag and any extra runtime dependency.
| Module | Import | Description | Extra deps |
|---|---|---|---|
| json | (curry json) |
JSON parse / stringify | — |
| yaml | (curry yaml) |
YAML parse / stringify: anchors/aliases, merge keys, multi-doc streams (pure Scheme, no build step) | — |
| sqlite | (curry sqlite) |
SQLite3 database | libsqlite3-dev |
| network | (curry network) |
TCP / UDP sockets | — |
| crypto | (curry crypto) |
base64, MD5, SHA-256, HMAC | libssl-dev |
| ldap | (curry ldap) |
LDAP / LDAPS directory access | libldap-dev |
| http | (curry http) |
General-purpose HTTP client — any method, headers, body | libcurl4-openssl-dev |
| llm | (curry llm) |
LLM client: Claude, OpenAI, Ollama, any OpenAI-compat endpoint; tool use, agentic loop (pure Scheme, no build step) | (curry http) |
| storage | (curry storage) |
S3, Swift, Azure Blob, GCS | libcurl4-openssl-dev |
| graphql | (curry graphql) |
GraphQL HTTP client | libcurl4-openssl-dev |
| redis | (curry redis) |
Redis client (RESP2, no hiredis) | — |
| neo4j | (curry neo4j) |
Neo4j graph database client (Bolt 4.x/5.x, no libneo4j) | — |
| image | (curry image) |
PNG / JPEG / GIF load, save, edit | libpng-dev libjpeg-dev |
| git | (curry git) |
Git repository access | libgit2-dev |
| qt6 | (curry qt6) |
Qt6 windows, canvas, widgets, 4D math | Qt6 |
| plplot | (curry plplot) |
Scientific 2D/3D plotting | libplplot-dev |
| vecdb | (curry vecdb) |
Vector nearest-neighbour search | — |
| regex | (curry regex) |
POSIX extended regular expressions | — |
| sync | (curry sync) |
Mutex, condition variable, semaphore | — |
| stm | (curry stm) |
STM (atomically/retry/or-else), CSP channels, select macro |
— |
| conditions | (curry conditions) |
CL condition system: handler-bind, with-restarts, invoke-restart, handler-case |
— |
| ffi | (curry ffi) |
General C FFI: define-foreign, zero-copy matrix/tensor passthrough |
libffi-dev (-DBUILD_FFI=ON) |
| mqtt | (curry mqtt) |
MQTT client: publish, subscribe, QoS 0/1/2, TLS | libpaho-mqtt-dev |
| ode | (curry ode) |
ODE solvers: Euler, RK4, Dormand-Prince RK45, Verlet | — |
| mcp | (curry mcp) |
MCP server: expose Curry tools to AI clients via stdio or SSE | — |
| lsp | (curry lsp) |
Language Server Protocol server: diagnostics, hover, completion for any LSP editor | — |
| profiling | (curry profiling) |
Runtime call-count and wall-clock profiler for named closures and primitives | — |
| rpi | (curry rpi) |
GPIO, I2C, SPI, PWM for Raspberry Pi and Linux embedded boards (Linux only) | libgpiod-dev |
| sicm | (curry sicm) |
Classical mechanics (SICM): Lagrangian, Hamiltonian, Poisson brackets | — |
| fits | (curry fits) |
FITS scientific image read/write (pure Scheme, no build step) | — |
| netcdf | (curry netcdf) |
NetCDF classic format reader (pure Scheme, no build step) | — |
| hdf5 | (curry hdf5) |
HDF5 dataset/attribute read/write via FFI (pure Scheme + FFI, no build step) | libhdf5 installed at runtime (-DBUILD_FFI=ON) |
| posix | (curry posix) |
Filesystem/process POSIX bindings (SRFI-170 subset): file-info, directories, symlinks, uid/gid, umask, users/groups |
— |
| codesets | (curry codesets) |
SRFI-238 codesets: errno/signal/http-status symbol ⟷ number ⟷ message lookup |
— |
| aviation-weather | (curry aviation-weather) |
METAR / TAF / ATIS aviation weather report parsing (pure Scheme, no build step) | — |
| babylonian-astronomy | (curry babylonian-astronomy) |
Babylonian mathematical astronomy: System-A zigzag function, synodic month/Saros eclipse cycle, civil calendar month names (pure Scheme, no build step) | — |
srfi/index.md— portable(srfi sN name)compatibility libraries