Differences between revisions 2 and 42 (spanning 40 versions)
Revision 2 as of 2008-09-24 16:48:47
Size: 3299
Editor: SimonMarsden
Comment:
Revision 42 as of 2018-01-17 09:25:47
Size: 3473
Comment: Non-commercial licenses don't cost anymore. Fixed a spelling error (proprietory -> proprietary).
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
***************************************************************************** ## #acl AutoAdminGroup:read,write,admin,delete,revert All:read
Line 3: Line 3:
* UNDER CONSTRUCTION

* The material in this tutorial is currently being converted to Wiki format

*****************************************************************************
{{{#!html
<div class="borderlesstable">
}}}
||<tableclass="borderlesstable">Back ||[[LearnApl/TutorialContents|Contents]] ||[[LearnApl/TutorialContents|Next]]> ||
Line 10: Line 9:
{{{#!html
</div>
}}}
Line 11: Line 13:
<<TableOfContents>>
Line 13: Line 17:
It was originally written to accompany MicroAPL's APLX interpreter, and is available in PDF form [[http://www.microapl.co.uk/apl/|here]]. It is adapted from an original version written to accompany MicroAPL's APLX interpreter which is not available any more.
Line 15: Line 19:
The present version has been slightly modified so that examples should work with a number of APLs, including: The present version has been slightly modified so that examples should work with a number of APLs, including APL2, APL+Win, Dyalog and NARS2000.
Line 17: Line 21:
 * [[http://www.microapl.co.uk/apl/|APLX]] from MicroAPL The core APL language is similar in all these products, although each vendor has added proprietary extensions. Where code is specific to a particular APL interpreter it will usually be indicated in the text.
Line 19: Line 23:
 * [[http://www.dyalog.com/|Dyalog]] APL Once you're familiar with the material covered here, you might also want to check out [[LearnMoreApl/FurtherTopics|Further Topics in APL]] which covers some more advanced topics.
Line 21: Line 25:
 * [[http://www-01.ibm.com/software/awdtools/apl/|APL2]] from IBM

 * [[http://www.apl2000.com/|APL+Win]] from APL2000

The core APL language is similar in all these products, although each vendor has added proprietory extensions. Where code is specific to a particular APL interpreter it will be indicated in the text.
There is an exception, however: VisualAPL is fundamentally different from the other APLs. It follows a completely different paradigm, and for that reason doesn't fit into this tutorial. See AboutVisualApl for details.
Line 28: Line 28:
The APL tutorial will be most effective if you actually try the example code in an APL interpreter. The APL tutorial will be most effective if you actually try the example code in an APL interpreter. Several vendors provide free or low cost evaluation licenses:
Line 30: Line 30:
To download a time-limited evaluation copy of APLX for Windows, Macintosh or Linux, visit MicroAPL's [[http://www.microapl.co.uk/apl/aplx_downloads.html|Download page]] === Dyalog ===
To apply for a free educational or non-commercial license of Dyalog APL visit Dyalog's [[http://www.dyalog.com/download-zone.htm|Download zone]]
Line 32: Line 33:
== Installing the APL font ==
To display the material in this tutorial properly, you need to ensure that (a) your browser can correctly handle Unicode (UTF-8) encoding, and (b) that you have a suitable APL Unicode font installed on your system.
Note that with a default installation of Dyalog, some of the examples won't work: Dyalog offers the system variable `⎕ML` which can be set to various values. Only with `⎕ML←3` all examples will work. See DyalogMigrationLevels for details.
Line 35: Line 35:
Most modern Browsers (such as Internet Explorer 6 or later, Firefox v2 or later, Safari v3 or later) should be fine. However, we have found problems using Firefox v2 on the Macintosh (the Windows version is OK, and Firefox v3 on the Macintosh is OK). === NARS2000 ===
NARS2000, an Open Source APL, does not compete against the commercially available APL implementations, but it is a fully-fledged APL implementation. Apart from the last chapter (15) you can do everything mentioned in this tutorial with NARS2000. For details see [[Open Source APL: NARS2000]]
Line 37: Line 38:
APL code on this Wiki is encoded using Unicode. It should display correctly provided you have at least one of these APL fonts installed on your system: === APL2 ===
To download a time-limited evaluation copy of APL2 for Windows, visit IBM's [[http://www-01.ibm.com/software/awdtools/apl/|Download page]].
Line 39: Line 41:
=== APL+Win ===
APL2000 offer their interpreters 'free' to educational establishments - contact them via their web site.
Line 40: Line 44:
=== Misc ===
Line 41: Line 46:
 * MicroAPL's APLX Upright Unicode font ([[http://www.microapl.co.uk/download/aplx_unicode.ttf|http://www.microapl.co.uk/download/aplx_unicode.ttf]]). If you have installed a desktop version of APLX (full or evaluation copy), you will have this font installed already. The [[FinnAplIdiomLibrary|Finn APL Idiom library]] (for first generation APL) and IBM's APL2 Phrases (for second generation APL) are useful references for students and professionals alike.
Line 43: Line 48:
 * Adrian Smith's APL385 Unicode font ([[http://www.vector.org.uk/resource/apl385.ttf|http://www.vector.org.uk/resource/apl385.ttf]])



If you don't have either of these fonts installed, the Wiki's style sheets are set to fall back on Microsoft's Arial font, which does have the APL characters but is not a monospaced font. This means that code samples will display the correct characters, but may not be aligned correctly.

If you do not have any of the APL fonts listed nor Microsoft's Arial font, APL characters will not display properly.
== The APL font ==
To display the material in this tutorial properly, you need to ensure that your browser can correctly handle Unicode (UTF-8) encoding. That should do.
Line 54: Line 54:
    X 3 3½÷¼9  ª Y DATA[DATA] © A comment     X 3 3÷9 Y DATA[DATA] A comment
Line 57: Line 57:
|| {{attachment:apl_font_ok.jpg}} ||
Line 58: Line 59:
||{{attachment:apl_font_ok.jpg}}||
Line 60: Line 60:
If it looks more like this then you do not have the APL font installed: (this is a picture, not text; it will '''always''' display APL chars)
Line 62: Line 62:
||{{attachment:apl_font_bad.jpg}}|| If it looks more like this then something is wrong:
Line 64: Line 64:
|| {{attachment:apl_font_bad.jpg}} ||


{{{#!html
<div class="borderlesstable">
}}}
||<tableclass="borderlesstable">Back ||[[LearnApl/TutorialContents|Contents]] ||[[LearnApl/TutorialContents|Next]]> ||


{{{#!html
</div>
}}}
Line 65: Line 77:
[[LearnApl/TutorialContents|Next]] >
Line 67: Line 78:
&nbsp;
&nbsp;

CategoryAboutApl&nbsp;&nbsp;CategoryGuides&nbsp;&nbsp;CategoryAplx
CategoryAboutApl CategoryGuides

Back

Contents

Next>

Learning APL

This tutorial aims to teach some of the basics of the APL language.

It is adapted from an original version written to accompany MicroAPL's APLX interpreter which is not available any more.

The present version has been slightly modified so that examples should work with a number of APLs, including APL2, APL+Win, Dyalog and NARS2000.

The core APL language is similar in all these products, although each vendor has added proprietary extensions. Where code is specific to a particular APL interpreter it will usually be indicated in the text.

Once you're familiar with the material covered here, you might also want to check out Further Topics in APL which covers some more advanced topics.

There is an exception, however: VisualAPL is fundamentally different from the other APLs. It follows a completely different paradigm, and for that reason doesn't fit into this tutorial. See AboutVisualApl for details.

Trying APL

The APL tutorial will be most effective if you actually try the example code in an APL interpreter. Several vendors provide free or low cost evaluation licenses:

Dyalog

To apply for a free educational or non-commercial license of Dyalog APL visit Dyalog's Download zone

Note that with a default installation of Dyalog, some of the examples won't work: Dyalog offers the system variable ⎕ML which can be set to various values. Only with ⎕ML←3 all examples will work. See DyalogMigrationLevels for details.

NARS2000

NARS2000, an Open Source APL, does not compete against the commercially available APL implementations, but it is a fully-fledged APL implementation. Apart from the last chapter (15) you can do everything mentioned in this tutorial with NARS2000. For details see Open Source APL: NARS2000

APL2

To download a time-limited evaluation copy of APL2 for Windows, visit IBM's Download page.

APL+Win

APL2000 offer their interpreters 'free' to educational establishments - contact them via their web site.

Misc

The Finn APL Idiom library (for first generation APL) and IBM's APL2 Phrases (for second generation APL) are useful references for students and professionals alike.

The APL font

To display the material in this tutorial properly, you need to ensure that your browser can correctly handle Unicode (UTF-8) encoding. That should do.

Here's a sample of text which should display in the APL font:

    X ← 3 3⍴÷⍳9 ⋄ Y ← DATA[⍋DATA] ⍝ A comment

It should appear in your browser something like this:

apl_font_ok.jpg

(this is a picture, not text; it will always display APL chars)

If it looks more like this then something is wrong:

apl_font_bad.jpg

Back

Contents

Next>


CategoryAboutApl CategoryGuides

LearnApl/LearningApl (last edited 2018-01-17 09:25:47 by ErikKonstantopoulos)