Well, I'm answering my own question for the benefit of all :)
 
> Pascal Xl dynamic memory allocation question:
> Why is the default behavior of HP Pascal to not allow 'dispose'd space to be
> 'new'ed again? Speed issues? Compiler constraints? Legacy code?
 
This appears to be legacy behavior so that old CM pascal programs that
depend on this behavior won't break. Although anyone who depends on this
sort of behavior should have both their legs broken :)
 
> And as for the HEAP_DISPOSE and HEAP_COMPACT compiler directives: If a program
> is running out of heap space, and the new/dispose is being done in an XL,
> should the compiler directives HEAP_DISPOSE / HEAP_COMPACT be put in the XL
> source, the source for the program that calls the XL, or both?
 
The program calling the XL must have the directives. It doesn't matter if
the XL has them -- the new/dispose are being called in the context of the
program, not the XL.
 
Perhaps this should go in the 3K FAQ.
 
-Dan
.----------------------------------------------.
|Dan Hollis -- Pharmacy Computer Services, Inc.|
[log in to unmask]      -     (503)476-3139|
`----------------------------------------------'