GNU bug report logs - #29669
repl-print - requet for iprovement

Previous Next

Package: guile;

Reported by: David Pirotte <david <at> altosw.be>

Date: Mon, 11 Dec 2017 23:37:02 UTC

Severity: normal

To reply to this bug, email your comments to 29669 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-guile <at> gnu.org:
bug#29669; Package guile. (Mon, 11 Dec 2017 23:37:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to David Pirotte <david <at> altosw.be>:
New bug report received and forwarded. Copy sent to bug-guile <at> gnu.org. (Mon, 11 Dec 2017 23:37:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: David Pirotte <david <at> altosw.be>
To: <bug-guile <at> gnu.org>
Subject: repl-print - requet for iprovement
Date: Mon, 11 Dec 2017 21:36:15 -0200
[Message part 1 (text/plain, inline)]
Hello,

Attached a patch so repl-print becomes 'friendly' wrt large (huge) lists,
arrays, srfi-4 bytevectors ...

	I looked at the documentation but I could not spot anything/places where
	things would need to be changed wrt the above patch?

	Dito wrt tests?

Thanks,
David
[0001-Updating-repl-print-to-use-truncated-print.patch (text/x-patch, attachment)]
[Message part 3 (application/pgp-signature, inline)]

Information forwarded to bug-guile <at> gnu.org:
bug#29669; Package guile. (Sun, 01 Jul 2018 16:28:02 GMT) Full text and rfc822 format available.

Message #8 received at 29669 <at> debbugs.gnu.org (full text, mbox):

From: ludo <at> gnu.org (Ludovic Courtès)
To: David Pirotte <david <at> altosw.be>
Cc: Andy Wingo <wingo <at> igalia.com>, Mark H Weaver <mhw <at> netris.org>,
 29669 <at> debbugs.gnu.org
Subject: Re: bug#29669: repl-print - requet for iprovement
Date: Sun, 01 Jul 2018 18:26:37 +0200
Hello,

David Pirotte <david <at> altosw.be> skribis:

> From d920d22efe3e77d23004122e21cec420c402f531 Mon Sep 17 00:00:00 2001
> From: David Pirotte <david <at> altosw.be>
> Date: Mon, 11 Dec 2017 21:28:24 -0200
> Subject: [PATCH] Updating repl-print to use truncated-print
>
> * module/system/repl/common.scm (repl-print): Use (truncated-print val),
>   not (write val).  With this update, repl-print becomes 'friendly' wrt
>   large (huge) lists, arrays, srfi-4 butevoectors ...

Note that it’s already possible to do this:

--8<---------------cut here---------------start------------->8---
scheme@(guile-user)> ,use (ice-9 pretty-print)
scheme@(guile-user)> ,o print (lambda (repl obj) (truncated-print obj) (newline))
scheme@(guile-user)> (iota 500)
$20 = (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # …)
--8<---------------cut here---------------end--------------->8---

So the question becomes: should we change the default?

I have a slight preference for keeping the default as it is to avoid
surprises, but no strong opinion.

Andy, Mark, others, WDYT?

Ludo’.




Information forwarded to bug-guile <at> gnu.org:
bug#29669; Package guile. (Thu, 05 Jul 2018 07:50:01 GMT) Full text and rfc822 format available.

Message #11 received at 29669 <at> debbugs.gnu.org (full text, mbox):

From: Andy Wingo <wingo <at> igalia.com>
To: ludo <at> gnu.org (Ludovic Courtès)
Cc: Mark H Weaver <mhw <at> netris.org>, 29669 <at> debbugs.gnu.org,
 David Pirotte <david <at> altosw.be>
Subject: Re: bug#29669: repl-print - requet for iprovement
Date: Thu, 05 Jul 2018 09:49:04 +0200
On Sun 01 Jul 2018 18:26, ludo <at> gnu.org (Ludovic Courtès) writes:

> Hello,
>
> David Pirotte <david <at> altosw.be> skribis:
>
>> From d920d22efe3e77d23004122e21cec420c402f531 Mon Sep 17 00:00:00 2001
>> From: David Pirotte <david <at> altosw.be>
>> Date: Mon, 11 Dec 2017 21:28:24 -0200
>> Subject: [PATCH] Updating repl-print to use truncated-print
>>
>> * module/system/repl/common.scm (repl-print): Use (truncated-print val),
>>   not (write val).  With this update, repl-print becomes 'friendly' wrt
>>   large (huge) lists, arrays, srfi-4 butevoectors ...
>
> Note that it’s already possible to do this:
>
> scheme@(guile-user)> ,use (ice-9 pretty-print)
> scheme@(guile-user)> ,o print (lambda (repl obj) (truncated-print obj) (newline))
> scheme@(guile-user)> (iota 500)
> $20 = (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 # …)
>
> So the question becomes: should we change the default?
>
> I have a slight preference for keeping the default as it is to avoid
> surprises, but no strong opinion.
>
> Andy, Mark, others, WDYT?

Hoo, I don't know.  If we were to do this it should be controllable by
REPL options, I think; we'd need the ability to go back and forth.  But
if we have the option I think it could make sense for it to be on by
default, like what GDB does.  Thing is, truncated-print does its job
only OK, not great, so it's a hard sell to standardize on it.  You
probably do want multi-line prints sometimes...

Andy




Information forwarded to bug-guile <at> gnu.org:
bug#29669; Package guile. (Sat, 04 Aug 2018 02:38:02 GMT) Full text and rfc822 format available.

Message #14 received at 29669 <at> debbugs.gnu.org (full text, mbox):

From: David Pirotte <david <at> altosw.be>
To: Andy Wingo <wingo <at> igalia.com>
Cc: Mark H Weaver <mhw <at> netris.org>,
 Ludovic Courtès <ludo <at> gnu.org>, 29669 <at> debbugs.gnu.org
Subject: Re: bug#29669: repl-print - requet for iprovement
Date: Fri, 3 Aug 2018 23:37:03 -0300
[Message part 1 (text/plain, inline)]
Hi Ludo,
Andy,

> > scheme@(guile-user)> ,use (ice-9 pretty-print)
> > scheme@(guile-user)> ,o print (lambda (repl obj) (truncated-print obj) (newline))
> > scheme@(guile-user)> (iota 500)
> > $20 = (0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27
> > # …)
> >
> > So the question becomes: should we change the default?

Why not? then who would want multi-line prints would do the 'oppoite' of the above,
right?

	scheme@(guile-user)> ,use (ice-9 pretty-print)
	scheme@(guile-user)> ,o print (lambda (repl obj) (write obj) (newline))

Or, as I do in Guile-CV, implement a specific display method for 'their
objects' (im-display in guile-cv, and the manual says 'to be used with caution...)

> > I have a slight preference for keeping the default as it is to avoid
> > surprises, but no strong opinion.

What surprise(s)? :),
I mean, what sort of code or who's the one of us who would rely on the repl print
'layout' in any sort of way(s)?

> > Andy, Mark, others, WDYT?  

> Hoo, I don't know.  If we were to do this it should be controllable by
> REPL options, I think; we'd need the ability to go back and forth.  But
> if we have the option I think it could make sense for it to be on by
> default, like what GDB does. 

It seems to me it is a yes :)

	note that (just not to forgot), we need this to be done both for the repl
	_and_ exception printers as well ... it is as essential if not more then
	within the repl

> Thing is, truncated-print does its job  only OK, not great, so it's a hard sell to
> standardize on it.  You probably do want multi-line prints sometimes...

I'm actually using truncated-print all the time, since it is simply impossible
otherwise to use/develop guile-v, and I never spotted any 'problem' (not to say I
can guarantee there is none of course, but that did not happen in years).  Then we
could always improve when someone report a problem ...

Thanks,
David
[Message part 2 (application/pgp-signature, inline)]

This bug report was last modified 6 years and 315 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.