[Haskell-cafe] Re: Fractional/negative fixity?

Henning Thielemann lemming at henning-thielemann.de
Wed Nov 8 10:04:05 EST 2006


On Wed, 8 Nov 2006, Nils Anders Danielsson wrote:

> On Wed, 08 Nov 2006, "Arie Peterson" <ariep at xs4all.nl> wrote:
> 
> > Specifying precedence 'lazily', by a partial order, does not suffer from
> > this problem, because it only requires you to make local decisions.
> 
> Assuming we only want to be able to make local decisions.
> 
> Let's say that we want == to bind less tightly than +, as it is now.
> Let's also say that Eq and Num are defined in two different
> _unrelated_ modules (this of course implies that Eq is not a
> superclass of Num). Where and how would we specify the relation
> between these two operators?

Depends on what we consider being more special.
 * Does addition require comparison? Not in Haskell. However, the
   recursive implementation of addition for Peano numbers need equality
   check.
 * Provide all additive types comparison? No.
 * Does comparison require addition? No.

 So, these concepts seem to be unrelated at first. If the Prelude would be
splitted into modules, where (==) and (+) are separated, and no module
imports the other one, then we need a third module, which states the
relation between (==) and (+). If I have missed something, and say (+)'s
module imports (==)'s one, then (+)'s module should define the relation.


More information about the Haskell-Cafe mailing list