On Sunday 07 November 2004 23:19, Ben Rudiak-Gould wrote:
Benjamin Franksen wrote:
data (?val::Bool) => Test = Test { name :: String }
is rejected by the compiler:
TestBug.hs:3: Illegal constraint ?val :: Bool In the context: (?val :: Bool) While checking the context of the data type declaration for `Test' In the data type declaration for `Test'
which is unfortunate since it means that you cannot put a function that depends on an implicit parameter into a data structure.
Does this do what you want?:
data Test = Test { name :: (?val::Bool) => String }
Thanks for the hint, but no: TestBug.hs:4: Illegal constraint ?val :: Bool In the type: ({?val :: Bool} => String) -> Test While checking the type of constructor `Test' In the data type declaration for `Test' Ben