1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
3
<META name="description"
4
content="Documentation for libctl, a Guile-based library for implementing flexible control files for scientific simulations.">
5
<TITLE>libctl Documentation</TITLE>
6
<LINK rel="Bookmark" title="libctl Manual" href="index.html">
7
<LINK rel="Bookmark" title="Ab Initio Physics Home Page"
8
href="http://ab-initio.it.edu">
9
<LINK rel="Contents" href="index.html">
10
<LINK rel="Copyright" href="license.html">
11
<LINK rel="Start" href="index.html">
12
<LINK rel="Next" href="introduction.html">
14
<BODY TEXT="#000000" BGCOLOR="#FFFFFF">
16
<h1 align=center>libctl</h1>
18
<p>Welcome to the manual for <b>libctl</b>, a Guile-based library
19
implementing flexible control files for scientific simulations!
21
This documentation is divided into the following sections, which you
22
should read roughly in order if you are new to libctl:
24
<h2><a href="introduction.html">Introduction</a></h2>
26
<p>The introductory section describes the motivation, history, and
27
high-level structure of libctl.
29
<h2><a href="basic-user.html">Basic User Experience</a></h2>
31
<p>Here, we disuss what a basic <b>ctl</b> control file looks like. From
32
this perspective, ctl is just another control-file format with lots of
35
<h2><a href="advanced-user.html">Advanced User Experience</a></h2>
37
<p>The advanced user can take advantage of the fact that the ctl file is
38
actually a Scheme program running in a full interpreter (called
39
Guile). Literally anything is possible, especially since the
40
simulation program can support dynamic passing of information back and
41
forth with the control file.
43
<h2><a href="user-ref.html">User Reference</a></h2>
45
<p>A compact listing of the various functions provided for the user by
48
<h2><a href="developer.html">Developer Experience</a></h2>
50
<p>libctl is powerful for the developer, too. One merely specifies an
51
abstract <b>specification file</b> that describes the information that
52
is exchanged with the ctl file, and nearly everything else is
55
<h2><a href="guile-links.html">Guile and Scheme Information</a></h2>
57
<p>Guile is a standard GNU program for adding scripting and extensibility
58
to software. It implements an embeddable interpreter for the Scheme
59
language. There are many places that you can go to learn more about
60
Guile and Scheme, and we link to a few of them here.
62
<h2><a href="license.html">License and Copyright</a></h2>
64
<p>libctl is free software under the <a
65
href="http://www.gnu.org/copyleft/lesser.html">GNU Lesser General
66
Public License</a> (GNU LGPL).
70
<p>If you have comments or questions regarding libctl, you can contact <a
71
href="http://web.mit.edu/stevenj/mosaic/steven.html" title="SGJ's home
72
page">Steven G. Johnson</a> at <a
73
href="mailto:stevenj@alum.mit.edu">stevenj@alum.mit.edu</a>.