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.

Papers

A collection of papers and articles from Team Dyalog and others.

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 icon

Array-oriented

Making use of the array data structure leads to surprising terse and general expressions applicable to many different domains and applications.

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
Learn about array-oriented approaches to solve some example problems in Learning APL: The APL Way
Functional icon

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'

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


Days
Hours
Minutes
Seconds
Now!

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.