Learn Dyalog APL
Guides and helpful tips to start your APL journey.
Quick Start Guide
Get up and running with a basic workflow in the Dyalog development environment.
Useful Tips
Tips that users have suggested would be useful to know when starting out with APL.
Mastering Dyalog APL
A complete guide to the use of Dyalog, beginning with a thorough introduction to the language.
Introductory Tutorials
APL can feel overwhelming, here is a little guidance to ease your entry.
Quick Start Guide
Get up and running with a basic workflow in the Dyalog development environment.
Useful Tips
Tips that users have suggested would be useful to know when starting out with APL.
Mastering Dyalog APL
A complete guide to the use of Dyalog, beginning with a thorough introduction to the language.
Introductory Tutorials
APL can feel overwhelming, here is a little guidance to ease your entry.
Development Environments
Integrated Development Environments (IDEs) let you interactively use APL to explore data, iteratively develop and debug solutions.
Application Deployment
Make your application usable on desktop, as a web service, using shell scripts or integrated as part of your existing technology stack.
Handling Data
APL tools for reading and writing data to and from files, databases, and the internet.
Advancing your Knowledge
Advance your Dyalog skills
Documentation
Browse the documentation for Dyalog and its associatied tools.
Video Library
A collection of recordings including sample use cases, application demonstrations and tutorials.
Practical Problems
APL’s compact syntax make it well suited to solving problems in a wide variety of domains.
APL Cart
A searchable collection of approximately 4,000 short APL phrases intended for both beginners and professionals.
APL Wiki
A vendor-agnostic wiki for the APL language with hundreds of articles written by the community.
Thinking the APL Way
Learning APL isn't just learning a new syntax; it involves navigating an entirely distinct paradigm.
In the video below Rich Park talks about…
Programming Paradigms
Dyalog has features for programming across paradigms that can be combined to express your ideas in a way that makes sense for your application.
Array-oriented
Example: the sum of element-wise products between two lists
1 4 2 3 10 +.× 11 8 8 7 2
Example: the maximum element-wise sum between two lists
1 4 2 3 10 ⌈.+ 11 8 8 7 2
Functional
dfns is a collection of functions and explanations which illustrate functional programming in Dyalog. Some of these are generally useful tools and others are for amusement and educational purposes.
Tacit programming encourages functional thinking through the use of function-composition syntax and operators.
Example: which words begin with “lug”?
'lug'∘(⊃⍷)¨'luggage' 'plug'
Video: Train Spotting in Dyalog APL
Object-oriented
Make use of namespaces and classes to organise your code at a high level
Video: Namespaces in Dyalog APL
Document: Object Oriented Programming for APL Programmers
Document: Object Oriented Programming for Impatient APL Programmers
Example: a namespace for text processing utilities
:Namespace TextUtils
Split←(~⍤∊⍨⊆⊢)
HeadTail←(1 1∘⊂)
Decapitate←(≤\⍤≠⊆⊢)
Begins←(⊃⍷)
Contains←(∨/⍷)
:EndNamespace
Join us in Glasgow, Scotland, from September 15 to 19, 2024, for Dyalog ’24 – the yearly gathering for APL users to share experiences, enhance technical expertise with product training and workshops, and have a say in shaping Dyalog Ltd’s future through discussions with the Development Team.
We will only send you emails in relation to Dyalog ’24. Your info will not be added to any other lists, sold or given to third-parties, or used for any other purpose.
Latest Dyalog Blogs
Insight, inspiration, and fresh perspectives.