Home

Llambda

Llambda is a hypothetical formal framework in theoretical computer science that extends the lambda calculus with a linear type discipline to model resource usage in computation. The name signals the combination of linearity concepts with lambda abstraction, and the framework is used to reason about how often a value is used and how memory is managed during evaluation.

Terms and types in Llambda are built from variables, lambda abstractions, and applications, similar to standard

Evaluation follows a form of beta reduction with linear constraints: (λx. t) u reduces to t[x := u],

Llambda sits conceptually between the standard lambda calculus and linear logic, offering a lens on how function

Example terms illustrate the idea: λx. x is a linear identity function, using its argument exactly once.

lambda
calculus.
The
type
system
introduces
linear
function
types,
written
A
⊸
B,
where
an
argument
of
type
A
must
be
consumed
exactly
once,
and
unrestricted
types,
written
!A,
which
permit
duplication
or
erasure.
A
term
is
well-typed
if
its
free
variables
are
used
in
accordance
with
their
types.
but
only
when
the
substitution
respects
linear
usage.
Linear
variables
cannot
be
duplicated
or
discarded
unless
they
are
wrapped
in
the
!
modality,
which
lifts
a
linear
type
to
an
unrestricted
one.
This
yields
a
substructural
form
of
evaluation
that
explicitly
tracks
resource
usage.
application
interacts
with
data
usage
and
memory
management.
It
serves
as
a
theoretical
tool
for
exploring
resource-sensitive
computation
and
has
influenced
teaching
and
research
in
programming
language
theory.
More
complex
terms
may
require
the
!
modality
to
permit
duplication,
depending
on
the
chosen
presentation
of
the
rules.