Re: [Sbcl-help] TRACE: Pretty print the function input

5 views
Skip to first unread message

Shubhamkar Ayare via Sbcl-help

unread,
Oct 22, 2023, 3:47:59 AM10/22/23
to SBCL Help
Minor correction - the above print is obtained when (TRACE FOO) is run before calling (BAR ...).



On Sunday, 22 October, 2023 at 01:00:37 pm IST, Shubhamkar Ayare <shubha...@yahoo.co.in> wrote:



Hello,

Is it possible to pretty print the input of a TRACEd function?

    (defun foo (arg) arg)
    (defun bar (arg) (foo arg))
    (defstruct pair a b)
   
    (bar (make-list 10 :initial-element (make-pair :a 3145345234 :b 2341235345)))
   
The above prints:

      0: (FOO (#S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345)))
      0: FOO returned
          (#S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345)
            #S(PAIR :A 3145345234 :B 2341235345))
   
For example, above, the input to FOO looks a bit incomprehensible compared to
its output. It would be great if the input could be pretty printed too.

Thank you,
Shubhamkar

Shubhamkar Ayare via Sbcl-help

unread,
Oct 22, 2023, 4:01:24 AM10/22/23
to sbcl...@lists.sourceforge.net

Hello,

Is it possible to pretty print the input of a TRACEd function?

(defun foo (arg) arg)
(defun bar (arg) (foo arg))
(defstruct pair a b)

(bar (make-list 10 :initial-element (make-pair :a 3145345234 :b 2341235345)))

The above prints:

0: (FOO (#S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345) #S(PAIR :A 3145345234 :B 2341235345)))
0: FOO returned
(#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345)
#S(PAIR :A 3145345234 :B 2341235345))

For example, above, the input to FOO looks a bit incomprehensible compared to
its output. It would be great if the input could be pretty printed too.

Thank you,
Shubhamkar


_______________________________________________
Sbcl-help mailing list
Sbcl...@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sbcl-help
Reply all
Reply to author
Forward
0 new messages