This commit is contained in:
parent
aa2ff7b2f0
commit
2f3113f55d
11742 changed files with 1223940 additions and 0 deletions
33
unikernel/duniverse/csexp/README.md
Normal file
33
unikernel/duniverse/csexp/README.md
Normal file
|
|
@ -0,0 +1,33 @@
|
|||
Csexp - Canonical S-expressions
|
||||
===============================
|
||||
|
||||
This project provides minimal support for parsing and printing
|
||||
[S-expressions in canonical form][wikipedia], which is a very simple
|
||||
and canonical binary encoding of S-expressions.
|
||||
|
||||
[wikipedia]: https://en.wikipedia.org/wiki/Canonical_S-expressions
|
||||
|
||||
Example
|
||||
-------
|
||||
|
||||
```ocaml
|
||||
# #require "csexp";;
|
||||
# module Sexp = struct type t = Atom of string | List of t list end;;
|
||||
module Sexp : sig type t = Atom of string | List of t list end
|
||||
# module Csexp = Csexp.Make(Sexp);;
|
||||
module Csexp :
|
||||
sig
|
||||
val parse_string : string -> (Sexp.t, int * string) result
|
||||
val parse_string_many : string -> (Sexp.t list, int * string) result
|
||||
val input : in_channel -> (Sexp.t, string) result
|
||||
val input_opt : in_channel -> (Sexp.t option, string) result
|
||||
val input_many : in_channel -> (Sexp.t list, string) result
|
||||
val serialised_length : Sexp.t -> int
|
||||
val to_string : Sexp.t -> string
|
||||
val to_buffer : Buffer.t -> Sexp.t -> unit
|
||||
val to_channel : out_channel -> Sexp.t -> unit
|
||||
end
|
||||
# Csexp.to_string (List [ Atom "Hello"; Atom "world!" ]);;
|
||||
- : string = "(5:Hello6:world!)"
|
||||
```
|
||||
|
||||
Loading…
Add table
Add a link
Reference in a new issue