From: Didier Verna
Subject: [Michael Weber] Re: Generating dependency graphs from ASDF defsystem components
Date: 
Message-ID: <muxfxlzwzb7.fsf@uzeb.lrde.epita.fr>
--=-=-=


       From Michael who has problems with google today.



--=-=-=
Content-Type: message/rfc822
Content-Disposition: inline

X-From-Line: ··@foldr.org  Mon Nov 10 12:59:45 2008
Return-Path: <··@foldr.org>
X-Spam-Checker-Version: SpamAssassin 3.2.5 (2008-06-10) on uzeb.lrde.epita.fr
X-Spam-Level: 
X-Spam-Status: No, score=-0.7 required=3.5 tests=BAYES_20,SPF_PASS,WEIRD_PORT
	autolearn=disabled version=3.2.5
X-Original-To: ······@uzeb.lrde.epita.fr
Delivered-To: ······@uzeb.lrde.epita.fr
Received: from kualalumpur.lrde.epita.fr (kualalumpur.lrde.epita.fr [192.168.100.1])
	by uzeb.lrde.epita.fr (Postfix) with ESMTP id 3E47C1EC112
	for <······@uzeb.lrde.epita.fr>; Mon, 10 Nov 2008 12:59:45 +0100 (CET)
Received: from lambda.foldr.org ([88.198.49.16] helo=mail.foldr.org)
	by kualalumpur.lrde.epita.fr with esmtps (TLS-1.0:DHE_RSA_AES_256_CBC_SHA1:32)
	(Exim 4.63)
	(envelope-from <··@foldr.org>)
	id 1KzVRJ-0000ki-5d
	for ······@lrde.epita.fr; Mon, 10 Nov 2008 13:00:17 +0100
Received: from zilver015187.mobiel.utwente.nl (zilver015187.mobiel.utwente.nl [130.89.15.187])
	(authenticated bits=0)
	by mail.foldr.org (8.14.3/8.14.3/Debian-5) with ESMTP id mAABdBBc001900
	(version=TLSv1/SSLv3 cipher=AES128-SHA bits=128 verify=NO)
	for <······@lrde.epita.fr>; Mon, 10 Nov 2008 12:39:12 +0100
Message-Id: <····································@foldr.org>
From: Michael Weber <··@foldr.org>
To: ······@lrde.epita.fr
Subject: Re: Generating dependency graphs from ASDF defsystem components
Date: Mon, 10 Nov 2008 12:39:10 +0100
X-Mailer: Apple Mail (2.929.2)
Lines: 30
Xref: uzeb.lrde.epita.fr professionnel:7918
MIME-Version: 1.0

On Nov 10, 10:46 am, Didier Verna <······@lrde.epita.fr> wrote:
 > How would you do that? My first idea was to look at cl-dot, but  
(correct
 > me if I'm wrong), it seems to me that dot doesn't support the  
notion of
 > subgraph, so in terms of defsystem, I don't see a way to represent  
the
 > fact that, for instance, a :file depends on a whole :module.

[third try, first two were eaten by Google]

Dot supports subgraphs, cl-dot does not yet.   Patches to add this  
functionality are very welcome.  You might want to check out s-dot, cl- 
graph or cl-graphviz, too.  I am not sure whether they support  
subgraphs.

Others have rendered ASDF dependencies with Dot before, for example: <http://bc.tech.coop:8000/blog/051012.html 
 >
<http://boinkor.net/lisp/asdf-graph.lisp>


Feel free to forward this to c.l.l..  Google hates me today, and I  
don't have any other way set up to post to Usenet.

-- 
Cheers,
Michael




--=-=-=
Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit



-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com

EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bic�tre, France
Tel. +33 (0)1 44 08 01 85       Fax. +33 (0)1 53 14 59 22

--=-=-=--

From: Tobias C. Rittweiler
Subject: Re: [Michael Weber] Re: Generating dependency graphs from ASDF defsystem components
Date: 
Message-ID: <874p2fka3k.fsf@freebits.de>
> From: Michael Weber <...>
>
> Dot supports subgraphs, cl-dot does not yet.   Patches to add this  
> functionality are very welcome.  You might want to check out s-dot, cl- 
> graph or cl-graphviz, too.  I am not sure whether they support  
> subgraphs.

Michael, could you comment on how CL-Dot compares to these?

  -T.
From: Michael Weber
Subject: Re: Generating dependency graphs from ASDF defsystem components
Date: 
Message-ID: <fca5fffa-5edf-4a36-a284-c5beb387c23c@v22g2000pro.googlegroups.com>
On Nov 10, 2:02 pm, "Tobias C. Rittweiler" <····@freebits.de.invalid>
wrote:
> > From: Michael Weber <...>
>
> > Dot supports subgraphs, cl-dot does not yet.   Patches to add this  
> > functionality are very welcome.  You might want to check out s-dot, cl-
> > graph or cl-graphviz, too.  I am not sure whether they support  
> > subgraphs.
>
> Michael, could you comment on how CL-Dot compares to these?

Judge yourself:
<http://www.foldr.org/~michaelw/lisp/dot-examples/>

(If somebody can improve the example code, please send updates to me.)

My personal opinion:
* cl-dot easily provides the nicest protocol to render arbitrary Lisp
data as Dot graphs (due to Juho Snellman).  It also has a manual (send
feedback if you think it can be improved).

* s-dot is for you if you want to output Dot format with s-expressions
instead of writing out strings.  Version 1.0 has some symbol-related
issues which could be fixed easily, I guess. The manual has pictures
of all the effects of Dot attributes on the graph.  I plan to steal
from that. :)

* cl-graph provides Dot<->cl-containers integration. So, if your data
is in cl-containers already, that's perhaps the way to get Dot
output.  cl-graph comes with a (Tinaa) generated reference manual,
which I find rather confusing, TBH.  I was missing cross-references
and a simple walk-through example from which I could start.

* cl-graphviz: see author's comments:
<http://groups.google.com/group/comp.lang.lisp/msg/f6da031aa1a3faf7>
From: Kenny
Subject: Re: Generating dependency graphs from ASDF defsystem components
Date: 
Message-ID: <491aca39$0$20285$607ed4bc@cv.net>
Michael Weber wrote:

> * cl-graphviz: see author's comments:
> <http://groups.google.com/group/comp.lang.lisp/msg/f6da031aa1a3faf7>
> 


Oh, cool! Someone used Verrazano in anger!

kt
From: Tobias C. Rittweiler
Subject: Re: Generating dependency graphs from ASDF defsystem components
Date: 
Message-ID: <87ljvpnnp1.fsf@freebits.de>
Michael Weber writes:

> > Michael, could you comment on how CL-Dot compares to [S-Dot,
> > Cl-GraphViz]?
>
> Judge yourself:
> <http://www.foldr.org/~michaelw/lisp/dot-examples/>
>
> (If somebody can improve the example code, please send updates to me.)
>
> My personal opinion:
> * cl-dot easily provides the nicest protocol to render arbitrary Lisp
> data as Dot graphs (due to Juho Snellman).  It also has a manual (send
> feedback if you think it can be improved).
>
> * s-dot is for you if you want to output Dot format with s-expressions
> instead of writing out strings.  Version 1.0 has some symbol-related
> issues which could be fixed easily, I guess. The manual has pictures
> of all the effects of Dot attributes on the graph.  I plan to steal
> from that. :)

Would it perhaps make sense to implement Cl-Dot on top of S-Dot? (Upside
would be to reduce the number of libraries that, from glancing, seem to
compete with each other.)

  -T.
From: Kenny
Subject: Re: Generating dependency graphs from ASDF defsystem components
Date: 
Message-ID: <491addf3$0$20308$607ed4bc@cv.net>
Tobias C. Rittweiler wrote:
> Michael Weber writes:
> 
> 
>>>Michael, could you comment on how CL-Dot compares to [S-Dot,
>>>Cl-GraphViz]?
>>
>>Judge yourself:
>><http://www.foldr.org/~michaelw/lisp/dot-examples/>
>>
>>(If somebody can improve the example code, please send updates to me.)
>>
>>My personal opinion:
>>* cl-dot easily provides the nicest protocol to render arbitrary Lisp
>>data as Dot graphs (due to Juho Snellman).  It also has a manual (send
>>feedback if you think it can be improved).
>>
>>* s-dot is for you if you want to output Dot format with s-expressions
>>instead of writing out strings.  Version 1.0 has some symbol-related
>>issues which could be fixed easily, I guess. The manual has pictures
>>of all the effects of Dot attributes on the graph.  I plan to steal
>>from that. :)
> 
> 
> Would it perhaps make sense to implement Cl-Dot on top of S-Dot? (Upside
> would be to reduce the number of libraries that, from glancing, seem to
> compete with each other.)

Has someone forgotten that Lispers never use anyone else's code? Perhaps 
one of the advantages of popular languages is the huge dilution in 
ability producing people lame enough /not/ to want to write anything 
from scratch so libraries actually get users. These people generally 
have another interesting quality, viz. they are Actually Writing 
Applications. If Cells did not have a couple of those it would not have 
any users.

Well, gotta get going on Vizcells...

kxo
From: Michael Weber
Subject: Re: Generating dependency graphs from ASDF defsystem components
Date: 
Message-ID: <bce85cf4-8cc6-43e8-b172-44362160659c@b38g2000prf.googlegroups.com>
On Nov 12, 1:17 pm, "Tobias C. Rittweiler" <····@freebits.de.invalid>
wrote:

> Would it perhaps make sense to implement Cl-Dot on top of S-Dot? (Upside
> would be to reduce the number of libraries that, from glancing, seem to
> compete with each other.)

I don't see what cl-dot would gain from that besides an extra
dependency:

* It's about one page of code to write out a graph in dot format.
* s-dot is not installable with asdf-install or clbuild
From: vernino
Subject: A Tale Of The Great Fuckage of Lisp
Date: 
Message-ID: <mux3ahtatru.fsf_-_@uzeb.lrde.epita.fr>
Michael Weber <·········@foldr.org> wrote:

> cl-graph comes with a (Tinaa) generated reference manual

Nothing to do with the original thread, but I was also looking for a
good documentation system, and Tinaa looks interesting. Let's try it...


CL-USER> (asdf-install:install :tinaa)

[ ... sparing you all the gpg crap ... ]

| #<SB-SYS:FD-STREAM for "file /Users/didier/ASDF-SYSTEM-CONNECTIONS.asdf-install-tmp" {1239FA39}> is not a character output stream.
|    [Condition of type SIMPLE-TYPE-ERROR]
| 
| Restarts:
|  0: [RETRY] Retry installation
|  1: [ABORT] Return to SLIME's top level.
|  2: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: (SB-KERNEL:ILL-OUT
|       #<SB-SYS:FD-STREAM for "file /Users/didier/ASDF-SYSTEM-CONNECTIONS.asdf-install-tmp" {1239FA39}>)

Woops. Don't know what that means. Never mind. I'll install this beast
by hand. darcs get, ln -s the asd file and voila! Now let's try again.


CL-USER> (asdf-install:install :tinaa)

[ ... sparing you all the gpg crap ... ]

| don't recognize component type DOCUDOWN-SOURCE
|    [Condition of type ASDF::FORMATTED-SYSTEM-DEFINITION-ERROR]
| 
| Restarts:
|  0: [RETRY] Retry installation
|  1: [RETRY] Retry installation
|  2: [RETRY] Retry installation
|  3: [ABORT] Return to SLIME's top level.
|  4: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: (ASDF::SYSDEF-ERROR ··@<don't recognize component type ···@:>")
|   1: (ASDF::PARSE-COMPONENT-FORM
|       #<ASDF:MODULE "docs" {11F3D099}>
|       (:DOCUDOWN-SOURCE "index.md"))

Hmmm. What now. Let's google for that. Okay, found on common-lisp.net.
Oh, there's this note at the bottom of the page: separated from
cl-markdown as part of the general 2008 'spring-cleaning' madness. Or
'spring-dirtying' maybe. Some other package might not yet be aware of
the split. No problem, I'll install it by hand.


CL-USER> (asdf-install:install :docudown)

[ ... sparing you all the gpg crap ... ]

| Server responded 404 for GET http://www.cliki.net/CL-MARKDOWN-TEST?download
|    [Condition of type ASDF-INSTALL::DOWNLOAD-ERROR]
| 
| Restarts:
|  0: [RETRY] Retry installation
|  1: [ABORT] Return to SLIME's top level.
|  2: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: (ASDF-INSTALL::DOWNLOAD-FILES-FOR-PACKAGE
|       "CL-MARKDOWN-TEST"
|       #P"/Users/didier/CL-MARKDOWN-TEST.asdf-install-tmp")

WTF?! So much for user-friendly error messages, but at least, I know
what a 404 is. Okay, need to cl-markdown by hand. darcs get, ln -s the
asd file and voila! Did I say something like that already? Never mind. 
Let's try again.


CL-USER> (asdf-install:install :docudown)

[ ... sparing you all the gpg crap ... ]

| USE-PACKAGE #<PACKAGE "LIFT"> causes name-conflicts in
| #<PACKAGE "TRIVIAL-SHELL-TEST"> between the following symbols:
|   TRIVIAL-SHELL:WITH-TIMEOUT,
|   COM.METABANG.TRIVIAL-TIMEOUT:WITH-TIMEOUT
|    [Condition of type SB-INT:NAME-CONFLICT]See also:
|   Common Lisp Hyperspec, 11.1.1.2.5 [section]
| 
| Restarts:
|  0: [RESOLVE-CONFLICT] Resolve conflict.
|  1: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {11F74391}> on #<ASDF:CL-SOURCE-FILE "tests" {11F86F99}>.
|  2: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {11F74391}> on #<ASDF:CL-SOURCE-FILE "tests" {11F86F99}> as having been successful.
|  3: [RETRY] Retry installation
|  4: [RETRY] Retry installation
|  5: [ABORT] Return to SLIME's top level.
|  6: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: (SB-INT:NAME-CONFLICT
|       #<PACKAGE "TRIVIAL-SHELL-TEST">
|       USE-PACKAGE
|       #<PACKAGE "LIFT">)

You gotta be kidding me. At least, I seem to have a couple of clever
restarts. Let's choose the TRIVIAL-SHELL:WITH-TIMEOUT alternative. Oh
boy. Same message again. Twice in a row? Anyway, let's take another shot.


CL-USER> (asdf-install:install :docudown)

[ ... sparing you all the gpg crap ... ]

| Server responded 404 for GET http://common-lisp.net/project/cl-plus-ssl/download/trivial-gray-streams.tar.gz.asc
|    [Condition of type ASDF-INSTALL::DOWNLOAD-ERROR]
| 
| Restarts:
|  0: [SKIP-GPG-CHECK] Don't check GPG signature for this package
|  1: [RETRY] Retry installation
|  2: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {1263A459}> on #<CL-UNICODE-ASD::GENERATED-CL-SOURCE-FILE "lists" {1263A701}>.
|  3: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {1263A459}> on #<CL-UNICODE-ASD::GENERATED-CL-SOURCE-FILE "lists" {1263A701}> as having been successful.
|  4: [RETRY] Retry installation
|  5: [RETRY] Retry installation
|  6: [RETRY] Retry installation
|  7: [ABORT] Return to SLIME's top level.
|  8: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: (ASDF-INSTALL::VERIFY-GPG-SIGNATURE/URL
|       "http://common-lisp.net/project/cl-plus-ssl/download/trivial-gray-streams.tar.gz"
|       #P"/Users/didier/TRIVIAL-GRAY-STREAMS.asdf-install-tmp")

Are we having fun yet? Not quite. So this thing can't find a file on the
web, and offers me to "SKIP-GPG-CHECK" as the first option? What did I
say about clever restarts again? OK. DARCS LN -S YOU MOTHER FUCKER.

Now where was I? Can't remember. Anyway, let's try from the very
beginning again.


CL-USER> (asdf-install:install :tinaa)

[ ... sparing you all the gpg crap ... ]

| The name "CL-GRAPH-TEST" does not designate any package.
|    [Condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR]
| 
| Restarts:
|  0: [RETRY] Retry performing #<ASDF:COMPILE-OP (:FORCE T) {11B0FAA9}> on #<ASDF:CL-SOURCE-FILE "test-graph-metrics" {135AA8F9}>.
|  1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP (:FORCE T) {11B0FAA9}> on #<ASDF:CL-SOURCE-FILE "test-graph-metrics" {135AA8F9}> as having been successful.
|  2: [RETRY] Retry performing #<ASDF:LOAD-OP NIL {1373B7D9}> on #<ASDF:SYSTEM "cl-graph" {117A7149}>.
|  3: [ACCEPT] Continue, treating #<ASDF:LOAD-OP NIL {1373B7D9}> on #<ASDF:SYSTEM "cl-graph" {117A7149}> as having been successful.
|  4: [RETRY] Retry installation
|  5: [ABORT] Return to SLIME's top level.
|  6: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: (SB-INT:%FIND-PACKAGE-OR-LOSE "CL-GRAPH-TEST")

Aaaaaaaaaaaaaaaaaaaaaaaaaaarg!!!! Nonsense!!!! There IS such a package.
I can see it in my CL infrastructure. Let's try again. 


CL-USER> (asdf-install:install :tinaa)

[ ... sparing you all the gpg crap ... ]

Oh?! It actually worked this time?! Okay. On the other hand:

; compilation unit finished
;   caught 7 WARNING conditions
;   caught 19 STYLE-WARNING conditions
;   printed 1 note

This smells bad. With all the crap above, maybe I'd be better
recompiling everything. Just to be sure. Fortunately, I use
asdf-binary-locations, so it's actually quite simple:


$ rm -fr **/sbcl-1*
$ ,restart slime

CL-USER> (asdf-require :tinaa)

; compilation unit finished
;   caught 7 WARNING conditions
;   caught 33 STYLE-WARNING conditions
;   printed 370 notes

Looks worse than before, but at least, everything seems installed and
compiled. So let's try the beast:


CL-USER> (tinaa:document-system 'asdf-system :clon #p"/Users/didier/Science/Source/Common Lisp/Clon/doc")

| The function METABANG.UTILITIES:DIRECTORY-NAME-P is undefined.
|    [Condition of type UNDEFINED-FUNCTION]
| 
| Restarts:
|  0: [ABORT] Return to SLIME's top level.
|  1: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: ("bogus stack frame")
|   1: (SB-KERNEL:FDEFINITION-OBJECT NIL ASDF-SYSTEM)
|   2: (SB-INT:SIMPLE-EVAL-IN-LEXENV
|       (TINAA:DOCUMENT-SYSTEM 'ASDF-SYSTEM :CLON
| 			     #P"/Users/didier/Science/Source/Common Lisp/Clon/doc")
|       #<NULL-LEXENV>)

Now I'm FUCKING OUTRAGED. let's google for that. 3 entries. Dating from
August. Are we on the bleeding edge yet?


CL-USER> (defun METABANG.UTILITIES:DIRECTORY-NAME-P (&rest args)
           (apply #'METABANG.UTILITIES:DIRECTORY-PATHNAME-P args))

CL-USER> (tinaa:document-system 'asdf-system :clon #p"/Users/didier/Science/Source/Common Lisp/Clon/doc")

| The assertion (METABANG.UTILITIES:DIRECTORY-NAME-P
| 	       TINAA::DESTINATION) failed.
|    [Condition of type SIMPLE-ERROR]
| 
| Restarts:
|  0: [CONTINUE] Retry assertion.
|  1: [ABORT] Return to SLIME's top level.
|  2: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: (SB-KERNEL:ASSERT-ERROR
|       (METABANG.UTILITIES:DIRECTORY-NAME-P TINAA::DESTINATION)
|       NIL
|       NIL)

HUUUUUUHHHH!!! So I missed the slash at the end of my fucking pathname,
and the son of a bitch is not able to figure out that I meant a
directory (which BTW does not exist; but who am I to expect that it
would create it). Let's fix this.


CL-USER> (tinaa:document-system 'asdf-system :clon #p"/Users/didier/Science/Source/Common Lisp/Clon/doc/")

| The variable TINAA::IT is unbound.
|    [Condition of type UNBOUND-VARIABLE]
| 
| Restarts:
|  0: [ABORT] Return to SLIME's top level.
|  1: [ABORT] Exit debugger, returning to top level.
| 
| Backtrace:
|   0: ((SB-PCL::FAST-METHOD TINAA:MAKE-PART :AROUND (#1="#<...>" . #1#))
|       #<unavailable argument>
|       #S(SB-PCL::FAST-METHOD-CALL
| 	 :FUNCTION #<FUNCTION # {13020CA5}>
| 	 :PV-CELL NIL
| 	 :NEXT-METHOD-CALL #S(SB-PCL::FAST-METHOD-CALL
| 			      :FUNCTION #
| 			      :PV-CELL NIL
| 			      :NEXT-METHOD-CALL NIL
| 			      :ARG-INFO (3 . T)) ..))

And I stopped there. Tinaa does not cut "it"; neither does it find aif,
aand and other macros that I figured out belong to :anaphoric, which
*is* installed, compiled, and loaded by tinaa. And now I'm lost in a
twisted maze of dependencies and I can't get it to work, and the kids
are awaken. Now I'm enraged and I'm gonna have to beat them again.

Next time, remind me to do something more interesting in my afternoon. 
Do like the kids. Take a nap.

How many lines of Ruby does it take to have tinaa FUCKIN'WORKING?!


-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com

EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bic�tre, France
Tel. +33 (0)1 44 08 01 85       Fax. +33 (0)1 53 14 59 22
From: Leslie P. Polzer
Subject: Re: A Tale Of The Great Fuckage of Lisp
Date: 
Message-ID: <6d147509-4efb-49b1-85d9-b74d77eefa1a@c2g2000pra.googlegroups.com>
On Nov 15, 4:33 pm, vernino <······@lrde.epita.fr> wrote:

> Tale of the great fuckage of Lisp

Erm, what does crappy ASDF-INSTALL have to do with Lisp
in general?

Reminds me of Mr. James complaining about Lisp by attempting
to show us how much PG's "On Lisp" sucks... with Ruby...

Can't people keep apart different things nowadays?

  Leslie
From: Kenny
Subject: Re: A Tale Of The Great Fuckage of Lisp
Date: 
Message-ID: <491f0dec$0$20285$607ed4bc@cv.net>
Leslie P. Polzer wrote:
> On Nov 15, 4:33 pm, vernino <······@lrde.epita.fr> wrote:
> 
> 
>>Tale of the great fuckage of Lisp
> 
> 
> Erm, what does crappy ASDF-INSTALL have to do with Lisp
> in general?
> 
> Reminds me of Mr. James complaining about Lisp by attempting
> to show us how much PG's "On Lisp" sucks... with Ruby...
> 
> Can't people keep apart different things nowadays?
> 
>   Leslie

We'll know after Obama appoints Ayers to head the CIA.

hth, kxo
From: Didier Verna
Subject: Re: A Tale Of The Great Fuckage of Lisp
Date: 
Message-ID: <muxtza8ah98.fsf@uzeb.lrde.epita.fr>
"Leslie P. Polzer" <·············@gmx.net> wrote:

> On Nov 15, 4:33�pm, vernino <······@lrde.epita.fr> wrote:
>
>> Tale of the great fuckage of Lisp
>
> Erm, what does crappy ASDF-INSTALL have to do with Lisp
> in general?
>
> Reminds me of Mr. James complaining about Lisp by attempting
> to show us how much PG's "On Lisp" sucks... with Ruby...
>
> Can't people keep apart different things nowadays?

  I think you missed the point :-)

-- vernino
From: Raffael Cavallaro
Subject: Re: A Tale Of The Great Fuckage of Lisp
Date: 
Message-ID: <gfmr3l$eod$1@aioe.org>
On 2008-11-15 10:33:25 -0500, vernino <······@lrde.epita.fr> said:

> | Server responded 404 for GET 
> http://common-lisp.net/project/cl-plus-ssl/download/trivial-gray-streams.tar.gz.asc
| 
> 
>    [Condition of type ASDF-INSTALL::DOWNLOAD-ERROR]
> |
> | Restarts:
> |  0: [SKIP-GPG-CHECK] Don't check GPG signature for this package
> |  1: [RETRY] Retry installation
> |  2: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {1263A459}> on 
> #<CL-UNICODE-ASD::GENERATED-CL-SOURCE-FILE "lists" {1263A701}>.
> |  3: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {1263A459}> on 
> #<CL-UNICODE-ASD::GENERATED-CL-SOURCE-FILE "lists" {1263A701}> as 
> having been successful.
> |  4: [RETRY] Retry installation
> |  5: [RETRY] Retry installation
> |  6: [RETRY] Retry installation
> |  7: [ABORT] Return to SLIME's top level.
> |  8: [ABORT] Exit debugger, returning to top level.
> |
> | Backtrace:
> |   0: (ASDF-INSTALL::VERIFY-GPG-SIGNATURE/URL
> |       
> "http://common-lisp.net/project/cl-plus-ssl/download/trivial-gray-streams.tar.gz"
| 
> 
>       #P"/Users/didier/TRIVIAL-GRAY-STREAMS.asdf-install-tmp")
> 
> Are we having fun yet? Not quite. So this thing can't find a file on the
> web, and offers me to "SKIP-GPG-CHECK" as the first option? What did I
> say about clever restarts again?

You should read and understand the error messages instead of ignoring 
them. There's no need to do a manual download here. You're just being 
informed that the auto-download does not have a gpg sig associated 
(note the name of the file you're getting a 404 for: 
trivial-gray-streams.tar.gz.asc  <==  this is a gpg sig for the tar.gz 
file *NOT* the tar.gz file itself)

All you needed to do is choose the skip-gpg-check restart.

Again, those error messages are not just line noise. Read and 
understand them and your life will become much easier.
From: Didier Verna
Subject: Re: A Tale Of The Great Fuckage of Lisp
Date: 
Message-ID: <muxy6zl9bzk.fsf@uzeb.lrde.epita.fr>
Raffael Cavallaro wrote:

> You should read and understand the error messages instead of ignoring
> them. There's no need to do a manual download here. You're just being
> informed that the auto-download does not have a gpg sig associated
> (note the name of the file you're getting a 404 for:
> trivial-gray-streams.tar.gz.asc <== this is a gpg sig for the tar.gz

Oh, you're right on this one. I missed the asc part (out of boredom
probably).

-- 
Resistance is futile. You will be jazzimilated.

Scientific site:   http://www.lrde.epita.fr/~didier
Music (Jazz) site: http://www.didierverna.com

EPITA/LRDE, 14-16 rue Voltaire, 94276 Le Kremlin-Bic�tre, France
Tel. +33 (0)1 44 08 01 85       Fax. +33 (0)1 53 14 59 22
From: Kenny
Subject: Re: A Tale Of The Great Fuckage of Lisp
Date: 
Message-ID: <491ef225$0$4895$607ed4bc@cv.net>
vernino wrote:
> Michael Weber <·········@foldr.org> wrote:
> 
> 
>>cl-graph comes with a (Tinaa) generated reference manual
> 
> 
> Nothing to do with the original thread, but I was also looking for a
> good documentation system, and Tinaa looks interesting. Let's try it...
> 
> 
> CL-USER> (asdf-install:install :tinaa)
> 
> [ ... sparing you all the gpg crap ... ]
> 
> | #<SB-SYS:FD-STREAM for "file /Users/didier/ASDF-SYSTEM-CONNECTIONS.asdf-install-tmp" {1239FA39}> is not a character output stream.
> |    [Condition of type SIMPLE-TYPE-ERROR]
> | 
> | Restarts:
> |  0: [RETRY] Retry installation
> |  1: [ABORT] Return to SLIME's top level.
> |  2: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: (SB-KERNEL:ILL-OUT
> |       #<SB-SYS:FD-STREAM for "file /Users/didier/ASDF-SYSTEM-CONNECTIONS.asdf-install-tmp" {1239FA39}>)
> 
> Woops. Don't know what that means. Never mind. I'll install this beast
> by hand. darcs get, ln -s the asd file and voila! Now let's try again.
> 
> 
> CL-USER> (asdf-install:install :tinaa)
> 
> [ ... sparing you all the gpg crap ... ]
> 
> | don't recognize component type DOCUDOWN-SOURCE
> |    [Condition of type ASDF::FORMATTED-SYSTEM-DEFINITION-ERROR]
> | 
> | Restarts:
> |  0: [RETRY] Retry installation
> |  1: [RETRY] Retry installation
> |  2: [RETRY] Retry installation
> |  3: [ABORT] Return to SLIME's top level.
> |  4: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: (ASDF::SYSDEF-ERROR ··@<don't recognize component type ···@:>")
> |   1: (ASDF::PARSE-COMPONENT-FORM
> |       #<ASDF:MODULE "docs" {11F3D099}>
> |       (:DOCUDOWN-SOURCE "index.md"))
> 
> Hmmm. What now. Let's google for that. Okay, found on common-lisp.net.
> Oh, there's this note at the bottom of the page: separated from
> cl-markdown as part of the general 2008 'spring-cleaning' madness. Or
> 'spring-dirtying' maybe. Some other package might not yet be aware of
> the split. No problem, I'll install it by hand.
> 
> 
> CL-USER> (asdf-install:install :docudown)
> 
> [ ... sparing you all the gpg crap ... ]
> 
> | Server responded 404 for GET http://www.cliki.net/CL-MARKDOWN-TEST?download
> |    [Condition of type ASDF-INSTALL::DOWNLOAD-ERROR]
> | 
> | Restarts:
> |  0: [RETRY] Retry installation
> |  1: [ABORT] Return to SLIME's top level.
> |  2: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: (ASDF-INSTALL::DOWNLOAD-FILES-FOR-PACKAGE
> |       "CL-MARKDOWN-TEST"
> |       #P"/Users/didier/CL-MARKDOWN-TEST.asdf-install-tmp")
> 
> WTF?! So much for user-friendly error messages, but at least, I know
> what a 404 is. Okay, need to cl-markdown by hand. darcs get, ln -s the
> asd file and voila! Did I say something like that already? Never mind. 
> Let's try again.
> 
> 
> CL-USER> (asdf-install:install :docudown)
> 
> [ ... sparing you all the gpg crap ... ]
> 
> | USE-PACKAGE #<PACKAGE "LIFT"> causes name-conflicts in
> | #<PACKAGE "TRIVIAL-SHELL-TEST"> between the following symbols:
> |   TRIVIAL-SHELL:WITH-TIMEOUT,
> |   COM.METABANG.TRIVIAL-TIMEOUT:WITH-TIMEOUT
> |    [Condition of type SB-INT:NAME-CONFLICT]See also:
> |   Common Lisp Hyperspec, 11.1.1.2.5 [section]
> | 
> | Restarts:
> |  0: [RESOLVE-CONFLICT] Resolve conflict.
> |  1: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {11F74391}> on #<ASDF:CL-SOURCE-FILE "tests" {11F86F99}>.
> |  2: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {11F74391}> on #<ASDF:CL-SOURCE-FILE "tests" {11F86F99}> as having been successful.
> |  3: [RETRY] Retry installation
> |  4: [RETRY] Retry installation
> |  5: [ABORT] Return to SLIME's top level.
> |  6: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: (SB-INT:NAME-CONFLICT
> |       #<PACKAGE "TRIVIAL-SHELL-TEST">
> |       USE-PACKAGE
> |       #<PACKAGE "LIFT">)
> 
> You gotta be kidding me. At least, I seem to have a couple of clever
> restarts. Let's choose the TRIVIAL-SHELL:WITH-TIMEOUT alternative. Oh
> boy. Same message again. Twice in a row? Anyway, let's take another shot.
> 
> 
> CL-USER> (asdf-install:install :docudown)
> 
> [ ... sparing you all the gpg crap ... ]
> 
> | Server responded 404 for GET http://common-lisp.net/project/cl-plus-ssl/download/trivial-gray-streams.tar.gz.asc
> |    [Condition of type ASDF-INSTALL::DOWNLOAD-ERROR]
> | 
> | Restarts:
> |  0: [SKIP-GPG-CHECK] Don't check GPG signature for this package
> |  1: [RETRY] Retry installation
> |  2: [RETRY] Retry performing #<ASDF:COMPILE-OP NIL {1263A459}> on #<CL-UNICODE-ASD::GENERATED-CL-SOURCE-FILE "lists" {1263A701}>.
> |  3: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP NIL {1263A459}> on #<CL-UNICODE-ASD::GENERATED-CL-SOURCE-FILE "lists" {1263A701}> as having been successful.
> |  4: [RETRY] Retry installation
> |  5: [RETRY] Retry installation
> |  6: [RETRY] Retry installation
> |  7: [ABORT] Return to SLIME's top level.
> |  8: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: (ASDF-INSTALL::VERIFY-GPG-SIGNATURE/URL
> |       "http://common-lisp.net/project/cl-plus-ssl/download/trivial-gray-streams.tar.gz"
> |       #P"/Users/didier/TRIVIAL-GRAY-STREAMS.asdf-install-tmp")
> 
> Are we having fun yet? Not quite. So this thing can't find a file on the
> web, and offers me to "SKIP-GPG-CHECK" as the first option? What did I
> say about clever restarts again? OK. DARCS LN -S YOU MOTHER FUCKER.
> 
> Now where was I? Can't remember. Anyway, let's try from the very
> beginning again.
> 
> 
> CL-USER> (asdf-install:install :tinaa)
> 
> [ ... sparing you all the gpg crap ... ]
> 
> | The name "CL-GRAPH-TEST" does not designate any package.
> |    [Condition of type SB-KERNEL:SIMPLE-PACKAGE-ERROR]
> | 
> | Restarts:
> |  0: [RETRY] Retry performing #<ASDF:COMPILE-OP (:FORCE T) {11B0FAA9}> on #<ASDF:CL-SOURCE-FILE "test-graph-metrics" {135AA8F9}>.
> |  1: [ACCEPT] Continue, treating #<ASDF:COMPILE-OP (:FORCE T) {11B0FAA9}> on #<ASDF:CL-SOURCE-FILE "test-graph-metrics" {135AA8F9}> as having been successful.
> |  2: [RETRY] Retry performing #<ASDF:LOAD-OP NIL {1373B7D9}> on #<ASDF:SYSTEM "cl-graph" {117A7149}>.
> |  3: [ACCEPT] Continue, treating #<ASDF:LOAD-OP NIL {1373B7D9}> on #<ASDF:SYSTEM "cl-graph" {117A7149}> as having been successful.
> |  4: [RETRY] Retry installation
> |  5: [ABORT] Return to SLIME's top level.
> |  6: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: (SB-INT:%FIND-PACKAGE-OR-LOSE "CL-GRAPH-TEST")
> 
> Aaaaaaaaaaaaaaaaaaaaaaaaaaarg!!!! Nonsense!!!! There IS such a package.
> I can see it in my CL infrastructure. Let's try again. 
> 
> 
> CL-USER> (asdf-install:install :tinaa)
> 
> [ ... sparing you all the gpg crap ... ]
> 
> Oh?! It actually worked this time?! Okay. On the other hand:
> 
> ; compilation unit finished
> ;   caught 7 WARNING conditions
> ;   caught 19 STYLE-WARNING conditions
> ;   printed 1 note
> 
> This smells bad. With all the crap above, maybe I'd be better
> recompiling everything. Just to be sure. Fortunately, I use
> asdf-binary-locations, so it's actually quite simple:
> 
> 
> $ rm -fr **/sbcl-1*
> $ ,restart slime
> 
> CL-USER> (asdf-require :tinaa)
> 
> ; compilation unit finished
> ;   caught 7 WARNING conditions
> ;   caught 33 STYLE-WARNING conditions
> ;   printed 370 notes
> 
> Looks worse than before, but at least, everything seems installed and
> compiled. So let's try the beast:
> 
> 
> CL-USER> (tinaa:document-system 'asdf-system :clon #p"/Users/didier/Science/Source/Common Lisp/Clon/doc")
> 
> | The function METABANG.UTILITIES:DIRECTORY-NAME-P is undefined.
> |    [Condition of type UNDEFINED-FUNCTION]
> | 
> | Restarts:
> |  0: [ABORT] Return to SLIME's top level.
> |  1: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: ("bogus stack frame")
> |   1: (SB-KERNEL:FDEFINITION-OBJECT NIL ASDF-SYSTEM)
> |   2: (SB-INT:SIMPLE-EVAL-IN-LEXENV
> |       (TINAA:DOCUMENT-SYSTEM 'ASDF-SYSTEM :CLON
> | 			     #P"/Users/didier/Science/Source/Common Lisp/Clon/doc")
> |       #<NULL-LEXENV>)
> 
> Now I'm FUCKING OUTRAGED. let's google for that. 3 entries. Dating from
> August. Are we on the bleeding edge yet?
> 
> 
> CL-USER> (defun METABANG.UTILITIES:DIRECTORY-NAME-P (&rest args)
>            (apply #'METABANG.UTILITIES:DIRECTORY-PATHNAME-P args))
> 
> CL-USER> (tinaa:document-system 'asdf-system :clon #p"/Users/didier/Science/Source/Common Lisp/Clon/doc")
> 
> | The assertion (METABANG.UTILITIES:DIRECTORY-NAME-P
> | 	       TINAA::DESTINATION) failed.
> |    [Condition of type SIMPLE-ERROR]
> | 
> | Restarts:
> |  0: [CONTINUE] Retry assertion.
> |  1: [ABORT] Return to SLIME's top level.
> |  2: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: (SB-KERNEL:ASSERT-ERROR
> |       (METABANG.UTILITIES:DIRECTORY-NAME-P TINAA::DESTINATION)
> |       NIL
> |       NIL)
> 
> HUUUUUUHHHH!!! So I missed the slash at the end of my fucking pathname,
> and the son of a bitch is not able to figure out that I meant a
> directory (which BTW does not exist; but who am I to expect that it
> would create it). Let's fix this.
> 
> 
> CL-USER> (tinaa:document-system 'asdf-system :clon #p"/Users/didier/Science/Source/Common Lisp/Clon/doc/")
> 
> | The variable TINAA::IT is unbound.
> |    [Condition of type UNBOUND-VARIABLE]
> | 
> | Restarts:
> |  0: [ABORT] Return to SLIME's top level.
> |  1: [ABORT] Exit debugger, returning to top level.
> | 
> | Backtrace:
> |   0: ((SB-PCL::FAST-METHOD TINAA:MAKE-PART :AROUND (#1="#<...>" . #1#))
> |       #<unavailable argument>
> |       #S(SB-PCL::FAST-METHOD-CALL
> | 	 :FUNCTION #<FUNCTION # {13020CA5}>
> | 	 :PV-CELL NIL
> | 	 :NEXT-METHOD-CALL #S(SB-PCL::FAST-METHOD-CALL
> | 			      :FUNCTION #
> | 			      :PV-CELL NIL
> | 			      :NEXT-METHOD-CALL NIL
> | 			      :ARG-INFO (3 . T)) ..))
> 
> And I stopped there. Tinaa does not cut "it"; neither does it find aif,
> aand and other macros that I figured out belong to :anaphoric, which
> *is* installed, compiled, and loaded by tinaa. And now I'm lost in a
> twisted maze of dependencies and I can't get it to work, and the kids
> are awaken. Now I'm enraged and I'm gonna have to beat them again.
> 
> Next time, remind me to do something more interesting in my afternoon. 
> Do like the kids. Take a nap.
> 
> How many lines of Ruby does it take to have tinaa FUCKIN'WORKING?!
> 
> 

I was thinking "F#".

hth,kzo