bugGuile - Bugs: bug #30116, (guile) introduces a cycle in the...

 
 

bug #30116: (guile) introduces a cycle in the submodules subtree

Submitted by:  Jose Antonio Ortega Ruiz <jao>
Submitted on:  Fri 11 Jun 2010 03:31:13 PM UTC  
 
Category: NoneSeverity: 3 - Normal
Item Group: NoneStatus: Wont Fix
Privacy: PublicAssigned to: None
Open/Closed: Closed

Add a New Comment(Rich Markup)
   

You are not logged in

Please log in, so followups can be emailed to you.

 

Mon 14 Jun 2010 09:56:02 AM UTC, comment #1:

http://thread.gmane.org/gmane.lisp.guile.devel/10297/focus=10300

`app' and `%app' are there for back compatibility. They are two names for the same module which does indeed introduce a circle, which has been the case for some 10 or 15 years now :-)

I think you have to deal with this, unfortunately. When these deprecated shims are removed, things will be different.

Andy Wingo <wingo>
Project Administrator
Fri 11 Jun 2010 03:31:13 PM UTC, original submission:

Define the auxiliary procedure:

(define (submodules m)
(hash-map->list list (module-submodules m)))

which just extracts a list of submodules of `m'. Now apply it to the '(guile) module:

(define gm (resolve-module '(guile) #f))

(submodules m)

this evaluates to a duplicate submodule with different names:

((%app #<module (%app) 84e7c60>) (app #<module (%app) 84e7c60>))

Asking for the submodules of either one of those gives:

(define (submodules* m) (cdr (submodules m)))
(submodules* (car (submodules* m)) => (#<module () 84e7ea0>)

and getting the submodules of this last one, one obtains the list of top level modules, which again includes `gm'. That means that the module tree isn't actually a tree, but a DAG, which sounds weird to me (and will most probably provoke infinite loops in module folders).

Also, the duplicated submodule of '(guile) seems an implementation detail accidentally leaked (hiding it would break the cycle).

Jose Antonio Ortega Ruiz <jao>
Project Member

 

(Note: upload size limit is set to 16384 kB, after insertion of the required escape characters.)

Attach File(s):
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

Carbon-Copy List
  • -unavailable- added by wingo (Posted a comment)
  • -unavailable- added by jao (Submitted the item)
  •  

    Do you think this task is very important?
    If so, you can click here to add your encouragement to it.
    This task has 0 encouragements so far.

    Only logged-in users can vote.

     

    Please enter the title of George Orwell's famous dystopian book (it's a date):

     

     

    Follow 2 latest changes.

    Date Changed By Updated Field Previous Value => Replaced By
    Mon 14 Jun 2010 09:56:52 AM UTCwingoOpen/ClosedOpen=>Closed
    Mon 14 Jun 2010 09:56:02 AM UTCwingoStatusNone=>Wont Fix

    Back to the top


    Powered by Savane 3.1-cleanup1