[Haskell-beginners] if ands

Deniz Dogan deniz.a.m.dogan at gmail.com
Fri Nov 6 04:03:16 EST 2009


2009/11/6 Keith Sheppard <keithshep at gmail.com>:
> Also, an nice way to check how evaluation works in ghci is to do something like:
>
>> if False && error "error here" then "it's true" else "it's false"
>
> This expression will evaluate as "it's false" without any "error here"
> error message appearing
>
> On Thu, Nov 5, 2009 at 9:05 PM, Nathan M. Holden
> <nathanmholden at gmail.com> wrote:
>> If you have an if statement like
>>
>> if (a&&b) then fun else fun'
>>
>> and a is false, does GHC actually bother to check b?
>

Note that Haskell is far from the only programming language that is
smart about this. I actually can't think of a single programming
language implementation that I know of which isn't this smart...

For what it's worth, Haskell (and others) is smart about ORs as well.
In (x || y), y will only be evaluated if x is False.

-- 
Deniz Dogan


More information about the Beginners mailing list