Programming Challenge: The Year Game

Sam GutsellAPLLeave a Comment

Happy New Year! At the start of this year, I remembered a challenge that Dyalog had come up with back in 2016 that was focused around the year 2016. So, I decided to see how I would get on trying the same challenge with the year 2021. The challenge The challenge is to write a series of expressions using the … Read More

Advent of Code 2020 Day 1 – Our Solutions

James HeslipAPL, Computer ScienceLeave a Comment

The holiday season is among us, and that can only mean one thing…Advent of Code is here! Optima is hosting a little internal competition this year to see who can get the most stars. This has genius from all corners of the office, and I thought it would be nice to show off the different thought processes from some of … Read More

Quines – A Puzzling Programming Novelty

Jonners WaltonAPLLeave a Comment

My introduction to APL consisted of using the language to solve a number of quick puzzles; the phase 1 problems from Dyalog’s annual Student Competition. It was a fantastic way to get to grips with each of the glyphs and the capabilities of the language. While the puzzles were a far cry from real life problems, and the solutions a … Read More

Using Booleans (with some Dyalog APL examples)

Sam GutsellAPL, Computer ScienceLeave a Comment

Booleans are one of the most prominent data types used throughout computing. In programming, Booleans are mainly used in logic problems and can be used and manipulated in many ways. What is a Boolean? A Boolean is a data type used to identify a value which can only be true or false, sometimes represented as 1 or 0, respectively. The … Read More

Pervasion of Ambivalence in APL Functions

John 'Jake' JacobAPLLeave a Comment

Introduction I was recently tasked with modifying a Dyalog class currently running under Dyalog 16 so that it would run under Dyalog 17.1. The class in question was used to serialize APL data into a JSON format and back again. The problem was that it made use of the two I-beams 7159 and 7160. These are deprecated in 17.1 so … Read More

Using a MIDI Controller With Dyalog APL

Sam GutsellAPLLeave a Comment

As well as being a programmer, I am a hobbyist musician. At school and in my spare time I have studied music production and music theory. I occasionally write pieces of music and I recently received a MIDI controller as a gift. Being a programmer one of my initial thoughts was ‘how can I code an interface to this device?’, … Read More

Version Management in Dyalog APL

Sam ThompsonAPLLeave a Comment

Version management is a vital component of any software development project. The ability to revert to previous version of a project in the case of disastrous bug or misguided feature is one that any developer is glad to have in their back pocket. A source code manager (SCM) is software that assists in managing and versioning source code. Programmers use … Read More

Left and Right Tack in Dyalog APL

James HeslipAPLLeave a Comment

Dyalog APL offers two symbols which do, on the surface, a seemingly pointless task. I’m referring to left tack (⊣) and right tack (⊢). As with most APL functions, they have two uses depending on their number of arguments: monadic, if used only with a right argument; or dyadic if used with a left and a right argument. If used … Read More

Rendering HTML in Dyalog APL

James HeslipAPLLeave a Comment

I was inspired by the talks of Brian Becker and Josh David at the Dyalog’19 user meeting to try out some of Dyalog 17.1’s newer methods of GUI implementation. On the Sunday 8th of September – the unofficial first day of the conference- I attended their workshop on rendering HTML in Dyalog APL. Realising the potential for modernisation in our … Read More

Indexing arrays in APL: Squad indexing on multi-dimensional arrays

James HeslipAPLLeave a Comment

I had a question for the team in our regular meeting on Wednesday, but it relied on an understanding on squad indexing, and nobody felt comfortable enough with ⌷ to answer my question. I’ve since reach a conclusion and thought I’d share. For a given 3-dimensional object, I can use square bracket indexing to retrieve the indices I want. I … Read More

Order of execution in APL programming

Sam GutsellAPLLeave a Comment

Order of Execution in APL Programming Blog

APL began life as a mathematical notation, created by the Canadian computer scientist Kenneth E. Iverson. Over the years it evolved into the APL programming language. There are several versions of APL but they all follow the same order of operations. When I started learning APL, one of the trickiest things was reprogramming my brain! This was because APL does … Read More

Setting Coding Priorities and Quality Bars as Project Groundwork

John 'Jake' JacobAPLLeave a Comment

APL Coding Priorities

The APL programming language celebrated its 50th anniversary in 2016. Since its inception the APL language has evolved a growing and rich functionality. An interpreted language with an interactive development environment APL has an immediate fingertip feedback for the developer working with it. Features that combine to provide a fertile and creative environment for its programmers. In the early days … Read More

A trip to the FinnAPL user meeting

Gil AthorayaAPLLeave a Comment

The View from FinnAPL

The FinnAPL meeting this year is hosted just outside Helsinki in Hämeenkylä Manor. Arriving at the manor the night before I couldn’t appreciate the beautiful setting until I woke up this morning to a snow covered landscape all around from my room’s view. The seminar was formally opened by Veli-Matti Jantunen who welcomed us all before diving straight into the … Read More