summaryrefslogtreecommitdiff
path: root/devel/libctl/DESCR
blob: b3c28c23aba1c2ad48cb5fda1d0425ca11a6b664 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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
only sees a convenient file format with a programming language to
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.