HC to Rev conversion

Bill Marriott wjm at wjm.org
Wed Dec 31 11:52:10 EST 2008


Hi Dale,

> I don't know what the idle does. Does Rev auto-compact when cards/ data 
> are deleted?

Rev is RAM-based; all your stacks and data are in memory and only saved to 
disk when you explicitly "save" the stack -- either with a command in a 
script, by using the Save command in the File menu, or when answering "Save" 
to the dialog which appears when you try to close a stack that has been 
modified. The organization of data in memory is handled transparently by 
Rev. Compacting is not necessary.

HyperCard is disk-based. All changes are more-or-less immediately written to 
disk. The changes are tacked on to the end of the file, because it would be 
very slow to rewrite the whole file with every modification. As a result, 
the structure can become quite disorganized over time. For example, you add 
a sentence to card 1. The original information for card 1 is stored at the 
beginning of the file, but your new sentence is at the end of the file. 
Compacting essentially re-writes the file in a tidy format where all related 
information is back together again.

The "idle" handler in HyperCard was a convenient way to handle housekeeping 
chores when nothing else was happening in the stack. However, it wasn't very 
efficient for a variety of reasons. It should be avoided in the Rev version 
of your system for two reasons. One, because the compacting is not needed 
(therefore the reason to have an idle handler at all is obviated); two, 
because Rev has more sophisticated ways (e.g.: send in time) of handling 
housekeeping tasks that should be handled periodically.

- Bill 






More information about the use-livecode mailing list