Joel,

I have added this as Enhancement Request 2.2.0.118.

Thanks for your suggestions!  I personally like them.

-Bo
-- 

On 29-Nov-1999/8:35:07-6:00, [EMAIL PROTECTED] wrote:
>[EMAIL PROTECTED] wrote:
>> 
>> Let's see how it performs on a structure that is naturally recursive:
>> 
>.... nice code and stack crash deleted ...
>> 
>> But:
>> 
>.... more deletions ...
>> 
>> 140 levels can hold maximum 2<CTRL>139 + 2<CTRL>138 + ... + 2<CTRL>0 elements...
>> 
>> I think running out of memory is a bigger problem than running out of
>> stack space ! :))
>> 
>
>EXCEPT that sometimes a recursive structure is composed from input
>data not under the control of the programmer!  For example, building
>a sort tree from pathologically ordered data can produce a 140-level
>tree that contains only 141 leaves.
>
>Of course the program can be re-written to continually rebalance the
>tree, but means that the programmer is having to make a more complex
>program to work around a limitation of the implementation -- NOT a
>very friendly solution for the casual (or novice) programmer.
>
>CONCRETE SUGGESTIONS:  Why not allow the programmer or user some more
>control over stack size?  I suggest that REBOL would benefit from:
>
>1)  A command-line argument allowing the stack size to be set to a
>    supplied value.  On a larger box, one could simply make the size
>    bigger to allow deeper recursion.  (As a side note, I recently
>    found that I could nest recursive calls deeper under w95 than
>    under Solaris, even though the Sun box had WAYYYYY more RAM.
>    ("What a rebolting development THAT is!")
>
>2)  A primitive function allowing running code to query the amount
>    of total and free stack space.  This would enable a script to
>    predict an impending stack crash and take preventive action,
>    rather than simply detecting the crash after the fact.
>    It would also be nice to have the same capabilitiy(ies) for
>    heap/string space, but I'm assuming more than I know about the
>    implementation of REBOL.  ;-)
>
>3)  In the best of all possible worlds, REBOL would have both of
>    the above, PLUS a function to grow the stack/heap/whatever by
>    a specified amount of memory.  Of course that function would
>    fail gracefully if the environment didn't have sufficient
>    resources to let the interpreter grow.
>
>How about it, REBOL wizards?  I realize that these may be non-trivial
>changes (depending on how the interpreter is built) but I believe they
>offer some real value, both to those of us who occasionally write
>quick-and-dirty code and to those who deal with really complex or
>large data structures.
>
>-jn-
>
-- 
                           Bohdan "Bo" Lechnowsky
                           REBOL  Adventure Guide
           REBOL Technologies 707-467-8000 (http://www.rebol.com)
          Download the REBOL Messaging Language for all Platforms

Reply via email to