Safe Haskell | None |
---|---|
Language | Haskell2010 |
- data Symbol = Symbol {}
- toSymbol :: Int64 -> Symbol
- fromSymbol :: Symbol -> Int64
- data TermList f = TermList {}
- at :: Int -> TermList f -> Term f
- lenList :: TermList f -> Int
- data Term f = Term {}
- pattern Empty :: forall f. TermList f
- pattern Cons :: forall f. Term f -> TermList f -> TermList f
- pattern ConsSym :: forall f. Term f -> TermList f -> TermList f
- pattern UnsafeCons :: forall f. Term f -> TermList f -> TermList f
- pattern UnsafeConsSym :: forall f. Term f -> TermList f -> TermList f
- unsafePatHead :: TermList f -> Maybe (Term f, TermList f, TermList f)
- patHead :: TermList f -> Maybe (Term f, TermList f, TermList f)
- newtype Fun f = MkFun Int
- newtype Var = MkVar Int
- pattern Var :: forall t. Var -> Term t
- pattern Fun :: forall f. Fun f -> TermList f -> Term f
- patRoot :: Int64 -> Either Var (Fun f)
- patNext :: TermList f -> TermList f
- singleton :: Term f -> TermList f
- eqSameLength :: TermList f -> TermList f -> Bool
- compareContents :: TermList f -> TermList f -> Ordering
- newtype Builder f = Builder {}
- type Builder1 s = State# s -> MutableByteArray# s -> Int# -> Int# -> (#State# s, Int##)
- buildTermList :: Builder f -> TermList f
- getArray :: (MutableByteArray s -> Builder1 s) -> Builder1 s
- getSize :: (Int -> Builder1 s) -> Builder1 s
- getIndex :: (Int -> Builder1 s) -> Builder1 s
- putIndex :: Int -> Builder1 s
- liftST :: ST s () -> Builder1 s
- built :: Builder1 s
- then_ :: Builder1 s -> Builder1 s -> Builder1 s
- checked :: Int -> Builder1 s -> Builder1 s
- emitSymbolBuilder :: Symbol -> Builder f -> Builder f
- emitFun :: Fun f -> Builder f -> Builder f
- emitVar :: Var -> Builder f
- emitTermList :: TermList f -> Builder f
Documentation
fromSymbol :: Symbol -> Int64 Source #
Empty :: TermList f
Cons t ts :: Term f -> TermList f -> TermList f
ConsSym t ts :: Term f -> TermList f -> TermList f
UnsafeCons/UnsafeConsSym: like Cons and ConsSym but don't check
Var :: Var -> Term f
Fun :: Fun f -> TermList f -> Term f
buildTermList :: Builder f -> TermList f Source #
emitTermList :: TermList f -> Builder f Source #