guile-devel
[Top][All Lists]
Advanced

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

Re: Autocompilation/LilyPond


From: David Kastrup
Subject: Re: Autocompilation/LilyPond
Date: Sun, 11 Mar 2012 00:15:27 +0100
User-agent: Gnus/5.13 (Gnus v5.13) Emacs/24.0.92 (gnu/linux)

address@hidden (Ludovic Courtès) writes:

> Hi David,
>
> Sorry for the late reply.
>
> David Kastrup <address@hidden> skribis:
>
>> Previous attempts have mostly exploded around the problem that we have
>> something like
>>
>> (for-each ly:load init-scheme-files)
>>
>> in our lily.scm file, and the auto-compiler attempts to compile all of
>> those files independently as far as I understand.  Unfortunately, some
>> of them contain macro definitions that other files rely on.
>
> The order in which files get compiled does not matter; the semantics of
> programs do not depend on whether code is being bytecode-interpreted or
> just interpreted by (ice-9 eval).

Little things like

(define-public fancy-format
  format)

(define-public (ergonomic-simple-format dest . rest)
  "Like ice-9's @code{format}, but without the memory consumption."
  (if (string? dest)
      (apply simple-format (cons #f (cons dest rest)))
      (apply simple-format (cons dest rest))))

(define format
  ergonomic-simple-format)

tend to make quite a difference depending on whether they are loaded or
not before compiling.

That one actually caused a lot of wasted effort on
<URL:http://code.google.com/p/lilypond/issues/detail?id=1780>

> The only reason you might want to compile files in topological order
> is performance.

And macros.  And redefinitions.  And module hierarchy.

> Does that answer your question?

Sure.  Unfortunately, we were already hit by this answer being wrong.

-- 
David Kastrup




reply via email to

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