Stijn van Drongelen wrote
On Fri, Oct 4, 2013 at 10:31 PM, Wvv lt;
vitea3v@
gt; wrote:
About newclass and compose data, we can do next:
newclass Foo [a] = FooList a where {containerMainipulation=...}
newclass Foo (Set a) = FooSet a where {containerMainipulation=...}
newclass
Newclasses are something like instances, but out of scope. In a baggage.
We don't use them for interfere their functions.
This why newclasses never overlap each other and between them and any
instances.
We use newclasses to plug-in/connect to any related class or combine data
Replying to you
On Fri, Oct 4, 2013 at 10:31 PM, Wvv vite...@rambler.ru wrote:
Newclasses are something like instances, but out of scope. In a baggage.
So under the hood of GHC, newclasses would be partially filled in
dictionaries.
We already have too many classes: (...)
We can't divide all classes to
Your first two cases will be fixed in 7.10, as Applicative finally becomes
a superclass of Monad.
Sure, newclassses not about Applicative and Monads only.
This question is more wider.
Must Apply be a superclass of Bind?
Must Bind be a superclass of Monad?
So, must Monad has 2 superclasses at
On Thu, Oct 3, 2013 at 8:16 AM, Wvv vite...@rambler.ru wrote:
Your first two cases will be fixed in 7.10, as Applicative finally
becomes
a superclass of Monad.
Sure, newclassses not about Applicative and Monads only.
This question is more wider.
Must Apply be a superclass of Bind?
Must
Yes, multi-class instances allow us write
type Monad a = (Applicative a, Bind a)
But at least 1 issue remains:
Applicative : pure; Monad: return
Bind : (-); Monad: (=)
With MultiClassInstances we could write only
instance Monad MyMonad where { pure= ...; (-)= ...}
But we
I don't really understand what a newclass is supposed to be.
On Thu, Oct 3, 2013 at 2:15 PM, Wvv vite...@rambler.ru wrote:
newclass Bind a = Monad a = BMonad a where { (=) = (-) }
I think this means that `BMonad` is supposed to be a new class that has
both Bind and Monad in scope, the
Apologies, that wasn't finished. I meant to say, does it mean that by
writing a BMonad instance a Monad instance would be automatically
generated? If so, that seems like it would cause conflicts in many cases.
Regardless, I think newclass needs to be better specified if you want
other people to
Hi!
Your first two cases will be fixed in 7.10, as Applicative finally becomes
a superclass of Monad. I haven't really looked at your third case, so I
can't comment on that. Your fourth case is something I'd really like to see
solved properly (*together* with a better record system), but as you