Generalizing the E operator expansions

Mark S. Miller markm@caplet.com
Sat, 26 Aug 2000 16:45:23 -0700


At 06:31 AM 8/26/00 , Tyler Close wrote:
>I've updated Hydro to support the partial order definitions that Markm
>defined, as well as the hashtable equivalence behaviour that Dan
>Bornstein suggested. The new version, Beta3, can be found at:
>http://www.waterken.com/Hydro/2.0/
>[...]
>There are a few more things that need to be done in order to fully
>integrate Hydro into E. One of those is operator support.

This is great news.  But...

There are a number of other issues as well, such as 

* Hydro's use of purely abstract classes rather than interfaces.  Note: 
   Considered only as a Java API, I like Tyler's choice.  However, while E 
   objects may in-effect implement Java interfaces (from the point of view of 
   pre-existing conventional Java clients of those interfaces), E objects 
   cannot in-effect subclass Java classes.

* There are many other naming mismatches such as "iterate" vs "inspect" (and 
   in that context, "evaluate" vs "run").  

* I think there are also several semantics issues.  For example, on a brief 
   skim, it seems in the previous discussion of equality that Tyler thought I 
   was referring to one the Java equalities, all of which are broken, rather 
   than to E's equality (or "sameness").  OTOH, for Hydro to be a standalone 
   library, it can hardly use E's sameness as the default unless we move the 
   sameness code from E to Hydro.

I mention all the above *not* because we need to resolve all these before 
the next E release, but to make the point that we don't.  The next E release 
will bundle in the above Hydro library on an experimental basis, so we may 
all play with it, see what issues there are, and see if we can adequately 
resolve them all.  Tyler's operator renaming may be wonderful (and I already 
think I like it), but I'm not going to even try to think through all the 
implications until after the next release.

Nevertheless, this is indeed great news!  Good job Tyler!


         Cheers,
         --MarkM