[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Guile and GNU TeXmacs
From: |
Neil Jerram |
Subject: |
Re: Guile and GNU TeXmacs |
Date: |
17 Oct 2001 22:37:07 +0100 |
User-agent: |
Gnus/5.0808 (Gnus v5.8.8) Emacs/20.7 |
>>>>> "Joris" == Joris van der Hoeven <address@hidden> writes:
Joris> Hi,
Hi! And sorry for the lateness of this reply.
Joris> I use guile as an extension language for GNU TeXmacs with
Joris> full satisfaction for about one year and a half now.
Joris> However, in order to get things more robust and standard, I
Joris> would like some help on the following questions:
Joris> 1. The module system is not very clear to me and I could
Joris> not find a short description of how it works in the
Joris> documentation, or elsewhere on the web.
Have you looked at the reference manual in Guile CVS, or in any of the
recent 1.5.x release candidates?
Joris> I am interested in two types of functionality:
Joris> a) Defining a module, and telling what are the other
Joris> modules which are required. I guess I see how to do this by
Joris> looking at the source code. However, when exactly is a
Joris> module loaded and what is the visibility/scope of functions
Joris> inside that module.
(define-module ...) begins a module definition.
The required modules can be specified either using the #:use-module
keyword inside the (define-module ...) expression, or by standalone
(use-modules ...) expressions.
If you use #:use-module or use-modules to import definitions from
another module, the visible definitions will be those that have been
marked for export in that module's source code. Export-marking is
achieved by the #:export keyword or by (export ...) or (define-public
...) expressions.
(This is oversimplified; we also now have selective and renaming
imports - read the manual for the full picture.)
A module's source code is loaded when a (use-modules ...) expression
naming that module is evaluated.
Joris> b) I want to be able to require routines from additional
Joris> modules on demand. Typically, TeXmacs can be used as an
Joris> interface to computer algebra systems. When starting such
Joris> a system, I might want to load an additional module with
Joris> routines relevant to that system. However, this module
Joris> should not be loaded as long as the system is not needed.
There is such a thing as an autoload module, but I don't know how they
work. I think we also support programmatic module loading
(named-module-use!), which could help you here.
Joris> 2. I would like to provide documentation for the most
Joris> important scheme functions provided by TeXmacs. I guess I
Joris> should write this documentation in the texinfo format?
Joris> Would it be possible to add such documentation to the main
Joris> documentation of guile? Who would be in charge of doing
Joris> this?
Me, if anyone. It's certainly feasible to combine this documentation
wuth the main guile reference manual, but please could you clarify
why you think this would be a useful idea? If we do combine it, then,
yes, it would have to be in texinfo format.
Joris> In fact, the html code generated by texinfo can be
Joris> rendered pretty well by TeXmacs. I would like to add a
Joris> 'scheme' entry in the Help menu of TeXmacs, which would
Joris> look at a suitable location on the web where the guile
Joris> documentation is available online. Is there such a
Joris> location (where the html docs are *exactly* those generated
Joris> by texinfo; *no* unnecessary markup and adds)?
www.glug.org carries a snapshot of the latest Guile documentation.
After 1.6.0 is released, www.gnu.org should (I hope!) do so as well.
In the current Guile distribution, html doc is built using texi2html,
not `makeinfo --html'. There was a bit of a discussion a few weeks
ago about which was better, inconclusive IIRC. I don't know whether
www.glug.org follows the Guile distribution or does its own html
generation.
Joris> 3. I would be interested in adding the Jacal system as a
Joris> computer algebra system with an interface to TeXmacs. Is
Joris> there someone who can tell me in a detailed way how to get
Joris> Jacal installed and working in combination with Guile
Joris> Scheme on a GNU/Linux (or other Unix) system?
See the reference manual, node `JACAL'. If this is wrong at all,
please let us know so that we can update it.
Neil