mirage-tc
MirageOS type-classes
Description
A set of functors and combinators to pretty-print (using sexplib), to convert to and from and JSON and Cstruct buffers.
# Tc.show (module Tc.S) "Hello world!";;
- : string = "\"Hello world!\""
# Tc.to_json (module Tc.App2(Tc.P)(Tc.I)(Tc.S)) (3, "foo");;
- : Ezjsonm.t = `A [`String "3"; `String "foo"]
A slightly more complex example, using autogen code instead of functor composition:
# camlp4o;;
# require "sexplib.syntax";;
# require "comparelib.syntax";;
# require "bin_prot.syntax";;
# module M = struct
type t = { foo: int; bar: string list } with sexp, bin_prot, compare
end;;
# module X = Tc.I0(M);;
# let t = { foo = 3; bar = [ "hello"; "world" ] };;
# Tc.to_json (module X) t;;
- : Ezjsonm.t =
`A
[`A [`String "foo"; `String "3"];
`A [`String "bar"; `A [`String "hello"; `String "world"]]]
# Tc.write_string (module X) t;;
- : string = "\003\002\005hello\005world"
Install
copied = false, 2000)"
:class="{ 'border-gray-700': !copied, 'text-gray-100': !copied, 'focus:ring-orange-500': !copied, 'focus:border-orange-500': !copied, 'border-green-600': copied, 'text-green-600': copied, 'focus:ring-green-500': copied, 'focus:border-green-500': copied }">
- Published
- 31 Oct 2014
- Authors
- Maintainers
Sources
Dependencies
ocamlbuild
build
ounit
with-test
alcotest
with-test
bin_prot
< "113.01.00"
sexplib
< "113.01.00"
mstruct
>= "1.3.1"
ezjsonm
>= "0.3.0" & < "0.4.0"
ocaml
>= "4.01.0"
Reverse Dependencies
datakit
< "0.10.0"