[Haskell-beginners] Writing a custom pop function for a stack data type

doaltan doaltan at yahoo.co.uk
Tue Mar 12 12:06:35 CET 2013


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 at gmail.com>
To: doaltan <doaltan at yahoo.co.uk>; The Haskell-Beginners Mailing List - Discussion of primarily beginner-level topics related to Haskell <beginners at 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 at yahoo.co.uk> wrote:

Hi I have such a stack data structure: 
>datamystack =Empty |Elem Char mystack derivingShow
>
>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 at haskell.org
>http://www.haskell.org/mailman/listinfo/beginners
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20130312/90aa5548/attachment.htm>


More information about the Beginners mailing list