Actually I'm getting the error with this :

data Stack = Empty | Elem Char Stack deriving Show

pophead :: Stack -> Char
pophead Empty = Empty
pophead (Elem x stack) = x


From: divyanshu ranjan <idivyanshu.ranjan@gmail.com>
To: doaltan <doaltan@yahoo.co.uk>; The Haskell-Beginners Mailing List - Discussion of primarily beginner-level topics related to Haskell <beginners@haskell.org>
Sent: Tuesday, 12 March 2013, 12:53
Subject: Re: [Haskell-beginners] Writing a custom pop function for a stack data type

You have declared new data type mystack not Stack, so haskell compiler could not find Stack data type and its constructors. Secondly data type in Haskell need to be start with capital letters like

data Mystack = Empty | Elem Char Mystack deriving Show
then correct Function definition is 
pophead :: Mystack -> Char

Regards
Divyanshu 

On Tue, Mar 12, 2013 at 4:12 PM, doaltan <doaltan@yahoo.co.uk> wrote:
Hi I have such a stack data structure: 
data mystack = Empty | Elem Char mystack deriving Show

I'm trying to get the head of the stack using this:
pophead :: Stack -> Char
pophead Empty = Empty
pophead (Element x stack) = x
And I'm getting this error for the last sentence of the function :
Not in scope: data constructor `Stack'
Can you tell me how to fix it?
Thanks.


_______________________________________________
Beginners mailing list
Beginners@haskell.org
http://www.haskell.org/mailman/listinfo/beginners