[Haskell-beginners] if ands
Magnus Therning
magnus at therning.org
Fri Nov 6 15:43:27 EST 2009
On 06/11/09 09:03, Deniz Dogan wrote:
> 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.
IIRC Pascal isn't "smart" about it.
/M
--
Magnus Therning (OpenPGP: 0xAB4DFBA4)
magnus@therning.org Jabber: magnus@therning.org
http://therning.org/magnus identi.ca|twitter: magthe
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 198 bytes
Desc: OpenPGP digital signature
Url : http://www.haskell.org/pipermail/beginners/attachments/20091106/d04f14f2/signature.bin
More information about the Beginners
mailing list