Hi Mark, On Mar 9, 2012, at 5:29 PM, Mark H Weaver wrote:
> Gubinelli Massimiliano <m.gubine...@gmail.com> writes: > >> Hi Mark, >> thanks again. I start to understand better the Guile 2 compile >> system. I decided to dig into boot-9.scm to have a more precise idea >> of the ecosystem around my scripts. Unfortunately it seems that the >> basic TeXmacs scripting infrastructure need a major change to be run >> into Guile 2.0 and I'm afraid not to be sufficiently proficient in >> scheme to do this in a short time. > > Why not convert your scripts to use the standard Guile module syntax? > TeXmacs is currently composed of 250 scheme files for \sim 60000 lines of scheme. Guile is used for customization and for other operations which do not require special performance. All the rest of the program is written in C++, in particular the typesetter and the GUI code. It has a slightly customized module system and features contextual overloading of functions (a function can be redefined to act differently is some condition is met without modifying the module which implemented the base behaviour). We would like to preserve the current system as much as possible. Moreover we want also to be compatible with previous versions of Guile (now we support Guile 1.4 up to Guile 1.8). The code does not depend very much on specific Guile features a part form the module system. >> Is there anyone on this list which would like to assist me to port GNU >> TeXmacs to Guile 2.0. Currently the code in svn builds fine against >> 2.0 so the problem is just to adapt the scheme scripts which rely on a >> customized module system. > > I'd be glad to take a look. Where can I find your scripts? > TeXmacs codebase is hosted at savannan (https://savannah.gnu.org/projects/texmacs/). Check out the svn trunk via svn co svn://svn.savannah.gnu.org/texmacs/trunk then you can find the scheme script in trunk/src/TeXmacs/progs at boot C++ evaluate init-texmacs.scm which in turn bootstrap the custom module system defined in kernel/boot.scm and start to load modules. We have a facility to lazy load modules since in old machines the bootstrap of the scheme code is too slow. With the current svn you will not be able to build TeXmacs with Guile 2.0. If you are interested in that I will tell you how to do. I still do not know very well the scheme code (almost all of it has been written by the main developer, Joris van der Hoeven). Massimiliano > Regards, > Mark