package orsetto

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

A submodule containing affix operators the provide a convenient and idiosyncratic syntax for composing record and structure models.

val (!:) : 'v model -> (element, 'v) bind

Use !: m as an abbreviation of Element.required m.

val (!?) : 'v model -> (element, 'v option) bind

Use !? m as an abbreviation of Element.optional m.

val ($=) : 'v model -> 'v -> (element, 'v) bind

Use m $= v as an abbreviation of Element.default m v.

val (%:) : 'k -> 'v model -> ('k index, 'v) bind

Use k %: m as an abbreviation of Field.required k m.

val (%?) : 'k -> 'v model -> ('k index, 'v option) bind

Use k %? m as an abbreviation of Field.default k m.

val (%=) : 'k -> ('v model * 'v) -> ('k index, 'v) bind

Use k %= (m, v) as an abbreviation of Field.default k m v.

val (/=) : 'a model -> ('a -> 'b) -> 'b model

Use m /= f as an abbreviation of cast f m

val (@>) : ('g, 'p) bind -> ('g, 'f, 'r) group -> ('g, 'p -> 'f, 'r) group

Use b @> g as an abbreviation of bind b g. Note well: this operator is right-associative to facilitate an idiosyncratic usage. Group expressions like b1 @> b2 @> b3 @> nil comprise a triple of three elements in the sequence that reads from left to right.