[comp.sys.mac.hypercard] Some Hypertalk Oddities

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