Vincent Coetzee | 7 Feb 2006 09:51
Picon

PowerLoom 3.0.2 and LispWorks

Dear List,

I am a relative newcomer to Lisp and am trying to load PowerLoom  
3.0.2 beta into LispWorks 4.4 on Mac OS X Tiger. I receive the  
following error (which although I have tried to debug it, baffles  
me). Any suggestions would be appreciated. I have tried hacking the  
paths to no avail.

Thanks in advance

Vincent

CL-USER 1 > (load "/Users/vincent/Desktop/powerloom-3.0.2.beta/load- 
powerloom.lisp")
; Loading text file /Users/vincent/Desktop/powerloom-3.0.2.beta/load- 
powerloom.lisp
;  Loading text file /Users/vincent/Desktop/powerloom-3.0.2.beta/ 
translations.lisp
;  Loading text file /Users/vincent/Desktop/powerloom-3.0.2.beta/load- 
stella.lisp
Warning: (DEFVAR *LOAD-CL-STRUCT-STELLA?*) being redefined in /Users/ 
vincent/Desktop/powerloom-3.0.2.beta/load-stella.lisp (previously in / 
Users/vincent/Desktop/powerloom-3.0.2.beta/load-powerloom.lisp).
;   Loading text file /Users/vincent/Desktop/powerloom-3.0.2.beta/ 
translations.lisp

Error: The file "PL:native;lisp;stella;load-stella.lisp" does not exist.
    1 (continue) Try loading PL:native;lisp;stella;load-stella.lisp  
again.
    2 Give up loading PL:native;lisp;stella;load-stella.lisp.
(Continue reading)

Thomas Russ | 7 Feb 2006 21:06
Picon
Favicon

Re: PowerLoom 3.0.2 and LispWorks


On Feb 7, 2006, at 12:51 AM, Vincent Coetzee wrote:

> Dear List,
>
> I am a relative newcomer to Lisp and am trying to load PowerLoom
> 3.0.2 beta into LispWorks 4.4 on Mac OS X Tiger. I receive the
> following error (which although I have tried to debug it, baffles
> me). Any suggestions would be appreciated. I have tried hacking the
> paths to no avail.

I have a version of PowerLoom operating with LispWorks 4.3 Personal
under OS X Tiger.  In order to get that to work, I had to make some
modifications to the translations.lisp file.  Those modifications are
not yet in the released version.  I'll send you a newer version of
the file in a private message.

>
> Thanks in advance
>
> Vincent
>
> CL-USER 1 > (load "/Users/vincent/Desktop/powerloom-3.0.2.beta/load-
> powerloom.lisp")
> ; Loading text file /Users/vincent/Desktop/powerloom-3.0.2.beta/load-
> powerloom.lisp
> ;  Loading text file /Users/vincent/Desktop/powerloom-3.0.2.beta/
> translations.lisp
> ;  Loading text file /Users/vincent/Desktop/powerloom-3.0.2.beta/load-
> stella.lisp
(Continue reading)

rpgoldman | 11 Feb 2006 01:21

examples of lisp code


Are there any published examples of how to use the power loom
interface from common-lisp?

I am getting errors that I find somewhat confusing, but bet that an
example or two would just clear everything up....

thanks!

--

-- 
Robert P. Goldman
Senior Scientist
Smart Information Flow Technologies (d/b/a SIFT, LLC)

211 N. First St., Suite 300
Minneapolis, MN 55401

Voice:	(612) 384-3454
Email:    rpgoldman <at> SIFT.info
Vincent Coetzee | 12 Feb 2006 15:19
Picon

Introspection of PowerLoom constructs

Dear List,

I am interested in introspecting on some the elements in PowerLoom  
(to provide a GUI front-end. I would prefer to use a "public" API to  
do this rather than reverse engineering a hack from the source, is  
there any "standard" way of accessing this sort of info from Lisp ?

Thanks

Vincent
rpgoldman | 12 Feb 2006 17:04

Re: examples of lisp code

>>>>> "TR" == Thomas Russ <tar <at> ISI.EDU> writes:

    TR> On Feb 10, 2006, at 4:21 PM, rpgoldman <at> sift.info wrote:

    >> 
    >> Are there any published examples of how to use the power loom
    >> interface from common-lisp?
    >> 
    >> I am getting errors that I find somewhat confusing, but bet that an
    >> example or two would just clear everything up....

    TR> Hmmm.  For the most part, the functions that appear in the manual
    TR> should just work out of Common Lisp.  The certainly do at the level
    TR> of the read-eval-print loop.  You do have to make sure that you
    TR> are in the STELLA package, though.

[...snip...]

    TR> So, I'm guessing that maybe the problem has more to do with calling
    TR> this directly from code?  Part of the issue when calling Stella
    TR> directly from Lisp code is that Stella has its own symbols, which
    TR> will not be correctly formed by the normal lisp reader.

Yes, taht is correct.  I didn't understand about the Stella symbols
--- I read over the PowerLoom manual, but now I see it was a mistake
to skip the Stella manual.

    TR> Normally what I do in those situations is to actually write Stella code
    TR> instead of Common Lisp (it turns out that if you know Lisp, Stella is
    TR> not that difficult to pick up) and then use the translation functions
(Continue reading)

rpgoldman | 14 Feb 2006 00:03

syntax question


Is there a convenient way of defining a concept as a PROPER
sub-concept of another?  IIUC, defconcept with super-concepts makes no
assumptions about the new concept being a proper sub-concept of its
parent.  However, for a lot of modeling applications, this is the
standard case.  It would be nice if there was a handy syntactic form
for this.  Ordinarily, I would simply define a Lisp macro to generate
an expansion that was what I wanted, but the combination of Stella +
macros is a daunting one...
rpgoldman | 14 Feb 2006 03:53

Re: syntax question

>>>>> "TR" == Thomas Russ <tar <at> ISI.EDU> writes:

    TR> On Feb 13, 2006, at 3:03 PM, rpgoldman <at> sift.info wrote:

    >> 
    >> Is there a convenient way of defining a concept as a PROPER
    >> sub-concept of another?  IIUC, defconcept with super-concepts makes no
    >> assumptions about the new concept being a proper sub-concept of its
    >> parent.  However, for a lot of modeling applications, this is the
    >> standard case.  It would be nice if there was a handy syntactic form
    >> for this.  Ordinarily, I would simply define a Lisp macro to generate
    >> an expansion that was what I wanted, but the combination of Stella +
    >> macros is a daunting one...

    TR> There is generally no need for this.

    TR> While it is true that PowerLoom doesn't make any particular
    TR> assumptions about whether any subconcept is, in fact, a proper
    TR> subconcept or an equivalent concept, any of the normal means
    TR> of defining a subconcept will give you what is operationally
    TR> the effect you want.

[...snip...]

    TR> If you really want to deny the equivalence, this is possible
    TR> by adding a particular rule that denies the subset-of relation:

    TR> (defconcept a)
    TR> |c|A
    TR> ? (defconcept b (?x a)
(Continue reading)

Thomas Russ | 14 Feb 2006 05:54
Picon
Favicon

Re: examples of lisp code


On Feb 12, 2006, at 8:04 AM, rpgoldman <at> sift.info wrote:

>>>>>> "TR" == Thomas Russ <tar <at> ISI.EDU> writes:
>
>     TR> On Feb 10, 2006, at 4:21 PM, rpgoldman <at> sift.info wrote:
>
>>>
>>> Are there any published examples of how to use the power loom
>>> interface from common-lisp?
>>>
>>> I am getting errors that I find somewhat confusing, but bet that an
>>> example or two would just clear everything up....
>
> [...snip...]
>
>     TR> One other pitfall is that Stella's QUOTE is not the same as
>     TR> the one that the Lisp reader introduces, so anything involving
>     TR> quoted structure will need to be done a bit differently.
>
> OK, am I correct in reading the above as an indirect suggestion to
> avoid the API functions that use lists, in favor of strings?

Yes, that is my recommendation.  It is just easier to sidestep
the whole issue of structure creation by using the string API.
The string interface was mostly driven by the needs of the C++
and Java versions, but I would expect it to be easier to use from
the Lisp version as well.

The list version is best used when creating Stella programs directly.
(Continue reading)

Thomas Russ | 14 Feb 2006 06:08
Picon
Favicon

Re: syntax question

>
> Related to this, have you found a nice idiom for capturing disjoint
> subclassing?
>
> I see that DISJOINT, COVERING, and DISJOINT-COVERING provide the raw
> materials for this.  I was just wondering if you've found a
> particularly convenient syntactic sugar for this, to make it easy to
> develop an axiomatization.  Perhaps it's not necessary, and I just
> need to accustom myself to the notation as is.

I'm answering this one from home, so I can't quite so easily look
up what we have in the (increasingly ancient) released version of
PowerLoom.

In our current development version, there is
    MUTUALLY-DISJOINT-COLLECTION
It asserts pairwise disjointness among all of the listed concepts.
This at least eliminates the need for n^2 disjointness assertions
at the user level.  I don't think this is in the 3.0.2 version.

Any disjoint subclass syntax would need to have some way of
specifying which subclasses were mutually disjoint, since in general
one could have multiple disjoint subclass partitions.  So there
would need to be some method of grouping the appropriate subclasses.
A simple example would be having Male and Female as well as Adult
and Child as subclass partitions of Person.  (Of course these
examples don't cause problems, since they are so small).

The syntax would be
(assert (mutually-disjoint-collecton (setof Male Female)))
(Continue reading)

Thomas Russ | 14 Feb 2006 22:48
Picon
Favicon

Re: syntax question


On Feb 13, 2006, at 6:53 PM, rpgoldman <at> sift.info wrote:

> Related to this, have you found a nice idiom for capturing disjoint
> subclassing?
>
> I see that DISJOINT, COVERING, and DISJOINT-COVERING provide the raw
> materials for this.  I was just wondering if you've found a
> particularly convenient syntactic sugar for this, to make it easy to
> develop an axiomatization.  Perhaps it's not necessary, and I just
> need to accustom myself to the notation as is.

Following up on this a bit more.  If you want to have a
top-down style for this, you could always adopt something
like the following approach.  This specifies the subclasses
during the definition of the parent concept, and then also
establishes the disjointness relations:

(defconcept top (?x)
    :<= (a ?x)
    :<= (b ?x)
    :<= (c ?x)
    :<= (d ?x)
    :<= (x ?x)
    :<= (y ?x)
    :<= (z ?x)
    :axioms (and (mutually-disjoint-collection (setof a b c d))
                 (mutually-disjoint-collection (setof x y z))))

;;  The forward references are allowed, but do eventually need
(Continue reading)


Gmane