APLTreeUtils is part of the CategoryAplTree project.

Many classes in the APLTree project (with the notable exception of ADOC which is self-content) :Include the namespace script APLTreeUtils.

That means that before you can load successfully one of these classes you must make sure that the namespace script #.APLTreeUtils is already in the current workspace. (If you use ScriptManager it will deal with that for you)

Note that all functions in APLTreeUtils are independent from ⎕IO as well as ⎕ML.

Although APLTreeUtils is designed to be included in classes there is nothing wrong with calling its functions from outside like this:


List of functions

CreateUUID              ⍝ Returns a UUID. See http://goo.gl/aa6V (Wikipedia) for details.
DropEmptyZerosAndBlanks ⍝ Drop empty vectors as well as all items consisting of either ' ' or 0 from ⍵.
Enlist                  ⍝ Flattens the right argument no matter what it is.
FindPathTo              ⍝ Useful to find a certain script in the workspace.
First                   ⍝ Returns the first scalar of its right argument no matter what `⎕ML` is.
FormatDateTime          ⍝ Formats one ⍺to many date.
GetOperatingSystem      ⍝ Takes `⍬` as right argument and returns a three-item vector like "Win", "AIX", "Mac" or "Lin".
GoToWebPage             ⍝ Fires up the default browser and displays the page specified as right argument.
IsChar                  ⍝ Returns a 1 if the right argument is of type Char.
IsDevelopment           ⍝ Returns a 1 if executed in a Unicode version of Dyalog.
IsUnicode               ⍝ Returns a 1 if executed in a Unicode version of Dyalog.
Last                    ⍝ Returns the extension from a full path. Separator ⍺ defaults to ".".
Lowercase               ⍝ Enforces lowercase for strings as well as a vector of strings.
Mix                     ⍝ Performs a "Mix" operation no matter what `⎕ML` actually is.
Nest                    ⍝ Enclose if right argument is simple.
ReadUtf8File            ⍝ Return contents of a UTF8 file.
Split                   ⍝ Split string . Separator ⍺ defaults to CR+LF.
SplitPath               ⍝ Part Path from filename+extension. Separator ⍺ defaults to "\".
Uppercase               ⍝ Enforce uppercase for strings as well as a vector of strings.
Where                   ⍝ Returns indices for Boolean scalar or vector `⍵`.
WriteUtf8File           ⍝ Creates or overwrites a UTF8 file without BOM.
dlb                     ⍝ Delete leading blanks.
dmb                     ⍝ Delete multiple blanks.
dtb                     ⍝ Delete trailing blanks.

APLTree downloads

Using an APLTree member

  1. If you just want to consume (use) an APLTree member then you have several choices:

* Access it via FTP: ftp://ftp.aplwiki.com/APLTree/ with the user ID "anonymous". There is no password needed.

  • Note that accessing it via ftp allows you to download older versions as well while the dedicated download page offers just the most current version.
  • Download any release since the conversion to GitHub (2018-02) from GitHub. You can compile the URL by https://github.com/aplteam/{name}


If you want to contribute to an APLTree project see HowToContributeToTheAPLTreeProject for details.

Get the full project

If for some reason you need access to, say, the test cases then you need to get more then just the script (or application) itself.

HowToContributeToTheAPLTreeProject explains how to get a project onto your local machine. Just ignore any additional steps.

Create a new APLTree sub project

In order to create a new APLTree project you need some advice. Ask KaiJaeger for help: mailto:kai@aplteam.com


APLTreeUtils (last edited 2018-02-15 15:15:17 by KaiJaeger)