FunctionDecl

Type Alias FunctionDecl 

Source
pub type FunctionDecl = GenericFunctionDecl<String, String>;

Aliased Type§

pub struct FunctionDecl {
    pub name: String,
    pub subtype: FunctionSubtype,
    pub schema: Schema,
    pub resolved_schema: String,
    pub merge: Option<GenericExpr<String, String>>,
    pub cost: Option<u64>,
    pub unextractable: bool,
    pub internal_hidden: bool,
    pub internal_let: bool,
    pub span: Span,
    pub term_constructor: Option<String>,
}

Fields§

§name: String§subtype: FunctionSubtype§schema: Schema

Untyped schema

§resolved_schema: String

Resolved schema after typechecking is stored here, otherwise “”.

§merge: Option<GenericExpr<String, String>>§cost: Option<u64>§unextractable: bool§internal_hidden: bool

Hidden functions are excluded from print-size output. Used for internal tables generated by proof production.

§internal_let: bool

Globals are desugared to functions, with this flag set to true. This is used by visualization to handle globals differently.

§span: Span§term_constructor: Option<String>

For view tables in proof encoding: the constructor to use for building terms from the first n-1 children during extraction.

Implementations§

Source§

impl FunctionDecl

Source

pub fn function( span: Span, name: String, schema: Schema, merge: Option<GenericExpr<String, String>>, ) -> Self

Constructs a function

Source

pub fn constructor( span: Span, name: String, schema: Schema, cost: Option<DefaultCost>, unextractable: bool, hidden: bool, ) -> Self

Constructs a constructor