410 research outputs found
Normal-order reduction grammars
We present an algorithm which, for given , generates an unambiguous
regular tree grammar defining the set of combinatory logic terms, over the set
of primitive combinators, requiring exactly normal-order
reduction steps to normalize. As a consequence of Curry and Feys's
standardization theorem, our reduction grammars form a complete syntactic
characterization of normalizing combinatory logic terms. Using them, we provide
a recursive method of constructing ordinary generating functions counting the
number of -combinators reducing in normal-order reduction steps.
Finally, we investigate the size of generated grammars, giving a primitive
recursive upper bound
Mixin Composition Synthesis based on Intersection Types
We present a method for synthesizing compositions of mixins using type
inhabitation in intersection types. First, recursively defined classes and
mixins, which are functions over classes, are expressed as terms in a lambda
calculus with records. Intersection types with records and record-merge are
used to assign meaningful types to these terms without resorting to recursive
types. Second, typed terms are translated to a repository of typed combinators.
We show a relation between record types with record-merge and intersection
types with constructors. This relation is used to prove soundness and partial
completeness of the translation with respect to mixin composition synthesis.
Furthermore, we demonstrate how a translated repository and goal type can be
used as input to an existing framework for composition synthesis in bounded
combinatory logic via type inhabitation. The computed result is a class typed
by the goal type and generated by a mixin composition applied to an existing
class
A Semantic Approach to Illative Combinatory Logic
This work introduces the theory of illative combinatory algebras,
which is closely related to systems of illative combinatory logic. We
thus provide a semantic interpretation for a formal framework in which
both logic and computation may be expressed in a unified
manner. Systems of illative combinatory logic consist of combinatory
logic extended with constants and rules of inference intended to
capture logical notions. Our theory does not correspond strictly to
any traditional system, but draws inspiration from many. It differs
from them in that it couples the notion of truth with the notion of
equality between terms, which enables the use of logical formulas in
conditional expressions. We give a consistency proof for first-order
illative combinatory algebras. A complete embedding of classical
predicate logic into our theory is also provided. The translation is
very direct and natural
Variable elimination for building interpreters
In this paper, we build an interpreter by reusing host language functions
instead of recoding mechanisms of function application that are already
available in the host language (the language which is used to build the
interpreter). In order to transform user-defined functions into host language
functions we use combinatory logic : lambda-abstractions are transformed into a
composition of combinators. We provide a mechanically checked proof that this
step is correct for the call-by-value strategy with imperative features.Comment: 33 page
- …