[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Published April 10, 2019 | Version 2
Journal article Open

Finite␣Automata␣Theory␣Based␣Optimization␣of␣Conditional Variable␣Binding

  • 1. EPITA

Description

We present an efficient and highly optimized implementation of
  destructuring-case in Common Lisp  This macro allows the selection
  of the most appropriate destructuring lambda list of several given
  based on structure and types of data at run-time and thereafter
  dispatches to the corresponding code branch.  We examine an
  optimization technique, based on finite automata theory applied to
  conditional variable binding and execution, and type-based pattern
  matching on Common Lisp sequences.  A risk of inefficiency associated with a
  naive implementation of destructuring-case is that the
  candidate expression being examined may be traversed multiple times,
  once for each clause whose format fails to match, and finally once
  for the successful match.  We have implemented
  \destructuring-case in such a way to avoid multiple traversals
  of the candidate expression.  This article explains how this
  optimization has been implemented.

Files

newton.19.els.pdf

Files (694.9 kB)

Name Size Download all
md5:afc5b1de09245c3744f53c7720c7cb88
694.9 kB Preview Download