[Push] Evolution of modularity in Push

Geoffrey Romer geoff.romer at gmail.com
Tue Mar 15 21:37:12 EDT 2011


Lee-

Thanks for your prompt and helpful reply. I'm glad I'm not missing anything
obvious, at least.

On Tue, Mar 15, 2011 at 9:25 AM, Lee Spector <lspector at hampshire.edu> wrote:

>
> Geoffrey,
>
> Great question.
>
> I don't think you're missing anything.
>
> There have been some recent developments on the Push modularity front -- a
> few related comments are at push.i3ci.hampshire.edu, and there is an
> article on this under review -- but nothing so well developed (or at least
> written up) on locality/isolation, which I agree is important.
>
> That said, a couple of years ago Maarten Keijzer developed an "ENV" (=
> environment) stack that can be used to store whole states of the
> interpreter. One can easily imagine using something like this to create
> local environments for function calls and to provide various other kinds of
> isolation/protection. As I recall there were a couple of slightly tricky
> issues to resolve, e.g. regarding return values, and I don't recall feeling
> like we had worked out the perfect solution to those. But I'm not sure --
> Maarten might well have had good ways to do everything.


> Maarten, if you're reading this then I'd love to have my memory refreshed
> on this, maybe with an push.i3ci.hampshire.edu post?
>
> And Geoffrey and any others: I'd love to see progress on this and to
> contribute in any related discussions.


>  -Lee
>
> PS Geoffrey I think your message bounced from the list because you're not a
> member, but I've added you to the "can post anyway" list and if you want you
> could join at https://lists.hampshire.edu/mailman/listinfo/push.  Also let
> me know if you want to have posting privileges at push.i3ci.hampshire.edu.
>

I don't know about _posting_ privileges, but commenting privileges would
come in handy- I see Maarten has posted a discussion of ENV to the blog, so
it might make more sense to continue the discussion there.


>
>
>
>
> On Mar 14, 2011, at 11:21 PM, Geoffrey Romer wrote:
>
> > Dr. Spector et al-
> >
> > I came across Push while investigating genetic programming languages as
> part of a hobbyist alife project I'm tinkering with. I'm really impressed
> and excited by what I've seen so far- Push seems to neatly solve a lot of
> problems that I've been wrestling with. However, one problem has been
> nagging at me, and I was hoping you might be able to help me with it.
> >
> > The problem is this: I more or less understand how Push supports the
> evolution of reusable code, control structures, and so forth, but as far as
> I can see, it doesn't seem to support one other aspect of modularity, namely
> isolation. Push "functions" are defined by the cumulative effect of their
> constituent operations, not by any abstraction boundary like a function
> signature, and the language doesn't seem to provide any notion of data that
> is local to a module or unit of code. This seems particularly problematic in
> a genetic programming context: it means that any mutation which results in a
> different stack depth after executing the mutated region (as compared to the
> unmutated code) will have a cascading effect through all subsequent code,
> probably largely invalidating it.
> >
> > Do I understand this correctly, or am I missing something? The manual
> refers to local arguments, binding spaces, and environments as possible
> future features, all of which sound promising in this regard- have there
> been any developments on those fronts?
>
> --
> Lee Spector, Professor of Computer Science
> Cognitive Science, Hampshire College
> 893 West Street, Amherst, MA 01002-3359
> lspector at hampshire.edu, http://hampshire.edu/lspector/
> Phone: 413-559-5352, Fax: 413-559-5438
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.hampshire.edu/pipermail/push/attachments/20110315/acb6c60d/attachment.htm>


More information about the Push mailing list