Is there any attempt to re-write TeXmacs in some new language like python etc

Is there any attempt to re-write TeXmacs in some new language like python etc.

I am asking this because Scheme language is too old, and may be because of this, new developers are less likely to join TeXmacs community. I came to know that only 6 developers are with TeXmacs.

Moreover, there is no way TeXmacs documents could be rendered into MSWord or Docbook formats. Many publishers demand books in Docbook format and referees of thesis etc demand the manuscript into MSWord.

I wish such a nice softwares should not take a back seat simply because of its language being obsolete.

Dr. A. K. Singh

1 Like

Maybe an AI such as GPT4 can convert the scheme code to python?

1 Like

No such plan. Scheme is a beautiful language.

4 Likes

That’s a good idea. One of the developers, Jeroen, gave me a python- based-jupyter-plugin, which I am successfully using in place of R plugin, in TeXmacs.

If only your idea is caught up by some developer, or developers, may TeXmacs be brought into the mainstream of other document generating softwares. They all fall too short in capacity than TeXmacs. Still new generation doesn’t know about TeXmacs. They know about useless Markdown. Asciidocdor is better but they couldn’t have so far created a good pdf converter.

If only TeXmacs is modernized, this will surpass all.

With regards,

Dr. A. K. Singh

1 Like

Let me add to the very synthetic answer. (I am answering to a post of @darcy, although I am addressing myself at the OP of this thread).

What I write is based mostly on the trust that I have on the developers, I know Scheme a bit but not so well to decide for myself whether the advantages I list in this post are such :slight_smile:

As far as I have read:

  • Scheme is fast enough to be able to support real-time typography, and Python is not
  • Scheme’s macros are a convenient way of writing some of the code that TeXmacs needs.

So far I am reporting what the developers told me.

Now for my point of view.

  • Scheme is unfamiliar, but that has nothing to do with the fact that it was developed 50 years ago. To appreciate Scheme, one needs to switch from “a program as a sequence of instructions” to “a program as a composition of functions”. One probably needs more (understanding macros exempli gratia), but that switch I think is essential.
  • Once that you make the switch in thinking, programming in Scheme becomes very pleasant: the programs grow under your fingertips as you “abstract” program behaviour into functions.

Finally, I agree that TeXmacs would benefit from more developers, who in my opinion do not need to be part of the core team in order to contribute—as they might contribute plugins and style files. But that would require a straightforward mechanism to make these contributions available to all, which I do not think is yet there. But maybe @darcy is working on that with Mogan?

If Python is too slow, then what about Julia?

What about macros? :wink:

See:

https://docs.julialang.org/en/v1/manual/metaprogramming/

https://docs.julialang.org/en/v1/manual/metaprogramming/#man-macros

I wonder whether using GPT4 to port the scheme code to another language would introduce copyright/licensing issues though.

You can use any programming language to implement a plugin!

But Mogan is in Scheme only, I suppose, though Mogan has more contributors than TeXmacs, based on what GitHub shows. However, since the parent software TeXmacs is not so well known at present, how long Mogan will uphold, is a matter of time to see.

I am afraid that both may not go to the fate of anonymity if they do not modernise themselves. Many plugins are NOT being maintained because of this anonymity, I suppose.

My only concern is that it should not happen with such a nice code base as of structured TeXmacs.

See the fate of beautiful Emacs. It is only because they didn’t modernise themselves they are on the brink of anonymity, although they have their own core users, but that’s not all. I myself tried org mode but since it didn’t suite me and the likes of Windows users, I couldn’t go ahead much.

I went through various alternatives mentioned in my earlier post, but to no satisfaction. I searched and googled a lot and a lot, then I came across a TeXmacs reference in one of Wikipedia article.

Had TeXmacs been so well known I would have come across it far earlier. It took me 3 years to come to know about TeXmacs. Had this not been so, I would not have have taken lot of pains to write my earlier book in a bogus Rmarkdown, which has a lot of unimaginable users, simply because they have pandoc support and of a lot of developers, and they are listening to popular mandates of people, I mean users.

I have expressed my concern. Hope this goes well to the hearts of all.

With regards.

Dr A. K. Singh

3 Likes

Though Scheme is a beautiful language, it is cumbersome to indicate which field could be extract from a parameter by (cadar parameter). Some pieces of Typed Racket should be introduced to Scheme environment of texmacs.

Guile has also additional functions with respect to the standard. For extracting element at position k (the fist element is at position zero) from a list:

(list-ref  list k)

s7 has the following syntax to access list elements:

(lst 1) is the same as (list-ref lst 1) , and (set! (lst 1) 2) is the same as (list-set! lst 1 2)

So, ('((4 5 6) 1) 0 1) returns 5, for example.

Though s7 provides such grammar, it is difficult to read existing code due to unclear type in scheme code.

Yes, I agree with that. I was only referring to the syntax.

… and

Developers (@vdhoeven, @mgubi, @darcy, @jeroen), please take note :slight_smile:

:pray::pray::+1::+1: Thanks. You have realised, that’s great, if only developers also take note of this to include into their Todo list, that would be even greater.

Dr. A. K. Singh

I am not meaning that I agree with the need of rewriting in a different language. I agree with the need of something, that we still need to define.

Maybe a TeXmacs account on Threads could help?