Std — Core Interfaces & Types

Part of the std module. Available via import std.

The core definitions providing the fundamental interfaces and common types.

Interfaces

valid

interface valid: a. Boolean
  x. y. x && y

Defines validation constraints (refinement types) for a given type. Multiple constraints are combined with logical AND. The Paradox type system hooks into valid for SMT verification.

See Validation for full usage.

illuminate

interface illuminate: a. Text
  x. y. x ++ y

Provides a short, human-readable, user-facing representation of a type. Multiple illumination expressions are combined with text concatenation.

See Illumination for full usage.

Types

CRUD

union CRUD
  create
  read
  update
  delete
  list

A union type for the five well-known data operations. Used in permissions matrices.

Module

type Module
  name: Text
  description: Text

Represents a Paradox module. Each module has a name and description, as defined in dox.yaml.

URIAuth

type URIAuth
  user: Text?
  name: Text
  port: Port?

The authority component of a URI. For example, user@example.com:8810.

URI

type URI
  scheme: Text
  authority: URIAuth?
  path: Text?
  query: Text?
  fragment: Text?
  io: (Type. Type)?
  meta: {Text}?

A polymorphic URI type. Supports full URIs like http://user@example.com:8810/the/path?query=query with optional request/response type pairs in io and metadata tags in meta.