Bestand wählen
Merken

Mary had a little lambda

Zitierlink des Filmsegments
Embed Code

Automatisierte Medienanalyse

Beta
Erkannte Entitäten
Sprachtranskript
I have reading I i mountain and that the of you can find me on Twitter @ onto that that's the only on that has links to my various other online presences and it's a on a talk about land us when you get into why this is not going to be a programming talk really and it's definitely not on AWS talk of it's kind of a talk about a really I think a really fun and really interesting and really beautiful theoretical construct that allows us to simulate computation and I yeah it's going to be have fun and silly not practical at all so but what the I really quickly I'm him I work for a company called Huber research no affiliation the and out of we work with data on science research funding so kind of where the money goes in the process of science and I work on building a domain-specific language to query that data the and we do lots of other cool stuff and were actually hiring right now for especially for a web developer arrived like working with your mid come talk to me I'm also an alum of a couple really great organizations that have helped me wrap my head around at both things like the lambda calculus and things like out 1 is the reader center is a programming retreat like a writers retreat before quotas in New York City absolutely fantastic self-directed program and another is out Ricci which is a really incredible initiative to get more women and underrepresented folks involved in open source by offering paid at remote internships at open-source organizations like Mozilla which is where I did my internship and I'm still involved at Mozilla I as a volunteer with the missile attack speakers so I'm more than happy to chat about any of those things if you're curious about any of this stuff I just mentioned come grab me afterward so the I'm 1 of the important thing to know about me I like emoji and I like writing silly code problems about and calculus variable it goes Mary had a little lamb function pure as snow for every program that Mary wrote the land that was all she needed to know we might then there was the I'm just getting at is the kind of it's not a very good following that like I write software for living and but this is what's called out the lambda an organizing in a minute how words but basically uh the lambda calculus gives us a way of representing pretty much all computation anything that like a Turing machine to do with just a tiny little pure function so I the lambda calculus so let me so amount so you can see
them pick blending calculus I'm and if you've seen the lambda represented as his Greek symbol that because that's where the name of that reason was called are you might recognize it from the logo of every functional programming language ever it's basically 80 of kind of mathematical or perhaps logical formalism the system let this guy who looks Superfund hang out with on Alonzo Church's his name and starting in the early 19 thirties he started developing this system as a way of trying to understand the theoretical foundations of logic and now and he fell down the like crazy thing wormhole it and we're only going to scratch the delivery service about wormhole but there's like you could spend your entire life playing with this stuff so we're gonna spend about 40 more minutes during it I it's as I said it's it can serve as a universal model of computation meaning that it's Turing-complete so no big deal whatever we can just model pretty much anything computable with a tiny little and which we're going to explain what that is imminent i'm and just as a side note it comes in some varieties you have options there's the untyped variety and and simply that the typed variety where only to be talking about entitlement calculus today OK
so that's tiny we see that better
OK so on of quick notes on the difference between the land there in the Greek symbol and the calculus sense of the word and land there in the Python keyword that you probably all know and love sense of the word so the pipe the word is great it's really practical we can use it and I want you like right programs the lambda calculus is not writing programs so this is why it is not actually Berman Dr. it's worth thinking it's for reasoning and like trying to understand and get to the bottom of things and trying to make proofs and assertions about what we know about logic and math and those are 2 very different things so as to keep that in mind and as I said not a practical talk you're not gonna learn anything today that you like go using your doctor tomorrow so let's talk about pure functions so a pure function is a function that has no side effects are in the lambda calculus there is like a new way know how are you going to have a side effect in your function a side effect is something that the function does that is other than just returning its return value so for example and not in land in price on you can do things like you could say land acts print x you print it out to your screen that's not returning anything useful needs is returning none that's a side effect we cannot have that in the lambda calculus but it's fine with land doesn't Python so pretty ignore that teacher of land as on is that lenders in the lender calculus had exactly 1 in but it's like a pure function that takes exactly 1 input and returns exactly 1 output whereas as we know in Python we can use lambda with like multiple variables we can have we can return like a tuple of multiple outputs so we allow more flexibility there on when we make a function In both error the lambda calculus and in Python it looks kind of similar the syntax is different so In ONE calculus we call function abstraction the active sort of what we would in Python say declaring a function In the lambda calculus is easy on the left hand side that's represented by the land symbol and then a symbol that stands for the input variable in this case x then you have a doctor and that's kind of like that colon in Python between X and the body of the function and the body of the function comes to the right of the duct so a in the symbol x not x is equivalent to in Python lamda space X colon X on boards of our school the OK I if we as we said that the lambda calculus functions can only take 1 input so if we want a function that like we want pretend takes more than 1 in but we have to basically take the 1st input quality acts and then return of new function because everything is functions return a new function that takes the 2nd input why and then does something with both of them so I this the 2nd row after making 1 abstraction there on the left hand side this would be a way of representing kind of a two-parameter function in the lambda calculus the Land Act style and the y dot body so X plus Y for example and in Python remember we we have options we can actually create a single and that and takes 2 arguments and does something with them but here we're gonna be restricting ourselves to just 1 argument over lambda so we're going to be writing functions like this land acts school and when why Poland body on yeah and then once we've got a function we we've made 1 by abstraction are by definition Python we can use it by application which is what we would call on programming by calling the function and this looks pretty similar it's just got an extra pair of parentheses on the pipe on side of things aren't in the lambda calculus function application is just the function the 1 apply and an argument you when applied to the space between them in Python we use brackets to indicate that were calling something on arguments sigh parentheses to indicate that were calling something on arguments OK so I mean I and I I guess I I didn't mention that the lambda in Python is just an anonymous function it just doesn't have a name where going be cheating a little bit more to be naming some of our lenders just 1st sanity are right so the game that were to be
playing yeah using back out it is if we were to pretend that I found land that was like blended calculus lander Walker we do it the and as I said this is going to be an experimental science elite learning-oriented talk not a programming practical let's do useful things talk so please take this opportunity to get off the train if you were like wanna go learn something practical there's a but Julian other talks on right now that I'm sure we more useful than this 1 but this 1 hopefully will be already story I won't feel that so again we make however some numbers numbers merger cool we like numbers numbers of us do things like count 1 thing to things 3 things but look at we count if we're in a world where all we have is a land all we have is a tiny little pure 1 argument in 1 result out function so all we know how to do is like create functions and then call them apply them although we do that well we could think of applying a function as like the counting 1 and applying it again is like accounting another 1 and applying it again as counting more so we could think of counting as like counting calls to a function counting function applications so if we had if we wanted a couple of numbers 0 and 1 can ever be read as thank also I what would those look like well bear with me here were illegal flow 3 with our definition of numbers but if we need to count things by applying functions then the number is going to need to be something that takes a function as an input and it's gonna return something that is another function because everything is a function of and that function is it takes some arguments OK so if you allow me here we're gonna think of all numbers as being something that like takes the function and returns a function that takes an argument and does something and the thing that it's going to do is applying the function F end times for whatever number it's supposed to represent so like 1 would apply the function once and 0 order by the function v 0 times exactly which would mean we would just at cool OK let's see if life coding works probably not by now I think I also forgot to clear all the inputs and this thing so that'll be interesting I so to 0 then would be of the money on me out recalling f twice states would be like applying f 2 F of X on and similarly would be as of the end of F of X I think but then valency you happen I now so permanent just trust me from but you probably want something to prove so where to make it wouldn't not cheat just to do some sanity checks here we make out like an inch converter to that'll take and land number and converted to high finance so in given take the number N and when it passes a function that adds 1 to some integer by and we're going to start off with the integers 0 so 0 should call this function here 0 times right so as to give a 0 and 1 should call at once which it at 1 2 0 2 1 and so on and so forth you will you you would mean this acceptable right let's see what happens so now I've edited and but but that so do you think it is 0 it works it is 0 and similarly 1 you e-mail do didn't live here it's 1 of I think you see where I'm going with this now convinced you look so condensed I have never seen a more convinced looking group of people in my life about and 3 of the same different OK so now how do we get a higher number given a particular number this there's only what's called a successor function we want we were going to need to be able to like take a number and see what the next 1 and and in
order to do that low kind of in order to do that the an the we need a function that takes well as input and the number cool and gives us another number right and the number is the thing that takes a function so that's nice that and then not returns a function that takes an ax and so if I wanna just end like that the original number that I gave it I would call like this right I apply and Athinon apply that to x but I want 1 more loop I want 1 more application of s so if I'm not super duper tired I should be will wrap thing and apply F 2 1 extra time a c skeptical puzzled and completely and interested phases of a cell phone let's see what happens the would you believe me yeah OK so for would be the successor of 3 right and that should be and is and similarly if I have to be a successor for and I should really get 7 by applying like successor to the successor to successor 4 right 3 extra successes that the set I see how excited you are by this it is a really exciting I know OK but where do we go from here so I'm just just a notes these numbers that we have out there called Church numerals to can you guess who they're named after this do from the beginning Alonzo he's my BFF no not really they wish and anyway so just as if you want something to google you can google that a make what i arithmetic can we like add 2 numbers so if we have an loops and then loops everyone have together we could is Luke n times and then loop and more times right so when I like and is 2 and M is 3 I could do like 1 2 and then 1 2 3 and that would give me the right called so how do we represent that so and is going to take an an and and M and it's going to loop n times 1st of all so that means we plan to have 0 sorry these ladies in return a number which looks like that as we've seen a couple of times it's going apply and to F and then to x but then we're add on a couple of extra loops so we're gonna flying and again m times to the result that we got from looping and times I think this is right everybody on board maybe we will find out of that let's see I don't know maybe I'm just a retired OK so I should be able to get best I should be able to add 8 and 2 and get a Dingell 10 and it should convert to that right if it works then nothing is loaded and I should then be able to well the zoom out he still read that OK I should then be able to have them in the opposite order it should work and I should be all the mass this right like this should give me yeah a yeah and we had a learned and not everybody's OK so subtraction is way harder when I do have by multiplication multiplication is not so hard so what I'm multiplying N and M and we do that so basically if we're multiplying like 2 times 3 or any like 1 2 that's power 1 of them into another 1 to and arena to another 1 too much to give me 2 2 2 6 right so were receiving a loop n times m times over OK 0 geez that's what it looks like when you don't enter anything in code think that so modeling multiply this again and mn it's going to give us another number which looks like is OK it's a 1st loop n times and so if N applied to f gives us a function that plies f n times then if we apply M to the back that should apply the that function m times so they have like a loop within our lives I see your face is all look like my face like the 1st time I played the best feel free to follow on TV by a laptop invariant open up an interpreter OK i so if I apply and to a function that loops and times then I should get a function that loops n times m times this is how I'm trying to think about this thing let's see what happens I it in explodes does it give us the right thing this is when I'm expecting and should be all the multiply 4 and 3 and at 12 but the amendments well I mean
OK and I should be able to book I should be able to do something else like uh 2 ends multiply A I don't know to and varying of view the the words the other direction the the we don't have you have and again dividing a super Newman of end so what about words without reasoning and the power of M From emitted take a sip of water well you think about Alan the yeah 1 looks at the ceiling like the end of the year there OK this unimodal weird was the weapons OK I want a power function that takes an and and it's going give me a number the but let's imagine that stink like as a simple example let's imagine and it's like to so I wanted to and apply and like this would be like 2 and 2 if I wanted and where I could multiply 2 by 2 right and we saw in the last example that means calling like this part and it is this 1 was ah and before so imagine was to an hour just now we got i t squared so long OK and then for like 3 would be like calling out again but to the power of 3 so this would be like 2 times 2 times 2 imagine an instance OK so were doing is we're applying and m times to at right now if only we had a way of telling a computer to apply a function a the number of times wait that's what numbers do so I should be able to take that as n get rid of these extra things and flying and to it and this would give me a function that calls n m times on this function which should then give me like the power that I want maybe let's find out OK so this is what I would expect right if I raised to the power of creation date perhaps the moment of truth yeah think of a way but I don't know maybe I could take that what a fire is a 2 4 I and that we we the OK but I actually we can even simplify this this again ugly knowing like for things in here I we set the number is is the thing that takes a function and its argument and like applies to both of those we can then just consider that if we clear all this out since that's what the fuck what a number does anyway and clear all this out we should still have a valid definition of the power function so let's see that still works OK so that even more elegant than like having a multiplication so this is the arithmetic this is pretty fine they will accumulate use sentences and industry but we will lead in really really basic math when something is superb I'm looking isn't that what all 4 members looked at it OK you know I like I pay and BSF Alonzo Mr. church served his like Yale on tonight I'm speaking to you from beyond the grave would you want and can you tell me the answer to life the universe and everything clean all we know we found if no it's hidden but I I was pretty cool because if you think about it the way we've been taught to think about like addition multiplication exponentials it's come pool easily different and all of this and yet it will totally works out in this land of formalism so I think that's pretty fun feel free to disagree OK I'm so we don't have that school but that's not all our jobs entail as programmers what else do we need all somebody said conditionals because I planted them there in the audience before him no I didn't but yes we a conditional and in order to do condition also we need boolean values right through the sort of go hand in hand so I 0 that OK this is what happened just ignore that I the when we we work on a conditional it has some kind of form like that's right it was a if a condition is true and where the condition is a boolean so it could be true or false if it's true then we do some stuff in the van walk and if the condition is false then we do some stuff in l-th block yes on board OK so we kind of need to define all of these things together so that they work out so that we can do things like this best we can test of a condition is true and then do the then thing and is not true do that if the whole thing so if then else is going to be a function of everything is a function it's going to take of the different things well it's always going take 1 thing but were in a line of a bunch of arguments in sequence so that it looks like it takes multiple things it's getting condition 1st of all and then we're gonna need to tell it like then do a given block and Omani detail like an else do else block and then something but then let's forget about whether something is for now and go back to Boolean so Booleans and I'm just naming them true and balls here was so as not to like mess with our taken outwards you know the Lord Kitchener so that any of also more fun to spell things wrong OK so true should be a thing that when it sits here it should pick this branch right and false should be thing that when it's it's here it should pick this branch so true is gonna be a thing function of everything is a function that were going to give it up and then and and l block and it's gonna pick the then what right just like that how we wanna be able to use boolean so as defined under everyone believes that and similarly if we give a man and analysis to fall rooms then we should get the else thing out OK on board so far a C like wanted to not policy metabolize everyone now what about the rest are if
statement we can finish it warning NGO if if true and false are like chooses here and they take and then else then we can just take our condition which is going to be a Boolean and apply it to the event and the else and it should choose the right 1 for us if we've done everything right so I minute call a condition on the than books apply it to the man typing is so far and then the else and if it's true it should take the bandit it's positive at the house maybe let's see can we start a little ugly thing when when this clearing that is hard let's see what happens OK so I am tired that is true and the number of copies of a mutant today depends on whether or not I'm tired so if I'm tired and you drink free copies and if I'm not tired mean just 1 of the because I'm in Italy and I have to drink coffee the OK so this is what we would expect right if I'm tired then copy so they should give me 3 yes OK let's you haven't right OK but they are very but entirely believe this is again I could read this so what if I'm not tired the Weeden did you browse arms the program and look at that we have conditionals now is 0 also exciting like likely OK that moving on so we've truth values we can do what they that's fine OK I understand where is the power through these kind logic things so in the interest of time so if I wanna not function and again I'm just any user a different word so as not to override Python words I'm at all with that because that pattern of longer anyway it's didn't take a Boolean and a Boolean is the thing that takes abandoned analysis right and the boolean it's true is that use the band a billion it's also choose that so if we want to do like opposite day we could just through which the health and then and apply the Boolean to it and it would take the wrong 1 because we switch them because we're sneaky I do believe in you like and but even so so we should expect best right if I have and if I make a little cheating function that just applies a Boolean to Python's true and false just so we can like the web but I funding that is of of England designing complicated and again this is cheating because we can do side effects and we don't have true false in any other way except these functions that we created and if I convert true to Boolean I should get room OK and if I convert the opposite of true to the Boolean I should get false 0 that works but let's make sure if I can read opposite of pulsation down yeah they again logic step 1 but we need more logic I'm a little bit more logic the 2nd perceive predicates so we wanna be able to apply a function to the thing and get a Boolean out but like the predicate function now I where we we tested that something is or is not conforming to some highest standard we're holding it to like for example being 0 the so if I wanted it is 0 function that would take a number and give me a Boolean that tells me whether that number is 0 or not I can do it like that I could apply that number which again takes a function and why that function and times to a value and I could pass at a function that takes whatever we give it and returns false always then if I past that whole that n times application of this function to true the only time that we're going to get true out is if we don't call this function on true at all 0 times whereas if we got once true get turn into false if we don't twice also still say false and so on and so forth so I should be able to do that and it calls for 2 and they should be able to try at 0 I get true on work so we have to be a little tricky now the remainder the world on how we think about like and the functions like predicates we have to start thinking in a totally different way where where word thinking about the number of times you have to apply a function to things to understand something about the number of times that we have applied that function to the thing and this is why you could likes and you're all career is about as when going OK and similarly we don't like is mother example we can have an is even function that starts off with true because 0 will Paul even and applies opposite n times so we alternate back and forth so 1 is fall of 1 is the opposite of Jews falls to is the opposite of the opposite of true which is true such so I should be able to get 8 is even 7 is not even 1 is not even for hours even now yeah the programmers i and don't let me let for along the again L running time yeah let's see if we empower through this logic part OK this is where things get a little crazy so I'm just gonna show this to you and let you think about it for a 2nd wiseacres of water in number and talked the set of the of OK so this is and this is like an and function i'm going in both because and there's a special word and I thought OK so an operator like and or both in my case is gonna take 2 Booleans right bulletin board of no Boolean will be I how much do we get to a place where we can use the fact that Booleans choosy the 1st thing a 2nd thing to tell his whether both of them are true or 1 or more of them is false OK this is the answer the let's try to figure out why the so it will a is true then I can sort of continue and and check will be the it will is not true then I already know that the whole thing is going to be false right blaze spots so if I were to set up 2 things where the 1st thing is I don't know what and the 2nd thing is false because we hypothesize that is false then false chooses the 2nd thing right so we will choose falls so already just by
knowing the blaze false I know that this whole thing is gonna be false I see faces like the different play with this on your and I think that's the only major-league record around OK If latest Trudeau then nothing will be and see what will be done and pull the is also true that whatever comes here will be that the 2nd thing that it would have chosen but it will be is true then you don't use the 1st then it won't use the 2nd part is the 1st imageable able here is that the blaze true so this means will get short it as you 1 not and a couple of like amuse chuckles but then I was tried out maybe we can convince ourselves by like actually applying it to stop so I should be able to do both true true and that should be true right this lack OK are Ottawa might change this should it can the where this the on for on a check OK we can then right and skip reuse more examples OK and similarly we could you out of the lake or which understand quantum civil war where if more light is true it doesn't really matter what will be a so bullies the 1st thing we are inevitable is true so racemic accused true at Willie is false that is when she's the 2nd thing which is both the and then the value of the whole thing just depends on whether ball B is true or false right this is how truth tables work but you happens so I should be able to get true for the test and true for this and this should be false a hot and this should be nature right yeah I and Taylor 1 where it is likely that this will also you don't understand why it's clear that idea might I earlier this is of more examples OK I have like 3 minutes left fusion don't model we we get there this the let's drive 0 0 0 being flexible in the we could are right so we got some data we don't like numbers we got Booleans but what about structures of that the could we do that spoiler alert the OK everybody's favorite data structure is about but the issue is relentless especially in functional programming and we love lists right on what what is a list it something that contain stuff what kind of stuff could it contains so I could contain nothing could be empty on which is often called nailed the empty list it could contain 1 day or it could contain more than 1 day yes I forgot many possibilities a vocally not so we're trying to represent these things by building list out of pairs of 2 things it's going we're going to try to get the OK so were only pair function that takes a left and right thing and returns a pair of those 2 now what is a pair of those 2 were just and represent a pair as being some thing some function that takes a function and then calls that function whatever function you pass into it on the left and on the right alike applies some function to the overlapping United OK then we need a function like get the last thing and get the right thing the and we are you have a really nice function for choosing either the 1st thing the 2nd thing it's probably in so we're gonna take the left the get left function is going to take a pair and then pass the true function to that pair which is gonna call true on the left and the right and true chooses the 1st things that's going to choose less yeah and similarly for right so if I make a pair of 1 and 2 and choose the left thing then I should get 1 and if this were a different OK and if this were a right that with the called right now an empty list which is in like by convention represented as a pair of true and true and we'll see why that's helpful for less because where you represent lists not have a pair of just 2 things but as a kind of special pair where the 1st thing in a list is gonna tell us whether or not the list is empty and then the set the right thing in that there is going to be the actual like content of a empty list and if the list is empty then we don't care about what's on the right hand side is it's empty there's nothing in so we did for whatever we want their lecture well when we're going up but was not I so the only type of list that will have true as the last element will be the empty list so we can use for really is empty predicate function we can just get the last thing in the West so is empty nodes should be true of and then just powering through we can created free pattern function which takes an existing lists L i take item and a prepends it to an existing list l which is empty I'm sorry and gives us a list which is non empty so is empty is going to be false left item is can be false so we're gonna make a pair where the 1st thing the last thing is false and then there were the right hand side is going to be a pair itself of the new item the old content of the last the people doing my best which I think means my chin really gets this yet Eugen does get OK so what we can do then is to undo that but with a head and tail function that get as the stuff on the right hand of the list where head is like the 1st thing analysts and tailored like everything else so just take my word for this the promise at a time I'm so OK the on the 1st day of your life time I had had like 1 of the 2 copies so i'm gonna prevent to to empty list and this is how we get a list that just has 1 thing in so we are the empty lest we need the list of 1 thing and that is is that we could do it we could prepends to to then the last so if I were to get ahead of let's say 2 copies and this is sort of the by this should be
no no sorry I think you OK and then if I were to prevent more stuff to that I could get a more complicated than other things and so if I had copies per day and is at the head of that I should get the 1st thing is I took the copies and they wanted just to have prevented 1 and prevented 3 so the 1st thing should be 3 which it as and if I were to take the 1st thing of the rest of the less that should be the head of the tail of the list which should be that OK so I without a that the idea that we've got numbers billion Valencia arithmetic we got logic and controllable and I'm representing the data that we did here is called Church encoding so you can go google that canola like super out of time so I'm not I'm not going to go through the slides but it turns out that this what we've been doing a really data this way is kind of like object-oriented programming unfortunately we have time to talk about why that is but I'm gonna post the rest of this and there's like explanation of how that works so I I just wanna say um news some
some pull places to go read more about these things again I will tweet out the location of the Sun paper notebook and I just wanna say thank you to the research to your Python and all the people who like helped me and inspired me to do this year and I would say we think you often of lot previous I would not have half of my computer science will the studies when I had such an introduction to these kinds of things didn't understand those things you and your unfortunately no time for questions but I think she's over there eating and many other advantages OK thank you again
Maschinencode
Prozess <Physik>
Selbst organisierendes System
Open Source
Programmierung
Programmierung
Computerunterstütztes Verfahren
Binder <Informatik>
Domänenspezifische Programmiersprache
Computeranimation
Software
RPC
Turing-Maschine
Software
Funktionale Programmierung
Web-Designer
Wort <Informatik>
Lambda-Kalkül
Lambda-Kalkül
Videospiel
Mathematik
Datenmodell
Formale Grammatik
Symboltabelle
Church, Alonzo
Computerunterstütztes Verfahren
Physikalisches System
Mathematische Logik
Physikalische Theorie
Computeranimation
Konfiguration <Informatik>
Arithmetisches Mittel
Dienst <Informatik>
Informationsmodellierung
Funktionale Programmierung
Lambda-Kalkül
Grundraum
Lambda-Kalkül
Varietät <Mathematik>
Resultante
Maschinencode
Umsetzung <Informatik>
Subtraktion
Bit
Wellenpaket
Programmierung
Mathematisierung
Gruppenkeim
n-Tupel
Zahlenbereich
Kartesische Koordinaten
Zählen
Mathematische Logik
Raum-Zeit
Computeranimation
Poisson-Klammer
Variable
Datensatz
Multiplikation
Spieltheorie
Minimum
Zählen
Funktionale Programmierung
Optimierung
Lambda-Kalkül
Touchscreen
Funktion <Mathematik>
Soundverarbeitung
Videospiel
Parametersystem
Entwurfsmuster
Systemaufruf
Symboltabelle
Programmierung
Ein-Ausgabe
Datenfluss
Quick-Sort
Konfiguration <Informatik>
Funktion <Mathematik>
Ganze Zahl
Rechter Winkel
Beweistheorie
Ein-Ausgabe
Wort <Informatik>
Ordnung <Mathematik>
Lambda-Kalkül
Aggregatzustand
Fehlermeldung
Resultante
Programmiergerät
Momentenproblem
Formale Grammatik
Kartesische Koordinaten
Kardinalzahl
Computer
Computeranimation
Richtung
Prozess <Informatik>
Funktionale Programmierung
Lambda-Kalkül
Phasenumwandlung
Gerade
Metropolitan area network
Interpretierer
Parametersystem
Addition
Sichtenkonzept
Exponent
Kardinalzahl
Ruhmasse
Boolesche Algebra
Zoom
p-Block
Ein-Ausgabe
SISP
Funktion <Mathematik>
Menge
Rechter Winkel
Konditionszahl
Ordnung <Mathematik>
Explosion <Stochastik>
Instantiierung
Maschinencode
Subtraktion
Folge <Mathematik>
Wasserdampftafel
Mathematisierung
Zahlenbereich
Simplexverfahren
Whiteboard
Loop
Bildschirmmaske
Multiplikation
Informationsmodellierung
Grundraum
Vererbungshierarchie
Grundraum
Analysis
Leistung <Physik>
Programm
Videospiel
Multiplexbetrieb
Multiplikationssatz
Verzweigendes Programm
Quick-Sort
Loop
Offene Menge
Mereologie
Wort <Informatik>
Boolesche Algebra
Programmiergerät
Bit
Freeware
Natürliche Zahl
Kartesische Koordinaten
Baumechanik
Element <Mathematik>
Computeranimation
Puls <Technik>
Gruppe <Mathematik>
Existenzsatz
Mustersprache
Funktionale Programmierung
Metropolitan area network
Funktion <Mathematik>
Befehl <Informatik>
Systemaufruf
Boolesche Algebra
Ereignishorizont
Prädikat <Logik>
Divergente Reihe
Datenstruktur
Menge
Rechter Winkel
Konditionszahl
Ein-Ausgabe
Lesen <Datenverarbeitung>
Mathematische Logik
Wasserdampftafel
Zahlenbereich
Wahrheitstabelle
Mathematische Logik
Mailing-Liste
Benutzerbeteiligung
Informationsmodellierung
Knotenmenge
Lesezeichen <Internet>
Datentyp
Quantisierung <Physik>
Inhalt <Mathematik>
Datenstruktur
Hilfesystem
Leistung <Physik>
Analysis
Schreib-Lese-Kopf
Soundverarbeitung
Videospiel
Multiplikationssatz
Mailing-Liste
Quick-Sort
Mailbox
Mereologie
Wort <Informatik>
Boolesche Algebra
Funktionale Programmiersprache
Steuerwerk
Rechenschieber
Mailing-Liste
Decodierung
Mathematische Logik
Objektorientierte Programmiersprache
Vererbungshierarchie
Zahlenbereich
Mailing-Liste
Boolesche Algebra
Steuerwerk
Computeranimation
Schreib-Lese-Kopf
Beobachtungsstudie
Notebook-Computer
Programmierung
Rechenschieber
Notebook-Computer
Church, Alonzo
URL
Lambda-Kalkül
Informatik
Computeranimation
Funktionale Programmierung

Metadaten

Formale Metadaten

Titel Mary had a little lambda
Serientitel EuroPython 2017
Autor Vakil, Anjana
Lizenz CC-Namensnennung - keine kommerzielle Nutzung - Weitergabe unter gleichen Bedingungen 3.0 Unported:
Sie dürfen das Werk bzw. den Inhalt zu jedem legalen und nicht-kommerziellen Zweck nutzen, verändern und in unveränderter oder veränderter Form vervielfältigen, verbreiten und öffentlich zugänglich machen, sofern Sie den Namen des Autors/Rechteinhabers in der von ihm festgelegten Weise nennen und das Werk bzw. diesen Inhalt auch in veränderter Form nur unter den Bedingungen dieser Lizenz weitergeben
DOI 10.5446/33679
Herausgeber EuroPython
Erscheinungsjahr 2017
Sprache Englisch

Inhaltliche Metadaten

Fachgebiet Informatik
Abstract Mary had a little lambda [EuroPython 2017 - Talk - 2017-07-12 - Arengo] [Rimini, Italy] Mary had a little lambda, a function pure as snow. And for every program that Mary wrote, the lambda was all she needed to know. Python’s lambda, a tiny anonymous function, can be useful in a pinch when you’re feeling too lazy to type that extra d-e-f. But did you know that behind this little lambda is actually one of the most powerful & elegant abstractions in the history of computer science? The lambda calculus, dating back to the work of lambda shepherd Alonzo Church in the 1930's, lets us represent our programs - all their logic and data - as pure, anonymous functions, using nothing but (a whole lot of) lambda. Let’s take it for a spin and see what we can create: booleans and conditionals, integers, arithmetical operators, data structures… you name it. With some determination, and a little squinting, we might even see lambda do the impossible: reconcile object-oriented and functional programming. You heard it right: lambda can do it all! Join me as we explore its astounding computational power, and walk away with a deeper respect and admiration for the almighty little lambda

Ähnliche Filme

Loading...
Feedback