[frogs] Lilypond and Guile forward compatibility (was RE: %module-public-interface)

[ Thread Index | Date Index | More lilynet.net/frogs Archives ]


Hi Patrick,

On 02/04/10 19:50, Patrick McCarty wrote:
On 2010-04-02, Ian Hulin wrote:
3. There's a  restriction introduced in Guile V2.0 whereby dynamic
use of define, define-public and variants will cause the guile
compilation to fail with diagnostics.  We have these in our basic
Scheme files (lily.scm and lily-library.scm).  These compilation
failures currently stop Lilypond building altogether.
This is really just a stricter adherence to the Scheme R5RS.

(if ...) can only contain *expressions*, IIUC, and (define ...) is a
top-level definition, not an expression.

But yes, either LilyPond will need to adapt to these stricter
guidelines, or Guile will loosen its policy with respect to (if ...)
statements.

4. We've already seen the %module-public-interface thing in the Lily
C++.  There's probably more smelly stuff lurking in the C++
interface, which won't surface until we start trying to use Guile
2.0 more.
I think almost everything is fixed on the C++ side now.

I've clone the LilyPond git repo so I can play with the lily Scheme scripts which barf with Guile 1.9.x. If you've got any C++ patches I can use so I can debug the .scm files I'd be grateful. I've already got a version of lily.scm which gets round the stuff with testing PLATFORM to see if it's running on Windows, but I'm getting crashes during initialization running with Guile V2.0 which I'm finding difficult to debug.

I'm trying to run lily in a
$meta/uninstalled-env bash
environment.

If I build Lilypond in a normal Guile V1.8.7 environment, and then run it under Guile V1.9.10, I get this
ian@nanny-ogg:~/usr/src/lilypond$ out/bin/lilypond
GNU LilyPond 2.13.18
ERROR: Unbound variable: eval-when
^C
ian@nanny-ogg:~/usr/src/lilypond$




---
----
Join the Frogs!


Mail converted by MHonArc 2.6.19+ http://listengine.tuxfamily.org/