From: Robert Maas, http://tinyurl.com/uh3t
Subject: Stupidity in CMUCL prettyprinter
Date:
Message-ID: <rem-2008apr25-002@yahoo.com>
CMU Common Lisp 18b prints like this (part of larger form, the rest prints fine):
(MULTIPLE-VALUE-SETQ (COMPLOADFLG DATE FREQRATS)
(INSYM+FUNC+DIRSPEC+FILNAM+METHOD+OUTSYM-MAY-LOAD-OR-COMPUTE INSYM
#'WDHISTS-TO-
234GRAM-FREQRATS-MERGE
"/home/users/
rem/public_html/NewPub/ProxHash/"
"trans-skills
-freqrats.txt"
:BIGREAD
OUTSYM))
IMO a better way to prettyprint the same form would be:
(MULTIPLE-VALUE-SETQ (COMPLOADFLG DATE FREQRATS)
(INSYM+FUNC+DIRSPEC+FILNAM+METHOD+OUTSYM-MAY-LOAD-OR-COMPUTE INSYM
#'WDHISTS-TO-234GRAM-FREQRATS-MERGE
"/home/users/rem/public_html/NewPub/ProxHash/"
"trans-skills-freqrats.txt"
:BIGREAD OUTSYM))
Many years ago, when I was programming in PSL (Portable Standard
Lisp), I made an attempt to write a really good prettyprinter:
PP.LSP (REM033 85ZW) WorkPSL: Attempt to make a decent pretty-printer, using
; standard dynamic-programming method of saving all methods and passing them
; up for possible use at higher level
Another prettyprinter, not anything I wrote, wasn't so good:
PRETTY.PSL (DEL REM033 86Z87W) (Gone <90.8.11)
PRETTY.PSL (REM005-Q7) Same
PRETTY.PSL (DEL 89963R-3) "Deleted 1990.4.11"
% PRETTY.PSL: WorkPSL: Another prettyprinter, totally non-prettyprinted itself
I think this was the SL (Standard Lisp) version of that same not-mine pp:
PRETTY.SL (REM033 85ZW) WorkSL: Prettyprinter
I don't have access to SL or PSL now, so I can't just load the form
into SL or PSL and try using both the old not-mine and my own
prettyprinter to see how they compare. Would anybody be
sufficiently interested in comparing the prettyprinter I wrote to
the standard versions, so that it would be worth my effort to
translate my code to Common Lisp? Or does somebody else have a good
version of prettyprinter in Common Lisp that does a better version
than what's in CMUCL?
From: Robert Maas, http://tinyurl.com/uh3t
Subject: Re: Stupidity in CMUCL prettyprinter
Date:
Message-ID: <rem-2008apr30-001@yahoo.com>
> | CMU Common Lisp 18b prints like this (part of larger form, the rest
> | prints fine):
> From: Madhu <·······@meer.net>
> I don't have a copy of 18b, or the enclosing context but since
> 19c at least
> * (pprint '(MULTIPLE-VALUE-SETQ (COMPLOADFLG DATE FREQRATS)
> (INSYM+FUNC+DIRSPEC+FILNAM+METHOD+OUTSYM-MAY-LOAD-OR-COMPUTE INSYM
> #'WDHISTS-TO-234GRAM-FREQRATS-MERGE
> "/home/users/rem/public_html/NewPub/ProxHash/"
> "trans-skills-freqrats.txt"
> :BIGREAD OUTSYM)))
> Does give:
> | IMO a better way to prettyprint the same form would be:
> | (MULTIPLE-VALUE-SETQ (COMPLOADFLG DATE FREQRATS)
> | (INSYM+FUNC+DIRSPEC+FILNAM+METHOD+OUTSYM-MAY-LOAD-OR-COMPUTE INSYM
> | #'WDHISTS-TO-234GRAM-FREQRATS-MERGE
> | "/home/users/rem/public_html/NewPub/ProxHash/"
> | "trans-skills-freqrats.txt"
> | :BIGREAD OUTSYM))
> [SNIP]
> | Or does somebody else have a good version of prettyprinter in Common
> | Lisp that does a better version than what's in CMUCL?
> The current CMUCL pre-release (19e) is available at
> <http://common-lisp.net/project/cmucl/downloads/release/19e/pre-release/>
> This seems to do what you want.
I have essentially no available disk space on my personal account,
so I wouldn't be able to download and install 19e here.
> IIRC CMUCL 18b (1998) is around 10 years old.
That sounds wrong. Evidence: After I moved to this ISP in mid 2000,
when I first discovered that this ISP had CMUCL in late 2000 and
started my first serious use of it for a CGI demo (ported from
Macintosh Allegro CL) in 2001.Jan-Mar, and started my first more
major use of it 2001.Sep, and started my anti-spam software
2001.Nov, I discovered several bugs somewhere along that sequence
(including SLEEP not sleeping at all if given floating-point value
greater than 1, still not fixed in the current version here, and
the tilde-newline bug I mention just below as now fixed).
A couple years later I discovered that one of the bugs had been
fixed, namely the failure to recognize the tilde-newline control in
format strings (in format, error and cerror). Looking at the
write-date for CMUCL:
576 -rwxr-xr-x 1 root wheel 579696 Mar 11 2001 /usr/local/bin/lisp*
it seems that CMUCL 18b was installed at that time. That would make
it only just over seven years old currently. Is it possible that my
ISP didn't install 18b until it was already appx. three years old,
but at a time when there was no more recent stable version
available? Perhaps I was the first person on this ISP to seriously
use it, so the admin saw no reason to keep updating it before I
started using it near the start of 2001? That's the only way I can
think to reconcile your 10-yr estimate with download only just over
7 years ago.
> Reporting bugs in that version does not help anyone.
Except that some nice person might be able to confirm whether
there's a newer stable version that has the bugs fixed, which might
be good reason for the sysadmin to download that newer version.
> You would be better adviced to ask your provider to install a
> released CMUCL version.(*)
Unfortunately 19e is still pre-release according to what you wrote
earlier. There are several hundred users on this ISP, and I
wouldn't want to ask the admin to install a version that is only in
beta release and then discover it has some horrible bug nobody
noticed until after it was installed here, and then all my software
breaks and I have ask the admin to roll back to 18b. I'd rather
wait until there's a stable new version that somebody on the
newsgroup has confirmed has the various bugs fixed.
Now it would seem to me that there must be several stable versions
between 18b and 19e, so maybe I should ask the admin to install one
of them. But if there's a 19e in beta now it *must* mean that
there's some bug in previous versions in the 19* series, and I
really don't want to ask my admin to install a version with a known
bug. Until 19e is stable, I am not comfortable asking my ISP's
admin to download *any* version, old with known bug nor current beta.
I tried doing a Google search to find info about CMUCL 19e beta,
but couldn't find anything I could make sense of. Does anybody have
an estimate when 19e will be released? Is there any way to get
notified by e-mail when it's released?
>>>>> "Robert" == Robert Maas <·················@SpamGourmet.Com> writes:
Robert> Now it would seem to me that there must be several stable versions
Robert> between 18b and 19e, so maybe I should ask the admin to install one
There is 18c, 18d, 18e, 19a, 19b, 19c, 19d. They were all "stable",
basically meaning that someone thought that the current code was good
enough for something.
Robert> of them. But if there's a 19e in beta now it *must* mean that
Robert> there's some bug in previous versions in the 19* series, and I
Robert> really don't want to ask my admin to install a version with a known
Robert> bug. Until 19e is stable, I am not comfortable asking my ISP's
Robert> admin to download *any* version, old with known bug nor current beta.
Every version of cmucl, released or not, stable or not, has had bugs
and will continue to have bugs.
Robert> I tried doing a Google search to find info about CMUCL 19e beta,
Robert> but couldn't find anything I could make sense of. Does anybody have
Robert> an estimate when 19e will be released? Is there any way to get
19e will most likely be released today or tomorrow. There will be no
changes from the 19e-pre2 release done one month ago, since no one has
reported any issues with that pre-release.
Robert> notified by e-mail when it's released?
Best bet is to join the cmucl-help or cmucl-imp mailing list. That's
also the best place to report bugs, even if they're for ancient
versions. Then someone might be able to tell you if that bug has been
fixed.
There may even be an announcement here someday. Maybe.
Ray
From: Robert Maas, http://tinyurl.com/uh3t
Subject: Re: Stupidity in CMUCL prettyprinter
Date:
Message-ID: <rem-2008may08-003@yahoo.com>
Robert> Now it would seem to me that there must be several stable versions
Robert> between 18b and 19e, so maybe I should ask the admin to install one
> From: ···········@ericsson.com (Raymond Toy (RT/EUS))
> There is 18c, 18d, 18e, 19a, 19b, 19c, 19d. They were all "stable",
> basically meaning that someone thought that the current code was good
> enough for something.
After I posted my original query, somebody in the UK offered me an
account on a machine where I would have disk space available to
download a new CMUCL version and play with it. When I reach a good
stopping point with my current ProxHash project, I'll probably
download the most recent stable version, which looks ilke 19d at
the moment, and see how it works in regard to both the
prettyprinter problem and the outright bug in SLEEP that I
experience in version 18b here.
Note: The bug in SLEEP isn't a problem, because I just use my own patch:
(defun cl-sleep (sec)
(cond ((and (not (integerp sec)) (>= sec 1.0))
(multiple-value-bind (int frac) (floor sec)
(sleep int) (sleep frac)))
(t (sleep sec))))
Still it'd be nice to know if they ever fixed it in the distributed CMUCL.
> 19e will most likely be released today or tomorrow. There will be no
> changes from the 19e-pre2 release done one month ago, since no one has
> reported any issues with that pre-release.
So now that it's been a few days since you posted that, it's now
already been released in the mean time?
> Best bet is to join the cmucl-help or cmucl-imp mailing list.
In an age of spam, and where I don't have any access to any
spam-protected e-mail account, joining mailing lists isn't
practical. If and when our local governments provides assistance to
low-income victims of spam who can't afford to spend ten thousand
dollars per spam just to hire lawyers and private detectives to
track down spammers and sue them for $1000 per spam, then I would
have a real defense against spam and I would be safe to join
mailing lists.
There's a possibility I might someday be able to set up my own SMTP
server on that computer in the UK I mentionned earlier. But at the
present time I don't have the time/energy to start another major
project, until my current major project has reached a good stopping
point.
>>>>> "Robert" == Robert Maas <···················@SpamGourmet.Com> writes:
Robert> Note: The bug in SLEEP isn't a problem, because I just use my own patch:
Robert> (defun cl-sleep (sec)
Robert> (cond ((and (not (integerp sec)) (>= sec 1.0))
Robert> (multiple-value-bind (int frac) (floor sec)
Robert> (sleep int) (sleep frac)))
Robert> (t (sleep sec))))
Robert> Still it'd be nice to know if they ever fixed it in the distributed CMUCL.
Well, I don't remember (but my memory is going) anyone ever mentioning
a bug with sleep, so, in all probability the bug still exists. But
18d was a long time ago.
>> 19e will most likely be released today or tomorrow. There will be no
>> changes from the 19e-pre2 release done one month ago, since no one has
>> reported any issues with that pre-release.
Robert> So now that it's been a few days since you posted that, it's now
Robert> already been released in the mean time?
Most binaries are in place, but no formal announcement yet, because
we're waiting for possibly one more binary.
>> Best bet is to join the cmucl-help or cmucl-imp mailing list.
Robert> In an age of spam, and where I don't have any access to any
Robert> spam-protected e-mail account, joining mailing lists isn't
Robert> practical. If and when our local governments provides assistance to
The cmucl-help and cmucl-imp mailing lists are closed. I haven't seen
any spam there after the lists became subscription-only. I also have
good luck with gmail, but perhaps you don't want to use that.
Ray
* (Raymond Toy (RT/EUS)) <···············@rtp.ericsson.se> :
Wrote on Thu, 08 May 2008 08:53:39 -0400:
|>>>>> "Robert" == Robert Maas <···················@SpamGourmet.Com> writes:
| Robert> Still it'd be nice to know if they ever fixed it in the distributed CMUCL.
| Well, I don't remember (but my memory is going) anyone ever mentioning
| a bug with sleep, so, in all probability the bug still exists. But
| 18d was a long time ago.
No, i think the following fixes the bug which Robert is referring to
,---- From `cvs log code/multi-proc.lisp' :
|
| revision 1.31
| date: 1998-09-26 23:54:42 +0530; author: pw; state: Exp; lines: +4 -3;
|
| SLEEP was broken for real arguments greater than one, sleeping for
| approximately twice as long as requested.
|
`----
18b (not 18d :) was tagged at 1.29.2.1.
--
Madhu
>>>>> "Madhu" == Madhu <·······@meer.net> writes:
Madhu> * (Raymond Toy (RT/EUS)) <···············@rtp.ericsson.se> :
Madhu> Wrote on Thu, 08 May 2008 08:53:39 -0400:
Madhu> |>>>>> "Robert" == Robert Maas <···················@SpamGourmet.Com> writes:
Madhu> | Robert> Still it'd be nice to know if they ever fixed it in the distributed CMUCL.
Madhu> | Well, I don't remember (but my memory is going) anyone ever mentioning
Madhu> | a bug with sleep, so, in all probability the bug still exists. But
Madhu> | 18d was a long time ago.
Madhu> No, i think the following fixes the bug which Robert is referring to
Madhu> ,---- From `cvs log code/multi-proc.lisp' :
Madhu> |
Madhu> | revision 1.31
Madhu> | date: 1998-09-26 23:54:42 +0530; author: pw; state: Exp; lines: +4 -3;
Madhu> |
Madhu> | SLEEP was broken for real arguments greater than one, sleeping for
Madhu> | approximately twice as long as requested.
Madhu> |
Madhu> `----
That was almost ten years ago. No wonder why I don't remember. :-)
Thanks,
Ray
From: Don Geddis
Subject: Re: Stupidity in CMUCL prettyprinter
Date:
Message-ID: <87hcd8lkjm.fsf@geddis.org>
···················@SpamGourmet.Com (Robert Maas, http://tinyurl.com/uh3t) wrote on Thu, 08 May 2008:
>> Best bet is to join the cmucl-help or cmucl-imp mailing list.
>
> In an age of spam, and where I don't have any access to any spam-protected
> e-mail account, joining mailing lists isn't practical.
You seem to read this newsgroup (comp.land.lisp) ok.
The CMUCL mailing lists are also available as newsgroups.
Just point your newsreader at the (free) gmane.org, and subscribe to
gmane.lisp.cmucl.general
gmane.lisp.cmucl.devel
_______________________________________________________________________________
Don Geddis http://don.geddis.org/ ···@geddis.org
We tend to scoff at the beliefs of the ancients. But we can't scoff at them
personally, to their faces, and this is what annoys me.
-- Deep Thoughts, by Jack Handey
>>>>> "Don" == Don Geddis <···@geddis.org> writes:
Don> ···················@SpamGourmet.Com (Robert Maas, http://tinyurl.com/uh3t) wrote on Thu, 08 May 2008:
>>> Best bet is to join the cmucl-help or cmucl-imp mailing list.
>>
>> In an age of spam, and where I don't have any access to any spam-protected
>> e-mail account, joining mailing lists isn't practical.
Don> You seem to read this newsgroup (comp.land.lisp) ok.
Don> The CMUCL mailing lists are also available as newsgroups.
Don> Just point your newsreader at the (free) gmane.org, and subscribe to
Don> gmane.lisp.cmucl.general
Don> gmane.lisp.cmucl.devel
Presumably, Robert will also want to send messages to report bugs.
The gmane lists don't work anymore for sending messages to the list.
Ray