source: tol/tol_pkg/_wiki_header.txt @ e8e5f61

1941-docker-image-to-testdevel
Last change on this file since e8e5f61 was 3a8f94f, checked in by Víctor de Buen <vdebuen@…>, 17 years ago

In-line wiki header must be written in an external file to avoid scape C characters

git-svn-id: ​https://www.tol-project.org/svn/tolp/trunk@1681 be4846ae-f051-483a-831f-b64e7d08527f

  • Property mode set to 100644
File size: 2.2 KB
Line 
1[[PageOutline]]
2= TOL Packages =
3TOL packages are objects of type NameBlock containinig libraries, tools and
4examples writen in TOL in order to help users to make an efficient and
5standarized use of the language.
6
7== Using TOL Packages ==
8The only requirement to use them is open source cross-platform sofware
9[http://www.gnu.org/software/wget/ wget] that is distributed with almost
10all linux systems. A Windows binary setup is available
11[http://downloads.sourceforge.net/gnuwin32/wget-1.11.4-1-setup.exe here].
12
13In order to load a package like !GraphTools in your code you only need to
14write
15{{{
16#Require GraphTools;
17}}}
18
19This command creates an object of type NameBlock with the same name in the
20global scope, so that subsequent calls from the same session does
21absolutely nothing. The command returns nothing in the current scope, ie is
22transparent to the browser !TolBase and for the contents of the sets,
23instances, etc. The first time you use a package in a computer it will be
24automatically installed from this public repository.
25
26If you want to upgrade to a newer version of a package you can call global
27function
28{{{
29Real UpgradePackage(Text PackageName)
30}}}
31In order to upgrade all local packages you can write
32{{{
33Real UpgradePackage("all")
34}}}
35
36== Building TOL Packages ==
37
38The package has a '''root directory''' whose name follows the CamelCase
39convention, and it will have a '''main file''' with the same name and
40extension {{{.tol}}} containing just one object of type NameBlock that is
41the '''engine''' of the package. From the NameBlock it will be loaded any
42file situated inside the root directory in an arbitrary hierarchy of
43subdirectories.
44
45Usually the directory have also an special directory called '''test''' where
46there standard TOL checking programs tha can be used also as examples of use.
47
48Some complex packages can require specific documentation that will be put in
49'''doc''' directory.
50
51When a package requires to load another packages the engine NameBlock will
52have the corresponding {{{#Require }}} orders before the first member.
53This information will be stored by the NameBlock and will be attached to the
54compressed OIS in order to be loaded before the caller package when a user
55requires it.
56
57== Available TOL Packages ==
Note: See TracBrowser for help on using the repository browser.