FUNNEL  
     
   

 

  Introduction
  Papers
  Distribution
  Feedback
 

 

Introduction

Funnel is a programming language based on Functional Nets. Functional Nets combine key ideas of functional programming and Petri nets to yield a simple and general programming notation. They have their theoretical foundation in Join calculus.

Read our introduction to learn more about Functional Nets and Funnel. Our Overview of Functional Nets is the latest document describing Funnel.

The first prototype implementation is Funnel0, a dynamically typed version of Funnel. Funnel1 incorporates an experimental type system. This statically typed version of Funnel is introduced with release 5. The current release includes development tools for both dialects.

Funnel0 and Funnel1 programs are compiled into Funnel bytecodes. A virtual machine is executing these bytecodes. Both the compiler and the runtime system are implemented in Java. Therefore Funnel will run on any platform which has at least a Java Runtime Environment 1.2. Funnel programs itself can access the full Java API. The latest funnel compiler is also able to compile Funnel directly to Java bytecodes.
 

Papers

Distribution

The latest versions of Funnel is available for download. It is best installed on a Unix system with a Java Development Kit 1.2 or later. The current release contains a Funnel compiler with backends for Funnel- and Java-bytecodes. Furthermore, a new Funnel mode for Emacs is included. You can download this mode separately here.

The Java backend of the Funnel compiler uses Markus Dahm's BCEL library.

Release 9 from March 14, 2002:
download funnel-09.tar.gz or funnel-09.zip

Release 8 from April 5, 2001:
download funnel-08.tar.gz or funnel-08.zip

Release 7 from October 19, 2000:
download funnel-07.tar.gz or funnel-07.zip

Release 6 from August 16, 2000:
download funnel-06.tar.gz or funnel-06.zip

The Funnel Standard Library FSL is available as a separate download. FSL is a library of purely functional data structures implemented in Funnel. The library was developed by Yacine Saidji.

Feedback

Please send any suggestions, questions, bugs and whatever comments you have concerning Funnel to matthias.zenger@epfl.ch.

 
 
 
 
         Functional Nets - Programming Methods Laboratory - EPFL