 |
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 humour. 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
2007) is on the improvement of the user interface and documentation.
This comprises the following developments:
-
Increased standardization of the user interface: use M$-style
keyboard shortcuts as the default (and provide Emacs
compatability as an option), further simplification of the menus and
increased use of popup windows.
-
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.
-
Improve the Cygwin port and other ports of
TeXmacs and monitor the availability of TeXmacs in major
distributions.
-
Reshape the low-level window interface so as to make the interface
to Xlib easily portable to other systems, such as Gtk, Qt, MacOsX,
Windows, etc. Also provide plugins for Cairo,
OpenGL, etc.
-
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. First, the
upcoming support of Cairo, OpenGL, etc. should
improve the rendering quality. Secondly, we intend to allow the user
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.
-
Providing more semantics to mathematical formulas by providing a
simple way to construct parsers and pretty printers and to use them
for establishing a bijection between presentation and content markup
for certain well-defined languages.
-
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.
-
TeXmacs is used in combination with Maxima in
a high-school education project at the Lycée
Villegénis at Massy Palaiseau
(nearby Paris). In view of this project, we
intend to further simplify the user-interface and to make it easier
to install up-to-date TeXmacs versions under Windows.
-
Felix Breuer and formerly David
Mentré have considered developing a literate
programming plug-in for TeXmacs. 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