It seems to me that another possibility for iterative and lazy evaluation is the finite sequential machine (;:), with a cleverly designed state table, such that a "stop" (code 6) or an "error" (_1) is thrown and then caught by logic in the state table, so that parsing all the input is not always required.
Alan ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm