metaLisp - Framework of Unified Programming Languages
Project metaLisp is a framework of arbitrary programming languages which are all implemented in QiYaccwhich is a BNF attribute grammar system for Qi (which is a language extension of Common Lisp).It supports all kinds of programming styles which are supported by Qi and Common Lisp: imperative, declarative, functional, object-orientedm ... Currently it is in its first development stages. Finally it could support all kinds of modern programming languages like Java, C#, Python, Ruby and PHP. The real meat is that software which is written in these languages can be compiled to Lisp, to native machine code, and to byte code for the Java Virtual Machine (JVM). Even XML and ancient languages (Fortran, Cobol, ...), as well as implementations of arbitrary study purpose languages and "graphical" languages are possible. The following diagram shows the basic concept of metaLisp. The difference between the approaches of metaLisp and the Java/.NET world is that metaLisp languages are implemented in high-level Lisp instead of low-level byte code. This has several advantages:
- The object code language is high level Lisp, not low level bytecode.
- Compiler optimizations can be done in the Lisp level, and they affect every language implementation.
- We can use the full power of mature Lisp implementations which are supported by Qi, for example CLisp, SBCL and ABCL.
The first language implementation is Pyle, which we can use to write Qi applications in a Python like syntax.It is a perfect example for the powerful expressiveness of QiYacc.
Read more ...
© 2010 Ingo Marks <email@example.com>. All Rights reserved.