I have two functions for loop control, continue and break :
type Control a = (a -> a) -> a -> a continue :: Control a continue = id break :: Control a break = const id
Then I wanted to simplify a synonym for type Control . Therefore, I wrote:
type Endo a = a -> a type Control a = Endo (Endo a) continue :: Control a continue = id break :: Control a break = const id
However, when I tried to simplify it even further, I received an error message:
GHCi, version 7.10.2: http://www.haskell.org/ghc/ :? for help Prelude> type Endo a = a -> a Prelude> type Duplicate wa = w (wa) Prelude> type Control a = Duplicate Endo a <interactive>:4:1: Type synonym 'Endo' should have 1 argument, but has been given none In the type declaration for 'Control'
I do not understand why I am getting this error. Perhaps you could enlighten me.
source share