Luc writes:
> It's a pity that processes aren't implemented as records. It would be
> MUCH CLEANER to have the process's information simply available as
> fields.
This is a confusion between the implementation of processes and the provision
of access/update procedures. Processes are not records -- they are reified
procedure invocations -- and enormously more complex as a result.
> From [Aaron Sloman's] posting I
> take it that it would be difficult (too late?) for Poplog to achieve
> this. However, if Pop9x is aiming for a clean Pop standard, then should
> it be bogged down just because the Poplog implementation is deficient?
I think this misses the point of Aaron's posting. The suggestion was that
the provision of -evalproc- makes it possible to provide the more intuitive
interface. However, what I'm interested in (as is Luc) are suggestions for
the more intuitive procedures.
e.g.
proc_subscr_length( P ) -> N
Returns the length of P's stack
proc_subscr_stack( N, P ) -> ITEM
Returns the Nth item on the stack of the process P
proc_copy_stack( P, CONS ) -> ITEM
Given a constructor (e.g. conslist, consvector etc) returns a
copy of the stack of process P built using CONS. Leaves the
stack of P unchanged.
I think this gives the right idea.
Steve
|