[Haskell-beginners] Re: mayBe stuck

prad prad at towardsfreedom.com
Thu Aug 5 22:07:13 EDT 2010

On Fri, 06 Aug 2010 02:44:26 +0200
Jürgen Doser <jurgen.doser at gmail.com> wrote:

> For practice purposes, in particular for getting used to recursion, it
> might also be useful to write the function without any help of library
> functions, traversing the string using direct recursion only. For
> every character you encounter, what do you have to do in each case?
you are a good teacher, jurgen!
here's what i came up with:

br []       = []
br ss       = fst (tup) : br (tail (snd tup))
        tup = break eqD ss

now this works great for

let s = "zaoeu%aeuasnt%staashaeu%nthdanoe%nthd%"

but i get a 
*** Exception: Prelude.tail: empty list

i found a neat way to explore recursion on ghci like this

Prelude> let s = "aoeu%snthi%ashuet"
Prelude> break (=='%') s
Prelude> break (=='%') (tail (snd it))
Prelude> break (=='%') (tail (snd it))
Prelude> break (=='%') (tail (snd it))
*** Exception: Prelude.tail: empty list

of course this is the problem i'm having in that i'm forced to take the
tail of an empty list at the end. correcting it by sticking on a
delimiter doesn't seem to be the right thing to do though. so there
must be another way to deal with this. hmmm.

In friendship,

                                      ... with you on your journey
Towards Freedom
http://www.towardsfreedom.com (website)
Information, Inspiration, Imagination - truly a site for soaring I's

More information about the Beginners mailing list