 |
Roadmap for GNU TeXmacs |
 |
It is difficult to give a precise roadmap for the TeXmacs development,
because our plans are permanently adjusted as a function of unexpected
needs, help by new contributors and personal moods. Nevertheless, we
tend to spend a significant time on a few major objectives, while
amusing ourselves with the implementation of a few new features.
Roughly speaking, our roadmap can therefore be divided into three
major parts:
-
A limited number of major objectives for the upcoming stable
versions (1.1 and 1.2).
-
A certain number of minor objectives, subject to continuous changes,
and which progress as a function of available time.
-
Other projects, which are developed by external contributors, but
which occasionnaly require changes in the TeXmacs core.
1.Major objectives for the upcoming stable
versions
Our main focus for the next stable version 1.1 (to be released during
2012) is on the improvement of the user interface and documentation.
This comprises the following developments:
-
Completion and stabilization of the Qt port
and the resulting ports for Windows and MacOS.
-
Development of a markup-based graphical user interface for popup
windows. This new interface might only be ready after the next
stable version 1.1.
-
Development of user-friendly tools for documentation and
translations, which can be used in a collaborative version over the
web.
-
Completion of a TeXmacs user manual and make it available in book
form.
The next stable version 1.1 should also contain a more robust version
of the graphical drawing tool, which is developed by Henri Lesourd.
Finally, we plan to create an association for the proposition of free
scientific software. One of the objectives of this association is to
create a simplified system for making donations to TeXmacs and sell
our software and documentation.
Within a slightly longer time period of about one or two years, we
have also started to reorganize TeXmacs so as to make it a stable
development platform for developments. The aim is to reach as quickly
as possible a point where the different parts of TeXmacs are well
documented and modularized, so that they can easily be further
developed in parallel by different people. Most of these deeper
developments will reach their maturity only in the after-next stable
version 1.2, and comprise the following items:
-
Improve the quality of the TeXmacs makefiles so as to make them
completely compatible with automake and autoconf.
-
Replace the current widget system by a markup-based system, with the
possibility to use widgets (from Gtk, Qt, Aqua, etc.) from standard
GUI's instead of the TeXmacs-provided style files.
-
Separate the style rewriting engine from the typesetter and make
both completely lazy.
-
Increase the robustness and use of DRDs (Data Relation Definitions),
which contain meta-information about TeXmacs or user-provided DTDs.
-
Migrate as much as possible of the high-level interface from C++ to
Scheme.
-
Increase the robustness of TeXmacs and its Scheme
APIs by providing detailed exception semantics and tools for
debugging.
-
Provide extended documentation for developers and intelligent
interactive ways to use this documentation.
2.Other things we are working on
Even though our main focus is on the stabilization of TeXmacs and to
make it more suitable for developers, we intend to continue some time
on the development on new features. A few points currently have our
priority:
-
Further development of the graphical drawing mode. Our main next
goal is to allows users to create new macros, either by explicit
constructions or constrained-based constructions. Finally, we would
like to incorporate several features which are typically found in
editors of vector graphics, such as Inkscape.
-
Extended features for computer algebra sessions, such as automatic
folding of large expressions, lazy output (with subexpressions which
can be further evaluated by clicking on them), cas-aided writing,
etc.
-
Continue the development of remote TeXmacs servers for providing
web-based services in combination with TeXmacs. These services
comprise chatting (with mathematical formulas) and collaborative
authoring.
-
Development of universal spreadsheet tools, which can be connected
to any external plug-in for doing the computations. In a similar
vein, external plug-ins might be used to draw graphs of functions in
the graphical mode.
3.Ongoing external developments
Some people which are not part of the core development team use
TeXmacs for other projects. We do our best to support such external
developments and make the necessary changes inside TeXmacs when
necessary. Here follows a list of a few initiatives that we are aware
of:
-
Lionel Mamane is developing a plug-in for the Coq proof assistant, called Tmegg.
A first version of this plug-in is about to be released; please
check Lionel's homepage. Similarly, Henri Lesourd is developing an
interface to the Omega system. The use of TeXmacs as a
front-end for proof assistants and theorem provers raises
interesting questions about asynchroneous plug-in evaluations,
keeping track and appropriate rendering of the state of a prover,
appropriate mathematical and proof markup, etc.
-
Saugata Basu, Richard Pollack and Marie-François Roy have
written an interactive book “Algorithms in Real
Algebraic Geometry” using TeXmacs. Any people interested
in developing addional interactive features inside TeXmacs are
invited to contact us.
-
Felix Breuer and formerly David
Mentré have considered developing a literate
programming plug-in for TeXmacs. Another such initiative is Fangle, which has recently been
started by Sam Liddicott. Any concrete
implementation of their proposals would happily find its way into
the main distribution.
If you want to start a project based on TeXmacs, then please let us
know.
© 2007 Joris van der Hoeven