OIL review ?

Jim Little jiml@inconnect.com
Sun, 07 Nov 1999 21:08:26 -0700

Laurent Martelli wrote:
> I think that I've implemented almost all the features that I wanted to
> have in OIL, so I believe that it's time for a review. Do you think it
> has flaws ? Is it missing important features ? (I am not talking about
> performance issues here, just functionnality).

As I imagine you are also discovering, useful responses are hard to find
on this list.  :)  So I'd like to critique OIL.  That's hard, though,
because you haven't really issued a strong statement of what it's for. 
But I'll do my best:

On your web page, you state that your goal is to support an "open
interpreter" that will support AOP.  I don't know what an open
interpreter is, but it seems to me that OIL does not meet the goal of
supporting AOP, other than in the most general (and not particularly
useful) Turing-compatible sense.

In a previous email message to this list, you stated: "What I really
want to
achieve is separation of concerns : specification and implementation." 
I don't see how OIL meets this goal, either.

It seems to me that what you do have is a system for lambda abstraction,
not too much different than any other programming language that supports
function calls.  OIL's uniqueness appears to lie in the fact that it's
run-time extensible in that you define new lambda abstractions at
runtime -- its interactive.  It's also persistent, which is nice.

I see some things that could potentially be problems, but without
knowing what your concrete goals for OIL are, it's hard to say if
they're really problems or not.  Without that overall vision of where
OIL is going, though, I can't see how OIL is much different than an
interactive Lisp -- and I'm not a Lisp guru, but I believe that such
things are already available.

So in summary, I'd say my biggest critique of OIL is not the system
itself but the lack of published direction.  Without that, it's
impossible to say if OIL is feature-complete or not, because I don't
know what the feature set is supposed to be! :)


PS: I'm not trying to be harsh, but I AM trying to provide useful
feedback -- something which is SORELY LACKING on this list, HINT HINT
folks!!  (And I'm sure Brian would agree with me on that point, even
though we seem to disagree on everything else.  ;)  )