My gut instinct is that we want to use a library rather than something 
actually compiled into lyx, but since virtually everyone here knows 
more about how such things work than I do, I'll just watch what happens.

However, two things that I think we'd want, both of which would be hard 
to live without:

1) recordability:  There should be some ability to record a sequence of 
actions, save them in the scripting language, and make them 
activatable.  For example, a user would likely want to take the 
sequence of actions which produce a 3x3 matrix with braces around it, 
and the cursor moved to the first position.
  
Once recorded, it could then be edited so that it expects a keystroke 
to tell it the rank, and then bound to a keystroke. Or perhaps a jump 
to the beginning of the line of equation, followed by a shift-downarrow 
to select the line, and a paste to duplicate it. 

These are just a couple of sequences I used to asign to low-level 
macros when i was using word typesetting features (kind of a 
watered-down latex, but it's gone now) to do lots of math.

2) indirect reference to variable names.  Only *really* advanced 
scriptors are likely to use this, so if there are two scripting 
languages, it only need be in the programmers version.

It should be possible to have the name of a second variable as the 
contents of the first variable, and reference the value of the first 
variable.  This is critical to some things I've done in the past 
(without which whole projects would have been impossible, or at least 
not worth the effort.

In this vein, i'd also like to be able to query insets for their name.  
That is, i would want to in some sense create insets in the documents 
that are named variables for the scripting language.  Come to think of 
it, i'd want to go farther:  an inset type that is configurable by the 
scripting language--or at least that can be created & configured 
without recompiling lyx.  For example, an inset with name, address, 
description, and values, of which there might be one or more present.

These wouldn't be there for the casual user.  But for making 
sophisticated & automated commercial documents, they're necessary.

While I certainly don't know enough to work on the actual embedding, I 
can probably do a lot with this inset type; I've done  a lot of the 
work that these things would be used for.

Hmm, while I'm at it, these insets should be done in a way that they 
don't infect a package that uses them with the GPL (or any other 
license).  The size of many of the markets for  such products is small 
enough that they would either be in house (in which GPL isn't such a 
problem), or a lone consultant who actually needs the money from each 
sale.  The source being open wouldn't be a problem, but the general 
free software idea doesn't work if there's only 10 potential customers 
. . .

rick

-- 

Reply via email to