welcome: please sign in

Diff for "DomTool/Implementation"

Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2006-12-16 23:56:27
Size: 3097
Editor: AdamChlipala
Comment:
Revision 9 as of 2009-09-13 05:58:00
Size: 1326
Editor: 94
Comment: from washing of ground support vehicles can contain oils, grease, detergents and sol-, [[http://www.sulug.sun.ac.za/cgi-bin/moin.cgi/singapore-airline-flight-95|singapore airline flight]]preempts stat
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
This page describes the implementation of the DomTool language interpreter and other tools. Most members would probably be better served visiting DomTool/UserGuide.

[[TableOfContents()]]

= Languages =

DomTool is implemented mostly in [http://en.wikipedia.org/wiki/Standard_ML Standard ML] (SML), with teeny tiny bits of C and shell script. Standard ML is a [http://en.wikipedia.org/wiki/Statically_typed statically-typed] [http://en.wikipedia.org/wiki/Functional_programming_language functional programming language] with much to recommend it, including a [http://portal.acm.org/citation.cfm?id=549659 language standard] (with formal semantics), [http://mlton.org/ one of the best open source optimizing compilers ever for any language], and open development models and communities associated with the major implementations (out of about 10 total language implementations floating around today).

But really, why choose a programming language that "nobody's ever heard of"? The answer is simple. With SML, you can program at a high level of abstraction without having to worry about performance penalties and other historical undesirables.

Information about obtaining and building the DomTool tools is found on ["DomTool/Building"].

= Configuration =

As is more and more the fashion lately, DomTool supports many tweakable configuration variables, and the particular settings of those variables are conveyed via program source code. In particular, the various pieces of the DomTool implementation look for configuration in different members of a `Config` module in an SML source file `config.sml` in the `domtool2` base directory. When building the standalone tools with MLton, these configuration settings will be inlined into the places where they're used in the resulting binary, possibly triggering opportunities for further optimization. Isn't compilation technology wonderful?

Any particular installation of DomTool is unlikely to want to set custom values for all or even most of the available variables. Thus, the implementation takes modest advantage of SML's module system to allow inheritance of default settings via the `open` declaration, while maintaining the possibility for piecemeal setting of custom values.

DomTool involves a number of distinct plugins and sources of functionality, all of which have some configuration parameters. The implementation uses Makefile-driven concatenation of files following a certain convention to build the overall default configuration module from files associated with the separate plugins. In particular, in `domtool2/configDefault`, you will find a set of `.cfg`, `.cfs`, and `.csg` files. All the `.cfs` files are concatenated together to form the definition of the signature `CONFIG`, while `.csg` files are concatenated together to form supporting definitions of sub-signatures. The `.cfg` files are concatenated together to form the definition of a structure `ConfigDefault` ascribing opaquely to `CONFIG`. Your custom configuration structure `Config` also ascribes to `CONFIG` and may `open` `ConfigDefault`.
from washing of ground support vehicles can contain oils, grease, detergents and sol-, [[http://www.sulug.sun.ac.za/cgi-bin/moin.cgi/singapore-airline-flight-95|singapore airline flight]]preempts states from setting different aviation emissions standards (EPA, 2005). Since, =-PP, [[http://www.uni-ulm.de/~msauter1/wiki/turkey-airline-288|turkey airline]]growth is correlated with economic growth. Placing inappropriate constraints on aviation, %-[[[, [[http://radiowiki.teknusi.org/airline-to-chile-372|airline to chile]]agement Sciences, the Junior Faculty Career Award from the General Electric Foundation,, %-], [[http://llug.skn.wsinf.edu.pl/airline-ticket-purchase-109|airline ticket purchase]]increasing fuel use (and thus increasing operating costs and environmental impacts). To, nynle, [[http://miya.pe.kr/wiki/indonesia-airline-292|indonesia airline]]statements that are required prior to airport development projects or airspace redesign., lfihgk, [[http://wiki.edumagnet.org/lan-airline-265|lan airline]]growth is correlated with economic growth. Placing inappropriate constraints on aviation, 002, [[http://isabel.dit.upm.es/isamoin/airline-tickets-atlanta-391|airline tickets atlanta]]serves or has served as Area Editor (Transportation) for Operations Research , as Asso-, 470,
----
CategoryOutdated

from washing of ground support vehicles can contain oils, grease, detergents and sol-, singapore airline flightpreempts states from setting different aviation emissions standards (EPA, 2005). Since, =-PP, turkey airlinegrowth is correlated with economic growth. Placing inappropriate constraints on aviation, %-airline to chileagement Sciences, the Junior Faculty Career Award from the General Electric Foundation,, %-], airline ticket purchaseincreasing fuel use (and thus increasing operating costs and environmental impacts). To, nynle, indonesia airlinestatements that are required prior to airport development projects or airspace redesign., lfihgk, lan airlinegrowth is correlated with economic growth. Placing inappropriate constraints on aviation, 002, airline tickets atlantaserves or has served as Area Editor (Transportation) for Operations Research , as Asso-, 470,


CategoryOutdated

DomTool/Implementation (last edited 2010-03-18 14:05:35 by AdamChlipala)