Talk:Functional calculus
The typical functional-programming environment isn't built on functions. Lambda terms are not necessarily functions, and neither are combinator trees. This means that this page and most of its links need to be reworded. I'm not quite sure how to do it harmoniously, but I'd like to start by getting us onto the same page. Consider the following lambda in Scheme or Haskell:
(define (f x) (f (x + 1)))
f :: Integer -> Integer f x = f $ x + 1
These aren't functions on the integers. (Proof: for what number does f map 0 to?) Nonetheless they could both be expressed with Y combinators and Church numerals. In the presence of general recursion, our programs only denote partial computable functions at best, which are not mappings of values. (While we're on the topic, note that there is a Church numeral which doesn't denote any natural number!)
There do exist functional calculi on-wiki; one example would be my pet Cammy. Cammy terms and templates can be sent to functions and operators respectively in Set.
I hope that this is interesting food for thought. Peace! Corbin (talk) 14:02, 26 April 2025 (UTC)