Am Tuesday, 16. August 2011, 23:08:04 schrieb David Kastrup:
> Bertrand Bordage <bordage.bertr...@gmail.com> writes:
> >     > Compile Lilypond with
> >     > -DSCM_DEBUG_TYPING_STRICTNESS=2
> > 
> > I don't understand how you're applying this setting.
> > I tried
> > ./configure -DSCM.....
> > and
> > make -DSCM.....
> > without success.
> 
> ./configure CXXFLAGS=-DSCM_DEBUG_TYPING_STRICTNESS=2

You can even pass it directly to make:

CXXFLAGS=-DSCM_DEBUG_TYPING_STRICTNESS=2 make

See also the documentation in /usr/include/libguile/__scm.h (:
"
 * A value of 2 provides a maximum level of compile time type checking since
 * the SCM datatype will be declared as a struct.  This setting should be used
 * for _compile time_ type checking only, since the compiled result is likely
 * to be quite inefficient.  The right way to make use of this option is to do
 * a 'make clean; make CFLAGS=-DSCM_DEBUG_TYPING_STRICTNESS=2', fix your
 * errors, and then do 'make clean; make'.
"

However, I'm not sure if this will really work out or give us much benefit. 
In particular, we have lots of checks for == SCM_EOL or == SCM_BOOL_T. E.g. 
very deep inside the core of lilypond:

inline bool ly_cheap_is_list (SCM x) {return scm_is_pair (x) || x==SCM_EOL; }

Is this really not allowed?

We should definitely wait for Han-Wen to respond, since he is a Guile 
developer and probably has the deepest knowledge of us all. Before we get a 
definitive statement, I don't think it's a good idea to let any frog spend 
some time on it.

Cheers,
Reinhold
-- 
------------------------------------------------------------------
Reinhold Kainhofer, reinh...@kainhofer.com, http://reinhold.kainhofer.com/
 * Financial & Actuarial Math., Vienna Univ. of Technology, Austria
 * http://www.fam.tuwien.ac.at/, DVR: 0005886
 * LilyPond, Music typesetting, http://www.lilypond.org

_______________________________________________
lilypond-devel mailing list
lilypond-devel@gnu.org
https://lists.gnu.org/mailman/listinfo/lilypond-devel

Reply via email to