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.

What is a source code manager?

A source code manager (SCM) is software that assists in managing and versioning source code. Programmers use SCMs to record modifications and store source code in a repository that can be accessed by multiple people at the same time. By using version control, changes can be reverted, and copies of the main program can be splintered off to be changed without altering the main body of code. Some popular source code managers include Git, Subversion and Mercurial.

Dyalog’s newest feature

LINK is a new feature released by Dyalog in version 17.1. While not a SCM, it is designed to support tools external to Dyalog, including SCMs. Link is used to create links between namespaces and directories containing source code. According to the link wiki on Github:

  1. Keeping Source files up-to-date
  2. Integrating external changes into the workspace
  3. Loading and saving source files

Link works by ‘linking’ a directory to a namespace in a workspace. This in turn allows changes made inside the workspace to be replicated to the linked source files. Its main integration with SCMs comes when the link utilises a “file system watcher” to use external tools to copy changes made outside of Dyalog into an active workspace. If interested, Adám Bruzewsky and Morten Kromberg presented an overview of Link at Dyalog ‘19.

More avenues

LINK is not the only one way of implementing version control. Paul Mansour demonstrated AcreTools, one of his newest projects, at Dyalog ‘19 (as seen in the video below). AcreTools is designed to bring a simplified Git workflow into an APL workspace by use of user commands. As a fan of Git myself this direct integration between Git and Dyalog is quite exciting and offers a lot of flexibility with future projects.

The future of Dyalog APL

The creation of tools used for versioning code proves to me that Dyalog is actively interested in keeping up with other popular Programming languages of this generation. The use of external SCMs is becoming increasingly commonplace and as Dyalog are interested in bringing in new APL programmers it makes sense to allow users to run with programs that they are familiar with. I hope they continue this trend of integrating with other more widely used programs, such as their work with the Py’n’APL: Apl-Python interface.

About the Author

A picture of Sam Thompson, the author of this blog

Sam Thompson

Apprentice APL Developer

Sam was an apprentice APL Developer at Optima Systems. He has had a keen interest in computers since he was a child who loved playing video games on his family’s computer. After taking Maths, Further Maths and Computing during A-levels he attended the University of Sheffield doing Computer Science for two years.

More from Sam

Other Posts