Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!usc!wuarchive!udel!princeton!pucc!EGNILGES From: EGNILGES@pucc.Princeton.EDU (Ed Nilges) Newsgroups: comp.sys.mac.hypercard Subject: Re: Hypercard 2.0 Message-ID: <12213@pucc.Princeton.EDU> Date: 8 Jan 91 16:32:47 GMT References: <12208@pucc.Princeton.EDU> <47827@apple.Apple.COM> <12209@pucc.Princeton.EDU> <47854@apple.Apple.COM> Reply-To: EGNILGES@pucc.Princeton.EDU Organization: Princeton University, NJ Lines: 43 Disclaimer: Author bears full responsibility for contents of this article In article <47854@apple.Apple.COM>, jkc@Apple.COM (John Kevin Calhoun) writes: > >But let's not be too hard on its designer. He got a lot of other things >right. You're right on that one. > >> I found that QUYO to it", for example, works differently when "it" contains "card >>id nnnnn". > >>Where's my Hypercard compiler? > >It's in HyperCard, and it's responsible for the slowdown in commands >such as "go to it". You can imagine the horror of trying to compile >a command of this type. Not very specific at compile time, is it? Yeah, it's difficult in an interpreted language with DO statements to in general compile. IBM recently announced a compiler for the REXX language which refuses to compile ANY program with INTERPRET statements (INTERPRET is REXX's analogue to HyperTalk's DO.) I claim, however, that this is too restrictive. If you do flow analy- sis you can in very many cases predict what the DOne string will contain. A trivial example would be get "ANSWER" && QUOTE & "NUTS" & QUOTE DO it The flow analysis is identical to what an optimizing compiler needs to do. In the original example, GO TO IT, compilation is even easier as long as you have an execution-time routine for HyperTalk's GO TO. > >The 2.0 HyperTalk compiler, overall, speeds up the execution of 1.0 >scripts. Naturally, there are tradeoffs, and "go to it" is one of them. WHAT compiler? Remember, no manuals. I have just checked and have found "comment" and "uncomment" but no "compiler". I presume that you do some internal compilation. Thanks for you assistance.