Ikiwiki is a wiki compiler. It converts wiki pages into HTML pages suitable for publishing on a website. Ikiwiki stores pages and history in a revision control system such as Subversion or Git. There are many other features, including support for blogging, as well as a large array of plugins.
AtomicWiki is entirely based on the Atom Publishing Protocol and syndication format. All entries are stored as Atom feeds. The Atom Publishing Protocol is used to create and manipulate feeds and entries. The entire system is implemented in XQuery and XSLT with the help of some Javascript for the AJAX goodies (like in-page comment editing). What makes the software really powerful is its tight integration with XQuery and XML databases. Macros and extensions to the wiki syntax are implemented as XQuery functions. XQuery code can also be directly embedded into an Atom entry to generate dynamic content. The eXist weblog is powered by AtomicWiki.
Grammar Based Definition Of Metaprogramming Systems Program-Transformation.Org: The Program Transformation Wiki Robert Cameron? and Robert Ito?. Grammar-Based Definition of Metaprogramming Systems. ACM Transactions on Programming Languages and Systems Vol. 6, No. 1, January 1984, Pages 20-54. (ACM Digital Library) Summary This paper describes the GRAMPS method for meta-programming. GRAMPS stands for GRAmmar-based MetaProgramming Scheme. The method basically describes how abstract syntax tree? manipulation can be done in a general-purpose programming language. Given an API for analyzing and constructing syntax trees, transformations can be expressed.
Staged Meta Programming * MetaML does not restrict the stages to only run or compile Template Meta Programming * Template Haskell * C++ Templates Macro Systems Lexical macro systems are often independent of specific PL. Macro system that operate on a structured representations of source code are called syntax macros. Some macro systems allow the definition of a context-free syntax for the arguments of the macro. Hygience macro systems avoid unintended capturing of identifiers that are used in the context or in the macro definition. * Lisp Macros * Scheme R5RS Macros * Syntax macros in Bigwig * Maya Aspect-Oriented Programming * AspectJ * AspectL Quotation and Antiquotation * Camlp4 * SML/NJ Object Language Embedding with Quote/Antiquote * Isabelle's Logics * Programmable Syntax Macros * Meta Programming with Concrete Object Syntax Systems * GRAMPS
NestedVM translated C (actually any language supported by GCC) programs to JVM bytecode. You can find some more information at http://nestedvm.ibex.org. How it works * Paper * Talk How to use it * Quick Start Guide * David Aubin's Cygwin Building Guide * Building Tips * Unix Runtime (a.k.a. "What the heck does this error mean about unknown syscall") Similar Projects * Cibyl
LambdaVM is a JVM backend for GHC. It is available at http://darcs.brianweb.net/ghc. October, 2008 Update See http://www.cs.rit.edu/~bja8464/lambdavm/ Documentation * Building Guide * FFI * Exceptions * Concurrency Misc Notes * Implementation * Todo * NestedVM Integration