Andrew Sengul: April, an APL compiler for Common Lisp
Channel: LispNYC
Date: 2020-09-10

Andrew Sengul will be presenting April, a compiler from the APL language
to Common Lisp. APL is a language that uses a terse, consistent syntax
and an array of unique characters to perform complex numerical
transformations with very small pieces of code.

See the April repository here:

https://github.com/phantomics/april

-A Tale of Two Languages-

APL stands for Array Programming Language and, as the name suggests, is
focused on working with arrays, making it great for for graphics, signal
processing, statistical work and more.

Using APL within Lisp opens vast possibilities for working with
structured data. Traditionally, APL is implemented in the form of a
monolithic interpreter, and feeding data from databases and other
external APIs into these interpreters and getting the results back in a
usable format can be daunting.

April is different. Compiling APL expressions into Lisp means that any
data that can be formatted as a number or character array in Lisp can be
operated upon using APL. Often, dozens of lines of number-crunching code
with many nested loops can be replaced by a single line of APL. If
you're working on a Lisp application that involves many operations on
arrays or uses complex algorithms in general, April can substantially
speed up your development process.

In this talk Andrew will recount the trials of developing a new APL
compiler from scratch and cover some of April's unique advantages,
including macros that make it easy to extend and modify the language.

-Special Feature: Bloxl Preview-

This presentation will also feature a sneak preview of Bloxl, a hardware
startup powered by Common Lisp with April. Bloxl is producing a new
luminous structural display technology; with Bloxl, you can build
transparent glass walls that light up with software-controlled pixel
graphics. You can see more on the Bloxl website at https://bloxl.co.