Prism Rationale, Part 1

David Jeske jeske@home.chat.net
Mon, 4 Jan 1999 22:32:27 -0800


On Mon, Jan 04, 1999 at 09:36:58PM -0700, Jim Little wrote:
> I haven't received any responses to my Prism announcement, so I thought
> I'd go ahead and explain a little more of what Prism's about.  (Of
> course, it's only been one day, but I'm not the patient type.  :)  ) 
> Prism stemmed from concepts similar to some of the ones being tossed
> around on the Tunes list now, so that's why I'm bothering you all with
> this stuff.  If you want me to shut up and go away, let me know.  :)

I've read much of the Prism stuff. I like where you're going. There
definetly sounds like there is some crossover with my own ideas,
particular the whole idea of allowing people to use several domains
(i.e. syntax, structure, etc) seamlessly together. 

I think the way you describe 'domains' they are very similar to
'aspects' in an aspect oriented programming model.

I tend to think of "system abstraction" as the idea of doing a sort of
linear expansion of functionality. Where one 'instruction' may expand
into a single machine instruction or if it's abstracted, a large set
of instructions. Looked at from the other side, if you change the
underlying system abstraction, it's going to have a simple effect on
all the places you involked that abstraction 'instruction'.

While "domain abstraction" I tend to think of as places where the
abstraction affects code generated for logical constructs. For
example, if you change the meaning of function declaration, you may
change how all the code which handles entering (and possibly
involking) all functions occurs. However, the operation 'involke a
function' is not an actual operation of work, it's a construct which
allows you to create a 'system abstraction'. 

I don't know how useful that description is for anyone else, and it's
not 100% clear or thought out, but there is this gestalt in my head
and that's my best description of it.

> So, anybody still with me? 

yup...

> * Semantic errors may be reduced by using a programmable system whose
> semantics are as close as possible to the semantics of the problem
> domain.

Sounds like the same justification for using 'domain specific
languages'. (i.e. that's a term which exists outside your definition
of domain) It also seems have something to share with aspects.

> If anybody got this far, let me know and I'll send you a virtual
> lollipop.  :)  

I definetly got this far. :)

-- 
David Jeske (N9LCA) + http://www.chat.net/~jeske/ + jeske@chat.net