[Brent's answered some of these already, but I'll fill in the blanks. 
Also some of the answers presume a fully-implemented engine, which we 
don't have yet]
At 2:52 PM -0500 1/24/02, [EMAIL PROTECTED] wrote:
>I've been watching the Parrot development with interest and have a few
>questions about Parrots capabilities.
>
>    Will Parrot support templates (also known as generics)?

That's a language issue, and we're a step below that.

>    Will Parrot support operator overloading?

Absolutely.

>    Do Parrot classes have constructors and destructors?

Yup, though generally it's at a level below your language of choice. 
(Which would, presumably, use the hooks to do appropriate things)

>    Does Parrot have garbage collection?

Will, yup. GC's either going to be some form of compacting collector 
or a M&S system. No refcounts.

>    When a Parrot class is garbage collected or otherwise destroyed, is its
>    destructor executed? If so, when? In other words, is object destruction
>    100% deterministic in Parrot?

Object destruction is not 100% deterministic by default. You can, 
however, explicitly trigger a dead object detection sweep as you see 
fit, depending on the needs of the language. We don't guarantee 
behavior in cross-language situations. At some point things will be 
destroyed, of course.

>    Does Parrot memory allocation support placement? In other words, can I
>    supply a Parrot memory allocation routine with the address of a variable
>    and the desired size to allocate and expect Parrot to allocate a block
>    of the given size starting at the address I provided?

No, though it's always a dodgy thing to guarantee that a block of X 
bytes can be allocated at location Y. (How do you know that there's 
enough free space?) You can, however, construct a variable using a 
pre-allocated block of memory and tell parrot to use it for your 
string or whatever. You also have control over whether a variable's 
memory should be touched by the GC system or not.

>    How hard would it be to implement memory pools of objects in Parrot?

That's what we're going to have as soon as it gets implemented. PMCs 
are coming from memory arenas, as it makes dead object detection a 
lot easier.

>    Does Parrot support threads?

Yup.

>    Does Parrot support exceptions?

Yup.

>    Can I invoke routines written in other languages, such as C or C++, from
>    Parrot?

Absolutely.
-- 

                                        Dan

--------------------------------------"it's like this"-------------------
Dan Sugalski                          even samurai
[EMAIL PROTECTED]                         have teddy bears and even
                                       teddy bears get drunk

Reply via email to