Expressible sharing for functional circuit description

  • Authors:
  • Matthew Naylor;Colin Runciman

  • Affiliations:
  • University of York, York, UK;University of York, York, UK

  • Venue:
  • Higher-Order and Symbolic Computation
  • Year:
  • 2009

Quantified Score

Hi-index 0.00

Visualization

Abstract

We consider the design of a circuit description library for a pure functional language where circuits are defined as functions and connected together by writing applicative expressions. Just like the return value of any other function in a functional program, the output of a circuit can be bound to a variable and referred to many times. Usually it is the programmer's intention that such references represent sharing of a circuit's output, implying a fanout structure. However, in a pure functional language, references are transparent and the circuit description library can only view finite graph-shaped circuit structures as infinitely expanded regular trees. To overcome this problem, we introduce expressible sharing, a technique in which the programmer expresses the fork-points present in a circuit in the same way that they express other circuit components like and-gates and or-gates. We define a library for circuit description which uses expressible sharing and demonstrate it on a small case-study.