Path: utzoo!attcan!uunet!pyrdc!pyrnj!rutgers!cs.utexas.edu!ut-emx!chrisj From: chrisj@ut-emx.UUCP (Chris Johnson) Newsgroups: comp.sys.mac.hypercard Subject: Re: Too Much Recursion! Where? Message-ID: <5948@ut-emx.UUCP> Date: 12 Sep 88 15:19:50 GMT References: <3150006@vx2.NYU.EDU> <3140@sdsu.UUCP> Reply-To: chrisj@emx.UUCP (Chris Johnson) Organization: U.T. Austin Computation Center Lines: 65 I can tell you what too much recursion is. But, better still, let me show you. Just attach the following script to a button anytime you want a recursion error. on mouseUp get Level1() end mouseUp function Level1 get Level2() end Level1 function Level2 get Level3() end Level2 function Level3 get Level4() end Level3 function Level4 get Level5() end Level4 function Level5 get Level6() end Level5 function Level6 get Level7() end Level6 function Level7 get Level8() end Level7 function Level8 get Level9() end Level8 function Level9 end Level9 As you can see this is not recursion by any traditional definition (at least not one that I know of). 'Recursion' in this case seems to mean 'levels of subroutines'; which is why the above script will generate the 'recursion' error when it reaches the "get Level9()" call. [It reminds me of my old HP-41 calculator - it only had a seven level return stack.] For me, this error is really a serious problem. Evidently, though, it doesn't effect most HyperCard users. I should add that if you make all of those functions into procedures, the 'Recursion' error doesn't show up. It seems likely that its still there, but you may have to go quite a few levels deeper to find it. ----Chris