
On Thu, Nov 1, 2012 at 5:03 AM, Emmanuel Touzery
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
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