I appreciate Sam's attempt to move this discussion in a more constructive direction and will make a few comments.

There is a strong case that no patch is ideal, patches may reach our present mis-placed understanding of "ideal", an understanding which we dearly hope will be superseded in time with better understanding. We should not accept bad patches, but should we refuse an "OK" patch merely because we were enlightened the day before we received it instead of the day afterwards? In other words, is it THAT bad? Does the badness (which surely exists unseen in patches we like) overpower the benefit?

I agree with this of course. As I have tried to explain in the other thread, my specific problem with this patch is that it is pitched at the wrong level of generality. Either (a) the problem is specific to elyxer and so shouldn't need solving in LyX or else (b) it isn't specific to elyxer and so shouldn't be solved with elyxer-specific glue code. That seems to me to be pretty close to completely obvious. So OK, that's a "should", so you can ask whether I'm trying to enforce some inappropriate ideal. Well, maybe. But it really doesn't seem that horrible to suggest that someone might at least TRY to do this right, i.e., in a way that will truly solve the problem. If it turns out to be a horrible mess, then we can return to the hackish approach.

I've got my literate programming packages which avoid the need for noweave entirely, and which supports parameterized chunks:
  http://repo.or.cz/w/newfangle.git
but in light of discussion here I don't highly rate the effort I anticipate will be required to make it part of Lyx - because after all it scratches MY itch because Lyx roadmap does not co-incide with my own, and therefore it does not co-incide with the Lyx roadmap.

I don't do literate programming and the like and so haven't tried to use these, but it's fairly easy to get things at this level (i.e., modules) into LyX. Probably the main obstacle in your case is be the awk script, since there seems to be a policy that things like this are supposed to be written in Python so as to be cross-platform. I know that's a burden, but what we include with LyX is supposed to work with LyX as it gets installed on the various platforms, and introducing a dependency upon awk probably isn't a good idea. That said, I'll be that porting this thing to python wouldn't be that bad. Certainly the getopt stuff would be easier.

Finally, and no offense intended, but I think the situation with elyxer is not representative of the situation with LyX development generally. The current team is quite happy to do a lot of hand-holding with new developers and to offer guidance and direction. But people are indeed very protective of the code, in a certain sense, and that is because we are all too familiar with what happens when someone tosses in some code and then disappears, and those of us who are still here than have to try to figure out what on earth they've done.

Indeed, it's ironic that what by far most developers would prefer (and what one developer has partially implemented) is a mode of HTML output that is much more integrated into LyX than elyxer intends to be. There are all kinds of reasons that this is the better way to go, long term, and we'd have been completely happy, and still would be completely happy, for someone to offer that kind of effort. That would be great, in fact.

What we have, instead, is a converter that lives in some weird in-between place where it isn't part of LyX---it is and is intended to be a standalone, external tool (and this is independent of where the source is hosted)---but by the same token makes no sense without LyX. That is what leads to these requests to patch LyX for the specific benefit of elyxer. The fact that these requests keep being made suggests to me that this weird in-between place is not a good place for something to live. Add that to other questions that many of us have had (e.g., elyxer is heavily dependent upon LyX's file format, which isn't even properly documented and was never intended for this kind of use) and you might start to get a feeling that a lot of effort is being misdirected.

That isn't to say that elyxer isn't in many respects an impressive achievement. It's just to say that there seem to me to be elements deep in its design that are quite limiting and that time spent fighting them could be spent a lot more productively.

Richard

Reply via email to