[clean-list] (+) is a binary function
Thomas van Noort
thomas at cs.ru.nl
Sun Aug 24 14:08:32 MEST 2008
Hi,
The signature from the Clean Book is correct, + is not only a binary
function but also a type class taking one type argument (as defined on
page 16):
class (+) infixl 6 a :: a a -> a
The confusion might originate from the fact that this definition is
shorthand notation for:
class + a where
(+) infixl 6 :: a a -> a
This definition clarifies the fact that + is a binary function taking two
arguments and a type class as well taking a single type argument.
The shorthand notation is probably introduced for type classes that only
define a single function with the same name as the type class.
Regards,
Thomas
terrence.x.brannon at jpmchase.com wrote:
>
> This seems like an obvious statement, but I am reading the Clean Book
> and saw this annotation for double:
>
> double :: a -> a | + a
>
> which reads as "double is a function which takes an argument of type a
> and returns and value of type a provided that a version of + is defined
> which can handle arguments of type a"
>
> But my question is: since (+) is a binary function, shouldnt that read:
>
> double :: a -> a | + a a
>
>
> --
> Terrence Brannon - SID W049945
> 1111 Polaris Pkwy, OH1-1141, Columbus, OH 43240
> 818-359-0893 (cell)
> 614-213-3426 (fax)
>
>
>
> ------------------------------------------------------------------------
>
> This communication is for informational purposes only. It is not
> intended as an offer or solicitation for the purchase or sale of any
> financial instrument or as an official confirmation of any transaction.
> All market prices, data and other information are not warranted as to
> completeness or accuracy and are subject to change without notice. Any
> comments or statements made herein do not necessarily reflect those of
> JPMorgan Chase & Co., its subsidiaries and affiliates. This transmission
> may contain information that is privileged, confidential, legally
> privileged, and/or exempt from disclosure under applicable law. If you
> are not the intended recipient, you are hereby notified that any
> disclosure, copying, distribution, or use of the information contained
> herein (including any reliance thereon) is STRICTLY PROHIBITED. Although
> this transmission and any attachments are believed to be free of any
> virus or other defect that might affect any computer system into which
> it is received and opened, it is the responsibility of the recipient to
> ensure that it is virus free and no responsibility is accepted by
> JPMorgan Chase & Co., its subsidiaries and affiliates, as applicable,
> for any loss or damage arising in any way from its use. If you received
> this transmission in error, please immediately contact the sender and
> destroy the material in its entirety, whether in electronic or hard copy
> format. Thank you. Please refer to
> http://www.jpmorgan.com/pages/disclosures for disclosures relating to UK
> legal entities.
>
>
> ------------------------------------------------------------------------
>
> _______________________________________________
> clean-list mailing list
> clean-list at science.ru.nl
> http://mailman.science.ru.nl/mailman/listinfo/clean-list
More information about the clean-list
mailing list