package orsetto

  1. Overview
  2. Docs
A library of assorted structured data interchange languages

Install

Dune Dependency

Authors

Maintainers

Sources

r1.0.3.tar.gz
sha256=151ca6df499bd3de7aa89a4e1627411fbee24c4dea6e0e71ce21f06f181ee654
md5=00393728b481c2bf15919a8202732335

doc/orsetto.cf/Cf_record_scan/index.html

Module Cf_record_scan

Parser combinators for record types.

Overview

This module provides functional combinators for parsing records comprising lists of indexed fields, where an index is a value of totally ordered type, and the associated value has a type that depends on the value of the index.

Theory of Operation: Define a Basis that provides the scanners for field indexes and separators. Use that to Create() a profile of the record scanner in the syntax of each interchange language. Its users may then define a schema for each application record to scan, and use them to define scanners that first produce a pack by scanning according to the schema, then unpack the scanned records from the pack into application data structures.

Interface

Define a module of this signature according to the syntax of record types for a given structural interchange language.

module type Basis = sig ... end

The basis signature of a record scanning module.

module type Profile = sig ... end

The signature of a record scanning module.

module Create (B : Basis) : Profile with type index := B.Index.t and type 'a form := 'a B.Form.t and type 'a t := 'a B.Scan.t

Use Create(B) to make a record scanning module with basis B.

OCaml

Innovation. Community. Security.