Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!tut.cis.ohio-state.edu!bloom-beacon!apple!dan From: dan@Apple.COM (Dan Allen) Newsgroups: comp.sys.mac.hypercard Subject: Re: HyperCard Implementation Questions. Message-ID: <26170@apple.Apple.COM> Date: 21 Feb 89 21:41:03 GMT References: <1184@unioncs.UUCP> Distribution: usa Organization: Apple Computer Inc, Cupertino, CA Lines: 27 In article <1184@unioncs.UUCP> shinberd@unioncs.UUCP (David Shinberg) writes: > 1) Why do certain commands generate errors when invoked from the MessageBox? > e.g. if, repeat, etc > 2) What method of memory allocation does HyperCard use? > e.g. Stack, heap, etc > 3) How are global variables stored and referenced? Structured statements like repeat and if are not allowed currently in the message box. They must be in a script. HyperCard uses both the standard Macintosh stack (the stack pointer is register A7 of the 68000) as does all Macintosh applications. In addition, HyperTalk has its own stacks for pushing and poping variables and scopes and the like. These stacks are not available to HyperTalk programmers in any way. Bitmaps and cards and backgrounds and text is all manipulated with the standard Macintosh Memory Manager which uses the application heap. For more information on this, read Inside Macintosh. Global variables are stored by HyperTalk in a private manner, i.e., if we documented it we couldn't change it, which we are planning to do for various reasons including performance. Dan Allen HyperCard Team Apple Computer