Implementation and Application of Functional Languages

Within the context of the FITTEST project, one of our tasks was to instrument ActionScript bytecode, so that aspects of the execution of the running application are logged. Although the decision what to log and when requires manual intervention, the code itself can be weaved into the system automatically by means of aspect-oriented programming (AOP). In this paper we describe Asil, an AOP EDSL for instrumenting ActionScript bytecode, that is firmly based on well-known functional programming technique to provide abstraction mechanisms that other AOP languages tend to lack.

[1]  Lee Naish Declarative Debugging of Lazy Functional Programs , 1992, LPE.

[2]  Koen Claessen,et al.  QuickCheck: a lightweight tool for random testing of Haskell programs , 2011, SIGP.

[3]  Mary Sheeran,et al.  muFP, a language for VLSI design , 1984, LFP '84.

[4]  Colin Runciman,et al.  The reduceron reconfigured , 2010, ICFP '10.

[5]  Robert Glück,et al.  Towards a Reversible Functional Language , 2011, RC.

[6]  Benedict du Boulay,et al.  Effect of Format on Information and Problem Solving , 1991 .

[7]  Robert Wille,et al.  Towards a Design Flow for Reversible Logic , 2010 .

[8]  Colin Runciman,et al.  Tracing Lazy Functional Computations Using Redex Trails , 1997, PLILP.

[9]  Guy Lapalme,et al.  LISP AND SYMBOLIC COMPUTATION: An International Journal, ?, ??-??, 2004 c 2004 Kluwer Academic Publishers - Manufactured in The Netherlands A debugging environment for lazy functional languages , 2004 .

[10]  Henrik Nilsson,et al.  Algorithmic Debugging for Lazy Functional Languages , 1994, J. Funct. Program..

[11]  Daniel Jackson,et al.  Software Abstractions - Logic, Language, and Analysis , 2006 .

[12]  Alastair William Penney Augmenting trace-based functional debugging , 1999 .

[13]  P. H. Testing an Optimising Compiler by Generating Random Lambda Terms , 2012 .

[14]  Holger Bock Axelsen,et al.  Reversible arithmetic logic unit for quantum arithmetic , 2010 .

[15]  Colin Runciman,et al.  Multiple-View Tracing for Haskell: a New Hat , 2001 .

[16]  Peter Sestoft,et al.  Deriving a lazy abstract machine , 1997, Journal of Functional Programming.

[17]  Susumu Katayama Systematic search for lambda expressions , 2005, Trends in Functional Programming.

[18]  Tommaso Toffoli,et al.  Reversible Computing , 1980, ICALP.

[19]  Mary Sheeran Hardware Design and Functional Programming: a Perfect Match , 2005, J. Univers. Comput. Sci..

[20]  R. M. Snyder,et al.  Lazy debugging of lazy functional programs , 2009, New Generation Computing.

[21]  Andreas Abel foetus - Termination Checker for Simple Functional Programs , 2002 .

[22]  Cordelia V. Hall,et al.  Debugging in applicative languages , 1988, LISP Symb. Comput..

[23]  Robert Wille,et al.  SyReC: A Programming Language for Synthesis of Reversible Circuits , 2010, FDL.

[24]  Colin Runciman,et al.  Smallcheck and lazy smallcheck: automatic exhaustive testing for small values , 2008, Haskell '08.

[25]  PowerPC LispWorks,et al.  The GCL ANSI Common Lisp Test Suite , 2022 .

[26]  Jonathan Paul Taylor Presenting the Lazy Evaluation of Functions , 2013 .

[27]  Simon Marlow,et al.  A lightweight interactive debugger for haskell , 2007, Haskell '07.

[28]  Abdulazeez S. Boujarwah,et al.  Compiler test case generation methods: a survey and assessment , 1997, Inf. Softw. Technol..

[29]  Will Partain,et al.  The nofib Benchmark Suite of Haskell Programs , 1992, Functional Programming.

[30]  Barenco,et al.  Quantum networks for elementary arithmetic operations. , 1995, Physical review. A, Atomic, molecular, and optical physics.

[31]  Holger Bock Axelsen,et al.  Parallelization of Reversible Ripple-Carry Adders , 2009, Parallel Process. Lett..

[32]  de Ng Dick Bruijn Lambda calculus notation with nameless dummies, a tool for automatic formula manipulation, with application to the Church-Rosser theorem , 1972 .