package tyre

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

Internal types

type ('a, 'b) conv = {
  1. to_ : 'a -> 'b;
  2. from_ : 'b -> 'a;
}
type 'a raw =
  1. | Regexp : Re.t * Re.re Lazy.t -> string raw
  2. | Conv : 'a raw * ('a, 'b) conv -> 'b raw
  3. | Opt : 'a raw -> 'a option raw
  4. | Alt : 'a raw * 'b raw -> [ `Left of 'a | `Right of 'b ] raw
  5. | Seq : 'a raw * 'b raw -> ('a * 'b) raw
  6. | Prefix : 'b raw * 'a raw -> 'a raw
  7. | Suffix : 'a raw * 'b raw -> 'a raw
  8. | Rep : 'a raw -> 'a Seq.t raw
  9. | Mod : (Re.t -> Re.t) * 'a raw -> 'a raw
val from_t : 'a t -> 'a raw
val to_t : 'a raw -> 'a t
type _ wit =
  1. | Lit : int -> string wit
  2. | Conv : 'a wit * ('a, 'b) conv -> 'b wit
  3. | Opt : Re.markid * 'a wit -> 'a option wit
  4. | Alt : Re.markid * 'a wit * 'b wit -> [ `Left of 'a | `Right of 'b ] wit
  5. | Seq : 'a wit * 'b wit -> ('a * 'b) wit
  6. | Rep : int * 'a wit * Re.re -> 'a Seq.t wit
val build : int -> 'a raw -> int * 'a wit * Re.t
val extract : original:string -> 'a wit -> Re.substrings -> 'a