Skip to content
0:00 / 0:00

#apl#dyalogapl#arrayprogramming

High-performance Tree Wrangling, the APL Way // Aaron Hsu // Dyalog '18

Dyalog User Meetings

1.4K subscribers • 2 videos on Hallway

YouTube
  • Recommended by 3 people: 3 on Hacker News.
  • Presented by Aaron Hsu
  • An opinion. It argues one side of a question engineers disagree on.

Advanced. Deep dive for people who know the field.

5.7K views7 years ago3 recommendations

Programming languagesComputer scienceData structuresPerformance and optimization

Aaron Hsu explains how to manipulate and transform tree data structures in APL using arrays instead of pointers for high performance.

Aaron Hsu, Indiana University (U.S.A.) Don't let hierarchical tree like structures get you down in APL-land. Despite what modern C.S. theorists would have you believe, there's more than one way to prune, chop, graft and otherwise mangle and wrestle with tree data. Aaron discusses a novel approach to interacting with Trees, particularly in the manipulation and transformation of trees, that leverages the unique and special qualities of APL to achieve not only greatly reduced code size, but also improved performance, amenability to parallelisation and ease of maintenance/productivity improvements. These techniques are easy to pick up, general and practical. TL;DR – Why everything you learned about working with trees in University is wrong. Slides (PDF): dyalog.com/uploads/conference/dyalog18/presentations/U19_Tre… -------------------- Learn more about APL and compete for one of three $100 prizes! Open to all skill levels. challenge.dyalog.com Our other annual competition promotes APL through innovative open-source libraries and commercial apps built with Dyalog APL. The winning entry receives £2,500 GBP and an expenses-paid opportunity to present the project at a Dyalog user meeting. forge.dyalog.com --------------------

Why it's here

3 people recommend this

What people say. Highly recommended as a mind-bending demonstration of array programming techniques applied to hierarchical tree data structures.

kadblason Hacker News • Recommends

On “Why I think Haskell is the best general purpose language as of June 22 2019”

…videos on Dyalog APL: - Does APL need a Type System? ( link ) - This is actually a very interesting question that is more nuanced than upon first glance. - Design Patterns and Anti-Patterns in APL ( link ) - The main takeaway from this video for me was the principle of "Idioms over libraries." - Higher Performance Tree-Wrangling, the APL way ( link to this video ) - Or how to model Trees without using pointers by using "Inverted Tables." (An inverted table is a table where the columns are the rows and the rows are the columns)…

snakyon Hacker News • Recommends

On “Language as an intellectual tool: From hieroglyphics to APL (1991)”

I had this feeling exactly listening (great, as everything Aaron does) presentation about manipulation and transformation of trees in APL, link to this video

jodrellblankon Hacker News • Recommends

On “Zig 0.8.0 Release Notes”

…lls "tiny tiny") so lots of startup overhead and not enough big arrays to gain ground on. He has one talk (available on YouTube) about his approach to using arrays to working with tree structures in a high-performance way in APL3. 1 link 2 he used to be on the Scheme R6RS steering committee, so he's not new/inexperienced with it link 3 link to this video 4 17 lines of code which took a PhD researcher (him) 5-10 years to write, mind you.…