[Top][All Lists]

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

Re: [Groff] [off] micro-typography

From: Thomas Baruchel
Subject: Re: [Groff] [off] micro-typography
Date: Tue, 12 Feb 2002 13:32:20 +0100
User-agent: Mutt/1.2.5i

On Mon, Feb 11, 2002 at 11:28:45AM +0100, Sigfrid Lundberg, NetLab wrote:
> Wouldn't it help to have an extension language, like having GUILE (GNU's
> Ubiquitous Intelligent Language for Extension) or PERL compiled into troff
> and the ability to such things in a proper programming language?

Yes, I think it would be a great idea, and in the good unix mind
(a tool calling another tool and waiting for the result), but with
a few conditions:
the integration should be real (not only a system call); the programming
language should be able to ask for information, eventually act directly
on the groff environment (.po, .ll, .in, etc.). The programming language
should mainly have access to anything groff knows (ie: size of a word,
including kerning, etc.) I think that a second generation of macros
would appear with very-high level capacities. Micro-typography would
be much easier, and different algorithm could be used according to the
user (that is what I like the most in groff and what TeX doesn't really
provide in my sense);

Only one session of the interpreter should be opened for one
document; if a paragraph macro needs the interpreter, the interpreter
sould certainly not be launched 250 times if there are 250 paragraphs in
the document.

the language should be quick interpreted; TeX is indeed very quick,
sometimes more than groff. If groff has to call a very slow language,
it isn't very interesting.

the language should be text-oriented; we don't need all what Perl can do.
A few mathematical computations, regexp, and string manipulations would
probably be enough.

What we are saying wouldn't be a revolution: groff already has preprocessors,
postprocessors, why not a new dynamical processor that could interact with
groff ?

'\   (define Thomas_Baruchel
  \    ((lambda (k) (k k))
  /\     (call-with-current-continuation
 /  \      (lambda (k) (k k)))))                          baruchel @ usa , net

reply via email to

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