Script Maintenance

Classes and Utilities

The tools described here are a variation on the earlier APL Utilities approach to delivering common code across a number of Dyalog APL applications.  It uses functionality introduced in APL/W Version 11 (specifically namespace and class scripts), with the benefits

Note that the code described here is a simplistic alternative to the SALT code management tools included in the Dyalog APL/W Version 11 product.

Development Environment and Methodology

Essentially nothing has changed since the earlier paper

Note that, at the moment, this work is in a shakedown phase and may be subject to change (this document should be updated to keep in step, but it's worth checking).


Script File Format

Scripts are held as Unicode files, read/write code is a minor modification of code supplied by Dyalog as part of the APL/W product.  Notice the implication that not only can these files be displayed meaningfully outside of the APL environment, they may also be changed there - this is not recommended.

Over and above the default Dyalog script format there's some use of stylised comments.

:Saved 2006 9 12 14 2 51 921

Last-save timestamp

This commenting convention may be modified (or scrapped) in the future.

Namespaces and Paths

As with the earlier utility approach, scripts are loaded into nominated namespaces and  ⎕path is extended as loading takes place.

Script Loads and Saves

A goal is to minimise the amount of code which needs to be manually copied into each application (and recopied in the event of changes).  The previous utility code relied on two functions and a variable, this has been reduced to

The (present) assumption is that utility load/save code is held in a file called utilloader.dyalog one step up the folder structure from the application (this is probably going to be rethought)

Script Changes On-the-fly

At present this is somewhat crude.

At some future date it is intended that this mechanism will be made more sophisticated – for now, it serves its (carefully-used) purpose of getting development with scripts off the ground.

Script Maintenance

There's a class maintenance application which lets you review what classes you have, and their internals. Although script files are viewable and editable within NotePad (and other extra-APL editors) it seems wisest to try to keep active script editing within the APL development environment – at least for now.

The script maintenance application displays this form...

Technical Description

Some pseudo-globals are used (they are actually defined as functions within the script-handling script, but used as globals therein).


Default folder containing scripts


A table of script names and intended in-workspace location (the namespace the script is loaded into)

Support and Queries

Dogon Script Maintenance is available on a no-charge as-is basis; there is no formal support, but queries and suggestions may be sent to Dogon Research.

The APL code (which may be obtained on request from Dogon Research) is copyright © Dogon Research 2003-2006, but may be copied for personal use; commercial use is strictly prohibited. The executable version may not be reverse-engineered.

Copyright © Dogon Research Ltd., 2003-2006