Milinta is
a software company located in Montreal, Canada.
We are familiar with the latest acronyms the industry
comes up with but we mainly program applications.
We use any programming language but array languages like APL are the ones we
specialize in. Which brings us to
A P L
APL is a multi-purposes interpreted language used
worldwide. It was created a while back and has gone through intensive changes.
First on mainframes, it is now also found on PCs running under such OS as Windows
and Linux and the Mac.
It is also used on servers. See here for an example of an APL session on the web
or a web site written in APL.
More info about APL can be found here.
Milinta offers software and education. Work can be done remotely or at the
client's site.
You will find here a series of products Milinta offers. The directories are divided
into major vendors. You can access the files individually by following the
links.
For each APL you will the same basic utilities, namely
a
workspace/file transfer ws
a
workspace/file comparison ws
search/replace
functions
[]AV
in ascii form (in {notation})
Other specific items, if any, will follow. For
example, a code coverage workspace is available. This workspace was created
after reading an article written by Bob
Bernecky at APL98. It allows to see where code is
and is not being used and takes in account all control structures. It has been
used to test most of the code you see here, even itself.
Note that because APL vendors may change the way their
monitoring system functions work, the code may fail under future versions. This
applies to any code in general but more particularly to this case.
Another workspace contains a TIC-TAC-TOE game in 3
dimensions. This is a good example of tree searching techniques. To get a feel
for the game click here to
try a version written in Javascript for the front end
and APL as game engine.
Transfer of
APL workspaces from one vendor to another
The {notation} text is used to translate []AVs from one APL to the other. It is the basis for the
workspace transfer programs. Under each APL is found a .txt file describing its
[]AV. This can be useful for people interested in
doing their own translation.
Under each APL is also found a workspace to create and
read transfer files.
The earlier APLs (APL/PC, SHARP for DOS) use a
primitive version that does not account for all the
new object types (Packages, nested arrays, namespaces, overlays). They also use
a different syntax. They are compact to fit within earlier small workspaces.
The newer versions (APL/II, APL2000, Dyalog, SHARP APL) use a consistent syntax and make use of the
latest enhancements (as of 2003). Files created by earlier versions CAN be read
but not the other way around if new data types are involved. This goes also for
namespaces. They can be recreated from within Dyalog but are meaningless in
APL2000.
In all cases a form of code translation (ex: SHARP []read <--> Dyalog []fread)
is available and can be turned on and customized in the later versions. Control
structures are left untouched.
To find more about the transfer workspace read the documentation
Note that some APLs offer regular expressions
natively.
For example, with Dyalog
it is easier to use .Net and the []S operator and a
newer tool to search and replace Dyalog workspaces has been developed. See the
Dyalog section for this particular tool.
Here are
various APL products and their divisions:
There are also a series of articles that were
written about APL. They can be found here, at the end.
Please note that revision to this code happens every
once in a while. If you find that the version of a piece of code is unsuitable
for you or, heaven forbid, you found a bug in it, then come back here and check
the version you're using (usually found in a variable like 'Version') against
the one offered on this site. If the version is higher chances are you'll find
a better version. The version number of the code, if available, is displayed on
the status line when hovering the mouse over the link.
If your version or the new version does not do what you want let us know, maybe
we can help anyhow. Just drop us a line (click the email icon below).
Also, some links will display the version of the APL under which the code was
tested as a tag if you hover the cursor over the link. This may not work with
all browsers.
*** WARNING: It has been found that some browsers will
sometimes upload files translating []AV[10] into CR,LF
which damages the files and renders them useless. Internet Explorer doesn't
seem to have the same problem.
** IMPORTANT NOTE: All this material is free but you
should read the terms and conditions before using it.
Your use of this software indicates your acceptance of this license
agreement and warranty.
This page was last updated in 2016
Contact Information
You can reach us at (514) 529-0106 or toll free at (877) 645-4682
(within Canada only)