I have a custom data type as follows:
data MyType a = Nothing | One a
The idea is to have a function that return the data type. For example,
func (One Char) should return
Char -- return the data type
I tried to implement
func as follow:
func :: MyType a -> a func (One a) = a -- don't worry about Nothing for now
The code compiled but when I tried to run
func (One Char) it gives me an error:
Not in scope: data constructor ‘Char’
What is going on?
func (One "Hello") it will work.
The reason is that Haskell thinks you are trying to give it a data-constructor because you wrote a upper-case
Char so just give it some real value ;)
BTW: In case you really want to give the type
Char: that's in general not possible in Haskell as you need a dependent-type caps (see Idris for example).