Safe Haskell | Safe-Inferred |
---|---|
Language | Haskell2010 |
Synopsis
- termTagWidth ∷ NumBits
- encodeTermTag ∷ Word8 → Encoding
- decodeTermTag ∷ Get Word8
- encodeTerm ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Term name uni fun ann → Encoding
- decodeTerm ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Version → (fun → Maybe String) → Get (Term name uni fun ann)
- sizeTerm ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Term name uni fun ann → NumBits → NumBits
- encodeProgram ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Program name uni fun ann → Encoding
- decodeProgram ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ (fun → Maybe String) → Get (Program name uni fun ann)
- sizeProgram ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Program name uni fun ann → NumBits → NumBits
- newtype UnrestrictedProgram name uni fun ann = UnrestrictedProgram {
- unUnrestrictedProgram ∷ Program name uni fun ann
Documentation
termTagWidth ∷ NumBits Source #
Using 4 bits to encode term tags.
encodeTerm ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Term name uni fun ann → Encoding Source #
decodeTerm ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Version → (fun → Maybe String) → Get (Term name uni fun ann) Source #
sizeTerm ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Term name uni fun ann → NumBits → NumBits Source #
encodeProgram ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Program name uni fun ann → Encoding Source #
An encoder for programs.
It is not easy to use this correctly with flat
. The simplest thing
is to go via the instance for UnrestrictedProgram
, which uses this
decodeProgram ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ (fun → Maybe String) → Get (Program name uni fun ann) Source #
sizeProgram ∷ ∀ name uni fun ann. (Closed uni, uni `Everywhere` Flat, Flat fun, Flat ann, Flat name, Flat (Binder name)) ⇒ Program name uni fun ann → NumBits → NumBits Source #
newtype UnrestrictedProgram name uni fun ann Source #
A program that can be serialized without any restrictions, e.g. on the set of allowable builtins or term constructs. It is generally safe to use this newtype for serializing, but it should only be used for deserializing in tests.
UnrestrictedProgram | |
|