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. -- http://mail.python.org/mailman/listinfo/python-list