From: Roy Mash
Subject: TRACE in Lispworks
Date: 
Message-ID: <9n5qst$qrv$1@suaar1ac.prod.compuserve.com>
  Using TRACE with Lispworks (Personal Edition) I find this
  curious 'feature':
  When a function recieves an argument or returns a value that
  is a nested list, instead of reporting the contents, TRACE
  displays a not-very-helpful sharpsign. For example:

      CL-USER 18 > (defun foo () '((a)))
      FOO

      CL-USER 19 > (trace foo)
      (FOO)

      CL-USER 20 > (foo)
      0 FOO > ()
      0 FOO < ((#))             ; <== YUK!
      ((A))

  I've looked through the documentation to see if there any way to
  tell LW to spit out the actual values, with no luck so far.
  Any suggestions would be appreciated.

thanks,
Roy

From: Barry Margolin
Subject: Re: TRACE in Lispworks
Date: 
Message-ID: <7jul7.42$nH5.492@burlma1-snr2>
In article <············@suaar1ac.prod.compuserve.com>,
Roy Mash <········@ci.sf.ca.us> wrote:
>  Using TRACE with Lispworks (Personal Edition) I find this
>  curious 'feature':
>  When a function recieves an argument or returns a value that
>  is a nested list, instead of reporting the contents, TRACE
>  displays a not-very-helpful sharpsign. For example:
>
>      CL-USER 18 > (defun foo () '((a)))
>      FOO
>
>      CL-USER 19 > (trace foo)
>      (FOO)
>
>      CL-USER 20 > (foo)
>      0 FOO > ()
>      0 FOO < ((#))             ; <== YUK!
>      ((A))
>
>  I've looked through the documentation to see if there any way to
>  tell LW to spit out the actual values, with no luck so far.
>  Any suggestions would be appreciated.

If this isn't controlled by the normal *PRINT-LEVEL* variable, there's
probably something like SYS:*TRACE-PRINT-LEVEL*.  If you can't find it in
the documentation, use APROPOS to search for it.

-- 
Barry Margolin, ······@genuity.net
Genuity, Woburn, MA
*** DON'T SEND TECHNICAL QUESTIONS DIRECTLY TO ME, post them to newsgroups.
Please DON'T copy followups to me -- I'll assume it wasn't posted to the group.
From: Lieven Marchand
Subject: Re: TRACE in Lispworks
Date: 
Message-ID: <m3wv3d2u99.fsf@localhost.localdomain>
"Roy Mash" <········@ci.sf.ca.us> writes:

>   Using TRACE with Lispworks (Personal Edition) I find this
>   curious 'feature':
>   When a function recieves an argument or returns a value that
>   is a nested list, instead of reporting the contents, TRACE
>   displays a not-very-helpful sharpsign. For example:
> 
>       CL-USER 18 > (defun foo () '((a)))
>       FOO
> 
>       CL-USER 19 > (trace foo)
>       (FOO)
> 
>       CL-USER 20 > (foo)
>       0 FOO > ()
>       0 FOO < ((#))             ; <== YUK!
>       ((A))
> 
>   I've looked through the documentation to see if there any way to
>   tell LW to spit out the actual values, with no luck so far.
>   Any suggestions would be appreciated.

CL-USER 4 > hcl:*trace-print-level*
2

CL-USER 5 > (setf hcl:*trace-print-level* 10)
10

CL-USER 6 > (foo)
0 FOO > ()
0 FOO < (((A)))
((A))

-- 
Lieven Marchand <···@wyrd.be>
She says, "Honey, you're a Bastard of great proportion."
He says, "Darling, I plead guilty to that sin."
Cowboy Junkies -- A few simple words
From: Roy Mash
Subject: Re: TRACE in Lispworks
Date: 
Message-ID: <9n8rtk$gr3$1@suaar1aa.prod.compuserve.com>
Lieven  and Barry,

That does the trick!
This newsgroup has certainly made the life of one newbie easier.
My thanks to both of you.

roy
From: David Fox
Subject: Re: TRACE in Lispworks
Date: 
Message-ID: <epelpfgi6n.fsf@harlequin.co.uk>
"Roy Mash" <········@ci.sf.ca.us> writes:

> 
>   Using TRACE with Lispworks (Personal Edition) I find this
>   curious 'feature':
>   When a function recieves an argument or returns a value that
>   is a nested list, instead of reporting the contents, TRACE
>   displays a not-very-helpful sharpsign. For example:
> 
>       CL-USER 18 > (defun foo () '((a)))
>       FOO
> 
>       CL-USER 19 > (trace foo)
>       (FOO)
> 
>       CL-USER 20 > (foo)
>       0 FOO > ()
>       0 FOO < ((#))             ; <== YUK!
>       ((A))
> 
>   I've looked through the documentation to see if there any way to
>   tell LW to spit out the actual values, with no luck so far.
>   Any suggestions would be appreciated.
> 
> thanks,
> Roy
> 

Printing ((#)) is typical output when a PRINT-LEVEL is set to a small
value. Common Lisp has the *PRINT-LEVEL* variable that controls
printing in general.  In LispWorks, we have several additional
*xxx-PRINT-LEVEL* variables, to control special cases, including

DBG:*DEBUG-PRINT-LEVEL*       DEBUGGER
*TRACE-PRINT-LEVEL*           TRACE
*DESCRIBE-PRINT-LEVEL*        DESCRIBE
*INSPECT-PRINT-LEVEL*         INSPECT

This is done by binding *PRINT-LEVEL* to the appropriate value in the
appropriate context. 
  
Dave


-- 
Dave Fox                                Email: ·····@xanalys.com
Xanalys Inc, Barrington Hall,             Tel:   +44 1223 873879
Barrington, Cambridge CB2 5RG, England.   Fax:   +44 1223 873873
These opinions are not necessarily those of Xanalys.