Sé que:¿Cómo escribir una lista vacía usando los combinadores S, K y I?
(cons [p] [q]) is ((s ((s i) (k [p]))) (k [q]))
(car [lst]) is ([lst] k)
(cdr [lst]) is ([lst] (k i))
Quiero escribir una lista como esta
(cons [a] (cons [b] (cons [c] [nil])))
, que va a ser algo como esto:
((s ((s i) (k [a]))) (k ((s ((s i) (k [b]))) (k ((s ((s i) (k [c]))) (k [nil]))))))
Pero no lo hago saber cómo compilar 'nil' en los combinadores S, K y I. ¿Alguien sabe?
Gracias de antemano, Edwin José Palathinkal
Es posible que desee echar un vistazo a esto: http://www.cs.bath.ac.uk/~ gam23/teaching/ProgrammingIII/10lambdaprogramming.pdf – Pinochle