2000-11-25 22:34:05 +01:00
|
|
|
Scientific software for performing large computations is typically
|
|
|
|
managed using textual control files that specify the parameters of the
|
|
|
|
computation. Historically, these control files have typically
|
|
|
|
consisted of long, inflexible collections of numbers whose meaning and
|
|
|
|
format is hard-coded into the program. With libctl, we make it easy
|
|
|
|
for programmers to support a greatly superior control file structure,
|
|
|
|
and with less effort than was required for traditional input formats.
|
|
|
|
|
|
|
|
All of these goals are achieved by libctl with the help of Guile, the
|
|
|
|
GNU scripting and extensibility language. Guile does all of the hard
|
|
|
|
work for us, and allows us to embed a complete interpreter in a
|
|
|
|
program with minimal effort.
|
|
|
|
|
|
|
|
Despite its power, libctl is designed to be easy to use. A basic user
|
2001-01-21 05:49:44 +01:00
|
|
|
only sees a convenient file format with a programming language to
|
2000-11-25 22:34:05 +01:00
|
|
|
back it up if her needs become more complex. For the programmer, all
|
|
|
|
headaches associated with reading input files are lifted--once an
|
|
|
|
abstract specification is supplied, all interaction with the user is
|
|
|
|
handled automatically.
|