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

 
 

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

Submitter:  Jose Antonio Ortega Ruiz <jao>
Submitted:  Fri 11 Jun 2010 03:31:13 PM UTC
   
 
Category:  None Severity:  3 - Normal
Item Group:  None Status:  Wont Fix
Privacy:  Public Assigned to:  None
Open/Closed:  Closed
* Mandatory Fields

Add a New Comment Rich Markup
   

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>
Group 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>
Group Member

 

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

Attach Files:
   
   
Comment:
   

No files currently attached

 

Depends on the following items: None found

Items that depend on this one: None found

 

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

    There are 0 votes so far. Votes easily highlight which items people would like to see resolved in priority, independently of the priority of the item set by tracker managers.

    Only logged-in users can vote.

     

    Follow 2 latest changes.

    Date Changed by Updated Field Previous Value => Replaced by
    2010-06-14 wingo Open/ClosedOpen Closed
    2010-06-14 wingo StatusNone Wont Fix

    Back to the top

    Powered by Savane 3.13-d3ae.
    Corresponding source code