Learning APL with APLX APLX
Total Page:16
File Type:pdf, Size:1020Kb
APLX Learning APL with APLX Version 4.0 Learning APL with APLX 2 Copyright © 1985-2008 MicroAPL Ltd. All rights reserved worldwide. APLX, APL.68000 and MicroAPL are trademarks of MicroAPL Ltd. All other trademarks acknowledged. APLX is a proprietary product of MicroAPL Ltd, and its use is subject to the license agreement in force. Unauthorized copying or use of APLX is illegal. MicroAPL Ltd makes no warranties in respect of the suitability of APLX for any particular purpose, and accepts no liability for any loss arising out of the use of APLX or arising from the information contained in this manual. MicroAPL welcomes your comments and suggestions. Please visit our website: http://www.microapl.co.uk/apl Version 4.0 September 2008 Learning APL with APLX 3 Contents Introduction to APL ....................................................................................................................................... 10 Origins of APL ............................................................................................................................................ 10 Some features of the language .................................................................................................................. 10 Entering APL Symbols ................................................................................................................................... 14 The QuickSymTM pop-up ............................................................................................................................ 14 Using an extended keyboard layout ........................................................................................................... 14 Choosing and customizing the keyboard layout ......................................................................................... 15 Customizing the keyboard layout ............................................................................................................... 15 The QuickSym pop-up ................................................................................................................................... 18 Bringing up the QuickSym window ............................................................................................................ 18 Using the keyboard with the QuickSym window ........................................................................................ 18 The contextual menu ................................................................................................................................. 19 Simple Arithmetic ......................................................................................................................................... 22 The initial APLX display .............................................................................................................................. 22 Some arithmetic functions ......................................................................................................................... 22 Error Messages .......................................................................................................................................... 23 Using the Session Window ......................................................................................................................... 24 Arithmetic on lists of numbers ................................................................................................................... 25 Matching up list lengths ............................................................................................................................. 25 Order of execution ..................................................................................................................................... 26 Parentheses ............................................................................................................................................... 27 Negative numbers and subtract ................................................................................................................. 27 Dual-purpose functions ............................................................................................................................. 27 Ceiling and Floor (⊧ and ⌊) ........................................................................................................................ 29 Summary ................................................................................................................................................... 31 Practice ...................................................................................................................................................... 31 Learning APL with APLX 4 Problems ................................................................................................................................................... 31 Answers ..................................................................................................................................................... 32 Variables ....................................................................................................................................................... 36 Assignments .............................................................................................................................................. 36 Variable names .......................................................................................................................................... 37 Assigning lists to variables ......................................................................................................................... 38 System Commands .................................................................................................................................... 38 Character assignments............................................................................................................................... 40 Multiple assignments ................................................................................................................................. 41 Displaying variables together ..................................................................................................................... 42 Joining lists together .................................................................................................................................. 42 Joining and merging variables .................................................................................................................... 43 Simple and nested variables ...................................................................................................................... 44 Mixed variables.......................................................................................................................................... 44 Summary ................................................................................................................................................... 44 Practice ...................................................................................................................................................... 45 Problems ................................................................................................................................................... 45 Tables ............................................................................................................................................................ 48 The ? function ........................................................................................................................................... 48 The ⍯ function ........................................................................................................................................... 49 Setting up tables ........................................................................................................................................ 49 Arithmetic on tables .................................................................................................................................. 51 Catenating tables ....................................................................................................................................... 53 Selecting elements ..................................................................................................................................... 54 Dimensions ................................................................................................................................................ 56 Enquiring about the size of data ................................................................................................................ 57 Tables of characters ................................................................................................................................... 58 Mixed tables .............................................................................................................................................. 60 Learning APL with APLX 5 Nested tables ............................................................................................................................................. 61 Depth ......................................................................................................................................................... 61 Summary ..................................................................................................................................................