I think Sidney Bailin wrote:
> 
> Heh - this is one of a few strong typing things that get in the way
> of moving a CLIPS system to Jess.

I agree with Sidney's overall message, but actually this first
assertion is not true: Jess just plain didn't handle the wildcard
argument. Even if it automatically converted to a list, it would have
been incorrect because it only would have grabbed the first argument.

It was a trivial fix, so now this is handled.

>  Another is not interpreting
> the symbol 1 (or any other number) as the number 1, and therefore
> throwing an exception in, say, the = function with this symbol as
> an argument.
> 
> Several months ago I promised Ernest a list of such things that I
> encountered while porting a fairly large CLIPS system.  I never
> delivered on that, work commitments being what they have been,
> but perhaps if I get some time to breathe next month, and can dig
> up my notes, I can still provide something to this effect.
> 
> It seems to me that for CLIPS compatibility / ease of migration,
> an N by M type conversion set of functions which Jess would execute
> before throwing these exceptions, would be desirable.  Whether Ernest
> will think this is a good idea, I don't know: on the one hand,
> Jess has placed itself firmly in the Java world, for good reason.  On
> the other hand, the ability to assume such innocent type casts in
> CLIPS was one of the joys of using it, I think.  Sort of a judgment call,
> I guess.
> 
> Sidney Bailin

Well, the experiment is easy enough given the current organization of
Jess' internals, so I made a few small trial modifications. Now you
can do, for example:

  Jess, the Java Expert System Shell
  Copyright (C) 1998 E.J. Friedman Hill and the Sandia Corporation
  Jess Version 4.1b4 7/27/98

  Jess> (+ "1" "2")
  3
  Jess>
 
This means replacing some 'if-then's with 'switch'es in the Value
class. It seems to come with a barely noticeable speed penalty of
maybe 3-5%, which is not bad. So maybe I'll leave these in?

Speaking of speed, I've been playing around with Tower's TowerJ Java
native compiler  (www.twr.com). It gives timings which are about 10-15%
better than Microsoft's JVM (SDK 2.0), which in turn is about twice
the speed of Sun's JDK (1.1.5 with JIT). With TowerJ, Jess is only
roughly half the speed of CLIPS, which is starting to look pretty
good. I still think I can do better with careful object reuse, but
time will tell.

---------------------------------------------------------
Ernest Friedman-Hill  
Distributed Systems Research        Phone: (510) 294-2154
Sandia National Labs                FAX:   (510) 294-2234
Org. 8920, MS 9214                  [EMAIL PROTECTED]
PO Box 969                  http://herzberg.ca.sandia.gov
Livermore, CA 94550

---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------

Reply via email to