Dyalog Eastbourne 2026

Monday 12 October

  1. 08:30
    Registration Dyalog desk, Breakout Area (first floor)
  2. 09:30
    MA1 Workshop

    Web Services in APL: An Introduction to REST and OpenAPI

    Pier Suite 1 (first floor)

    Show summary

    A RESTful web service enables different applications to exchange data and functionality over the internet using a standardised request/response model. OpenAPI is a machine-readable way to describe such services, and has become the unofficial standard for doing so – from a single specification, tools can automatically generate client code, documentation, and tests. Thousands of public web services publish OpenAPI specifications; this hands-on workshop shows you how you can easily build APL clients for any of them using Dyalog's OpenAPI tool.

    No prior experience with REST or OpenAPI is assumed.

    In this workshop, you will:

    develop an understanding of REST and OpenAPI. An explanation of what makes a web service "RESTful" and how an OpenAPI specification describes one in a form that both humans and tools can read.

    consume web services from APL. Using Dyalog's OpenAPI tool, you'll automatically generate an APL client from the OpenAPI specification of a public RESTful webservice and make real requests from an APL session.

    provide OpenAPI-compatible web services from APL by building your own REST service using Jarvis together with Stark (a router for Jarvis that conveniently publishes its own OpenAPI specification) then exercise the service end-to-end, reading from and writing to it from a separate APL session using an automatically generated client.

    After this workshop you should feel confident consuming third-party REST APIs from APL and exposing your own APL code as a web service that other tools and languages can consume.

    Keywords: Web services, REST, OpenAPI, Stark, Jarvis

    MA2 Workshop

    Juggling Arrays and Namespaces

    Martello Suite (first floor)

    Show summary

    Dyalog v20.0 made it significantly easier and safer to work with arrays and namespaces: array notation lets you write array literals, while the new system functions ⎕VGET and ⎕VSET, together with the enhanced ⎕NS, let you read, write, and merge values by name, replacing most uses of execute (⍎).

    In this hands-on workshop, you will explore the new syntactic forms and put them to work.

    Keywords: array notation, namespaces, exercises

    MA3 Workshop

    Concurrent Programming in Dyalog

    Pier Suite 2 (first floor)

    Show summary

    APL's array-orientation means that it is an inherently data-parallel notation. For performing the same operation on multiple elements (SIMD), there's not much more you need. However, for expensive computations, calls to external services, or computing while your system continues to service external requests, you might want to run multiple different functions at the same time, or run functions in different CPU processes or even different machines at the same time.

    This workshop looks at the two main features of Dyalog made for concurrent programming: the spawn operator (&) and its associated ⎕Txxx system functions; and the isolate.dws workspace. You will learn how to run functions in parallel, strategies for managing multiple threads, and how you can collect results.

    Keywords: performance, optimisation, concurrency, parallel language features

  3. 13:00
    Lunch Artisan Restaurant (mezzanine floor)
  4. 14:00
    MP1 Workshop

    Performance from the Bottom Up

    Martello Suite (first floor)

    Show summary

    Many APL applications have a reputation for tremendous efficiency and performance, but users might be surprised to discover that their code does not run as fast as they would like, or that it uses too much memory. Because APL isn't like other languages, it's important to understand how to get the most from APL's unique design to maximise your performance while minimising your programming efforts.

    In this workshop you will gain a strong foundation in using the APL primitives fluently to write performant programs. After going through the fundamentals of how the interpreter executes APL code, you will use that knowledge to build up a library of performance techniques. You will also have the opportunity to apply your knowledge with hands-on exercises and discussion.

    Keywords: performance, algorithms, optimisation, array model

    MP2 Workshop

    Asynchronous Services: What, Why, and How

    Pier Suite 2 (first floor)

    Show summary

    The traditional request-response model has a fundamental limitation: the client must always speak first. This makes it awkward (and sometimes impossible) to build applications where the server needs to push updates, multiple parties exchange messages in real time, or work continues long after the initial request. Asynchronous web services solve this problem, and they're the backbone of dashboards, stock tickers, news feeds, multiplayer games, chat rooms, and long-running computations.

    This hands-on workshop covers the three dominant techniques – WebSockets, Server-Sent Events (SSE), and webhooks – and the Dyalog tools that bring them within easy reach: HttpCommand, Jarvis, WebSocketClient, and WebSocketServer.

    In this workshop, you will:

    develop an understanding of when to use WebSockets, SSE, and webhooks, and how they differ.

    gain hands-on experience with Dyalog's asynchronous toolkit: HttpCommand, Jarvis, WebSocketClient, and WebSocketServer.

    consume existing asynchronous services from APL.

    build and deploy your own asynchronous service.

    Keywords: webhooks, WebSockets, asynchronous, Jarvis, HttpCommand, WebSocketServer, WebSocketClient

    MP3 Workshop

    Juggling Arrays and Namespaces

    Pier Suite 1 (first floor)

    Show summary

    Dyalog v20.0 made it significantly easier and safer to work with arrays and namespaces: array notation lets you write array literals, while the new system functions ⎕VGET and ⎕VSET, together with the enhanced ⎕NS, let you read, write, and merge values by name, replacing most uses of execute (⍎).

    In this hands-on workshop, you will explore the new syntactic forms and put them to work.

    Keywords: array notation, namespaces, exercises

  5. 17:30
    Free Time
  6. 19:00
    Dinner Artisan Restaurant (mezzanine floor)