80 research outputs found
The Dynamic Geometry of Interaction Machine: A Token-Guided Graph Rewriter
In implementing evaluation strategies of the lambda-calculus, both
correctness and efficiency of implementation are valid concerns. While the
notion of correctness is determined by the evaluation strategy, regarding
efficiency there is a larger design space that can be explored, in particular
the trade-off between space versus time efficiency. Aiming at a unified
framework that would enable the study of this trade-off, we introduce an
abstract machine, inspired by Girard's Geometry of Interaction (GoI), a machine
combining token passing and graph rewriting. We show soundness and completeness
of our abstract machine, called the \emph{Dynamic GoI Machine} (DGoIM), with
respect to three evaluations: call-by-need, left-to-right call-by-value, and
right-to-left call-by-value. Analysing time cost of its execution classifies
the machine as ``efficient'' in Accattoli's taxonomy of abstract machines.Comment: arXiv admin note: text overlap with arXiv:1802.0649
The Dynamic Geometry of Interaction Machine: A Call-by-Need Graph Rewriter
Girard's Geometry of Interaction (GoI), a semantics designed for linear logic
proofs, has been also successfully applied to programming language semantics.
One way is to use abstract machines that pass a token on a fixed graph along a
path indicated by the GoI. These token-passing abstract machines are space
efficient, because they handle duplicated computation by repeating the same
moves of a token on the fixed graph. Although they can be adapted to obtain
sound models with regard to the equational theories of various evaluation
strategies for the lambda calculus, it can be at the expense of significant
time costs. In this paper we show a token-passing abstract machine that can
implement evaluation strategies for the lambda calculus, with certified time
efficiency. Our abstract machine, called the Dynamic GoI Machine (DGoIM),
rewrites the graph to avoid replicating computation, using the token to find
the redexes. The flexibility of interleaving token transitions and graph
rewriting allows the DGoIM to balance the trade-off of space and time costs.
This paper shows that the DGoIM can implement call-by-need evaluation for the
lambda calculus by using a strategy of interleaving token passing with as much
graph rewriting as possible. Our quantitative analysis confirms that the DGoIM
with this strategy of interleaving the two kinds of possible operations on
graphs can be classified as "efficient" following Accattoli's taxonomy of
abstract machines
Rewriting Modulo Traced Comonoid Structure
In this paper we adapt previous work on rewriting string diagrams using hypergraphs to the case where the underlying category has a traced comonoid structure, in which wires can be forked and the outputs of a morphism can be connected to its input. Such a structure is particularly interesting because any traced Cartesian (dataflow) category has an underlying traced comonoid structure. We show that certain subclasses of hypergraphs are fully complete for traced comonoid categories: that is to say, every term in such a category has a unique corresponding hypergraph up to isomorphism, and from every hypergraph with the desired properties, a unique term in the category can be retrieved up to the axioms of traced comonoid categories. We also show how the framework of double pushout rewriting (DPO) can be adapted for traced comonoid categories by characterising the valid pushout complements for rewriting in our setting. We conclude by presenting a case study in the form of recent work on an equational theory for sequential circuits: circuits built from primitive logic gates with delay and feedback. The graph rewriting framework allows for the definition of an operational semantics for sequential circuits
- …