Send Beginners mailing list submissions to beginners@haskell.org To subscribe or unsubscribe via the World Wide Web, visit http://www.haskell.org/mailman/listinfo/beginners or, via email, send a message with subject or body 'help' to beginners-requ...@haskell.org
You can reach the person managing the list at beginners-ow...@haskell.org When replying, please edit your Subject line so it is more specific than "Re: Contents of Beginners digest..." Today's Topics: 1. Type error in function binding (bahad?r altan) 2. Re: Type error in function binding (Mats Rauhala) 3. Re: Type error in function binding (Markus L?ll) 4. Re: Type error in function binding (Nathan H?sken) 5. a problem with happy ABCParser example (kak dod) 6. Syntax error in input (bahad?r altan) 7. Re: Syntax error in input (bahad?r altan) ---------------------------------------------------------------------- Message: 1 Date: Mon, 2 Apr 2012 15:50:41 +0100 (BST) From: bahad?r altan <doal...@yahoo.co.uk> Subject: [Haskell-beginners] Type error in function binding To: "beginners@haskell.org" <beginners@haskell.org> Message-ID: <1333378241.40579.yahoomail...@web171604.mail.ir2.yahoo.com> Content-Type: text/plain; charset="iso-8859-1" Hi. I'm trying to write a code which counts the number of ?'a's ?in a string. it looks like this : mycounter st = if st == [] then 0 else if head st == 'a' then 1 + mycounter tail st else mycounter tail st but it gives this error :? ERROR "deneme.hs":19 - Type error in function binding *** Term ? ? ? ? ? :mycounter *** Type ? ? ? ? ? : [Char] -> b *** Does not match : ([a] -> [a]) -> [Char] -> b *** Because ? ? ? ?: unification would give infinite type I have no idea about what I'm doing wrong. Can you help me with this please? -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120402/dfb3fd9e/attachment-0001.htm> ------------------------------ Message: 2 Date: Mon, 2 Apr 2012 17:59:42 +0300 From: Mats Rauhala <mats.rauh...@gmail.com> Subject: Re: [Haskell-beginners] Type error in function binding To: beginners@haskell.org Message-ID: <20120402145942.GA8290@libre.local> Content-Type: text/plain; charset="iso-8859-1" On 15:50 Mon 02 Apr , bahad?r altan wrote: > Hi. > I'm trying to write a code which counts the number of ?'a's ?in a string. > it looks like this : > > mycounter st = > if st == [] then 0 > else if head st == 'a' then 1 + mycounter tail st else mycounter tail st > > but it gives this error :? > ERROR "deneme.hs":19 - Type error in function binding > *** Term ? ? ? ? ? :mycounter > *** Type ? ? ? ? ? : [Char] -> b > *** Does not match : ([a] -> [a]) -> [Char] -> b > *** Because ? ? ? ?: unification would give infinite type > > I have no idea about what I'm doing wrong. Can you help me with this please? I didn't verify, but it could be that you need parenthesize the `counter tail st` part. A different kind of solution could be: counter [] = 0 counter ('a':xs) = 1 + counter xs counter (_:xs) = counter xs Or maybe even: `length $ filter (== 'a') xs` -- Mats Rauhala MasseR -------------- next part -------------- A non-text attachment was scrubbed... Name: not available Type: application/pgp-signature Size: 198 bytes Desc: not available URL: <http://www.haskell.org/pipermail/beginners/attachments/20120402/71ffd3b2/attachment-0001.pgp> ------------------------------ Message: 3 Date: Mon, 2 Apr 2012 18:00:39 +0300 From: Markus L?ll <markus.l...@gmail.com> Subject: Re: [Haskell-beginners] Type error in function binding To: bahad?r altan <doal...@yahoo.co.uk>, beginners@haskell.org Message-ID: <CALdaiuCZ5GM1doOfV4vo7R00reYfTAxU9o=h4A8iR3S_6=p...@mail.gmail.com> Content-Type: text/plain; charset=ISO-8859-1 You're missing some parenthesis. Instead of "mycounter tail st" write "mycounter (tail st)". On Mon, Apr 2, 2012 at 5:50 PM, bahad?r altan <doal...@yahoo.co.uk> wrote: > Hi. > I'm trying to write a code which counts the number of ?'a's ?in a string. > it looks like this : > > mycounter st = > if st == [] then 0 > else if head st == 'a' then 1 + mycounter tail st else mycounter tail st > > but it gives this error : > ERROR "deneme.hs":19 - Type error in function binding > *** Term ? ? ? ? ? :mycounter > *** Type ? ? ? ? ? : [Char] -> b > *** Does not match : ([a] -> [a]) -> [Char] -> b > *** Because ? ? ? ?: unification would give infinite type > > I have no idea about what I'm doing wrong. Can you help me with this please? > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners > -- Markus L?ll ------------------------------ Message: 4 Date: Mon, 02 Apr 2012 17:04:48 +0200 From: Nathan H?sken <nathan.hues...@posteo.de> Subject: Re: [Haskell-beginners] Type error in function binding To: beginners@haskell.org Message-ID: <4f79c010.9070...@posteo.de> Content-Type: text/plain; charset=ISO-8859-1 I think you are just missing parentheses: mycounter st = if st == [] then 0 else if head st == 'a' then 1 + mycounter (tail st) else mycounter (tail st) On 04/02/2012 04:50 PM, bahad?r altan wrote: > Hi. > I'm trying to write a code which counts the number of 'a's in a string. > it looks like this : > > mycounter st = > if st == [] then 0 > else if head st == 'a' then 1 + mycounter tail st else mycounter tail st > > but it gives this error : > ERROR "deneme.hs":19 - Type error in function binding > *** Term :mycounter > *** Type : [Char] -> b > *** Does not match : ([a] -> [a]) -> [Char] -> b > *** Because : unification would give infinite type > > I have no idea about what I'm doing wrong. Can you help me with this please? > > > _______________________________________________ > Beginners mailing list > Beginners@haskell.org > http://www.haskell.org/mailman/listinfo/beginners ------------------------------ Message: 5 Date: Mon, 2 Apr 2012 21:56:04 +0530 From: kak dod <kak.dod2...@gmail.com> Subject: [Haskell-beginners] a problem with happy ABCParser example To: beginners@haskell.org Message-ID: <CAJ4=wnelywrpmd_pwu3_yehg95gqxzgod1p7uewnfi0203o...@mail.gmail.com> Content-Type: text/plain; charset="iso-8859-1" Hello, Greeting everybody. I am a beginner of Haskell. I am trying out the happy. When I compiled the happy grammar file for the ABCParser given at http://www.haskell.org/happy/doc/html/sec-AttributeGrammarExample.html I did get a Haskell source file. Then I loaded this file, named "abc.hs" into ghci. There is a function called "parse" available to us. GHCi shows its type to be parse :: [Char] -> [Char] But no matter whatever input I give to the parse function, it always gives the following error: "*** Exception: parse error Here are some sample inputs on the GHCi shell: *ABCParser> parse "abc" "*** Exception: parse error *ABCParser> parse "a" "*** Exception: parse error *ABCParser> parse "" "*** Exception: parse error *ABCParser> parse "aabbcc" "*** Exception: parse error What is the problem? The happy grammar is here: { module ABCParser (parse) where } %tokentype { Char } %token a { 'a' } %token b { 'b' } %token c { 'c' } %token newline { '\n' } %attributetype { Attrs a } %attribute value { a } %attribute len { Int } %name parse abcstring %% abcstring : alist blist clist newline { $$ = $1 ++ $2 ++ $3 ; $2.len = $1.len ; $3.len = $1.len } alist : a alist { $$ = $1 : $2 ; $$.len = $2.len + 1 } | { $$ = []; $$.len = 0 } blist : b blist { $$ = $1 : $2 ; $2.len = $$.len - 1 } | { $$ = [] ; where failUnless ($$.len == 0) "blist wrong length" } clist : c clist { $$ = $1 : $2 ; $2.len = $$.len - 1 } | { $$ = [] ; where failUnless ($$.len == 0) "clist wrong length" } { happyError = error "parse error" failUnless b msg = if b then () else error msg } -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120402/1edb7dd4/attachment-0001.htm> ------------------------------ Message: 6 Date: Mon, 2 Apr 2012 17:44:16 +0100 (BST) From: bahad?r altan <doal...@yahoo.co.uk> Subject: [Haskell-beginners] Syntax error in input To: "beginners@haskell.org" <beginners@haskell.org> Message-ID: <1333385056.89825.yahoomail...@web171601.mail.ir2.yahoo.com> Content-Type: text/plain; charset="iso-8859-1" Hi,? I wrote that function: ?wordCount x = length(words x) but I get this : ERROR "a.hs":73 - Syntax error in input (unexpected symbol "wordCount") Can you tell me how can I get rid of this error please? Thanks.. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120402/2f861e7f/attachment-0001.htm> ------------------------------ Message: 7 Date: Mon, 2 Apr 2012 17:47:03 +0100 (BST) From: bahad?r altan <doal...@yahoo.co.uk> Subject: Re: [Haskell-beginners] Syntax error in input To: "beginners@haskell.org" <beginners@haskell.org> Message-ID: <1333385223.16449.yahoomail...@web171601.mail.ir2.yahoo.com> Content-Type: text/plain; charset="iso-8859-1" I found the error, silly mistake, sorry :-) ________________________________ From: bahad?r altan <doal...@yahoo.co.uk> To: "beginners@haskell.org" <beginners@haskell.org> Sent: Monday, 2 April 2012, 19:44 Subject: Syntax error in input Hi,? I wrote that function: ?wordCount x = length(words x) but I get this : ERROR "a.hs":73 - Syntax error in input (unexpected symbol "wordCount") Can you tell me how can I get rid of this error please? Thanks.. -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://www.haskell.org/pipermail/beginners/attachments/20120402/ca716c1a/attachment.htm> ------------------------------ _______________________________________________ Beginners mailing list Beginners@haskell.org http://www.haskell.org/mailman/listinfo/beginners End of Beginners Digest, Vol 46, Issue 1 ****************************************