HyperTalk is the language of HyperCard, shipped by Apple in 1987 so that people who had never programmed could build things. Bill Atkinson and Dan Winkler designed it to read as English, and it worked: teachers, artists and children wrote stacks. Every xTalk since — SuperTalk, LiveCode Script, SenseTalk, OpenXTalk — descends from it, and WikiScript takes its operational half from this family.
# The message path Everything is an object that receives messages. A click sends `mouseUp` to the button; unhandled, the message travels on — button, card, background, stack, home. A handler catches it by name:
on mouseUp go to the next card end mouseUp
# Chunk expressions Text is addressable by structure — character, word, item, line — nested to any depth:
put word 3 of line 2 of field "Notes" into theTotal get the last word of the third line of field "Story"
# Containers and it `put X into Y` reads as English and is the whole theory of assignment. `get` fetches a value and binds `it`, the pronoun of the language. Punctuation is scarce, case is forgiving, and the reader is assumed to be human.
# Commands and functions HyperTalk kept commands, which do things, apart from functions, which answer questions. That distinction — lost in mainstream languages, rediscovered as CQRS — is the key WikiScript inherits. See DSLs and Hypertalk.
# What WikiScript takes, and refuses Taken: `on` handlers, `put X into Y`, chunk expressions, `it`, and English a person can read aloud. Refused: unbounded `repeat`, ambient state, hidden side effects, and the open message path — an agreement names its parties and its events, and nothing arrives unannounced.
The whole descendant vocabulary lives as a wiki, one page per token — about 2,400 pages of xTalk corpus at language.david.livecode.wiki.
# Links
- HyperTalk on Wikipedia
- HyperCard interviews
- SenseTalk
- The xTalk token wiki ![]()
# See - WikiScript and WikiScript Grammar - DSLs and Hypertalk and Livecode Wasm - Double Parse and SimpleTalk