Algorithms + Data Structures = Programs - Episode 134: 🇵🇱 Lambda Days Live 🇵🇱 Simon Peyton Jones, Jordan Miller & More!

Episode Date: June 16, 2023

In this episode, Conor interviews speakers & organizers live from Lambda Days 2023!Link to Episode 134 on WebsiteDiscuss this episode, leave a comment, or ask a question (on GitHub)TwitterADSP: Th...e PodcastConor HoekstraBryce Adelstein LelbachGuests InterviewedBarbara TrojeckaBecca WilliamsJordan MillerSimon Peyton JonesShow NotesDate Recorded: 2023-06-06Date Released: 2023-06-16Lambda Days 2023 WebsiteLambda Days on TwitterLambda Days on LinkedInLambda Days on FacebookErlang LanguageElixir LanguageScala LanguageFunctional Females on LinkedInBecca Williams on LinkedInBecca Williams on TwitterOlivia Smith on LinkedInOlivia Smith on TwitterLost in Lambdauhhs PodcastJordan Miller - Cognicast Episode 165defn PodcastClojure CampClojure for the Brave and TrueClojure Languagewww.plrank.comThreading Macros in ClojureLambda Days 2023: Opening Keynote - Beyond functional programming - Simon Peyton Jones & Tim SweeneyVerse Language“Shaping our children’s education in computing” by Simon Peyton JonesBeyond Functional Programming: The Verse Programming Language (Simon Peyton Jones)Lambda Days 2023: Bringing LAMBDA to Excel - Jack WilliamsLAMBDA in ExcelKeynote: Excel meets Lambda - Andy Gordon, Simon Peyton Jones | Lambda Days 2021Download Excel LabsSimon Peyton Jones Home PageRemora LanguageHaskell orthotope Library

Transcript
Discussion (0)
Starting point is 00:00:00 You can do anything because you have Lambda. And this year is a special edition because it's the 10th anniversary. For 10 years we've been organizing Lambda Days in Krakow in Poland to spread the word about functional languages. We wanted to create a space where we can bring some of these females together, create a platform where they feel like they can be really open and outspoken, without judgment and so they share tools and ideas well if you have any dysfunctional programming it's a lisp
Starting point is 00:00:31 so it's a list processing language that is used in production systems so it's the roots are like scheme or racket if you've done that and then i went back and do you know what has happened some of the people that i was talking to, the junior people that I was talking to, had become the bosses. So it was a very unusual tech transfer strategy. Welcome to ADSP The Podcast, episode 134, recorded on June 6, 2023. My name is Connor, and on today's episode, we interview speakers and organizers live from Lambda Days 2023 that took place in Krakow, Poland. On today's episode, we interview Barbara Trojeka, Becca Williams, Jordan Miller, and Simon Payton-Jones. This is part two of our two-part Live from Lambda Days series.
Starting point is 00:01:27 All right, we're here with Barbara, conference organizer of Lambda Days 2023. Tell us, how's the conference been going? Why is this year special? And why should people be interested in coming to Lambda Days in the future? Hi, the conference is going really well. It's the second day. The first one was very interesting
Starting point is 00:01:48 because for the first time we have panel discussions, a little bit more open to the audience, and they went really good. Today is mainly the day of talks, and I hope this is going to go similarly well. And this year is a special edition because it's the 10th anniversary. For 10 years, we've been organizing Lambda Days in Krakow in Poland to spread the word about functional languages to the European community mainly,
Starting point is 00:02:17 but of course we have guests from all around the world. Yeah. And why should folks, you know, if the people listening to this podcast, you know, haven't been to any conferences, or maybe they've been to some, but they haven't been to Lambda Days, why should they come and check out Lambda Days in Krakow, Poland? I think Lambda Days is a little bit different than if you, for example, if you code in Erlang, Elixir, Scala,
Starting point is 00:02:38 you probably will go to CodeBeam Conference, ElixirConf, or Scalac, or something like that to learn about your own language. But Lambda is a little bit different because you learn about other languages, but also functional languages, so you can take that knowledge and see if you can implement that into your language or your work or whatever project you're working on.
Starting point is 00:03:00 And also, on top of that, Lambda Days works really closely with researchers, so we have research talks from all different universities. So the ideas clash because researchers have their own crazy ideas and then people who actually work on those things come to them and say, well, how would this work and how would that work? So yeah, it's like a clash of ideas. So it's very interesting, awesome talks.
Starting point is 00:03:28 Yeah, that's why you should come to Lambda Days. It is pretty awesome that we had the CEO of Epic Games, Tim Sweeney, giving a keynote alongside Simon Peyton-Jones, who hopefully we'll be able to interview later. We haven't found him yet, but super awesome that someone clearly from industry, you know, Epic Games, massive, multi-billion dollar company, giving a keynote alongside Simon Payton Jones, who, if you don't know, is one of the main fathers of Haskell.
Starting point is 00:03:50 Pretty awesome to see that. I've got two questions from previous people that we've interviewed earlier today. The first one's from Toby. We had one after party this year at Lambda Days 2023. Toby said that there's going to be two next year. Can you confirm or deny whether that is the case? I cannot confirm nor deny, because we'll see. We'll see. We can't deny. So Toby might be telling the truth. The second question is when we talked to Jose Valim, creator of the Elixir language, we were asked to ask you, maybe it was, you know, I might have, I might've been the person.
Starting point is 00:04:21 What's, what's Lambda Day's favorite language? You know, do you have a, do you have a favorite language, you know, of, of the languages that are talked about at this conference? Can you choose one live on the pod? And Jose Valim asked that question. I mean, was it Jose? Was it me? Nobody knows. Nobody knows. I don't think I can answer that question live, no. But you do have a favorite, or can you confirm and deny that much at least?
Starting point is 00:04:44 No, I don't, because I'm not a programmer, so I don't have a favorite language. And I think every community that's a functional programming community is very inclusive. People are very open, very casual. That's why I love to work here, because, yeah, they're great. They're great. They love the food, and they love the parties. So what else can I expect? I should say, we were talking to Kim earlier who was eating the panna cotta.
Starting point is 00:05:09 She gave it a four to five stars. She loved it. And we said that the vegan cake probably sounded vegan, but I had it. And let me tell you, it was actually quite delicious. I might have had two slices. That's good. That's great. Yeah.
Starting point is 00:05:21 Yeah. So you can find vegan, vegetarian food here. Or, yeah, we can accommodate vegan, vegetarian food here, or we can accommodate you, whatever dietary requirements you have. And if people want to follow Lambda Days or yourself on socials, what's the best place to do that? We have Twitter, Instagram. On Twitter, we are at Lambda Days.
Starting point is 00:05:40 Yes, just at Lambda Days. That's our handle. LinkedIn as well. Yeah, for now, those three channels I think will be best. Awesome. We will link all that stuff in the show notes if folks are interested. Thank you so much for being interviewed and also for all the work and the team of people around you.
Starting point is 00:05:58 I know it's not just a one-person show. All the work you put into organizing this conference has been awesome so far. Yeah, thank you for coming and speaking and doing the lightning talks. Thanks so much. Awesome, thank you. All right, we're almost at the end of Lambda Days 2023, day two. We're here with Becca Williams, who gave the last lightning talk of six lightning talks this morning.
Starting point is 00:06:18 And she was talking about an organization that I had never heard of before attending this conference, Functional Females. So first I'll let you give a brief introduction of yourself and then maybe tell us about the organization and what people should know about it. So I've been in recruitment for a couple of years now and it's always been within functional programming. The last two months or so, myself and my colleague Olivia have set up a community called Functional Females.
Starting point is 00:06:47 I think with us being within recruitment we know the talent pool, we've seen the talent pool, we look at it every single day within our jobs when we're hiring whether it's in Elixir or Scala or Rust we see the talent pool and for us we go through 40-50 male developers and then we come across one female developer and then so on so on so we wanted to create a space where we can bring some of these females together um create like a platform where they feel like they can be really open and outspoken like without judgment and so they share tools and ideas it is predominantly a slack community but we've also held like um virtual meetups and we plan to have uh in-person meetups later on in the year um but yeah we they share tools they share ideas like for us as recruiters we give them a lot of advice on like tackling the
Starting point is 00:07:38 job market as well as what the job market looks like and it's also great for us because a lot of the companies that we work with they speak to us about the challenges and struggles they have when it comes to hiring a diverse team and also retaining a diverse team so we can speak to these women about these challenges within the company and it's more of a safe space for them so that we can speak to other companies and hopefully tackle the the challenges start from the inside out and when we get new roles on our desk the our first point of call now well my first point of call is always functional females like let's speak to these
Starting point is 00:08:16 women let's see if this is the right role for them let's speak to the talent pool that i found of women in functional programming and then go to the males because everyone like you can speak to a hundred developers here like these male developers they still get reached out to to require recruiters three four times a day probably so to me it's not like it's unjust it's like just giving females a bit more of an um like a a chance than what they may have received like throughout their career really so this sounds absolutely like an awesome initiative and when talking to kim earlier she mentioned i'm not sure if it was while we were recording or while we were not recording that
Starting point is 00:08:55 this just launched two months ago and so are you mostly based in europe right now because i know kim said she's based out of the netherlands and i think she said was the Scala lead. And so is it like one lead per sort of functional language? Could you give like a little bit more details of if people are listening to this? Because I think we have listeners all over the globe, some in North America, some in Europe, like, what can people expect, like if they're looking for meetups or looking to get involved? So we want everyone to join that there's no expectation on anyone that they can use it for the little things that they need, whether they are on the job market and they're interested in the like interview tips or they want to just connect with other females within functional programming
Starting point is 00:09:33 but we are at the moment just across europe although it has been two months since launching we're at around sort of 80 90 developer female developers at the moment um i think it's europe right now just because we've always like that's where we've built our network for the last couple of years um and like we know a lot of developers within this space and when it comes to later on in the year with our growth plans and doing a meetup it'll be a lot easier to have it in one sort of space but we've got i think around 24 different countries now so yeah it's definitely spread across Europe and 100% the plan will be to like open it up widen it up across like the US and stuff but it's just where our resources are at the moment we're focusing on Europe and then we're
Starting point is 00:10:18 working to expand from there. That sounds so awesome 24 countries in two months is that's massive growth very quickly. So the question I have to ask is, I am primarily a C++ developer. You said you have like a Rust. Is there space for the non, I mean, like C++ has some functional stuff, but it's definitely not known as a functional language. So is there languages you're focusing on, or is there like certain, I know Rust, Scala have been mentioned, like what are the main languages you're focusing on, Or is there certain... I know Rust, Scala have been mentioned.
Starting point is 00:10:45 What are the main languages you're focusing on? And is there hope for C++? So, yeah, I know I've been told so many times in my career that Rust isn't actually a functional programming language. So I think that's just where... That's an area that we've worked in as well. But at the moment, we've got channels for um scala elixir erlang rust um haskell closure but yeah there's always like room for more like we want to
Starting point is 00:11:12 encourage women within like technology like we want to have a space where more women are wanting to head into technology and hopefully into functional programming. But yeah, there's always space for more languages. We just want people to feel open to come to us and say, yeah, I'm working in C++. I'm really interested in the functional programming paradigms. And yeah, I'd love to be able to hopefully host a space for them as well. Awesome. So if there's folks that are listening across the globe and they're thinking
Starting point is 00:11:46 I know Python and I love functional programming and I want to get involved some way, where's the place to go or the thing to do? The next step, if you will. So come to me, come to Becca Williams on LinkedIn. Also Olivia Smith. At the moment, we are
Starting point is 00:12:02 trying to get to as many conferences as much as possible just to spread awareness. But we do have a functional females LinkedIn. But, yeah, we're just taking email, like doing bog standard way, taking some emails, adding them to our Slack channel. And we're growing just by word of mouth as well, which has been fantastic. Awesome. Thank you so much. Thank you for being on the pod. And we'll make sure that we link to your Twitter, Olivia's Twitter,
Starting point is 00:12:29 Functional Females, LinkedIn, and any other links that you want me to link so if folks are interested, they can get involved. No worries. Thank you so much. I got caught making a beeline for the espresso machine. I got caught making a beeline for the espresso machine. Are you recording? Of course you are. We're recording. You need to tell people when you start. I told told everybody else but i figured it would just be perfect if i
Starting point is 00:12:48 just turned you you were mid-story you were mid-story i walk in i'm making a v-line for the espresso machine because of course it's the morning right it's morning right now and on my way over said hey do you have five minutes to one one video? And I'm like, can I have a coffee first? But then I was trying to hold my coffee to get that out of the shot. So I had to gulp, and then I had to look directly in the eye. I was like, no, the videographer had the shot set up. And I'm like, I cannot just stare. I cannot think and stare
Starting point is 00:13:25 somebody in the eye at the same time who does that this is very inconsiderate not letting you hold your coffee declaring that you make eye contact directly with the camera i can't make no not with the camera i would be able to look at the camera you had to make contact with the videographer yes yes yes with the videographer much like i'm making eye contact with you. Nobody can see right now, but we're locked, locked in deep eye contact right now. Folks, we are talking to the, I was about to say the man, the myth, the legend. What's the female equivalent to the... The man, the myth, the legend. I think that crosses the that crosses the the the gender threshold i guess um
Starting point is 00:14:06 but we're here with jordan miller host of everybody's favorite slightly out of commission podcast lost in lambdas coming back i'm coming back i'm coming back you inspired me last night i mean we because it's it's such it's such you think it's's not like there is a big ability for feedback mechanism, especially since Twitter imploded. I don't even know where, how to publicize that I do new releases anymore. I mean, Twitter still is there. It's still a thing. Is it, though? I mean, I haven't switched to Mastodon, but that's just because I have too many Twitter accounts
Starting point is 00:14:45 and the overhead of having to switch each of them, like my personal one, my podcast one. I have one Twitter. I'm just waiting to see for the dust to settle because if maybe Twitter will come back. Come back. It's still, it's still. Are you on Macedon? Are you just, you? No, no, I'm waiting.
Starting point is 00:15:01 I'm waiting to see what everybody chooses because I'm out of social media. You know, I recently denied Snapchat forever too, but my family recently got me on Snapchat. And actually, even making my first Twitter was like, I'm done. I wanted to stop at Instagram, but here we here we are 2023 with 2023 accounts to manage. If you, if you start making podcast episodes again, I will, I will plug the releases on, on both of my personal and my, this podcast. You've been busy though. So first of all, for folks, for folks that don't know Jordan, she's got a, she's got a pod part of the closure community. Actually, I'll let you introduce yourself first.
Starting point is 00:15:46 But I first stumbled across Jordan Miller when she was a guest, I don't know which episode. It was probably episode 147, plus or minus a few, in January of 2022. Why do I know the exact date? It's because on that, this is Cognacast, and we first heard her name then, and then we went and listened to all 17 episodes of Lost in Lambdas,
Starting point is 00:16:08 one of the most refreshing podcasts on the market. It's focused on sort of functional programming and stuff. Anyways, fantastic podcast. If you like programming podcasts, you like functional programming, this one is completely different. She interviews the people behind the GitHub names and the Twitter names. Anyways, that's my, that's how I came across. Love the podcast. Great to meet you in person. Introduce yourself though. Everything that I missed in sort of tell us about why people should listen to the pod. And also you're working on some exciting projects. Tell us about those as well.
Starting point is 00:16:37 Oh, okay. Time to plug myself. All right. I got this. I got this. Um, so hi, I'm Jordan. I do closure and closure script. Um um i should be more prepared with like you know entry entry things uh let's see my podcast i think you summed it up very well that i like i i really want to bring the humanity back to tech because i think all too often we have all of these uh virtual layers in between us and it's easy to forget that we're all just human and like regardless of you know there's there's even even in like sociology I guess if you look at it we have all these layers of like culture and let you know all these in real person layers but I think even then at the core, the basic human condition is the same.
Starting point is 00:17:28 And if I can cut through some of the layers, then that's very motivating for me. Because then, I mean, somebody makes an amazing library, and they don't merge your pr because it's open source it's it can be very easy to get like upset because you know yeah we knew we know this like keyboard um behind a keyboard it's easy to forget people are human but if you listen to a podcast and you know the person then it's easier to work with one another and easier to connect so i should i i all right i will get the podcast back we should do an opening a season debut episode how's that like who's we us yeah all right look at look at this podcast cross pollination we we can we can either do two separate episodes and then post them individually
Starting point is 00:18:25 or we can just do like a single episode and post them on our respective mob I've done a couple of mobcasts I think they're the most fun
Starting point is 00:18:33 mobcasts I never heard that term yeah I think when did we think of it it was with Ray and Vijay with Defen oh yeah yeah
Starting point is 00:18:41 but then they also yeah they invited their guest was michelle and then we invited our friend paula and it was just a mobcast like i don't even know what and it was on my podcast their pot it was i don't know it's it's again the connection whoo um but i guess i should say why i haven't uh released episodes because i have a couple other projects going on so um we've been i co-founded originally it was called the clown soul we have rebranded to uh it's called closure camp and uh my co-organizers with that are daniel higginbotham uh you might know him from uh the famous famous
Starting point is 00:19:19 book closure for the brave and true and um and then our other friend uh paula guran and uh our friend ref ditwell and um and yeah we see that there is a problem that um the closure community has a lot of really great senior engineers and so it can be challenging for a company to justify hiring more junior engineer but that is a problem because we need fresh blood in in in the industry and uh when you think about if they're all senior engineers and a lot of people find closure 10 15 20 years into their career who were the programmers 15, 20 years ago? A lot of the same, a lot of people that share a lot of the same identity attributes. One might say.
Starting point is 00:20:12 One might say, yeah. And so part of our mission is also to prioritize the experience of people that are underrepresented in tech and then get their diversity of experience on our closure teams because you know we're solving really hard problems you know what makes solving hard problems better diversity in experience yeah and like not not not diversity for the sake of diversity because that is important but also even just selfish, I can recognize that to solve hard problems requires a creative and abstract thinking. And diversity and experience, like hive mind, never works.
Starting point is 00:20:52 I mean, inexperience is a form of diversity. Yeah. And that is something I relate to. Like, I don't have, you know, something. When I gave my talk yesterday was the first time I was ever in a lecture hall because I didn't go to university. So I had never, ever been in a lecture hall in real life. You skipped the university phase straight to giving lectures phase. Yeah, I guess so. I guess so.
Starting point is 00:21:22 I was doing important other things. I was effing around and I was finding out. And boy, did I find out. Found out so much. The hard school, the school of hard life. I don't know. There's an expression in there I'm forgetting. I'd help you out, but I don't know. There's an expression in there I'm forgetting. I'd help you out, but I don't know the expression. And yeah, I've been doing lots of conferences. That's been very fun. So yeah, Closure Camp is one of the projects we're getting off the ground. And our hypothesis is that if we foster facilitation in the community, that we can help solve this problem of hiring
Starting point is 00:22:03 junior engineers. So if we make connections with business leaders and ask what skills would help you hire a junior engineer, because we understand why, because to hire a junior engineer is a risk. And if you don't know how big that risk is, how long they're going to take to onboard, how long then, you it does it doesn't make sense logically and so if we can mitigate that risk by saying what would you like them to know
Starting point is 00:22:31 in building a curricula and then fostering the community of attracting um like teachers or mentors and and then students and facilitating the meetups, more like a match, almost like a matchmaking service, but not in a cohort time-based way, in a self-led through the curriculum way. And it also solves another problem in that being a mentor or a teacher can be thankless work. It can be, it's like burnout city. Anyone that's ever really tried, and you try because you're passionate about sharing what you love, and then it's just so tiring.
Starting point is 00:23:16 Just so tiring to always be creating and giving and giving and giving, and you like to see your students succeed, but, you know, sometimes it can feel like their successes are you know their successes are rightfully their successes but their failures are your failures and uh so that's that's one of the projects that's been taking a lot of my time um And then I'm also co-authoring a book that we should really, we're about halfway through, we should do more on. I'm co-authoring it with Alex Miller.
Starting point is 00:23:52 He's a Closure core contributor, and I don't know, I wonder if the listeners need an Alex explanation. Some of the listeners don't, but most of the listeners do. Because, I don't know, maybe probably 20%, 50% of our listeners have heard of Clojure, but that's probably it. Oh, well, you should really try Clojure. Pitch Clojure if you want, yeah. Well, if you have any functional programming, it's a Lisp. So it's a Lisp processing language that is used in production systems. So the roots are like Scheme or Racket, if you've done that. But a lot of it's very data-oriented.
Starting point is 00:24:32 And get this, no breaking changes. We don't believe in breaking changes. No, that doesn't sound right. No, seriously. So sometimes you'll see our libraries, and you can tell when someone comes from another language because they'll check out for a dependency, like, oh, what's this? Oh, no commit in a year.
Starting point is 00:24:50 And I'm like, oh, no, no, no. It's just complete. It's just done. It still works. Works as intended. Done meaning not abandoned, but just done. Yeah, yeah. It is complete.
Starting point is 00:25:03 There's nothing else that achieves the objective it set out to do. And that's it. But things don't go stale because there's no breaking changes. So that's the Clojure pitch. You're working on a book, too? Working on a book? Oh, yeah, yeah, yeah, yeah. The book.
Starting point is 00:25:18 So it's called Clojure Brain Teasers. And it's similar. It's with Pragmatic Program prag prog and uh it is 30 different uh teasers that are the intention isn't to be like oh gotcha it's i mean maybe with the other books because there's there's there was python brain teasers and rust brain teasers but with um closure brain teasers alex has been part of the closure in slack just answering questions for like a decade now so the same questions get and like because it's a very intentionally designed language again with no breaking changes everything kind of works for like a reason like even though it may
Starting point is 00:25:57 not feel right there's a reason so the the idea of the Brain Taser's book is to highlight those decisions that language isn't trying to trick you. So yeah, so that's the book. Are there any other? We can start to wind down because the listener can tell it's gotten a little bit quiet in the background. I'm not holding the mic. is this is jordan with the mic um uh next set of talks have have started and that means uh jose valim is talking so we're missing his live book talk but but it's okay we can wrap up here and say uh if folks and also i should say closure one of my i think top five programming languages my pl rank.com is written in ClosureScript.
Starting point is 00:26:46 The thread first macro and thread last macro is just absolutely beautiful. One of the most elegant features. Rich Hickey, fantastic. We love it. Maybe we'll talk about Closure more when we do our relaunching of Lost in Lambdas. If people want to follow you, though, you're kind of active on Twitter. What's the best way for people to follow you? Just go subscribe to your pod, and it'll kick off at some
Starting point is 00:27:07 point. How do people follow Jordan Miller? Yes, I have not deprecated my Twitter. I just don't get on it very often. So I'm laughing because I know we just had this conversation. I should do one of the hacky, one of the things. I should, LinkedIn? Oh, God. Hit me up on LinkedIn, I guess. No, I don't even know. I guess Twitter. Twitter is.
Starting point is 00:27:32 People are going to hit you up on LinkedIn now. Oh, God. Yo, hit me up on eHarmony. No, no, don't. Do not do that. Just to be clear. And only hit me up on LinkedIn if you know me. Hmm.
Starting point is 00:27:46 I guess Twitter. Darn it. Okay. Twitter. Twitter it is. Thank you so much. Thank you. Go subscribe to Lost in Lambda's fantastic pod.
Starting point is 00:27:57 Thank you so much. All right. We are here at literally the conference just wrapped. Lambda Days 2023. And as promised, we managed to track them down right as the conference is ending. Simon Payton-Jones gave the opening keynote of Day 2 this morning with the CEO of Epic Games, Tim Sweeney. I guess first we'll ask, I mean, for folks that potentially don't know who you are, but we'll assume they do, maybe give a brief introduction and tell us what you thought of the conference, seeing as it just ended. So I'm Simon Peyton-Jones. I now work for Epic Games. I used to work for Microsoft Research. Really, I'm an academic computer scientist,
Starting point is 00:28:33 but I'm fortunate enough to work for companies who, they need to do almost whatever I like. It's amazing. I really have a good job. Currently, I work on, I've spent my whole research career working on programming languages, functional programming languages in particular and at the moment this language Verse as well as continuing quite a lot of time spending on Haskell still I'm also quite involved in thinking about what young people should learn about computing
Starting point is 00:28:55 in their school education and working quite hard to reform what computing education looks like in the UK Yeah, I'll link, there's a couple podcasts I mean you've been on a bunch of podcasts, this won't be a full blown, you know, this will be just a short five minute or so interview. But I recall, I can't remember if it was the Haskell Exchange, but you've done a couple of podcasts where you focused purely on sort of like education reform in the UK. It's nice to see that happening in parts of the world, but hopefully, you know, other countries
Starting point is 00:29:21 and governments can take a cue from that because I think you would probably agree that's important. I think so. So I think the UK is, for the first time, shifted from thinking of computing as a kind of vocational skill you need to be able to use computers, to thinking of computing as a foundational piece of knowledge alongside natural science and mathematics, which all children should learn. Not primarily because they're going to get jobs in it, but primarily so that they can be equipped as citizens,
Starting point is 00:29:49 to be sort of empowered citizens to know something about the technology they're using so they can make well-informed choices about it. It's a very big shift of perspective. I'll definitely find that podcast because I know you've talked at length about it and it is an interesting topic. Hopefully other countries will take a cue from the UK. We're two minutes into this let's um maybe give us a small because i think the keynotes actually i overheard uh the regular talks are going to take a few months to roll out but the keynotes i think they're going to try and get online within the
Starting point is 00:30:16 next couple of weeks um so give people a an overview of this very exciting i guess it wasn't announced at this conference it's been sort of out in the wild for at least a few months now. Tell people why they should be excited about Verse and the metaverse and what's happening at Epic Games in this area. So Verse is really the brainchild of Tim Sweeney, who is the founder and chief executive officer of Epic Games. He personally wrote the Unreal Engine, which is the game engine that is Epic's key piece of intellectual property and is used for all sorts of things, not just games, in virtual reality and architecture design and manufacturing design and is a sort of key building block of what we hope will become the metaverse. So, verse the programming language is also Tim's brainchild and he's been thinking about designing a new language for about 20 years.
Starting point is 00:31:06 My job, along with Leonard Augustin and several others, is to reverse engineer verse out of his head and make it apprehensible in form that engineers can build it and people can use it. So it's a functional logic programming language, which is a fairly, you know, functional logic programming is a niche within functional programming. So we aim to take that small niche of highly expressive programming language and kick it into the mainstream. That's quite an exciting thing to do. It's a very radical, you know, rethink of what programming should look like. It's not just another retread of Python by any means. Yeah, definitely. We'll link the keynote when it comes out. And I think actually there's already
Starting point is 00:31:44 a couple of videos on Verse that we can find on the Internet. It's open source, which is awesome that a company that's investing in the language like OutTheGecko is doing that. Is this something people can go and play with right now? Yes, there's a shipping version of Verse right at the moment. It's a kind of tiny fraction of the language that I showed today in the keynote that we showed today. But it's also bigger in other ways so the shipping language has is much more conventional in its in its framework and it has a fairly conventional type system but with subtyping and has classes and inheritance and that kind of stuff but the advantage is you can download and use it today to program the unreal engine in the fort environment. But the idea is that that language
Starting point is 00:32:26 will grow and become more capable and more like this Maxverse language, the one I described today. So this Shipverse will grow into Maxverse, if you like. Super exciting. Like I said, we'll link the keynote when it's out in the show notes. Any final thoughts? I mean, I guess I have to, while I have you here, I'm a huge, the listeners of the podcast know, I'm a huge Excel fan. At one point, I had three different versions of Excel. I still miss the color palette from Excel 2003. And you were instrumental in adding Lambda,
Starting point is 00:32:54 one of probably the most exciting features that's been added to Excel in like the last two decades. Anything you want to share about the work that went into making that happen? Yeah, so it's, I think Lambda is the most exciting feature that's been in Excel for the last two or three decades. When I joined Microsoft in 1998, I thought, what is a functional programmer to do in a behemoth like Microsoft? So I thought, well, Microsoft already has the world's most widely used functional programming language. It's called Excel.
Starting point is 00:33:21 It's just that nobody thinks of it as a functional language. So if we did think of it in that way, look at it through that lens and made it a decent functional language, why? That would make functional programming the most widely used language in the world. there and give them room to grow and to become, well, they will nearly become functional programmers. That's quite exciting. So I think there's a lot of upward scope there. Now that the glass ceiling has been broken, I think we'll see a lot of further development. I think we've already got arrays as first class values, then we need arrays as values of cells, arrays nested within arrays. I've been advocating for this for a long time, but it does take a long time for a big mature product like Excel to absorb a radical idea like that. It took two decades of lobbying. In fact, there is a funny story associated with this, which is that I spent the first, I suppose the first six or so years I was working for Microsoft, I would go to Redmond every
Starting point is 00:34:20 year and talk to the developers and they would say, yes, Simon, this is great. We're so going to do it. And then they'd phone me up later and say, oh, actually, we've got to put it, you know, we've got to put all our effort into moving from 32-bit to 64-bit machines. So we've cut it from this version. So then I got discouraged and I went away for about 10 years and did other things. And then I went back and do you know what had happened? Some of the people that I was talking to, the junior people that I was talking to, had become the bosses. So it was a very unusual tech transfer strategy. First of all, you make your converts.
Starting point is 00:34:53 Then you wait for them to be promoted. Then you come back and they say, oh, we should do this. And this time, because they were the bosses. If the senior people won't listen, talk to the junior folks and then just wait a decade until they're- Exactly. Just wait. That was the strategy as it turned out. I didn't plan it that way.
Starting point is 00:35:10 And it worked. And we'll link, there's a talk I know you've given. I can't remember what conference where you sort of introduced the feature of Lambda and Excel. And I think also, was his name Jack Williams? Or was the individual that gave a talk here at Lambda Days, not just showing Lambda and Excel, but also like generative AI, LLM features being incorporated. It was all pretty, you were in that talk as well, right? No, actually, I was just arriving when he was finishing the talk. It was very sad.
Starting point is 00:35:35 But your listener should have a go at downloading Excel Labs, it's called, which is a kind of Microsoft-supported plugin for Excel that takes this Lambda idea a lot further. And it was written by Jack, written and implemented by Jack. And the idea is you can write a spreadsheet which has a lot of cells interconnected, and then you can press a button, and it'll take the contents of that spreadsheet and turn it into a single Lambda.
Starting point is 00:35:58 That's pretty amazing, because now it takes the form of textual source code that you can edit and keep in GitHub and reuse more critically, reuse. So you can take that spreadsheet and effectively call it hundreds of times on different data. So that was the original vision of functions in Excel was worksheets as functions, right? You nominate the input cells, you nominate the output cell, that's your function definition. Jack's implemented that finally. Excel Labs, give it a try.
Starting point is 00:36:21 Excel Labs, link in the show notes. I think also they mentioned, was it AFE Advanced Function Editor or something that they're working on? That's part of the same thing, I think. This whole plug-in gives you a function editor in which you can write both textually and I think in the Excel formula language. In a little palette on the side, you can write lambdas with lets and layout and comments and so forth, I think. It's pretty wild. The next editor after VS Code that Microsoft is going to release is going to be inside Excel, potentially. No, but it is VS Code, I think.
Starting point is 00:36:52 Oh, it is VS Code. Because you don't want to re-implement all of that stuff. So I think Jack just hash-included VS Code there. But you're not just typing into an enormously long formula in that little formula bar. You're having a proper VS Code editor. Yeah, that's amazing. Now substantial lambdas. Do well anything, because now Excel has just become too incomplete. You can do anything because you have lambda. Are you sure you still don't work for Microsoft,
Starting point is 00:37:20 I guess, that many years you're promoting the products? I'm deeply enthusiastic. I mean, Excel just has that market. And I think the fact that it now, I think the Excel team now have absorbed into their DNA the idea of Excel as a programming language that they want to grow and develop. They could do, call Python from Excel as well. I just think that it could open the door to end users becoming programmers. And that has nothing to do with a single company, but it's quite a seismic thing to do that can, you know, can it can multiply the audience of
Starting point is 00:37:51 people who would never think of themselves as programmers, but are now writing significant pieces of code, it could, you know, there are 10 or 100 times as many of them as there are of us. And so we should respect them and love them. And I'm really pleased that Microsoft is sort of moving Excel in this direction. I hope they continue to do so. I'll try and find the number, but I think I saw some graph where it was an estimated number
Starting point is 00:38:13 of programmers per language. And they went from number five or number 10 up to number one. And then they covered most of the top ones, Python, Java, C++. And I was like, what is number one? And then number one, it was like, I think a quarter billion or something users of Excel. And that was the number
Starting point is 00:38:28 one language. And I was like, oh yeah, I didn't think of that. Anyway, so thank you so much for taking the time. If people want to keep up to date with the latest Inverse or the latest things that you're working at, where should people go? Twitter? Do you have a blog? No. So I have a homepage, which I, you know, so mainly I keep up to date my publications, right? Because I mainly crank things out by trying to write papers. I've been a bit slow recently, but there's a paper about Verse there. There is, I mean, the Epic itself has a whole site for the shipping Verse product, and that has a community attached to it.
Starting point is 00:39:02 And I hope that we may eventually develop a community around the Maxverse stuff, but because it's a very small team at the moment, we haven't yet got a sort of open discussion going. Awesome. Thank you so much for taking the time and hopefully we'll run into each other at a few. I mean, you're going to be at ZuriHack. Yeah, I'm going straight
Starting point is 00:39:20 from here to ZuriHack to a three-day tutorial about the insides of GHC, you know, the bowels of GHC and its type checker. It's going to be a lot of fun. But I enjoyed your talk about combinators as well. Yeah. That was a lot of fun. And array languages.
Starting point is 00:39:34 I'd love to make... I was wanting to ask you about what you think about Remora, my friend Erlin Shivers, and also how to turn... You know, what would it take? I sort of feel as if it ought to be possible to build a library in Haskell and then put some work into implementation that would make Haskell a sort of, like a host language for a really good array language, if you like.
Starting point is 00:39:57 Because building whole new languages, however good they are, it's a big engineering exercise, right? So if you can sort of kind of submarine something into a language that already exists and already is widely deployed that can be another way so i wanted to talk to you about that yeah so i've i discovered at this conference uh someone pointed to me towards uh leonard's library ortho taupe i believe is yeah and uh i had no idea that he had given a talk on it last year and so i got i managed to talk to him a bit about it.
Starting point is 00:40:25 And he said it's a little bit unwieldy and that there's three different types for however much static typing you need for your arbitrarily ranked arrays. But it did sound like he had done a little bit of work in that space. And it is, I mean, this is going to turn into a whole hour conversation. So we should end it. But, yeah, maybe at a future date and time, we'll bring you on to the podcast and we can do a whole history of Simon, Peyton, Jones and your thoughts on sort of the array language world and the ideas there. I would like Haskell to be the world's best array language too.
Starting point is 00:40:58 Because arrays, it's fundamentally functional programming, isn't it? Yes. So, you know, let's just make it good. Make it good. And we have the advantages. We have our fingers on the implementation. We want something from the type checker. We can make it do that. That is true. It's not.
Starting point is 00:41:13 Haskell is, by design, a laboratory in which we explore and push the bleeding edge of what static typing means and maybe what performance means and what arrays mean, I think. So, I don't want Haskell to be a static thing. We're tussling with the tension between making it a stable base that companies can build on and rely on so that then, you know, they're not at a whim.
Starting point is 00:41:35 We change something that then gives them three weeks of fixing because their things fall down. So we have to look after them. But also, we still want it to be a laboratory for innovation. I think so far we're walking that line with care and some pain but quite successfully i think this is uh this just made me think that there is technically a few different implementations quote unquote just you know varying different extents in different languages so there's a library slash language called april that's a april apl implementation and common list i think there's another one called may which is uh an apl implementation enclosure then there's one in juliaist. I think there's another one called May, which is an APL
Starting point is 00:42:06 implementation in Clojure. Then there's one in Julia. I don't think that one's called June, but it sounds like, you know, you're hearing it here first from Simon that there should be an APL in Haskell. It should, yeah. I think they should. Yeah, maybe we should. And it takes some work, right? It takes cycles to make things good. And that means it takes some committed
Starting point is 00:42:22 people to put the work in. But it could be fun. We'll end it there. Thank you so much, Simon, for taking the time. And we hope to run into you at a future conference. We will. Yeah, good. Thanks a lot.
Starting point is 00:42:32 Awesome. Thank you. Once again, thank you to all of the speakers, organizers, and attendees that agreed to be interviewed over the last two episodes. Be sure to check your show notes either in your podcast app or at ADSP the podcast dot com for any of the talks or things that we mentioned in either of these two episodes, as well as a link to a GitHub discussion where you can leave comments, questions or thoughts on either of the episodes. Thanks for listening. We hope you enjoyed and have a great day.

There aren't comments yet for this episode. Click on any sentence in the transcript to leave a comment.