Home

remtypes

Remtypes are a concept in type theory and programming language design that annotate data with information about how values are moved or accessed across computation boundaries, such as between processes, machines, or security contexts. They attach movement semantics to traditional types, enabling the compiler and runtime to enforce safe cross-boundary interaction.

Origins and motivation: In distributed and capability-based systems, passing references or values across boundaries can lead

Structure and semantics: A remtype annotation attaches to a type to express its remote behavior. Typical categories

Usage and examples: Remtypes appear in theoretical discussions of distributed type systems and in experimental languages

Relation to related ideas: Remtypes relate to serialization, marshalling, remote references, and ownership or capability-based type

to
safety
violations
if
references
become
invalid,
if
shared
mutable
state
is
uncontrolled,
or
if
data
is
not
properly
serialized.
Remtypes
provide
a
framework
to
describe
whether
a
value
can
be
copied,
whether
only
a
serializable
form
can
cross
the
boundary,
and
how
lifetimes
are
managed.
include
local
(opaque
within
the
local
boundary),
remote-copy
(the
value
can
be
copied
and
sent
across),
remote-reference
(a
reference
to
a
remote
object),
and
detachable
(the
value
can
be
moved
and
relocated).
Type-checking
rules
ensure
that
operations
on
remtypes
obey
boundary
constraints,
and
runtime
support
may
serialize
data
or
recreate
remote
references
safely.
and
frameworks
that
implement
safe
cross-boundary
communication,
such
as
RPC
systems,
dataflow
engines,
or
microservice
architectures.
They
help
prevent
aliasing
hazards,
ensure
consistent
serialization,
and
clarify
ownership
semantics.
systems.
They
are
typically
orthogonal
to
the
base
data
types
and
work
as
annotations
or
qualifiers.