Dyalog ’17 – Reflections on Day 1

James HeslipAPL, Dyalog, Events0 Comments

Day 1 – Monday September 11th 2017

Welcome to Dyalog ’17 – Gitte Christensen, Managing Director (CEO)

The conference started with a warm welcome by the CEO of Dyalog, Gitte Christensen. She highlighted just how important these conferences are for the company by pointing out that there is only one member of staff left to man the office, versus the twenty-one attending the conference. Gitte mentioned the changes to staff over the past year:

  • They’ve hired Marshall Lochbaum – an Interpreter Developer
  • They’ve gained Michael Baas – part of the Tools group
  • They’ve lost Nick Nikolov – he’s gone back to Bulgaria, and his work on RIDE is being picked up by Callum Floume and Gilgamesh Athoraya of Optima Systems and Data Analytics AB.
  • Dan Baronet unfortunately died in a motorcycle accident on November 1st (danielbaronet.rip)

She went into a bit of detail again about the changes in D16:

  • Performance Enhancements
  • ⎕JSON
  • RIDE 4/4.1
  • HTML rendering
  • ⎕CSV
  • New primitives @ ⊆ ⌺ ⍸

A few changes to Dyalog as a business:

  • They’ve introduced a new multi-platform developer license
  • Started producing live content, e.g. streaming
  • They plan to make a full educational project in form of videos to educate the next generation of APL
  • Mainly using the Student Competition winners, they’ve been working with Summer interns and doing a lot of neat stuff (more about that later).

More Welcoming from Jay Foad, Dyalog Technical Manager (CTO) & Morton Kromberg, Dyalog Chief Experience Director

Morton identified the need for a next generation in the APL industry and this is affecting both programmers and managers. He detailed some ways Dyalog are working to encourage this:

  • Git and other SCM systems allow the ability to share code, and make the fundamental learning/code review process a whole lot easier. Being able to write your code to file will make this achievable.
  • Need ways to teach new people; websites like TryAPL, etc.

Jay outlined a few Version 17 “maybes”:

  • Scripting – making code easier to store to file. E.g. localising variables after line 0 so it’s not so long
  • New Language Features – ⎕NMOVE, Total array ordering (similar to ⍋⍒), :Try… :Finally, Date formatting function

User Presentation: Patterns and Anti-patterns – Aaron Hsu, Indiana University, U.S.A.

The main thing I was able to take away from this talk is that Aaron says to solve a solution, it’s often best to first “free your mind”; APL is very different to a lot of programming languages in a lot of key aspects, and you will often miss the easiest solution if you think in a “traditional” way.

Dyalog Presentation: A Case Study – Recoding from Procedural to Denotative Style, John Scholes

John has spent the last 20 years trying to make the switch from Procedural to Denotative programming for the past 20 years in the dfns workspace. Indexed assignment was the last tie to the Procedural paradigm. The @ operator was introduced to remove this final tie.

Procedural – aware of sequence: first do this, then do this. The mutation of variable state.

Vs.

Denotative – atemporal definitions

Dyalog Presentation: APL Source Code in Text Files, Morten Kromberg

Storing in a workspace is ok, but when it needs to be distributed, versioning is a nightmare

Dyalog’s aim is to make APL Source code easy to store in text files, so it’s easy to bring parts of the same system written in different languages together in the same type.

To do this they need to sort out differences between SALT and ⎕FIX (this will be released in v17.0)

Everyone should be comfortable with GitHub, or an appropriate SCM

Dyalog Presentation: Py ‘n’ APL, Marinus Oosters (Dyalog Intern, Summer 2017)

  • Python is favoured due to it having lots of libraries – image processing, robotics, social media; if it exists, there is a library for it!
  • Marinus has built Py’n’APL – a bridge between APL and Python
  • Allow APL to start up python, and python to start up APL, allows the exchange data from two interpreters
  • Python a bit stricter on data typing
  • Py←⎕NEW Py.Py ⍝ starts interpreter
  • Can make modifications to variables in APL and have the changes reflected in Python
  • Function named args on the left, positional on the right

https://github.com/Dyalog/pynapl

Dyalog Presentation: RIDE, Callum Floume (Optima Systems) & Gil Athoraya (Data Analytics AB)

  • Lost support for floating windows, but looking to get it back in RIDE 4.1
  • Zero Footprint Operation added by Dyalog – this essentially allows the client to run RIDE without having an application installed (you just need a web browser)
  • Looking to generally enhance User Experience
  • Looking to fix bugs that stop the system being used
  • Looking to generally optimise the system

User Presentation: Working with APL for Physics Research, Kostas Blekos, University of Patras (Greece)

  • Physics needs a lot of programming for modelling, prototyping, etc.
  • Kostas was working on a problem with quantum entanglement
  • Most Physicists use Fortran or MATLAB
  • The main reason APL was chosen was for its matrix capabilities.

Conclusion

My favourite talk of the day was the Py’n’APL showcase by Dyalog’s Summer Intern Marinus Oosters. I had seen a sneak preview of his content in a Dyalog Webinar a few weeks back, and it inspired me to start learning Python as a language. I saw the capability of the core language and its libraries and thought it looked extremely useful for things like natural language, and image processing. I saw good applications for Python at Optima. I plan to check-out Marinus’ tools and do a more in depth blog when I’m back in the U.K.

Most of the morning session can be viewed with the video below:

Share this Post

About the Author
James Heslip

James Heslip

James is the newest member of our development team. He is a keen mathematician and enjoys playing video games in his spare time.