Re: JESS: when functional language is better that structuredlanguage ?

2003-06-07 Thread ejfried
I think [EMAIL PROTECTED] wrote:
 
 Hi,
 
 I have a basic question
 could u please tell me that what kind of problems
 can be easily solved using functional languages
 like Lisp or Jess rather than using a structured language
 like C or Java.
 

Neither Lisp nor Jess is really a functional language in the sense
that ML or Haskell or OCaml are, although some dialects of Lisp offer
good support for a functional programming style (Scheme in
particular.) Because Lisp and Jess offer variables and assignment,
they're really pretty much equivalent in capability and expressiveness
to C and Java.

Now, there are definitely some things that Lisp is better at; you
should have no problem finding a discussion of the advantages and
disadvantages of Lisp via a Google search.

The big difference between Jess and the other three, of course, is
that Jess is a rule-based programming system. Asking what kind of
problems a rule-based system can solve more easily is valid, but
again, this is another questions easily answered via a web search, or
even by reading the Jess manual (section 1.7 is entitled What makes a
good Jess application?)


-
Ernest Friedman-Hill  
Distributed Systems ResearchPhone: (925) 294-2154
Sandia National LabsFAX:   (925) 294-2234
PO Box 969, MS 9012 [EMAIL PROTECTED]
Livermore, CA 94550 http://herzberg.ca.sandia.gov


To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]




Re: JESS: when functional language is better that structuredlanguage ?

2003-06-07 Thread Agustin Gonzalez-Tuchmann
At 08:29 AM 6/7/2003 -0700, [EMAIL PROTECTED] wrote:
I think [EMAIL PROTECTED] wrote:

 Hi,

 I have a basic question
 could u please tell me that what kind of problems
 can be easily solved using functional languages
 like Lisp or Jess rather than using a structured language
 like C or Java.

Great question. I am not sure what the answer is. AI people like it because 
I think AI people do a lot of
symbol manipulation (i.e not so much numeric manipulation but symbol). 
Also, I guess AI people are more
interested in telling the computer what to do instead of how to do it. 
Functional languages tend to be more
declarative than imperative languages like C, Pascal, or Java.

I think we, humans, think in an imperative way. We humans like to express 
our thoughts in an imperative way.
But the paradox is that, IMO, we humans like to see other's thoughts in a 
declarative way! If this holds
any water, then I would say that a declarative language is a great way to 
express the meaning of a
computer program when we want to communicate that meaning to humans and we 
hope the target audience
can manipulate that meaning (i.e. declarative programs). However, an imperative
one is a better tool for a human to put together that meaning.

Thus, if a functional language is also declarative, then use it when you 
want non-technical people to understand and
manipulated  the programming logic you wrote.
Rules are great to communicate meaning, specially for dynamic logic that 
needs to be changed
frequently (i.e. business rules).


Neither Lisp nor Jess is really a functional language in the sense
that ML or Haskell or OCaml are, although some dialects of Lisp offer
good support for a functional programming style (Scheme in
particular.) Because Lisp and Jess offer variables and assignment,
they're really pretty much equivalent in capability and expressiveness
to C and Java.
Turing complete functional languages are as expressive as an imperative 
language. The
issue is not expressive power but it is an issue of fit of use to the 
particular domain.

Agustin Gonzalez, Ph.D.
Director
Town Lake Software
www.townlakesoftware.com
512-422-6806

To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]



Re: JESS: when functional language is better that structuredlanguage ?

2003-06-07 Thread ejfried
I think Agustin Gonzalez-Tuchmann wrote:

  I think we, humans, think in an imperative way. We humans like to
 express our thoughts in an imperative way.  But the paradox is that,
 IMO, we humans like to see other's thoughts in a declarative way! If
 this holds any water, then I would say that a declarative language
 is a great way to express the meaning of a computer program when we
 want to communicate that meaning to humans and we hope the target
 audience can manipulate that meaning (i.e. declarative
 programs). However, an imperative one is a better tool for a human
 to put together that meaning.

Interesting analysis!


 Because Lisp and Jess offer variables and assignment, they're
 really pretty much equivalent in capability and expressiveness to C
 and Java.


 Turing complete functional languages are as expressive as an
 imperative language. The issue is not expressive power but it is an
 issue of fit of use to the particular domain.


I didn't mean to suggest that functional languages lacked
expressiveness, but simply that in general Lisp, C, and Java are more
alike than different; they are more similar to each other than any of
them are similar to a true functional language. If something is hard
to express in one of [Java | C | Lisp ] it's generally hard to express
in all of them -- except for symbolic computation, which Lisp excels
at mostly just because symbols are first class objects in that
language. 


-
Ernest Friedman-Hill  
Distributed Systems ResearchPhone: (925) 294-2154
Sandia National LabsFAX:   (925) 294-2234
PO Box 969, MS 9012 [EMAIL PROTECTED]
Livermore, CA 94550 http://herzberg.ca.sandia.gov


To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]




RE: JESS: when functional language is better that structuredlanguage ?

2003-06-07 Thread James Owen
Just to add fuel to the fire.  :-)  Jess (et. al.) are (as has been
stated here earlier) a declarative language, not a procedural language.
Back in 1999 I had a friend who was trying to write a program for a
lawyer to do jury selection.  His problem with using Java was that he
was trying to do an iterative loop around either if-then-else or case
statements so that he could re-evaluate some clauses (Conditional
Elements) that might change after the initial evaluation (firing) of the
clause.  When I explained that a rulebase was, by nature, non-monotonic
(unlike Java) he was thrilled and immediately began using that because
it suited his purposes much better.  That's one.

Secondly, most business analysts give a problem to the witches and
warlocks in the IT department and hope that whatever magic spell that
they can cast or cauldron of brew will cure their ills.  Because the
BA's normally cannot read code, their only recourse to see if the IT
department was successful is to try and write enough test cases to see
if it will do what they wanted.  Some rulebased systems are fairly
self-explanatory in nature - to the extent that a non-technical BA can
actually read the code; and change the code, if necessary, without
having to get help from IT.  (No, I do NOT recommend that BA's write a
rulebase; not more than I would recommend that a BA write a database
which is a much easier job.)

So, there you have two good reasons.  I need more coffee and I have to
mow the yard this afternoon and I really should let the rest of the Jess
users say something...  :-)

SDG
jco

James C. Owen
Senior Knowledgebase Consultant
6314 Kelly Circle
Garland, TX   75044
972.530.2895 
214.684.5272 (cell)


-Original Message-
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED]
On Behalf Of [EMAIL PROTECTED]
Sent: Saturday, June 07, 2003 12:38 AM
To: [EMAIL PROTECTED]
Subject: JESS: when functional language is better that structured
language ?


Hi,

I have a basic question
could u please tell me that what kind of problems
can be easily solved using functional languages
like Lisp or Jess rather than using a structured language
like C or Java.



Thanks and Regards,

Kaushik Dutta



* * * The information contained in this message is legally privileged
and confidential
information intended only for the use of the addressed individual or
entity indicated in
this message (or responsible for delivery of the message to such
person). It must not be
read, copied, disclosed, distributed or used by any person other than
the addressee.
Unauthorised use, disclosure or copying is strictly prohibited and may
be unlawful.
 Opinions, conclusions and other information on this message that do not
relate to the
official business of any of the constituent companies of the TATA
CONSULTANCY SERVICES
shall be understood as neither given nor endorsed by the Group. If you
have received this
message in error, you should destroy this message and kindly notify the
sender by e-mail.
Thank you. * * *


To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the list
(use your own address!) List problems? Notify [EMAIL PROTECTED]