From: David E. Young
Subject: Lisa: request for features
Date: 
Message-ID: <1143396306.973321.312380@j33g2000cwa.googlegroups.com>
There's been enough activity lately from folks using Lisa
(http://lisa.sf.net) that I'm considering finding some time in my life
to add a few missing features. Coming immediately to mind are; 1)
backward chaining; and 2) gui front-end for debugging and inspection.
But, these might not necessarily be those features users want most. So,
please post your requests here. Don't use the lisa-users list; that's
too low-volume and there are only a small number of subscribers. Thanks
much..

Peace, david

"And now these three remain: faith, hope, and love;
but the greatest of these is love."
  -- 1 Corinthians 13:13

From: Vagif Verdi
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143399460.230915.294610@t31g2000cwb.googlegroups.com>
Very easy fix request:
Currently I'm getting list of rules to print it with their descriptions
like this:
 (dolist (arule (lisa::get-rule-list (inference-engine)))
		   (format *html-stream* "~a - ~a ··@_" (rule-short-name arule)
(rule-comment arule)))))))

As you see get-rule-list is not exported.
No big deal though.


Next one:
Example of with-inference-engine usage.

I think it should be like this:
(with-inference-engine (make-inference-engine) ....)
But i'm worried that make-inference-engine sets global variable.
Is it safe in mp-environment ?
From: David E. Young
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143402653.709355.215360@i39g2000cwa.googlegroups.com>
MAKE-INFERENCE-ENGINE simply creates a RETE instance. The macro
WITH-INFERENCE-ENGINE let-binds a special variable to a RETE instance;
thus, it *is* mp-safe.

-- david
From: David Golden
Subject: Re: Lisa: request for features
Date: 
Message-ID: <azBVf.7582$j7.271652@news.indigo.ie>
David E. Young wrote:

> There's been enough activity lately from folks using Lisa
> (http://lisa.sf.net) that I'm considering finding some time in my life
> to add a few missing features. Coming immediately to mind are; 1)
> backward chaining; and 2) gui front-end for debugging and inspection.
> But, these might not necessarily be those features users want most.
> So, please post your requests here. Don't use the lisa-users list;
> that's too low-volume and there are only a small number of
> subscribers. Thanks much..
>

(1)
Well, backward chaining gets my vote, FWIW.  Would be pretty cool to
have such a flexible system.

(2) Echoing Vagif Verdi's posting: examples and safety-assurances
for Lisa in a multithreaded/multiprocessing environment.

(3)
On a more mundane note, perhaps a "purer" asdf usage including
[asdf-install]-ability. Maybe I'm just out of date or missing something
of course, but the 2.4 I just download IMHO still feels
kind of "control inverted", with install.lisp driving asdf as a helper?
I do appreciate that lisa also uses a "classical" logical-host approach
to package installation, but maybe even that could be managed _by_
asdf*.  

(*Switching to general asdf stuff: my asdf knowledge is currently
limited to basics: so I'll just say that if asdf/asdf-install doesn't
currently have a way to manage logical hosts pointed at parts of
installed asdf-installable packages, it probably should, haven't got
that far with any of my projects but I'd like to be able to e.g. have
"resource" logical hosts somewhat akin to similar concepts in Java etc.
for data (e.g. banks of texture maps) accompanying asdf-installed
software.  If I get fired this week maybe I'll look at the situation in
more detail :-) ).
From: Paolo Amoroso
Subject: Re: Lisa: request for features
Date: 
Message-ID: <87lkux59xh.fsf@plato.moon.paoloamoroso.it>
"David E. Young" <··········@gmail.com> writes:

> (http://lisa.sf.net) that I'm considering finding some time in my life
> to add a few missing features. Coming immediately to mind are; 1)
> backward chaining; and 2) gui front-end for debugging and inspection.

As for #2, given the lack of a standardized Common Lisp GUI, I think
it would be more useful to have a rich knowledge/rule base and
inference introspection API that could be used for building higher
level tools, including GUI-based ones.

However, I don't have specific suggestions for such an API.  To give
you an idea, I mean something similar to the CLOS MOP, which can be
used for building class browsers and similar tools.


> But, these might not necessarily be those features users want most. So,
> please post your requests here. Don't use the lisa-users list; that's

I would appreciate:

- a few sample uses of queries, i.e. LISA:RETRIEVE

- LISA:WATCH might take an additional optional argument: a function of
  one argument called when the corresponding event occurs (the
  argument would be the corresponding event); this would make it
  possible to build, say, debugging tools

Besides this, I also second the requests posted in this thread.
Thanks,


Paolo
-- 
Why Lisp? http://wiki.alu.org/RtL%20Highlight%20Film
The Common Lisp Directory: http://www.cl-user.net
From: David E. Young
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143402953.896794.184870@i40g2000cwc.googlegroups.com>
Yeah, queries need work; both on the doc sided and functionally.
Frankly, I think a back-chaining capability is almost a necessity. From
this we can build a query engine that could leverage the
backward-chainer. Does anyone know of a paper and/or book that
describes the integration of a backchaining engine with a
forward-chaining system? I thought I saw a post here about that not
long ago that mentioned one of Norvig's works had such a thing...
 
-- david
From: Vagif Verdi
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143406934.586438.40030@v46g2000cwv.googlegroups.com>
You can use simple subset of Prolog, implemented in Norvig's book
"Paradigms of Artificial Intelligence Programming".
From: Vagif Verdi
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143407109.811580.306000@e56g2000cwe.googlegroups.com>
You can find implementation of Prolog here
http://www.cliki.net/Prolog

Here's direct link:
http://www-jcsu.jesus.cam.ac.uk/~csr21/paiprolog-0.0.svn30.tar.gz
From: David E. Young
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143409828.003102.103210@i39g2000cwa.googlegroups.com>
Yeah, that's what I was thinking. I just thought I was mention of a
chapter in one of Norvig's books on integrating a prolog-like
backchainer into a forward-chaining system. I have PAIP; I'll see if
it's there. Thanks...

david
From: ··@codeartist.org
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143479439.346752.245760@e56g2000cwe.googlegroups.com>
David E. Young schrieb:

> Yeah, that's what I was thinking. I just thought I was mention of a
> chapter in one of Norvig's books on integrating a prolog-like
> backchainer into a forward-chaining system. I have PAIP; I'll see if
> it's there. Thanks...

AFAIR, the link [1] posted by Vagif Verdi (26.Mar.2006 23:05) contains
an improved version of the PAIP code. If I remember right, then it is
e. g. more compatible to ISO Prolog. If you plan to look at PAIP Prolog
I would recommend starting from this code.

Er.. and yes; I would really like to see backward-chaining in Lisa and
a more simple install/build process (ASDF/ASDF-Install).

ciao,
Jochen Schmidt
From: ··@codeartist.org
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143479493.586058.247340@i39g2000cwa.googlegroups.com>
David E. Young schrieb:

> Yeah, that's what I was thinking. I just thought I was mention of a
> chapter in one of Norvig's books on integrating a prolog-like
> backchainer into a forward-chaining system. I have PAIP; I'll see if
> it's there. Thanks...

AFAIR, the link [1] posted by Vagif Verdi (26.Mar.2006 23:05) contains
an improved version of the PAIP code. If I remember right, then it is
e. g. more compatible to ISO Prolog. If you plan to look at PAIP Prolog
I would recommend starting from this code.

Er.. and yes; I would really like to see backward-chaining in Lisa and
a more simple install/build process (ASDF/ASDF-Install).

ciao,
Jochen Schmidt

[1] http://www-jcsu.jesus.cam.ac.uk/~csr21/paiprolog-0.0.svn30.tar.gz
From: Christophe Rhodes
Subject: Re: Lisa: request for features
Date: 
Message-ID: <sqzmjb4j58.fsf@cam.ac.uk>
··@codeartist.org writes:

> AFAIR, the link [1] posted by Vagif Verdi (26.Mar.2006 23:05) contains
> an improved version of the PAIP code. If I remember right, then it is
> e. g. more compatible to ISO Prolog. If you plan to look at PAIP Prolog
> I would recommend starting from this code.
>
> [1] http://www-jcsu.jesus.cam.ac.uk/~csr21/paiprolog-0.0.svn30.tar.gz

Well, I think it's improved, but I would caution against using it
blindly; no warranties, you get what you pay for, and so on.  I'm more
interested in co-developers than users :-)

Christophe
From: Paolo Amoroso
Subject: Re: Lisa: request for features
Date: 
Message-ID: <87wtefaf0v.fsf@plato.moon.paoloamoroso.it>
"David E. Young" <··········@gmail.com> writes:

> backward-chainer. Does anyone know of a paper and/or book that
> describes the integration of a backchaining engine with a
> forward-chaining system? I thought I saw a post here about that not

The book "Expert Systems - Principles and Programming" by Giarratano
presents and example of implementing a backward chaining system with
CLIPS in chapter 12 "Expert System Design Examples".

The book "Programming Expert Systems in OPS5" by Brownston et
al. includes a similar example with OPS5.


Paolo
-- 
Why Lisp? http://wiki.alu.org/RtL%20Highlight%20Film
The Common Lisp Directory: http://www.cl-user.net
From: David E. Young
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143487487.655382.184430@i40g2000cwc.googlegroups.com>
Yes! That's what I was looking for. Thanks!

-- david
From: David E. Young
Subject: Re: Lisa: request for features
Date: 
Message-ID: <1143661969.724635.38030@e56g2000cwe.googlegroups.com>
Ok, here's a list in descending order:

1. Backward chaining support and queries. I'll be tackling this first.

2. A "meta-rule" protocol as suggested by Paolo; something that can
serve as a foundation for adding things later (inspectors, debuggers,
etc.)

3. Better asdf support.

4. Whatever's left.

I'll have additional info on the Lisa website. Thanks everyone.

-- david