The Nano-parsing Architecture: Sane And Portable Parsing For Perverse Environments

May 6, 2024 4:00 PM

In developing the Co-dfns APL compiler, Aaron and his team faced the classic APL context-sensitive parsing problem. They aimed to build a robust, usable, and scalable parser that went beyond what typical toy or academic parsers handled, and to do so statically or offline. This was necessary to provide a practical tool for APL developers, including themselves.

The challenge was heightened by the absence of a formal language specification for Dyalog APL, making it nearly impossible to create a verified parser based on an existing specification.

Aaron will present Nano-parsing as a solution for parsing in such challenging environments. Nano-parsing allows for incremental parser development, easier analysis of parser semantics, comprehensive and user-friendly error handling, and is compatible with both GPU and CPU execution. This makes it a suitable approach in environments that are not conducive to existing parsing solutions or where providing detailed error messages and user information is important.

Living The Loopless Life: Techniques For Removing Explicit Loops And Recursion

May 7, 2024 10:00 AM

APL is famous for its ability to solve seemingly large and complex problems using extremely small and concise expressions. One of the core ways in which the master APL programmer does this is by eliminating the need for syntactically expensive looping, recursive, and branching constructs from code. But doing this can be one of the more challenging elements of getting to that clean, domain-illuminating APL code that looks so nice. 

This talk will go deep into the practical approach to how we are able to write so much code with so few loops or recursive constructs in APL. Aaron will cover a wide range of techniques, from the simple to the highly sophisticated, with examples of how these are used and applied in practice. This will include examples of how we can fully flatten large and complex tree operations which might seem to inherently require recursive operations to perform. 

Starting from: $500

Unchain your mind at LambdaConf 2024

Buy tickets