Este documento introduce el cálculo lambda y explica cómo se puede usar Smalltalk para entenderlo. Brevemente describe que el cálculo lambda fue desarrollado en los 1930 por Alonzo Church como un modelo de computación efectiva y que usa funciones anónimas y reducción beta para definir funciones computables. Luego muestra cómo Smalltalk puede usar bloques anónimos y mensajes de valor para simular el cálculo lambda y demostrar conceptos como aplicación de funciones y reducción beta de forma interactiva. Concluye que el cálculo lambda codifica los principios básicos de la computación
Resistencia extrema al cobre por un consorcio bacteriano conformado por Sulfo...
Introduction to Lambda Calculus using Smalltalk by Facundo Javier Gelatti
1. Introduction to Lambda
Calculus using Smalltalk
Introducción al Cálculo Lambda usando Smalltalk
Facundo Javier Gelatti
UTN - FRT
2. What is Lambda Calculus?
¿Qué es el Cálculo Lambda?
How does Lambda Calculus
work?
¿Cómo funciona el Cálculo Lambda?
Understanding Lambda Calculus
using Smalltalk
Entendiendo el Cálculo Lambda usando
Smalltalk
7. Lambda Calculus syntax
La sintaxis del Cálculo Lambda
● Function definition scheme
Esquema de definición de funciones
● Transformation rule
Regla de transformación
8. Variable binding operator
(function definition)
Definición de una función
Variable
(function parameter)
Parámetro de la función
Lambda term
(function body)
Cuerpo de la función
λ x.x
Lambda Calculus syntax
La sintaxis del Cálculo Lambda
9. Function to be applied
Función a ser aplicada
Function argument
Argumento de la función
(que puede ser otra función!)
f x
Lambda Calculus syntax
La sintaxis del Cálculo Lambda
18. How it is possible that we can express anything
that is computable using only Lambda Calculus?
¿Cómo es posible que podamos expresar cualquier cosa
que sea computable utilizando solamente Cálculo Lambda?
20. (λx.x) y
[:x | x] value: y
An approximation
Una aproximación
21. We can start to see how can we express
computable functions using Lambda Calculus
Empezamos a ver cómo podemos expresar funciones
computables utilizando el Cálculo Lambda
22. Lambda Calculus is a general model of
computation.
Understanding the concepts defined in Lambda
Calculus is important, because it encodes the
basic principles of computing and programming,
and it gives you another point of view from which
to analyze the nature of computation.
Conclusions
23. What we implemented
Lo que implementamos
● Booleans (T, F)
● assert*
● not
● and
● or
● pair (first, second)
24. Things that we didn’t cover
Cosas que no hicimos
● Lists
● Numbers
● operations with the numbers
(plus, minus, times,...)
● loops
● recursion
● ...
25. Resources
Recursos para ver más cosas así
● Programming with nothing - Tom Stuart
https://codon.com/programming-with-nothing
● Fun with the Lambda Calculus - Corey Haines
https://www.youtube.com/watch?v=QPqoFCHpLF4