David Beazley - Lambda Calculus from the Ground Up - PyCon 2019

David Beazley - Lambda Calculus from the Ground Up - PyCon 2019

PyCon 2019

5 лет назад

47,829 Просмотров

Ссылки и html тэги не поддерживаются


Комментарии:

@MatthiasBlume
@MatthiasBlume - 02.09.2023 07:03

To me the best way to understand what that R function is goes as follows:

Suppose you have some slightly crappy version of factorial, call it crappyfact that only works for arguments 0 ... N for some number N, but not for arguments bigger than N. Then R(crappyfact) returns a slightly improved version of factorial - slightly less crappy, because it will work for arguments up to N+1.

The actual perfect fact is a fixpoint of R because R cannot improve it further. As a matter of fact (no pun intended), this fixpoint is the so-called LEAST fixpoint. It is the "least crappy" version of factorial that cannot be further improved by R.

Ответить
@MatthiasBlume
@MatthiasBlume - 02.09.2023 06:42

Simplification: You don't have to modify ISZERO and you can use the normal TRUE and FALSE. You would still pass thunks as second and third arguments to ISZERO, and then you invoke the thunk at the end after ISZERO returns:

lambda n : ISZERO(n)(lambda dummy: ONE)(lambda dummy: MUL(n)(FACT(PRED(n))))(TRUE)

(The last TRUE is the dummy argument and could be anything.)

Ответить
@_intruder
@_intruder - 30.04.2022 11:21

I've never felt so excited to implement a SUCC, let me tell you.

Ответить
@x87-64
@x87-64 - 24.04.2022 05:32

This was totally insane. He is a brilliant teacher.

Ответить
@boomiboom3900
@boomiboom3900 - 22.01.2022 15:49

Wuuuuuut
This is like the most amazing math thing ive ever seen.

Ответить
@plectro3332
@plectro3332 - 05.11.2021 11:48

Hands down best Lambda Calculus tutorial out there

Ответить
@caballopalido
@caballopalido - 16.10.2021 06:29

THIS IS FRUSTRATING HE DID THIS BULLSHIT ONE ARGUMENT FUNCTION RULE THEN HAS DONE NOTHING BUT BREAK IT. WHAT A GREAT SPEAKER. SO WORTHWHILE. THE CONSISTENCY. "WELL IT WORKS LIKE THIS IN PYTHON, BREAKING THE RULES OF COURSE." WOW OKAY THANKS. SO SMART

Ответить
@caballopalido
@caballopalido - 16.10.2021 04:11

WHATEVER GENIUS WAS IN CHARGE OF THE DYNAMIC RANGE OF THIS RECORDING... A CURSE ON YOUR FAMILY

Ответить
@jungjunk1662
@jungjunk1662 - 06.08.2021 10:16

He is confused a bit

Ответить
@michellethalakottur9328
@michellethalakottur9328 - 19.04.2021 22:12

awesommeee

Ответить
@billcolak5253
@billcolak5253 - 04.04.2021 12:26

david beazley is my spirit animal.

Ответить
@thanasiosmetallidis5642
@thanasiosmetallidis5642 - 02.04.2021 15:35

The most interesting video I have ever seen.
With this we can build a whole UNIVERSE starting to define the NOTHING ( The emptyness ).

Am I write when I say that the definition of NOTHING is the begin of all there is.
And that the execution ( instance ) of NOTHING is the creation of ALL

Ответить
@pahvalrehljkov
@pahvalrehljkov - 16.03.2021 18:28

its official, im gonna search whole web for david beazleys videos...

Ответить
@oxereviscerator
@oxereviscerator - 10.01.2021 22:41

Incredible.

Ответить
@m.h.7121
@m.h.7121 - 15.12.2020 21:52

Yoo, i am not joking at all, David beazley should be nominated as a lord of the python universe. No way the amount of knowledge he has. I am not surprised at all since he started programming at something around 11 years old. What an absolute legend. I always wished i knew programming at an early age of my life. Hopefully, i am still in my 20's. Holy Jesus freak, this guy is the lord of the rings. Anyway, i hope y'all doing great during this shitty pandemic time and shit. Have a good day/night.

Ответить
@varunpatkar501
@varunpatkar501 - 06.08.2020 11:37

I came here after i failed to solve a codewars question about this topic and now i'm really interested about this

Ответить
@cheaterman49
@cheaterman49 - 08.05.2020 21:39

Some things are really subtle AF:


>>> THREE(FOUR)(incr)(0)
64
>>> THREE(FOUR(incr))(0)
12



I got stuck a while when implementing multiplication. It makes a lot of sense but is very hard to wrap your head around!!!


EDIT: Explanation (to the best of my understanding...) - in the first case, we're creating a function that will call three times the "call four times" operator so that's 4*4*4 calls applied to the function, while in the second one we're creating a function that will call four times incr and then we call that function three times, so 4+4+4 calls.


EDIT2: Also, to the best of my understanding, there's no easy/good way to reuse ADD to implement MUL - but I'd love to be corrected with an example. :-)
EDIT3: Well Tenchi below did it :-) I do stand corrected!

Ответить
@DeanLa
@DeanLa - 10.01.2020 11:12

How does he do the code with slide next to it?

Ответить
@matthewblott
@matthewblott - 22.09.2019 00:26

I've watched the first hour and my mind is blown.

Ответить
@SKyrim190
@SKyrim190 - 30.07.2019 16:40

For some reason his intonation cracks me up!

Ответить
@gpk6458
@gpk6458 - 08.07.2019 21:39

Man, this was so much fun to follow along to. I don't think my brain will be done processing this for a while. That kid with the high-pitched voice is very annoying, though.

Ответить
@calebgindelberger3046
@calebgindelberger3046 - 30.06.2019 10:14

I'm almost glad I wasn't there, guessing my yelling "zero is false!" Wouldn't have gone well

Ответить
@raghavatreya4533
@raghavatreya4533 - 29.05.2019 18:06

Presentation material link??

Ответить
@StefanoBorini
@StefanoBorini - 28.05.2019 02:35

This lecture broke my brain

Ответить
@mikelezhnin8601
@mikelezhnin8601 - 26.05.2019 05:24

The recursion magic broke me.

Ответить
@CrapE_DM
@CrapE_DM - 22.05.2019 22:49

That's not how an electrical switch works... The middle one supplies the power, and the switch decides which of the two sides receives the power.

Ответить
@amelemara4615
@amelemara4615 - 21.05.2019 18:03

Damn, that's some really out there python.

Ответить
@2xhTenchi
@2xhTenchi - 18.05.2019 00:05

When following the course and trying to implement things before David shows how to do them,
I came up with a multiply that doesn't involve an F and makes more sense to me:

MUL = lambda x: lambda y: y(ADD(x))(ZERO)

We repeat y times "ADD(x)" to ZERO

Ответить
@kurianbenoy9369
@kurianbenoy9369 - 14.05.2019 11:49

Low audio

Ответить
@PGouges35
@PGouges35 - 13.05.2019 15:56

I live for these tutorials. David Beazley is my personal Jesus

Ответить
@malikrumi1206
@malikrumi1206 - 06.05.2019 14:23

"... have a lot of fun, be completely amazed, and learn some foundational computer science that is a jumping off point for further explorations of functional programming..." IS practical and useful !!!

Ответить
@allenstevens4216
@allenstevens4216 - 06.05.2019 08:22

As soon as you can build a not gate with a function, you can build all circuits, as soon as you can build all circuits you can build a computer, etc etc etc. I don't know how many people minecraft before, but you can build entire computers that run code and software and decision trees inside the game, with nothing more than a not gates, thousands of them. So.... I'm done screaming at the video... But I see where this is going.

Ответить
@rohithill
@rohithill - 05.05.2019 12:54

What setup is he using? What is he writing his code in along with presentation?

Ответить
@freddupont3597
@freddupont3597 - 03.05.2019 16:04

ISZERO(CONS(2)(3)) --> <function __main__.TRUE(x)>) too.

Ответить
@freddupont3597
@freddupont3597 - 03.05.2019 14:34

Have not had so much fun in some time; mind suitably, and delightfully blown! :-) An afternoon well spent, thank you Mr Beazley!

Ответить
@StankyPickle1
@StankyPickle1 - 03.05.2019 05:25

Is it Christmas already?!

Ответить
@TheEntireUniverse
@TheEntireUniverse - 03.05.2019 04:24

He should do a tutorial on how to customize his environments to do this stuff.

Ответить