Related articles |
---|
Compiler and VM for parallel graphreduction in JAVA thomas.mahler@essen.netsurf.de (Thomas Mahler) (1998-01-11) |
From: | "Thomas Mahler" <thomas.mahler@essen.netsurf.de> |
Newsgroups: | comp.compilers |
Date: | 11 Jan 1998 23:56:35 -0500 |
Organization: | INS - Informationstechnik, Netzwerke und Systeme Vertriebs-GmbH |
Keywords: | parallel, Java |
Hello everybody, During a research project on deviant logics I
implemented a parallel operating graphreduction machine and a simple
compiler for a lisp like language. The original implementation was in
SML. I ported this implementation to Java, so you can see it now live
on the web:
http://java.wiwi.uni-frankfurt.de:8080/java/owa/jr_qurres?vappletno=4965
Direct access to the Site is http://www.techno.net/pcl/pr-java Full
online documentation is available at the same location. A C++ version
is on the way, contact me if you're interested.
Short Introduction:
webLISP is an experimental Implementation of reflective functional
Programming. It contains a very simple Lexer and Parser for a
lambda-calculus language in lisp-syntax. The Lambda terms are compiled
to variablefree Combinator Graphs. The virtual Graph-Reduction-Machine
that reduces the Combinator-graph distinguishes between strict and
non-strict operations. Strict operations have to be evaluated even if
we obey lazy evaluation and can thus be evaluated in parallel to the
main computation. The parallel computations are added to a global
task pool, which is maintained by a stochastic scheduler.
Main Features:
- Lisp-like Syntax, Lisp Interpreter User Interface
- Applet, Standalone and ActiveX Server versions included
- Incremental Compilation to Combinatory Logic Graphs
- Implements lazy evaluation (Normal order reduction)
- The efficient Graph reduction Machine detects strict Operations
and performs parallel evaluation of the subgraphs
- Full AND/OR-Parallelism like in ParLisp
- Special P-Combinator for defining explicit parallel processes
- Save Printing of circular Expressions
- Interface layer to expose the webLISP virtual machine as an ActiveX Server
or as a JavaBean
Feel free to contact me if you want to comment on this work, have any
question etc. I'm generally interested in work on implementation
techniques for functional languages, parallel architectures and object
oriented systems. If you know of any resources that might be of
interesting for me please let me know.
best regards,
Thomas
mailto:thomas.mahler@essen.netsurf.de
http://www.techno.net/pcl
--
Return to the
comp.compilers page.
Search the
comp.compilers archives again.