From J Wiki
Jump to: navigation, search

APL2, APL2000, Dyalog, J, K, MicroAPL, Q, compare, information visualization, graphics, application

Location::Heartland Brewery, 34th and 5th, NYC

Meeting Summary

We compared different APLs, talked about what happened at the BAPLA'09 conference last month, spent a little time on some issues of visualization tools, and looked at a software application competition in New York City which makes available some interesting data and may provide a venue for emphasizing strengths of J.

Agenda for NYCJUG of 20090714

1. Beginner's regatta: what are the strengths and weaknesses of different
APLs: APL2, APL2000, Dyalog, J, K, MicroAPL, Q, others?  See "Comparison
of Different APLs.doc".

2. Show-and-tell: BAPLA'09 conference report: see "Notes from BAPLA09.doc".

3. Advanced topics: information visualization for statistical graphics: see
Wainer, "Image-Based Vegetation Rendering.doc", "Judging correlation from
scatterplots and parallel coordinate plots.doc", "IEEEInfoVisContest2007.doc",
and "Visualization of human development data by using Hierarchical

Google charts -
Chartle - simple and interactive charts online -
Amcharts - Flash-based -

4. Learning, teaching and promoting J: YouTube videos - how to do them?

Public profile - see "NYC Big Apps.doc".


Beginner's regatta

We compared obvious features of the many different APLs available today. We'll see about filling out a grid of features on which someone can compare them. There were also a couple we only remembered at the meeting so we'll have to dig up information on them as well.

APLs under consideration:

1. APL2 - 2. APL2000 - 3. Dyalog APL - 4. J - 5. K - 6. MicroAPL (APLx) - 7. Q - database language based on K - 8. Others?


BAPLA'09 conference report - videos of talks are available at .

There were a number of thought-provoking talks and a sense of dialog as successive speakers referred to the talks that had gone before. Since the conference was single-tracked, everyone got to hear all the talks. Briefly, these were:

  • Morten Kromberg spoke on various features of Dyalog APL including a demonstration of its integration into a C# (dot Net) environment, various editor and data import capabilities, and some work they've done on a parallel version of "each" - called "peach" - that is a able to parcel out work to multiple cores.
  • Bob Smith demonstrated work he's been doing on a 64-bit open-source APL called "NARS" (descended from STSC's Nested Arrays System) into which he's incorporating ideas from various dialects. One problem with this was evident in that he allows both a settable index origin and indexing with negative numbers (to select from the end of an array) as J does; however, the settable origin confuses the meaning of indexing with negative one - in J, because index origin is fixed, this unambiguously refers to the last element of an array. There was considerable discussion about how to specify local versus global variables.

Bob had a good quote about computer people seem to embrace the notion "Do not let your attempt to finish your task interfere with your study of computers."

  • Simon Marsden showed how to interface to the R programming language from APLx; he had a good point about using the extensive statistical libraries of R rather than re-inventing them in an APL.
  • I gave my talk on the state of SIGAPL - this was an obituary - and some musings on J. As I was giving the talk, I realized I had far too much material and there were two or three talks trying to break out of this one. I've since extracted one of these - the idea of re-framing the argument about terseness versus verbosity to emphasis the often-overlooked strengths of a terse notation - and presented it at the August NYCJUG meeting.
  • Stephen Taylor also had some good ideas about emphasizing the strengths of our favorite family of programming languages by aligning with the "Direct Development" movement - see - to streamline software development. He showed some work he's been doing with XML to make it more easily usable with APL and take advantage of XML's data handling capability.
  • Sonia Beekman talked about APL2000 and work they've been doing to integrate it into the dotNet environment. This allows one to use APL to provide web services. They have a very fully developed offering in this area.
  • Kai Jaeger showed how to integrate APL into a slideshow presentation, allowing one to test the APL expressions one has in such a presentation. He also promoted the APL Wiki as a good tool for the whole community.
  • Roger Hui related some work he's been doing the Dyalog people, using some ideas from J to improve the performance of their implementation of inner product.
  • Simon Garland explained how enormously data volumes have grown in recent years and provided an impressive live demo of using Kx's Q language to quickly extract selected information from an enormous amount of it.

The banquet that night was very entertaining and treated us to a comedy act with an interesting mathematical problem we were discussing the next day.

  • Ajay Askoolum demonstrated using APL+Win in a web-integrated environment for LINQ - Language-Integrated Queries.
  • Richard Nabavi showed off the latest version of APLx which has some nice profiling tools as well as workspace comparison utilities. This APL has a quad-XML system function, developed in conjunction with Dyalog, for handling XML. APLx also has a handy data browser - a feature others would do well to implemnent.
  • Gitte Christensen gave us ammunition for promoting APL in the context of Agile Development which has been gaining currency of late.
  • Dr. Beau Webber showed us a number of tools he's built in APL over the years to help with scientific research. He had a very impressive collection of interfaces to display results of experiments in atomic physics.
  • Ziggi had an inspiring story about using APL to develop a successful internet-based educational company in a very short time.
  • Gilgamesh Athoraya had a fun gadget in which he uses a data-phone sensor with GPS capabilities, programmed in Dyalog's Pocket PC APL, to record location information and display it in conjunction with mapping software to compile a record of where he's been.
  • Catherine Lathwell updated us on her progress with her film about APL and showed us a little footage she's shot so far.
  • Phil Last demonstrated some APL functions on a database he could control using dotNet code.
  • Graeme Robertson presented the "Reduce" programming language and showed us some application to string theory and algebraic programming. He also had a physical model of a shape he's attempting to describe mathematically and offered a prize to anyone who could do so.

Advanced topics

Learning and teaching J

Scan of Meeting Notes

width=850 JMeetingSign 40.jpg