package dune-rpc
Install
dune-project
Dependency
Authors
Maintainers
Sources
sha256=c2ccf8bc6b17afa47c450297357496303aa7c8680e329b79d98c68e35013a118
sha512=26d3df56a509c6e8937a9333944303bdd8800a41e1b869c3adfb76d1e1fe615b6ec41491d596bd5982e338dcf70b97c18f963f37bfbf2bd581cbd356f3d5f4e5
doc/dune-rpc.private/Dune_rpc_private/Conv/index.html
Module Dune_rpc_private.ConvSource
Bidirectional parsing of canonical s-expressions
iso t to_ from creates a parser for a type 'b out of a parser for a type 'a, where 'a and 'b are isomorphic to one another. The functions to_ and from convert between the two types 'a and 'b. A typical approach for parsing record types is to convert them to/from tuples (via the three, four, etc. combinators) which can be parsed with record, and then use iso to convert the parser for a tuple type into a parser for the original record type.
parsing records
parsing sums
type error = | Parse_error of {message : string;payload : (string * Stdune.Sexp.t) list;
}| Version_error of {since : int * int;until : (int * int) option;message : string;payload : (string * Stdune.Sexp.t) list;
}
conversion from/to
fixpoint f is a helper for creating parsers of recursive data structures such as ASTs. f is a function which returns a parser for a single node in the hierarchy, and f is passed a parser which it can use for parsing children of the current node. fixpoint f then returns a parser for the recursive data structure.