package acgtk

  1. Overview
  2. Docs
Abstract Categorial Grammar development toolkit

Install

Dune Dependency

Authors

Maintainers

Sources

acg-2.1.0-20240219.tar.gz
sha512=5d380a947658fb1201895cb4cb449b1f60f54914c563e85181d628a89f045c1dd7b5b2226bb7865dd090f87caa9187e0ea6c7a4ee3dc3dda340d404c4e76c7c2

doc/acgtk.logic/Logic/Abstract_syntax/Abstract_syntax/index.html

Module Abstract_syntax.Abstract_syntaxSource

The type of location in the signature files

Sourcetype associativity =
  1. | Left
  2. | Right
  3. | NonAss

The type of the kind of associativity for infix operators

Sourcetype syntactic_behavior =
  1. | Default
  2. | Prefix
  3. | Infix of associativity * float
  4. | Binder

The type of the syntactic behaviour of constants defined in the signature

Sourcetype abstraction =
  1. | Linear
  2. | Non_linear

The two types of abstraction

Sourcetype term =
  1. | Var of string * location
    (*

    If the term is variable (bound by a binder)

    *)
  2. | Const of string * location
    (*

    If the term is a constant (not bound by a binder)

    *)
  3. | Abs of string * location * term * location
    (*

    If the term is a intuitionistic abstraction. The first location is the one of the variable, and the second one is the one of the whole term. The latter take into account the binder if the string is the first variable bound, and starts with the string otherwise

    *)
  4. | LAbs of string * location * term * location
    (*

    If the term is a linear abstraction

    *)
  5. | App of term * term * location
    (*

    If the term is an application

    *)

The type of terms provided by the parser.

Sourceval unlinearize_term : term -> term

The type of types as found in the signature files

Sourcetype type_def =
  1. | Type_atom of string * location * term list
    (*

    If the type is atomic. The third parameter is the terms to which the type is applied in case of a dependent type. The list is empty if the type does not depend on any type

    *)
  2. | Linear_arrow of type_def * type_def * location
    (*

    If the type is described with a linear abstraction

    *)
  3. | Arrow of type_def * type_def * location
    (*

    If the type is described with a intuitionistic abstraction

    *)
Sourcetype sig_entry =
  1. | Type_decl of string * location * kind
    (*

    The first parameter (string) is the name of the type, the second parameter is the place in the file where it was defined and the last parameter is its kind

    *)
  2. | Type_def of string * location * type_def * kind
    (*

    Tthe first parameter (string) is the name of the defined type, the second parameter is the place in the file where it was defined and the last parameter is its value

    *)
  3. | Term_decl of string * syntactic_behavior * location * type_def
    (*

    The first parameter (string) is the name of the constant, the second parameter is the place in the file where it was defined and the last parameter is its type

    *)
  4. | Term_def of string * syntactic_behavior * location * term * type_def
    (*

    The first parameter (string) is the name of the constant, the second parameter is the place in the file where it was defined and the last parameter is its value

    *)
Sourceand kind =
  1. | K of type_def list
Sourcetype lex_entry =
  1. | Type of string * location * type_def
  2. | Constant of string * location * term
OCaml

Innovation. Community. Security.