Lambda

Entities

Simple Types

Record Types

Access Types

Subprograms

Description

Abst

function Abst (Parameter : String; Func_Body : Term) return Term
Parameters
Parameter
Func_Body
Return Value

Appl

function Appl (Func : Term; Argument : Term) return Term
Parameters
Func
Argument
Return Value

beta

function beta (T : Term) return Term
Parameters
T
Return Value

Expression

type Expression is not null access all Term;

From

function From (Input : String) return Term
Parameters
Input
Return Value

My_Put_Image

procedure My_Put_Image
  (Output : in out Ada.Strings.Text_Buffers.Root_Buffer_Type'Class;
   T  : Term)
Parameters
Output
T

Substitution

function Substitution (T : Term; Var : String; Rep : Term) return Term
Parameters
T
Var
Rep
Return Value

Term

type Term (Kind : Term_Kind) is record
   case Kind is
      when Variable =>
         Name      : Ada.Strings.Unbounded.Unbounded_String;
      when Abstraction =>
         Parameter : Ada.Strings.Unbounded.Unbounded_String;
         Func_Body : Expression;
      when Application =>
         Func      : Expression;
         Argument  : Expression;
   end case;
end record;
Record fields
Kind
Name
Parameter
Func_Body
Func
Argument

Term_Kind

type Term_Kind is (Variable, Abstraction, Application);
Enumeration Literal
Variable
Abstraction
Application

Vari

function Vari (Name : String) return Term
Parameters
Name
Return Value