"while word_length(read())" is an infinite loop because the procedure
word_length() always succeeded ( return at the end).
The program simply stops when you enter a "." at the beginning. It STOPs, it
doesn't go back to the main proc when it ends.
Replace stop("Bye") with fail and that should fix it.
-jafar
On Thu, Oct 29, 2009 at 12:51 PM, Sidney Reilley II <
[email protected]> wrote:
> hey all....
>
> the following code is an excerpt from Corre's publication, "Icon
> Programming for Humanists":
>
> #!/opt/local/bin/icon
>
> global letters
> procedure main()
> while word_length(read())
> printout()
> end
>
> procedure word_length(line)
> local length
> initial letters := list(20,0)
> if line == "." then stop("Bye")
> line ? while length := (write(*tab(many(&letters)))) do {
> tab(many(' .,;:!'))
> letters[length] +:= 1
> }
> return
> end
>
> procedure printout()
> local n
> every n:= 1 to 10 do
> write("There are ",letters[n],"",n,"letter words.")
> return
> end
>
> Nothing terribly difficult. I had to "local"ize n and length, and
> "global"ize letters, to stop the compiler from squawking.
>
> The program works, but for some reason printout() never gets called.
> Can anybody spot why? TIA....
> --
> Sid
>
>
> ------------------------------------------------------------------------------
> Come build with us! The BlackBerry(R) Developer Conference in SF, CA
> is the only developer event you need to attend this year. Jumpstart your
> developing skills, take BlackBerry mobile applications to market and stay
> ahead of the curve. Join us from November 9 - 12, 2009. Register now!
> http://p.sf.net/sfu/devconference
> _______________________________________________
> Unicon-group mailing list
> [email protected]
> https://lists.sourceforge.net/lists/listinfo/unicon-group
>
--
"Let there be no compulsion in religion: Truth stands out clear from error"
[The Holy Qur'an 2:256]
"Injustice anywhere is a threat to justice everywhere" Dr. King
------------------------------------------------------------------------------
Come build with us! The BlackBerry(R) Developer Conference in SF, CA
is the only developer event you need to attend this year. Jumpstart your
developing skills, take BlackBerry mobile applications to market and stay
ahead of the curve. Join us from November 9 - 12, 2009. Register now!
http://p.sf.net/sfu/devconference
_______________________________________________
Unicon-group mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/unicon-group