texmacs-dev
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Texmacs-dev] Multiple extension languages (Caml, Python, Lisp, etc.)


From: Joris van der Hoeven
Subject: [Texmacs-dev] Multiple extension languages (Caml, Python, Lisp, etc.)
Date: Sun, 9 May 2004 20:52:03 +0200 (CEST)

Hi *,

In response to several mails about other extension languages than Scheme,
I would like to resume my point of view on this issue.

1) I am not fundamentally opposed to other extension languages than Scheme,
   even as the default one, as long as they have a similar degree of
   flexibility (in particular, a Scheme-like macro facility to customize
   the language).

2) As long as no other extension language is fully supported,
   point 1) is quite theoretical. Since I have no time to rewrite
   the $TEXMACS_PATH/progs in another language, porting the base library
   for Scheme to another language relies entirely upon volunteers.

3) Instead of sticking to one and a unique extension language,
   it seems to be a good idea to consider supporting several ones,
   which mutually enrich one another.

4) A necessary step to supporting other extension languages seems to
   be to first write a plug-in which is able to
   (a) import Scheme routines from TeXmacs as native routines
       for the new language
   (b) export routines from the new language to TeXmacs.

5) Point 4) allows you in particular to experiment and rewrite
   functionality from $TEXMACS_PATH/progs in the new language.

So it seems that we should focus on (4) and try to come up with
a protocol for making TeXmacs routines visible in plug-ins and vice versa.

I think that it would be best to keep the protocol as simple as possible.
Basically, we should implement:
  1) extern functions and objects (both in Scheme and the new language).
  2) communication of signatures (lists of symbols and types).
  3) communication of objects of the "same" types in distinct languages.
Any comments on how to do this in more detail?

-Joris





reply via email to

[Prev in Thread] Current Thread [Next in Thread]