The RR programming model

Rob Cozens rcozens at
Thu Nov 14 13:40:17 EST 2002

>>I've vaguely flirted with Revolution and gone through a couple of 
>>tutorials but I've never played with HyperCard or other stack based 
>>systems - and I don't understand the programming model which they 
>>follow. What is a stack? How do they fit in with more traditional 
>>programming languages?

Hi Simon,

Stacks are very difficult to categorize, except to say a stack can be 
almost anything you want it to be, including:

* An application
* A document
* A document that can create other documents
* A library of runtime routines, images, sounds, and/or other resources
* A database
* A dialog box
* A palette

I would say in its traditional form (eg: your address stack with one 
card per address) a stack is a database that includes the interface & 
code to access and display the data it contains.

I find the metaphor that works best for me is to think of a stack as 
a database and each card as a record.  So think of "go to card 1" 
[card id 99; card "Card Name"] as something like "get record number 
1" {record key "99") (alternate record key ""Card Name"), only the 
command not only loads the record into a buffer but also opens the 
user interface to display/manipulate the data.

Rob Cozens
CCW, Serendipity Software Company

"And I, which was two fooles, do so grow three;
Who are a little wise, the best fooles bee."

from "The Triple Foole" by John Donne (1572-1631)

More information about the Use-livecode mailing list