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 --
