Algorithms + Data Structures = Programs - Episode 134: 🇵🇱 Lambda Days Live 🇵🇱 Simon Peyton Jones, Jordan Miller & More!
Episode Date: June 16, 2023In 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)
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
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.
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
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,
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,
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.
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.
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.
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.
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?
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.
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.
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.
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.
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.
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.
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
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
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
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
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
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.
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
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
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
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,
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
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
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
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
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.
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.
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,
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.
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.
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
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
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
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
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.
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.
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.
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
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
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.
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.
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.
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.
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.
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.
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
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.
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
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.
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.
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.
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,
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
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
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,
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
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.
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
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
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,
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.
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
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.
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.
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.
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.
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.
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.
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,
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
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
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
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.
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
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.
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.
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.
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.
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.
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.
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
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
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.
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.