Skip to content

The APL Challenge:
Solve Problems using APL

APL is a programming language that will change the way you think about solving problems. The APL Challenge is open to everyone but is aimed at newcomers to APL. It doesn’t matter if you have never programmed before; we’ll teach you everything that you need to know as you progress. Every problem that you solve gives you a chance to win one of three USD 100 prizes. Winners are listed on our website.

Solving the problems

You can use the Answer field to experiment; only correct answers are submitted.

You can write APL symbols by clicking on the language bar at the top of the screen, or click on any symbol (like ) or inline code to copy it into the Answer field. Doing this also copies it to the clipboard (in most browsers). This is especially useful when a problem’s description includes some data (text or numbers) that you need in your answer.

Alternatively, you can paste such data into TryAPL and do your experiments there, then copy your solution into the APL Challenge’s Answer field.

Submitting your solutions

On each problem page:

  1. Put your solution into the Answer field.
  2. If you would like a chance of winning a prize, put your email address in the Email field.
  3. Click the button.

Staying informed

If you would like to be kept up-to-date with news about the APL Challenge (new round launches, and so on), then please submit your email address here – it will not be used for any other purpose.

Prizes

After each round, up to three USD 100 prizes are awarded by Dyalog Ltd.

Anyone can win a prize except Dyalog employees and associates. We will not enter into discussion about who wins.

All prizes are in U.S. dollars (USD), but can also be awarded in pounds sterling (GBP) or euros (EUR) by electronic transfer to a bank account or a PayPal account. No other forms of payment will be made.

If you are selected as a winner but are unable or unwilling to accept the prize, you cannot transfer the prize or make someone else the winner. Prizes must be claimed within three weeks of being notified or you lose the right to that prize. After this period, winners are listed on our website.

If you accept a prize, you will be solely responsible for all applicable taxes related to accepting that prize.

Detailed rules

Rounds: Each round stands on its own; participants can enter a single or multiple rounds independently.

Multiple submissions: Submitting multiple times using different email addresses is not allowed.

Publishing solutions: Participants must not publish their solutions. Doing so will be considered grounds for disqualification from the APL Challenge.

Deadline: Only entries that are received by the deadline are valid. We cannot accept responsibility for entries that are lost, delayed, or damaged. Proof of sending an online entry is not proof that we received it.

Frequently Asked Questions (FAQ)

I’m stuck. Can you help? In fairness to all, we do not provide guidance beyond what is given on this site. Everything you need to know should be included here.

Can I collaborate with my friends? Yes. Each collaborator can submit an entry.

Why is my correct answer not accepted? The purpose of the APL Challenge is to teach specific parts of APL, so we require solutions that use the techniques we teach. Most problems can be solved in many ways, and the techniques we teach here do not necessarily lead to the best code. Furthermore, the system protects itself by prohibiting the use of many language features. You will see an error message if you use such a feature. You can explore alternative answers using TryAPL or by installing Dyalog.

I didn’t win a prize. Can I try again? Yes; each round stands on its own. You can enter a round whether or not you’ve participated in, or won a prize in, a previous round.

What do I do if there is a problem with this website? Please report any problems to challenge@dyalog.com.

Contact

If you have feedback, or would like to ask a question that is not already answered here, please e-mail challenge@dyalog.com.