What's the status of the new scheme on TeXmacs? Also, what is the status of the new release?

Where they say so? The initial paragraph says:

s7 is a Scheme interpreter intended as an extension language for other applications.
[...]
 s7 is an extension language of Snd and sndlib ([snd](http://ccrma.stanford.edu/software/snd/index.html)), Rick Taube's Common Music (commonmusic at sourceforge), Kjetil Matheussen's Radium music editor, and Iain Duncan's Scheme for Max (or Pd)
[...]

I cannot find the fact that it was “designed for…”. My experience is that it is a very good software which is daily maintained (see the git log here https://cm-gitlab.stanford.edu/bil/s7/commits/master) by a very competent programmer. The fact that people do not know it does not mean that it is not good or unfit for other purposes. See for example this experience in embedding it in a game setting : https://carloscarrasco.com/love-letter-to-s7-scheme/

Personally I think it is even better than Guile, less elegant maybe, but with a lot of cool features and it is programmed with a lot of taste and love, what do you want more from a piece of software?

I do not know how TeXmacs uses Scheme, but is it possible to make interpreter-independent codes of TeXmacs as few as possible, so that it would not be so painful to migrate from one to another?

Again, I don’t disagree with any of that. That’s not my point.

You are right, they don’t specifically say “designed for”, but the fact that’s explicitly mentioned in the documentation page seems to suggest that to me. If someone knows otherwise, feel free to correct me. And again, that doesn’t mean that it was designed “only” for that software.

EDIT: Also, I’m not the only one with this interpretation: https://iainctduncan.github.io/scheme-for-max-docs/s7.html

S7 Scheme is a minimal scheme designed specifically for embedding in music contexts,

TeXmacs uses general (r5rs) scheme construct + lisp-style macros but some mechanisms need a module systems or some way to manage environments. This last feature is not available in some schemes (e.g. chibi) and this make difficult porting. Otherwise porting is quite easy, since only few definitions have to be fine-tuned to a specific scheme. The current codebase works with few changes for Guile 1.8 and S7. In interpreted mode it will work also for Guile 3 but there we need some more substantial changes. Scheme being scheme in general porting can be approached as writing an interpreter for TeXmacs-scheme on top of your preferred scheme implementation. This is however not the way we operate right now and we rely on a literal interpretation of the code which requires some cooperation from the interpreter.

Why not just take Guile 1.8.8 and rebrand it as Texmacs scheme? Is Guile 1.8.8 broken in some way that makes it unsuitable? I don’t know anything about the interpreters, just asking.

Well guile 1.8 is obsolete and unmaintained. If any critical vulnerability shows up we’re on our own for fixing it. Furthermore, even without critical vulnerabilities, guile 1.8 is outdated. For instance, it does not know about utf-8 strings and AFAIR this causes that guile cannot access TEXMACS_HOME_PATH on windows when your user name has unicode characters, making TeXmacs unusable in that case.

2 Likes

Utf-8 strings would be nice. I occasionally get weird errors when paths contain letters with accents.

Since you mentioned, where is the TEXMACS_HOME_PATH on Windows?

The easiest way to get it is probably to open a Scheme session and evaluate (get-texmacs-home-path).

Please report the errors, and we will fix it.

IIRC $TEXMACS_HOME_PATH is usually in C:\Users\Your-user-name\AppData\Roaming\TeXmacs and I believe that AppData is normally hidden. Sorry for the late reply.

the vau can run with pscm now.
see the post: Run Vau success with pscm

3 Likes