Welcome to Milinta's web site

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


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

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


Regular Expressions

Regular expressions tools have been created in APL to make use of the functions found in a DLL for Windows © that can be found here. The APL code is found under the appropriate APL.

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)

or Email us:

support at milinta.com




free web counter