HyperTalk
簡単な例
この例は、このスクリプトが付加されているオブジェクト(パーツ)の上で、 マウスがクリックされたら、ビープ音を鳴らし、 2と4を加えた結果の平方根を、このオブジェクトが乗っているカードに存在する『計算結果』という名のフィールドに送る。 mouseUpとなっているのは、マウスクリックのチャタリングを防止するために、クリック後のアップを取り出している。
ここでは、初心者が初めて学ぶ言語として広く浸透しているC言語を例に比較する。
C言語は文章の区切りとしてセミコロンを使い、比較的自由な表記が可能であるが、スクリプト言語であるHyperTalkは改行が文章の区切りとなるため、文章の途中で改行するとエラーになる。例えば「put "Hello, World!" into A」と表記すべきところを「put "Hello,(改行) World!" into A」と表記するとエラーになる。
変数宣言や関数宣言が不要であり、また代入する値(整数、小数、文字列)を意識せずに変数に代入できる。 例えばAという変数に「10」という整数が入っていたとしても、新たに宣言することなく「0.5」という小数や「ten」という文字列を入れることが出来る。 ただし、文字(列)が入った変数に整数を加算する...といった動作はエラーとなり動かないため注意が必要である。尚、文字列と文字列、もしくは文字列と数値を繋げる記号は「&」である。 また、数値間での型違い(整数、小数、符号付き・無し)が無いため、例えば、「0.5*4」「0.5+1.5」といった小数を元にした計算でも、結果が整数となる物は強制的に整数となり(小数点以下が無くなった状態で)代入される。一方、C言語では最も上位の型に変換され、最終的に代入する変数の型で決定される。
インタプリタ方式を採用するスクリプト言語で、その文法は英語に近く、初心者にもなじみやすい。
HyperCard開発チームのダン・ウィンクラーがデザインした。拡張性を考え、XCMD(外部コマンド)とXFCN(外部関数)という機構も用意され、プラグイン的に機能を追加可能である。
HyperCardがオブジェクト指向環境の為、それぞれのスクリプトは、HyperCardのスタック上のオブジェクトであるカードやボタン、フィールドなどのパーツ(オブジェクト)に付随する。