[Superb summary of pattern synonyms omitted]
On 2013-12-22 9:09 AM, Dr. ERDI Gergo wrote:
The one idea I've had so far is to separate (4), (3) and (5) with two
double arrows:
pattern P :: (Show t) => b -> T t => (Num t, Eq b)
pattern P :: (Show t) => ( (Num t, Eq b) => b -> T t )
perha
Let me strongly support Gaby's many points.
Simon has it right: we need a way to support 'users' in a stable way,
without adding enormous inertia to the development of GHC. I has lived
through the slow death of a system from being rapidly innovative to
having 'innovations' which exist only be
One bit of experience from my Maple days: we made it a policy to create
regression tests for every single bug we fixed. No bug could be marked
closed without an identifier for the test that makes sure this does not
revert.
This seemed like too much at first, but over the years, we were always
I just thought of an additional consideration regarding this part of the
design space.
On 25/07/2011 2:02 PM, Edward Kmett wrote:
(I had said):
Here is another way to look at it: when you say
class LeftModule Whole m => Additive m
you are closer to specifying an *instance* relati
On 25/07/2011 9:55 AM, Edward Kmett wrote:
If you have an associative (+), then you can use (.*) to multiply by a
whole number, I currently do fold a method into the Additive class to
'fake' a LeftModule, but you have to explicitly use it.
class Additive m => LeftModule r m
class LeftModule Wh
On 17/06/2011 10:47 AM, Simon Peyton-Jones wrote:
But Plan A is simpler. And by breaking packages it will encourage [force]
libraries that use a mixture of H98 and more modern modules to move towards the
more modern story.
I favour Plan A.
Reasoning:
For many years of my previous professiona