typed lambda-calculus - определение. Что такое typed lambda-calculus
Diclib.com
Словарь ChatGPT
Введите слово или словосочетание на любом языке 👆
Язык:

Перевод и анализ слов искусственным интеллектом ChatGPT

На этой странице Вы можете получить подробный анализ слова или словосочетания, произведенный с помощью лучшей на сегодняшний день технологии искусственного интеллекта:

  • как употребляется слово
  • частота употребления
  • используется оно чаще в устной или письменной речи
  • варианты перевода слова
  • примеры употребления (несколько фраз с переводом)
  • этимология

Что (кто) такое typed lambda-calculus - определение

FORMAL SYSTEM IN MATHEMATICAL LOGIC
Simply-typed lambda calculus; Simply typed lambda; Bidirectional type checking; Simply typed lambda-calculus; Simply typed λ-calculus; Simply typed λ calculus; Λ→
Найдено результатов: 415
typed lambda-calculus      
<theory> (TLC) A variety of lambda-calculus in which every term is labelled with a type. A function application (A B) is only synctactically valid if A has type s --> t, where the type of B is s (or an instance or s in a polymorphic language) and t is any type. If the types allowed for terms are restricted, e.g. to Hindley-Milner types then no term may be applied to itself, thus avoiding one kind of non-terminating evaluation. Most functional programming languages, e.g. Haskell, ML, are closely based on variants of the typed lambda-calculus. (1995-03-25)
Typed lambda calculus         
TYPED FORMALISM THAT USES THE LAMBDA-SYMBOL (Λ) TO DENOTE ANONYMOUS FUNCTION ABSTRACTION
Typed lambda calculi
A typed lambda calculus is a typed formalism that uses the lambda-symbol (\lambda) to denote anonymous function abstraction. In this context, types are usually objects of a syntactic nature that are assigned to lambda terms; the exact nature of a type depends on the calculus considered (see kinds below).
beta conversion         
<theory> A term from lambda-calculus for beta reduction or beta abstraction. (1999-01-15)
Lambda calculus         
Lambda calculus (also written as λ-calculus) is a formal system in mathematical logic for expressing computation based on function abstraction and application using variable binding and substitution. It is a universal model of computation that can be used to simulate any Turing machine.
alpha conversion         
<theory> In lambda-calculus and reduction, the renaming of a formal parameter in a lambda abstraction. This does not change the meaning of the abstraction. For example: x . x+1 <--> y . y+1 If the actual argument to a lambda abstraction contains instances of the abstraction's formal parameter then it is necessary to rename the parameter before applying the abstraction to avoid name capture. (1995-05-10)
eta reduction         
lambda abstraction         
A term in lambda-calculus denoting a function. A lambda abstraction begins with a lower-case lambda (represented as "" in this document), followed by a variable name (the "bound variable"), a full stop and a lambda expression (the body). The body is taken to extend as far to the right as possible so, for example an expression, x . y . x+y is read as x . ( y . x+y). A nested abstraction such as this is often abbreviated to: x y . x + y The lambda expression ( v . E) denotes a function which takes an argument and returns the term E with all free occurrences of v replaced by the actual argument. Application is represented by juxtaposition so ( x . x) 42 represents the identity function applied to the constant 42. A lambda abstraction in Lisp is written as the symbol lambda, a list of zero or more variable names and a list of zero or more terms, e.g. (lambda (x y) (plus x y)) Lambda expressions in Haskell are written as a backslash, "", one or more patterns (e.g. variable names), "->" and an expression, e.g. x -> x. (1995-01-24)
beta reduction         
[lambda-calculus] The application of a {lambda abstraction} to an argument expression. A copy of the body of the lambda abstraction is made and occurrences of the {bound variable} being replaced by the argument. E.g. ( x . x+1) 4 --> 4+1 Beta reduction is the only kind of reduction in the {pure lambda-calculus}. The opposite of beta reduction is {beta abstraction}. These are the two kinds of beta conversion. See also name capture.
eta conversion         
<theory> In lambda-calculus, the eta conversion rule states x . f x <--> f provided x does not occur as a free variable in f and f is a function. Left to right is eta reduction, right to left is eta abstraction (or eta expansion). This conversion is only valid if bottom and x . bottom are equivalent in all contexts. They are certainly equivalent when applied to some argument - they both fail to terminate. If we are allowed to force the evaluation of an expression in any other way, e.g. using seq in Miranda or returning a function as the overall result of a program, then bottom and x . bottom will not be equivalent. See also observational equivalence, reduction.
eta expansion         

Википедия

Simply typed lambda calculus

The simply typed lambda calculus ( λ {\displaystyle \lambda ^{\to }} ), a form of type theory, is a typed interpretation of the lambda calculus with only one type constructor ( {\displaystyle \to } ) that builds function types. It is the canonical and simplest example of a typed lambda calculus. The simply typed lambda calculus was originally introduced by Alonzo Church in 1940 as an attempt to avoid paradoxical use of the untyped lambda calculus.

The term simple type is also used to refer extensions of the simply typed lambda calculus such as products, coproducts or natural numbers (System T) or even full recursion (like PCF). In contrast, systems which introduce polymorphic types (like System F) or dependent types (like the Logical Framework) are not considered simply typed. The simple types, except for full recursion, are still considered simple because the Church encodings of such structures can be done using only {\displaystyle \to } and suitable type variables, while polymorphism and dependency cannot.