<br><br><div class="gmail_quote">2008/5/4 Ivan Amarquaye &lt;<a href="mailto:amarquaye.ivan@hotmail.com">amarquaye.ivan@hotmail.com</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">




<div>
thanks for the tip there....its been four gruesome days and i just don&#39;t seem to make any understanding of how to implement some changes or create some new functions due to the fact that im so new to Haskell and functional programming.<br>

&nbsp;<br>
For the very first case of allowing hyphenated words to be treated as single words i manged to successfully do that by adding to the definition of the splitWords function to also accept characters such as &quot;-&quot; and it worked perfectly after running it.<br>

&nbsp;<br>
The next case posed a headache for me as i have been on it for 3 days now. &gt;From my understanding,&nbsp;it means in&nbsp;situations where your writing a &nbsp;sentence and you get to the end of the line while writing a word, you decide to put a hyphen there and continue on the other line. So the case demands that i allow sentences that end with hyphens and continue on the next line to drop the hyphen and be a single word on that same line without having to continue on the next line so this was how i&nbsp;foresee the input&nbsp;it in hugs: <br>

&nbsp;<br>
Input:<br>
makeIndex &quot;these are the very same stuff they tell each-\nother&quot; <br>
&nbsp;<br>
output: <br>
should be this: [[1]these],[[1]eachother]. 1 indicates they are on the same line and the others are left out as the index takes words greater than 4 characters and i have been struggling with this since. i tried on several counts to include in the splitwords function to dropWhile &quot;-&quot; is found in the words but it turned out an error.I also tried creating a new function to do that didnt succeed either&nbsp;&nbsp;can anybody help me out in this regard.....<br>
&nbsp;
</div></blockquote><div><br>There are many ways of doing this of course. Perhaps you need to write a function like so:<br><br>-- fixes up hyphenated words<br>fixupHyphens :: [ (Int, Word) ] -&gt; [ (Int, Word ) ]<br>fixupHyphens ( (line1, word1):(line2:word2):xs )<br>
&nbsp;| ... check if word1 ends with hyphen and line2 /= line1 ... = ( line1, ... something .. ) : fixupHyphens xs<br>&nbsp;| otherwise = (line1, word1):(line2:word2): fixupHyphens xs<br>fixupHyphens xs = xs<br><br>Then you can insert this function in the appropriate place in the makeIndex function (probably before sorting, as you depend on the words showing up in order).<br>
</div></div><br><br clear="all"><br>-- <br>Sebastian Sylvan<br>+44(0)7857-300802<br>UIN: 44640862