guile-devel
[Top][All Lists]
Advanced

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

Re: [PATCH] `try-module-autoload' and `current-reader'


From: Neil Jerram
Subject: Re: [PATCH] `try-module-autoload' and `current-reader'
Date: Sat, 21 Jan 2006 08:46:00 +0000
User-agent: Gnus/5.1007 (Gnus v5.10.7) Emacs/21.4 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Hi,
>
> Neil Jerram <address@hidden> writes:
>
>> 1. Starting a new stack (the start-stack form in R4RS's load).  This
>>    affects backtraces, and it is occasionally useful for a backtrace
>>    to show that module X is being loaded because of code from module
>>    Y.
>>
>> 2. Interpreting a file path beginning with "." as relative to the
>>    current module's load filename.
>
> Change #1 would just make autoload's behavior equivalent to that of
> explicit loading via `use-module'.

No, it would change use-module as well.  Please follow through the
code:

process-use-modules -> resolve-interface -> resolve-module ->
try-load-module -> try-module-autoload

(Arguably try-module-autoload could be better named.)

>  It seems important to me that
> autoload and `use-module' behave identically, i.e., either they both use
> `load-module' and incidentally set up a new stack, or none of them does.

Agreed, but try-module-autoload is used for both, so they will behave
the same as each other whatever we do.  The issue is whether they
behave the same as they do before this patch.

> Also, the `with-fluids' framing is already provided by R4RS `load' and
> consequently by `load-module' so I think we should avoid duplicating it.

This tiny amount of duplication doesn't concern me.

> I don't understand your second point.  In `try-module-autoload', the
> name of the module _to be loaded_ is passed, and its path is inferred
> from that name, not relatively to the current module's path.  Am I
> missing something?

Yes, but it's now covered in another subthread, so I won't repeat here.

Regards,
        Neil





reply via email to

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