
On Mon Nov 13 12:27:08 EST 2006, Simon Peyton-Jones wrote:
In my experience I've seen more requests for overloaded *Boolean* literals than strings. In a Fran context, for example.
Has there been discussion of the related issue, described in a Pan paper as 'Unfortunately, the Bool type is wired into the signatures of operations like >= and ||.'? (I searched the trac but couldn't find it?) It seems common to have to write something like: class OrdE a where (>*) :: a -> a -> a etc. While for finite signals both have meaning, ie. [1,2,3] > [1,2,1] == True [1,2,3] >* [1,2,1] == [False,False,True] for infinite signals '>' is often a nonsense, and if these are the primary type it'd be nice to write '>' for '>*'. Regards, Rohan

While for finite signals both have meaning, ie.
[1,2,3] > [1,2,1] == True [1,2,3] >* [1,2,1] == [False,False,True]
Also, as the signature I gave implied, [1,2,3] >* [1,2,1] == [0,0,1] And ifE etc., all as described in the paper I mentioned without referencing: 'Compiling Embedded Languages', Elliott, Finne and de Moor, 2000. I suspect this is well trodden ground, but I can't find the 'why is it so' writeup. Thanks, Rohan
participants (1)
-
Rohan Drape