lie.1296 at gmail.com
Wed Jun 17 12:37:04 EDT 2009
Steven D'Aprano wrote:
> On Tue, 16 Jun 2009 22:46:14 -0700, William Clifford wrote:
>> I was staring at a logic table the other day, and I asked myself, "what
>> if one wanted to play with exotic logics; how might one do it?"
> This might be useful for you, and if not useful, at least it might blow
> your mind like it did mine.
> (This is not original to me -- I didn't create it. However, I can't find
> the original source.)
> Imagine for a moment that there are no boolean values.
> There are no numbers. They were never invented.
> There are no classes.
> There are no objects.
> There are only functions.
> Could you define functions that act like boolean values? And could you
> define other functions to operate on them?
> def true(x, y):
> return x
> def false(x, y):
> return y
> def print_bool(b):
> print b("true", "false")
String isn't considered object?
Also, b/true()/false() is a function object, isn't it? Unless function
is first-class, you can't pass them around like that, since you need a
function pointer (a.k.a number); but if function is first-class then
there it is an object.
More information about the Python-list