Andrew Lentvorski wrote:
> [EMAIL PROTECTED] wrote:
>> On Sat, Jan 26, 2008 at 01:41:18AM -0800, Andrew Lentvorski wrote:
>>> [EMAIL PROTECTED] wrote:
>>>> If I'm not mistaken, what makes a special form to be special is that
>>>> evaluation happens abnormally....
>>> Why are "and" and "or" special forms yet "not" isn't?
>>
>> Even I think I can answer that one......I'd guess none of those HAVE
>
> You guess wrong.
>
> The point of "if", "and", and "or" is sometimes to "shield" against an
> operation even in purely functional contexts.
>
> (and (not (= a 0)) (/ n a))
>
> Therefore, you need *some* construct that does not always evaluate all
> of its arguments.
>
> That construct *must be* a special form.
In a purely functional language, you'd likely have lazy evaluation,
which would avoid the above problem (IO is still a problem though).

--Chris

-- 
[email protected]
http://www.kernel-panic.org/cgi-bin/mailman/listinfo/kplug-lpsg

Reply via email to