The Fabl implementation consists of a kernel written in C, and of a body of code written in Fabl itself, and stored in Fabl's binary RDF format. Storage management, basic triple-store manipulation, and the virtual machine are implemented in C, while the scanner, parser, type analyzer, and assembler are in Fabl. The various utilities that make up the language core are parceled between C and Fabl based on considerations of efficiency and ease of bootstrapping.
Since Fabl is self-implemented in large degree, it provides a substantial test suite for its own functionality (that is, "Fabl is its own dog food").
Fabl makes use of the Raptor RDF Parser Toolkit for parsing RDF in the traditional XML and N-triple formats. Raptor is mature, so the parsing itself can be expected to be robust, but the use of Fabl to manipulate RDF derived from conventional syntax has only been lightly tested.
Two additional documents about Fabl are planned:
The Fabl Meta Manual will describe Fabl's representation of code as RDF, the utilities available for manipulation code in this representation, and Fabl's self-implementation. Basic information about this topic is available in the paper Describing Computation within RDF.
The Fabl Kernel Description will cover the portion of Fabl implemented in C.
In addition, another mode of operation is planned for Fabl beyond the current interactive and cgi handler modes. Fabl will be configurable as a persistent triple-store, using the Prevayler approach.