4 ms·
> Lisp was based on the lambda calculus, not sure if you can get more functional than that. I've tried really hard (okay, for about five minutes), but couldn't
by catnaroek 9y ago
> Lisp was based on the lambda calculus, not sure if you can get more functional than that.
I've tried really hard (okay, for about five minutes), but couldn't find any account of the lambda calculus that includes the following features:
(0) variadic argument lists,
(1) object identities for absolutely everything,
(2) procedures that can be manipulated in ways other than applying them to arguments.
Are you really saying that all this time my understanding of the lambda calculus has been a lie?
- jcelerier 9y agoWell, pretty sure you can give a lambda denotation of those. Just start by implementing an interpreter in lamda-calculus ;p
- catnaroek 9y agoSure, but that would be an object language embedded in the lambda calculus, not the lambda calculus itself. btw, variants of the lambda calculus do exist where some values (so-called “reference cells”) are object identities. But a value cannot be a lambda abstraction and a reference cell at the same time.