package comby-kernel

  1. Overview
  2. Docs
A match engine for structural code search and replace that supports ~every language

Install

Dune Dependency

Authors

Maintainers

Sources

comby-kernel.1.7.0.tar.gz
md5=ee6556d8bd9b25ed0445ebe23862e48a
sha512=e6386c8ce5ef14bbcab2b0ead5b1edc39375438f56330d5f02e81e467afe6623a7e299f97f26008d77bbc62850c6dc63a7cbe5b81671b5183ff3adeee5946bb3

doc/src/comby-kernel.vangstrom/exported_state.ml.html

Source file exported_state.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
type 'a state =
  | Partial of 'a partial
  | Done    of int * 'a
  | Fail    of int * string list * string

and 'a partial =
  { committed : int
  ; continue  : Bigstringaf.t -> off:int -> len:int -> More.t -> 'a state }


let state_to_option x = match x with
  | Done(_, v) -> Some v
  | Fail _     -> None
  | Partial _  -> None

let fail_to_string marks err =
  String.concat " > " marks ^ ": " ^ err

let state_to_result x = match x with
  | Done(_, v)          -> Ok v
  | Partial _           -> Error "incomplete input"
  | Fail(_, marks, err) -> Error (fail_to_string marks err)
OCaml

Innovation. Community. Security.