bug-apl
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Bug-apl] How to organize programs


From: David B. Lamkins
Subject: Re: [Bug-apl] How to organize programs
Date: Mon, 26 Dec 2016 10:39:31 -0800
User-agent: Mutt/1.7.1 (2016-10-04)

There are a couple of existing guidelines. If you poke around in wslib5, you'll 
see examples of both.


http://www.gnu.org/software/apl/Library-Guidelines.html

This is intended for modern APLs (i.e. those which are able to load APL 
programs as Unicode) in general; this document links to another which admits 
GNU APL extensions.

Hallmarks of this approach include separating libraries into different 
workspaces according to functionality and generality, and the inclusion of 
metadata within the APL file.


Another approach is taken by my package manager.

https://github.com/TieDyedDevil/apl-pkg/blob/master/doc/TUTORIAL.md
https://github.com/TieDyedDevil/apl-pkg/blob/master/doc/API.md

This is a more heavyweight approach, depending as it does on the mechanisms of 
the package manager.

At the moment, the package manager runs only on GNU APL. The architecture and 
design, however, will eventually accomodate any modern APL (again, defined by 
the ability to load Unicode files). In the long run, the package manager will 
be aware of versioned packages (and constraints on loading those packages) and 
will be able to pull packages across the `net.



On Mon, Dec 26, 2016 at 05:53:22PM +0100, Alexey Veretennikov wrote:
> Hi,
> 
> The question is rather silly but raised since earlier in discussion
> Jurgen mentioned what the workspaces is the outdate way to work with
> APL.
> 
> So what is the current (modern) ways supported by GNU APL would be?
> I could imagine the organization of the program the following:
> 1) set of UTF-8 text files containing functions (possibly 1 function per file)
> 2) one main script file loading these functions, setting the data
> variables and performing the execution.
> 
> In the old ways it could be the main workspace which copies necessary
> functions from other workspaces as a part of commands from ⎕LX variable
> and performing the execution.
> 
> In addition Dyalog APL provides something called SALT - Simple APL
> Library Toolkit - a way to organize APL objects as a separate files and
> manipulate them. From the documentation: "One of SALT's function, Snap ,
> also enables the construction of a directory structure corresponding to
> the namespace structure of a workspace, where each file in the structure
> contains the script of an APL object in the workspace."
> 
> 
> -- 
> Br,
> /Alexey
> 
> 



reply via email to

[Prev in Thread] Current Thread [Next in Thread]