Hey David,I think there might be a bit of confusion here. When you say "LogTree2 a", that means "a" is an instance of "LogTree2". Maybe you want something like this?evaluator :: LogTree2 a => a -> SizedVector a -> SizedVector aSome context might help us to understand what you're going for.--WillOn Sat, Aug 29, 2015 at 7:30 PM, David Banas <capn.freako@gmail.com> wrote:Thanks, Will.Maybe I’ve got the syntax all wrong, but my intent is just to constrain the type ’t’ to be of class 'LogTree2 a’.-dbOn Aug 29, 2015, at 5:27 PM, William Yager <will.yager@gmail.com> wrote:If you want the "LogTree2" typeclass to have multiple type arguments (which it looks like you do, from the definition of "evaluator"), you need to define it asclass (Show a, Num a) => LogTree2 a t where--WillOn Sat, Aug 29, 2015 at 6:45 PM, David Banas <capn.freako@gmail.com> wrote:Hi all,I can’t figure out why this is invalid:class (Show a, Num a) => LogTree2 a whereevaluator :: (LogTree2 a) t => t -> SizedVector a -> SizedVector aerror| ‘LogTree2’ is applied to too many type arguments In the type ‘(LogTree2 a) t => t -> SizedVector a -> SizedVector a’ In the class declaration for ‘LogTree2’Can anyone help me understand?Thanks,-db
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe