<$BlogRSDUrl$>

Friday, May 28, 2004

Intentional Programming

Reading up on Intentional Programming. Greg and I talked a bit about what to call the AST thingy, since what we were thinking of it as (ideally at least) wasn't really syntax per se but just a representation of the program separate from any concrete syntax. The IP people have this notion as well, and they call the representation the IP Source Tree. So,
  • Why trees? (I mean, what is it about a tree structure that captures so much about what we're doing when writing a program).
  • Can this "abstract program" representation we're thinking about actually be separated from the syntax in the way we imagine? I guess I mean to ask about the nature of the abstract representation... what sort of structure could it have?

    IP just says that the IP Source Tree is composed of a tree of Intentions, with the children of each intention being a more concrete intention. Parent intentions contain all the information needed to understand/debug/image/compile its child intentions.

  • What's become of IP? It seems to be inspired by the same notions that Greg has been talking about (esp. the "operate on the source tree" and extensibility aspects).
Also reading up on aspect-oriented programming (interesting ideas on how to add behaviours to a program which can cut across the usual tree-like boundaries of a bunch of code), and also messing around with groovy.

2 Comments:

Why Trees? Because Trees give us oxygen and shade and provide homes for millions of species of animals. I thought it was obvious! but it looks like there are people who are more out of touch with Nature than I thought. It makes me SO MAD to hear people like you question the importance of Nature. Your probably afraid of Nature and vote for bush too!!

By Anonymous Anonymous, at 5:31 PM  

IP... I've heard of that! Sounds like a Nerd Word! Hey, Josh tells me you don't get out much anymore. What!! So where are you now?
k.

By Anonymous Anonymous, at 2:38 AM  

This page is powered by Blogger. Isn't yours?