APLX version 4 - from the viewpoint of an experimental physicist.

Webber, J. Beau W. (2008) APLX version 4 - from the viewpoint of an experimental physicist. Vector (Journal of the British APL Association), 23 (3). pp. 39-45. ISSN 0955-1433. (The full text of this publication is not currently available from this repository. You may be able to access a copy if URLs are provided)

The full text of this publication is not available from this repository. (Contact us about this Publication)
Official URL


Which APL? Why APLX? When I first read about APL in Byte magazine so many years ago (August 1980?), I realised it was the language for a working physicist, given its ability to apply complex manipulations to structures of data just by typing a few symbols. But in those days, having written my program in APL, I had to hand-translate it into Basic to run it on a PDP-11. Then came APL\11 on the VAX-750, as part of Unix – I upgraded our local copy, adding such features as Pipe[1]. The advent of APL68000, on the Atari ST, from MicroAPL, meant I could have a copy of APL running on the lab bench – as well as at home - and I applied it to everything from analysing Nuclear Magnetic Resonance (NMR) diffusion data to controlling the lights and sound for our village dramatics society. I have used other versions of APL over the years, and have helped with the development of Tim Budd’s APLc[2] APL-to-C compiler, but have found that as the APL offerings from MicroAPL have developed over the years, this has been my favoured APL interpreter – and following that early use for sound and lighting control, APLX on PC has become my main software tool for control of my physics experiments. National Instruments’ LabVIEW[3] is a very powerful tool for instrument design – what is it about MicroAPL’s APLX, version 4 that now makes it, for me, the preferred design platform? There are a number of answers to this, but above all, as I will demonstrate with particular examples from on-going projects, there is the ability to have a seamless join in a loop that goes from a screen-based front panel with buttons and drop-down menus, interacting with a number of asynchronously operating independent APL processes, some communicating over USB to firmware operating parallel hardware (at 100s of MHz) in gate-arrays that control the experiment and collect the data, which is then passed back over the USB to the APLX programs for analysis and adjustment of the instrumental parameters. In addition, rather than hand-translating my APL source code to Basic and Fortran, as I did in the 1980s; or hand-translating (following writing and testing in APL) to LabVIEW VIs (visual/graphical programs), as I did in the 1990s; or translating to C using APLc (as I still sometimes do) I can now apply them immediately to the experiment in hand, modifying them as needed to suit the data emerging from an experiment. Front-panels can be re-configured on-the-fly, to suit the needs of ‘soft-instruments’.

Item Type: Article
Additional information: Invited review.
Subjects: Q Science > QA Mathematics (inc Computing science) > QA 76 Software, computer programming, > QA76.76 Computer software
Q Science > QC Physics
Divisions: Faculties > Science Technology and Medical Studies > School of Physical Sciences > Functional Materials Group
Depositing User: J.B.W. Webber
Date Deposited: 18 Apr 2009 09:16
Last Modified: 19 Sep 2014 14:43
Resource URI: https://kar.kent.ac.uk/id/eprint/13470 (The current URI for this page, for reference purposes)
  • Depositors only (login required):