EGNILGES@pucc.Princeton.EDU (Ed Nilges) (04/25/89)
I hope that these time-wasting oddities can be at least partially fixed. I'm using version 1.2.2. 1. Not only must you use the "space" named constant in place of " " for a single space, use of space constants throws the automatic Hypertalk formatter off. Hypercard developers, please allow " " to mean "space" and not throw off the formatter. 2. In the case of dangling ELSE clauses such as in the following code, if foo then kanoo if roo then bugna else bloop end if the "else bloop" is matched with the inner "if roo" clause. This is consistent with the resolution of this ambiguity in Pascal and many other languages: but I wish that Hypercard could take note of the fact that the inner if is all on one line, and match the else, consequently, with the OUTER if. This wouldn't be too kludgey if your parser treats "end of line" as a lexeme. More generally, I would like to see optional BEGIN and END parentheses in Hypertalk to more precisely delimit control structures. I know that this would be difficult. 3. UNTIL is zero-trip! Given this fact and (2) above, it is beginning to appear that Bill Atkinson was a Cobol programmer! Cobol's PERFORM UNTIL is zero-trip, as opposed to the DO until of some structured programming notations, in which the until is evaluated at the end of the loop, guaranteeing one trip. Cobol's if...else structures are also kinda kludgey. I am essentially asking for a different language for Hypertalk scripts. It'd be impossible to add BEGIN and END or a one-trip UNTIL without making your users very unhappy. Instead, Apple should ship Hypertalk with a language option such that the user could select at installation time which language(s) were needed. A nifty set would be Hypertalk, REXX and BASIC. If this is too much work, Apple should make it possible for third parties to develop HyperRexx and HyperBasic. Edward Nilges I know I've seen that face before, Big Jim was thinking to himself Maybe down in Mexico, or a picture upon somebody's shelf -- Bob Dylan