On Thu, Nov 1, 2012 at 5:03 AM, Emmanuel Touzery <etouzery@gmail.com> wrote:
Thank you that is very interesting... this is really impressive with haskell that it's so "easy" to add such operators, that they don't need to be builtin.

This can't be emphasized enough to people starting out. Haskell doesn't have operators in the same sense as other languages. All those punctuation symbols are ordinary functions and can be user- or library-defined to mean anything.

There are also primitive functions and functions defined via the FFI but those aren't baked into the language either.

<tangential rant> There is a reason why the prelude is called as such and not "the standard library", which is a term I don't think you can find in the language specs. That said, people looking for "the standard library" are usually directed to the Haskell Platform, again not because there _is_ such a thing, but because their needs are best met there.

 
-- Kim-Ee


On Thu, Nov 1, 2012 at 5:03 AM, Emmanuel Touzery <etouzery@gmail.com> wrote:
Thank you that is very interesting... this is really impressive with haskell that it's so "easy" to add such operators, that they don't need to be builtin.

Thanks for your time, it was not wasted!


On Wed, Oct 31, 2012 at 6:26 PM, Daniel Trstenjak <daniel.trstenjak@gmail.com> wrote:

On Wed, Oct 31, 2012 at 06:14:52PM +0100, Daniel Trstenjak wrote:
> (<&&>) :: Monad m => m Bool -> m Bool -> m Bool
> (<&&>) m1 m2 = do
>    r1 <- m1
>    if r1 then m2 else return False
>
>
> (<||>) :: Monad m => m Bool -> m Bool -> m Bool
> (<||>) m1 m2 = do
>    r1 <- m1
>    if r1 then return True else m2

That the operators behave like the boolean ones we should have the same fixity declarations:

infixr 3 (<&&>)
infixr 2 (<||>)


Greetings,
Daniel

_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners


_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners