[Push] Evolution of modularity in Push

Geoffrey Romer geoff.romer at gmail.com
Sun Mar 20 13:15:00 EDT 2011


In case you didn't see my embedded reply, I'd appreciate having commenting
privileges on the blog, so I can continue this discussion there.

On Tue, Mar 15, 2011 at 6:37 PM, Geoffrey Romer <geoff.romer at gmail.com>wrote:

> 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/20110320/7486160f/attachment.htm>


More information about the Push mailing list