lean-bindings-0.1: Haskell bindings to the Lean Theorem Prover.

Copyright(c) Galois Inc, 2015
LicenseApache-2
Maintainerjhendrix@galois.com, lcasburn@galois.com
Safe HaskellTrustworthy
LanguageHaskell98

Language.Lean.Internal.Inductive

Description

Internal declarations for inductive types and declarations.

Synopsis

Documentation

type InductiveTypePtr = Ptr InductiveType Source

Haskell type for lean_inductive_type FFI parameters.

type OutInductiveTypePtr = Ptr InductiveTypePtr Source

Haskell type for lean_inductive_type* FFI parameters.

withInductiveType :: InductiveType -> (Ptr InductiveType -> IO a) -> IO a Source

Access raw lean_inductive_type within IO action.

type ListInductiveType = List InductiveType Source

Synonym for List InductiveType

type ListInductiveTypePtr = Ptr ListInductiveType Source

Haskell type for lean_list_inductive_type FFI parameters.

type OutListInductiveTypePtr = Ptr ListInductiveTypePtr Source

Haskell type for lean_list_inductive_type* FFI parameters.

withListInductiveType :: List InductiveType -> (Ptr (List InductiveType) -> IO a) -> IO a Source

Access raw lean_list_inductive_type within IO action.

data InductiveDecl Source

An inductive declaration

A single inductive declaration may define one or more Lean inductive types. The inductive types must have the same parameters.

type InductiveDeclPtr = Ptr InductiveDecl Source

Haskell type for lean_inductive_decl FFI parameters.

type OutInductiveDeclPtr = Ptr InductiveDeclPtr Source

Haskell type for lean_inductive_decl* FFI parameters.

withInductiveDecl :: InductiveDecl -> (Ptr InductiveDecl -> IO a) -> IO a Source

Access raw lean_inductive_decl within IO action.