logs-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Logs-devel] bug in latest Language/rdl.lisp


From: Vijay Lakshminarayanan
Subject: Re: [Logs-devel] bug in latest Language/rdl.lisp
Date: Sat, 5 Aug 2006 02:20:39 -0500

On 8/3/06, Jim Prewett <address@hidden> wrote:

Hi Vijay,

Ok, glad you think thats an OK fix :)

I'm a *big fan* of unit testing.  A friend sold me on "Unit Testing" a
couple of years or so ago, and it has, IMO, really really helped me to
develop LoGS.  I feel much more confident in changing things because I
know my tests will catch whatever I've screwed up.

And you have sold me into them too :-)  I think they're really useful
especially with CLUnit being as good as it is.  I have run tests.lisp
several times but always put off writing a formal test for RDL.

I just checked in rdl-tests.lisp with about 10 tests.  I'll add more soon.

Thanks Jim
Vijay

I just wish that LoGS had more tests and had been built with lots of
testing from the beginning :)

Jim <getting off my soapbox now ;) >

James E. Prewett                    address@hidden address@hidden
Systems Team Leader           LoGS: http://www.hpc.unm.edu/~download/LoGS/
Designated Security Officer         OpenPGP key: pub 1024D/31816D93
HPC Systems Engineer III   UNM HPC  505.277.8210

On Thu, 3 Aug 2006, Vijay Lakshminarayanan wrote:

> On 8/3/06, Jim Prewett <address@hidden> wrote:
> >
> > I just committed a minor change to rdl.lisp; now, instead of letting the
> > RDL code come up with the name of an unnamed rule, I leave that to the
> > make-instance method in the :LoGS package for the RULE class.
> >
> > I can see where you, Vijay, were going with it, I just can't figure out
> > how to quote that name if it is a symbol rather than trying to evaluate
> > it.  I'm open to other suggestions :)
>
> LANGUAGE> (let ((name 'rule-name))
>            (rule named name))
> #<RULE name: RULE-NAME match: NIL delete-rule: NIL continuep: NIL
> actions: NIL environment: NIL  match-count: 0  match-try: 0 {AE40551}>
>
> LANGUAGE> (let ((name 'rule-name))
>            (rule named 'name))
> [warnings deleted]
> #<RULE name: NAME match: NIL delete-rule: NIL continuep: NIL actions:
> NIL environment: NIL  match-count: 0  match-try: 0 {AF54D81}>
>
> However, I prefer your current change.  It makes more sense to
> delegate the work to make-instance when we don't know the default
> since it reduces the number of places where we must update our changes
> (something RDL in general suffers from :-)
>
> The problem was, as you noted, I'd forgotten to quote the gensym which
> resulted in the enviomnent evaluating a freshly interned symbol
> #:NAME1245.  This is a lesson to me that I must once in a while try to
> evaluate also, rather than just macroexpand-1'ing :-)
>
> (defmethod get-rule-slot ((rule rule-macro) (slot (eql :name)))
>  (declare (ignore slot))
>  (or (rule-macro-name rule) `',(gensym "NAME")))
>
> would have fixed it but I think you made the right choice to remove it.
>
> > All tests pass again with this (minor) change.
> >
> > Jim
> >
> > James E. Prewett                    address@hidden address@hidden
> > Systems Team Leader           LoGS: http://www.hpc.unm.edu/~download/LoGS/
> > Designated Security Officer         OpenPGP key: pub 1024D/31816D93
> > HPC Systems Engineer III   UNM HPC  505.277.8210
> >
> > On Thu, 3 Aug 2006, Jim Prewett wrote:
> >
> > >
> > > Hi all,
> > >
> > > I've found a bug in the RDL code; I've not had a chance to find it yet.
> > >
> > > However, a rule that is created using the RDL without specifying a name
> > > throws an error as it tries to evaluate the symbol that is generated (that
> > > symbol should be used as the name).
> > >
> > > Under CMUCL 19 C, I get this for the simplest case (a new rule with no
> > > match, actions, etc. specified)
> > >
> > > * (rule)
> > >
> > >
> > > Error in KERNEL::UNBOUND-SYMBOL-ERROR-HANDLER:  the variable #:NAME2396 is
> > > unbound.
> > >    [Condition of type UNBOUND-VARIABLE]
> > >
> > > Restarts:
> > >   0: [ABORT] Return to Top-Level.
> > >
> > > Debug  (type H for help)
> > >
> > > (EVAL #:NAME2396)
> > >
> > > Jim
> > >
> > >
> > > James E. Prewett                    address@hidden address@hidden
> > > Systems Team Leader           LoGS: http://www.hpc.unm.edu/~download/LoGS/
> > > Designated Security Officer         OpenPGP key: pub 1024D/31816D93
> > > HPC Systems Engineer III   UNM HPC  505.277.8210
> > >
> > >
> > > _______________________________________________
> > > LoGS-devel mailing list
> > > address@hidden
> > > http://lists.nongnu.org/mailman/listinfo/logs-devel
> > >
> >
> >
> > _______________________________________________
> > LoGS-devel mailing list
> > address@hidden
> > http://lists.nongnu.org/mailman/listinfo/logs-devel
> >
>





reply via email to

[Prev in Thread] Current Thread [Next in Thread]