FUNNEL | ||||||
---|---|---|---|---|---|---|
|
IntroductionFunnel 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.
DistributionThe 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.
FeedbackPlease send any suggestions, questions, bugs and whatever comments you have concerning Funnel to matthias.zenger@epfl.ch. |
|
|
||||||
|