I asked this question in Haskell-beginners, but I haven't heard anything yet, so I'm forwarding to Cafe.
-------- Original Message -------- Subject: [Haskell-beginners] Monad instances and type synonyms Date: Sat, 13 Apr 2013 17:03:57 -0800 From: Christopher Howard <[email protected]> Reply-To: The Haskell-Beginners Mailing List - Discussion of primarily beginner-level topics related to Haskell <[email protected]> To: Haskell Beginners <[email protected]> I am playing around with some trivial code (for learning purposes) I wanted to take code: -------- -- SaleVariables a concrete type defined early -- `Adjustment' represents adjustment in a price calculation -- Allows functions of type (a -> Adjustment a) to be composed -- with an appropriate composition function type Adjustment a = SaleVariables -> a -------- And put it into code: -------- instance Monad Adjustment where (>>=) = ... return = ... -------- If I try this, I get code: -------- Type synonym `Adjustment' should have 1 argument, but has been given none In the instance declaration for `Monad Adjustment' -------- But if I give an argument, then it doesn't compile either (it becomes a "*" kind). And I didn't want to make the type with a regular "data" declaration either, because then I have to give it a constructor, which doesn't fit with what I want the type to do. -- frigidcode.com
_______________________________________________ Beginners mailing list [email protected] http://www.haskell.org/mailman/listinfo/beginners
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Haskell-Cafe mailing list [email protected] http://www.haskell.org/mailman/listinfo/haskell-cafe
