  hypertalk is a high-level, procedural programming language created in 1987 by dan winkler (computer scientist) and used in conjunction with apple computer's hypercard hypermedia program by bill atkinson. the main target audience of hypertalk was beginning programmers, hence hypertalk programmers were usually called authors, and the process of writing programs was called "scripting". hypertalk scripts are fairly similar to written english, and use a logic structure similar to the pascal programming language. it supports the basic control structures of procedural languages: repeat for/while/until, if/then/else, as well as function and message "handler" calls (a handler is a subroutine, a message handler is a procedure). data types are transparent to the user, conversion happens transparently in the background between strings and numbers. there are no classes or data structures in the traditional sense; their place was taken by special string literals, or rather "lists" of "items" delimited by commas (in later versions the "itemdelimiter" property allowed choosing an arbitrary character). the case-insensitive language was interpreted at first, but gained just-in-time compilation with hypercard 2.0.dave kelly, "tools of the trade: compileit! 2.0!", mactech, vol. 7 no. 9 ==description== ===fundamental operations=== for most basic operations and mathematics, hypertalk tended to reverse the ordering of predicates in the statement. for instance, hypertalk used the put assignment operator that placed the variable at the end: put 5 * 4 into theresult whereas in the more traditional basic programming language (and most others), the result of a basic multiplication would be saved in a variable by writing: theresult = 5 * 4 the hypertalk code has the side-effect of creating the variable theresult on the fly. scripts could assign any type or value to a variable using put - hypertalk was very weakly typed. conversions between variable types were invisible and automatic; one can multiply the string "3" and the number 5 to produce the number 15, or concatenate the number 5 onto the string "3" to produce the string "35"; hypertalk will not complain unless the types cannot be automatically converted. hy
Domain-specific_programming_languages Educational_programming_languages HyperCard_products Programming_languages_created_in_1987 Scripting_languages XTalk