guile-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] Add ".guile.sls" and ".sls" to the default %load-extensions


From: nalaginrut
Subject: Re: [PATCH] Add ".guile.sls" and ".sls" to the default %load-extensions
Date: Tue, 06 Nov 2012 10:19:42 +0800

hey guys! Should we consider add our specified name, like: .gl or
just .guile?


On Mon, 2012-11-05 at 22:15 +0100, Ludovic Courtès wrote:
> Hi!
> 
> Mark H Weaver <address@hidden> skribis:
> 
> > I don't think the command-line switch is a good solution.  The problem
> > is that even if the main program is not written in R6RS, and even if the
> > main program does not use any R6RS libraries directly, this option might
> > still be needed.
> 
> Right, good point.
> 
> > I see only two sane options:
> >
> > * Add these load extensions by default, to enable users and Guildhall
> >   repository maintainers to easily import R6RS libraries as-is.
> >
> > * Reject the dominant R6RS library naming convention, and force users
> >   and guildhall repository maintainers to rename the files to .scm and
> >   move *.guile.sls to *.scm.
> >
> > I can live with either of these options, but given the existence of
> > guildhall, I see no good compromise position.  IMO, we need to make a
> > decision to either fully embrace or fully reject the R6RS library naming
> > convention.
> 
> Yes, makes sense.
> 
> Looking at your initial patch, the two extensions were actually searched
> 
> My current inclination would be to fully reject it, then.  The problem
> is that we’d be adding two stats for each file.
> 
> Currently there are two stat(2) for each entry in $GUILE_LOAD_PATH:
> 
> stat("/home/ludo/.local/share/guile/site/2.0/ice-9/control.scm", 
> 0x7fff1f4aec20) = -1 ENOENT (No such file or directory)
> stat("/home/ludo/.local/share/guile/site/2.0/ice-9/control", 0x7fff1f4aec20) 
> = -1 ENOENT (No such file or directory)
> stat("/home/ludo/soft/share/guile/site/2.0/ice-9/control.scm", 
> 0x7fff1f4aec20) = -1 ENOENT (No such file or directory)
> stat("/home/ludo/soft/share/guile/site/2.0/ice-9/control", 0x7fff1f4aec20) = 
> -1 ENOENT (No such file or directory)
> stat("/home/ludo/soft/share/guile/2.0/ice-9/control.scm", 
> {st_mode=S_IFREG|0644, st_size=2961, ...}) = 0
> 
> (I’m not sure if searching for a file name with no extension is
> intentional.  Ideas?)
> 
> That would double that.
> 
> This is likely to become noticeable with large $GUILE_LOAD_PATH values
> and/or numerous module loads.
> 
> WDYT?
> 
> Ludo’.
> 





reply via email to

[Prev in Thread] Current Thread [Next in Thread]