 Now we have the keynote the closing keynote Martin all over to you Right well, I'm really happy to see quite a few people stayed right to the end It's really an honor to be asked to be the the closing keynote speaker when Representing I was going to say you know it's something completely different, but I can't really say that now we had two Two solutions in the Jugal Bandi Anyway, I'm definitely coming back next year. This is becoming one of my favorite times of the year coming to India in September Will it be in September? Yeah So now I'm going to try and tell you a little bit about some features We've just added to dialogue APL about a year ago And then give you I mean they're not very dissimilar to you know futures that are in other languages like Like closure, but the difference in flavor is probably that we have arrays of these things because when as APL programmers You know we see everything as has a raise I'm going to Very quickly. I may not need to do this now that both I and Jay showed you some APL a few minutes ago But I think I'll spend a few minutes just showing you APL How many people were at my talk last year and sort of remember how APL works? I'm not that many so I'll spend just just a few minutes on that and Then despite the fact that we have all these parallel array oriented language features in APL It turns out they don't really allow us to achieve this goal of putting Parallel hardware at the fingertips of all these domain expert users that we have using APL and Then explain a little bit about how we arrived at the proposed solution and talk about what we're doing so very brief APL refresher. I think this is one of my slides from from last year. So the syntax of APL Is really very very simple there. It's only you know as you can't even fill a complete page with the different forms Either you have an array which is typically created by juxtaposing items of data with spaces in between them Or you have a function followed by one argument. This is the index generator So iota 6 returns the numbers from 1 to 6 in Or you have a function with a left argument and a right argument and the map is typically implicit in most of these functions Not all of them map is implicit. So this is adding item-wise on the left and right Then we have things that we call operators that you would normally refer to as higher order functions So this slash here is an operator We call it which takes this function multiplication as the left operand and produces times reduction in this case So this is the product of all those elements Then with the the reduction with a number on the left gives you a sliding window So this is the sum with the window size of two reduction going through the array and all