Libctl manual

From AbInitio

(Difference between revisions)
Jump to: navigation, search
Revision as of 23:11, 15 October 2005 (edit)
Stevenj (Talk | contribs)

← Previous diff
Current revision (01:18, 28 March 2006) (edit)
Stevenj (Talk | contribs)

 
Line 1: Line 1:
-{{libctl}}+{{libctl}} __NOTOC__
Welcome to the manual for '''libctl''', a Guile-based library implementing flexible control files for scientific simulations! This documentation is divided into the following sections, which you should read roughly in order if you are new to libctl: Welcome to the manual for '''libctl''', a Guile-based library implementing flexible control files for scientific simulations! This documentation is divided into the following sections, which you should read roughly in order if you are new to libctl:
-== [[libctl Introduction]] ==+* [[libctl Introduction|Introduction]] — The introductory section describes the motivation, history, and high-level structure of libctl.
 +* [[libctl Basic User Experience|Basic User Experience]] — Here, we disuss what a basic '''ctl''' control file looks like. From this perspective, ctl is just another control-file format with lots of parentheses.
 +* [[libctl Advanced User Experience|Advanced User Experience]] — The advanced user can take advantage of the fact that the ctl file is actually a Scheme program running in a full interpreter (called Guile). Literally anything is possible, especially since the simulation program can support dynamic passing of information back and forth with the control file.
 +* [[libctl User Reference|User Reference]] — A compact listing of the various functions provided for the user by libctl.
 +* [[libctl Developer Experience|Developer Experience]] — libctl is powerful for the developer, too. One merely specifies an abstract '''specification file''' that describes the information that is exchanged with the ctl file, and nearly everything else is automatic.
 +* [[Guile and Scheme Information]] — Guile is a standard GNU program for adding scripting and extensibility to software. It implements an embeddable interpreter for the Scheme language. There are many places that you can go to learn more about Guile and Scheme, and we link to a few of them here.
 +* [[libctl License and Copyright|License and Copyright]] — libctl is free software under the [http://www.gnu.org/copyleft/gpl.html GNU General Public License] (GNU LGPL).
-The introductory section describes the motivation, history, and high-level structure of libctl.+== All on one page ==
-== [[libctl Basic User Experience]] ==+For printing, it is convenient to use a version of this manual that is all on one page:
-Here, we disuss what a basic '''ctl''' control file looks like. From this perspective, ctl is just another control-file format with lots of parentheses.+:[[The libctl Manual]]
- +
-== [[libctl Advanced User Experience]] ==+
- +
-The advanced user can take advantage of the fact that the ctl file is actually a Scheme program running in a full interpreter (called Guile). Literally anything is possible, especially since the simulation program can support dynamic passing of information back and forth with the control file.+
- +
-== [[libctl User Reference]] ==+
- +
-A compact listing of the various functions provided for the user by libctl.+
- +
-== [[libctl Developer Experience]] ==+
- +
-libctl is powerful for the developer, too. One merely specifies an abstract '''specification file''' that describes the information that is exchanged with the ctl file, and nearly everything else is automatic.+
- +
-== [[libctl Guile and Scheme Information]] ==+
- +
-Guile is a standard GNU program for adding scripting and extensibility to software. It implements an embeddable interpreter for the Scheme language. There are many places that you can go to learn more about Guile and Scheme, and we link to a few of them here.+
- +
-== [[libctl License and Copyright]] ==+
- +
-libctl is free software under the [http://www.gnu.org/copyleft/lesser.html GNU Lesser General Public License] (GNU LGPL).+
== Feedback == == Feedback ==
Line 34: Line 20:
If you have comments or questions regarding libctl, you can contact [http://math.mit.edu/~stevenj Steven G. Johnson] at [mailto:stevenj@alum.mit.edu stevenj@alum.mit.edu]. If you have comments or questions regarding libctl, you can contact [http://math.mit.edu/~stevenj Steven G. Johnson] at [mailto:stevenj@alum.mit.edu stevenj@alum.mit.edu].
-{{Category:libctl}}+[[Category:libctl]]

Current revision

libctl
Manual: Introduction
Basic User Experience
Advanced User Experience
User Reference
Developer Experience
Guile and Scheme links
License and Copyright

Welcome to the manual for libctl, a Guile-based library implementing flexible control files for scientific simulations! This documentation is divided into the following sections, which you should read roughly in order if you are new to libctl:

  • Introduction — The introductory section describes the motivation, history, and high-level structure of libctl.
  • Basic User Experience — Here, we disuss what a basic ctl control file looks like. From this perspective, ctl is just another control-file format with lots of parentheses.
  • Advanced User Experience — The advanced user can take advantage of the fact that the ctl file is actually a Scheme program running in a full interpreter (called Guile). Literally anything is possible, especially since the simulation program can support dynamic passing of information back and forth with the control file.
  • User Reference — A compact listing of the various functions provided for the user by libctl.
  • Developer Experience — libctl is powerful for the developer, too. One merely specifies an abstract specification file that describes the information that is exchanged with the ctl file, and nearly everything else is automatic.
  • Guile and Scheme Information — Guile is a standard GNU program for adding scripting and extensibility to software. It implements an embeddable interpreter for the Scheme language. There are many places that you can go to learn more about Guile and Scheme, and we link to a few of them here.
  • License and Copyright — libctl is free software under the GNU General Public License (GNU LGPL).

All on one page

For printing, it is convenient to use a version of this manual that is all on one page:

The libctl Manual

Feedback

If you have comments or questions regarding libctl, you can contact Steven G. Johnson at stevenj@alum.mit.edu.

Personal tools