$\lambda$ calculus¶
En regardant la vidéo de Computerphile
:
https://www.youtube.com/watch?v=eis11j_iGMs
In [1]:
vrai = lambda x, y: x
faux = lambda x, y: y
In [22]:
vrai.str = 'vrai'
faux.str = 'faux'
In [10]:
non = lambda f: f( faux, vrai )
In [24]:
print( non(vrai).str )
print( non(faux).str )
In [33]:
et = lambda x, y: x( y, x )
In [32]:
print( et(faux, faux).str )
print( et(faux, vrai).str )
print( et(vrai, faux).str )
print( et(vrai, vrai).str )
In [34]:
ou = lambda x, y: non( et( non(x), non(y) ) )
In [35]:
print( ou(faux, faux).str )
print( ou(faux, vrai).str )
print( ou(vrai, faux).str )
print( ou(vrai, vrai).str )
In [36]:
ou = lambda x, y: x( x, y )
In [37]:
print( ou(faux, faux).str )
print( ou(faux, vrai).str )
print( ou(vrai, faux).str )
print( ou(vrai, vrai).str )
In [3]:
loop = lambda x:x(x)
In [5]:
loop( lambda x:x+1 )
In [ ]: