Crochet’s API Reference#

This is a temporary page that links to reference docs built with Crochet’s docs command. The following packages are available in the standard distribution:

Basic packages#

Core (crochet.core)

Provide the most basic types and commands to most programs: text manipulation, numeric types, basic collections, error handling, etc.

Debug (crochet.debug)

Provides a simple transcript (for trace-based/print-based debugging), and a simple tool for timing pieces of code.

Trace debugging (crochet.debug.tracing)

Provides tools to record and analyse different aspects of the execution of Crochet code.

Mathematics (crochet.mathematics)

Extends numeric support with trigonometric functions.

Concurrency (crochet.concurrency)

Provides Crochet’s primitives for concurrency: actors, CSP channels, promises, discrete streams, and reactive variables.

Language and Parsing#

JSON (crochet.language.json)

Provides support for reading and writing data in the JSON language.

Lingua (crochet.text.parsing.lingua)

Provides a runtime for Lingua grammars—the recommended way of parsing text in Crochet.

Regular Expressions (crochet.text.regex)

Provides basic support for manipulating text with regular expressions. Do not use this for parsing text!


Random (crochet.random)

Provides support for predictable random number generation.

Date and time#

Time (crochet.time)

Provides support for talking about time in terms of points in time, lengths of time, and calendar-based dates.


Network types (

Provides safe types for parsing and manipulating common pieces of data found in network-related code, such as URLs.


Browser API wrappers (crochet.wrapper.browser.web-apis)

Small wrappers over common browser APIs, with capabilities.

Graphics and User Interfaces#

Agata (crochet.ui.agata)

Library and runtime for Crochet’s reactive GUI framework, Agata.