[Haskell-beginners] mayBe stuck
aditya.siram at gmail.com
Thu Aug 5 18:32:59 EDT 2010
Sorry didn't read that properly. Hold on.
On Thu, Aug 5, 2010 at 5:31 PM, aditya siram <aditya.siram at gmail.com> wrote:
> This is happening because findIndex has the signature:
> findIndex<http://hackage.haskell.org/packages/archive/haskell98/latest/doc/html/List.html#v:findIndex>:: (a -> Bool) -> [a] -> Maybe Int
> From this we know that 'findIndex' can return a 'Just Int' or 'Nothing'.
> GHC is telling you that you need to handle the case where the list element
> you ask for does not exist and findIndex returns 'Nothing'.
> The functions in the Maybe module may be of some help here.
> On Thu, Aug 5, 2010 at 5:22 PM, prad <prad at towardsfreedom.com> wrote:
>> i'm trying to create my own split function with % as delimiter.
>> so i have
>> eqD = (=='%')
>> and send
>> let s = "zaoeu%aeuasnt%staashaeu%nthdanoe%nthd"
>> putStrLn $ show $ brS (findIndex eqD s) s
>> to a function brS:
>> brS i ss
>> | isNothing i = ss
>> | otherwise = (take i ss) : (brS newIndex newStr)
>> newIndex = findIndex eqD newStr
>> newStr = drop (i+1) ss
>> but get the following error:
>> Couldn't match expected type `Maybe a' against inferred type `Int'
>> In the first argument of `isNothing', namely `i'
>> In the expression: isNothing i :: mayBe a
>> In a stmt of a pattern guard for
>> the definition of `brS':
>> isNothing i :: mayBe a
>> my understanding is that i need the isNothing because findIndex will
>> return Just Int or Nothing.
>> however, i'm not sure how to resolve what seems to me to be an issue
>> between a Maybe and an Int.
>> In friendship,
>> ... with you on your journey
>> Towards Freedom
>> http://www.towardsfreedom.com (website)
>> Information, Inspiration, Imagination - truly a site for soaring I's
>> Beginners mailing list
>> Beginners at haskell.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the Beginners