Number: 297

Date: 26-Mar-84 14':52':40

Submitter: Sannella.PA


Subject: POSSIBILITIES saves too much of the stack

Lisp Version: 

Description: '
Received': from USC-ECL.ARPA by PARC-MAXC.ARPA; 24 MAR 84 09':07':55 PST'
Return-path': <@USC-ECL.ARPA':FIKES@ECLD>'
Received': from ECLD by ECLA with ECLnet; Sat 24 Mar 84 09':08':24-PST'
Date': Sat, 24 Mar 84 09':07':58 PST'
From': Richard Fikes <FIKES%ECLD@ECLA>   '
To': lispsupport.PA'
I am doing some coding using the possibility list interface to'
generators and am having problems because they tie up too much stack'
space.  In particular, if one calls POSSIBILITIES deep in a computation,'
the form that is the argument to POSSIBILITIES gets called in the context'
of the call to POSSIBILITIES so that the entire stack at that point'
gets associated with the generator and therefore tied up by it.  Most'
of my generators don''t use any nonlocal stack information and therefore'
could be run with an empty stack.  Is there any way of doing that? '
Can POSSIBILITIES be modified to allow that, say with another argument'
that provides evaluation in an empty stack?  Any suggestions would be'
Received': from USC-ECL.ARPA by PARC-MAXC.ARPA; 29 MAR 84 17':27':22 PST'
Return-path': <@USC-ECL.ARPA':FIKES@ECLD>'
Received': from ECLD by ECLA with ECLnet; Thu 29 Mar 84 17':27':43-PST'
Date': Thu, 29 Mar 84 17':26':49 PST'
From': Richard Fikes <FIKES%ECLD@ECLA>   '
Subject': Stacks and Generators'
To': lispsupport.PA'
cc': FIKES@ECLD.#ECLnet.ARPA, Masinter.PA, VanMelle.PA'
This is a followup to my earlier messages regarding POSSIBILITIES.  I'
have found bugs in my program that apparently were causing me to lose'
my virtual memory due to stack problems.  Hence, I have no reason to'
believe there are maicrocode problems regarding generators.  However,'
because generators tie up so much stack space, they are of very'
limited use.  So, I would like to reiterate my request for'
modifications to POSSIBILITIES, GENERATOR, and COROUTINE to allow'
creation of generators and coroutines with an empty stack (as with'
processes).  That option would make them a much more useful part of'
the programming environment.'
Bill and Larry, thanks for the help in analyzing the situation.'


Test Case: 

Edit-By: Sannella.PA

Edit-Date: 30-Mar-84 15':44':17


Assigned To: 



System: Language Support

Subsystem: Stack and Interpreter



Microcode Version: 

Memory Size: 

File Server: 

Server Software Version: 


Frequency: Intermittent

Impact: Annoying

Priority: Unlikely

Status: Open

Problem Type: Performance

Source Files: