Interscript Homepage

What is interscript?

Interscript is a literate programming (LP) tool, like Knuths Web, C_Web Nu-Web, Funnel-Web, and other such tools which are used to separate code and documentation sections from an integrated source tree. Such tools typically have two functions:

  1. Tangling: extracting the code tree
  2. Weaving: generating the documentation

Why is interscript different?

Corresponding to the two kinds of information stored in an LP file, namely code and documentation, conventional LP languages partition the file into two kinds of sections:

  1. Code sections
  2. Documentation sections
Typically, these sections are tagged using the LP control language, which is typically a primitive though specialised kind of markup language.

Interscript is different, because the fundamental paradigm is extended so that there are three kinds of LP sections in file:

  1. Code sections
  2. Documentation sections
  3. Scripting sections
where the scripting sections contain a scripting language which is used to control and possibly generate both documentation and code.

Which scripting language does interscript use?

Interscript uses a powerful and complete programming language with an extensive library and huge body of public support, namely Python as the client scripting language.

This makes sense, because interscript itself is written in literate programmed python, allowing the client a multi-faceted method of extending interscript both in the traditional manner of modifying the sources, and also by scripting from within client documents.

What languages can I literate program?

Do you want the short or long answer first? :-)

The short answer is: anything.

The long answer is: what do you mean by language?

  1. Documentation can be in any human language script
  2. Code can be any programming language
  3. Typesetting can be for any typesetter/viewer you like

Download

interscript web

download tarball (832347 bytes)

interscript anonymous cvs download:
cvs -d:pserver:anonymous@cvs.interscript.sourceforge.net:/cvsroot/interscript login

interscript administrator

Interscript originator John Skaller