Martin Blais wrote: > On 5/22/07, Martin Blais <[EMAIL PROTECTED]> wrote: >> ReST works well only when there is little markup. Writing code >> documentation generally requires a lot of markup, you want to make >> variables, classes, functions, parameters, constants, etc.. (A better >> avenue IMHO would be to augment docutils with some code to >> automatically figure out the syntax of functions, parameters, classes, >> etc., i.e., less markup, and if we do this in Python we may be able to >> use introspection. This is a challenge, however, I don't know if it >> can be done at all.) > > Just to follow-up on that idea: I don't think it would be very > difficult to write a very small modification to docutils that > interprets the default role with more "smarts", for example, you can > all guess what the types of these are about: > > `class Foo` (this is a class Foo) > `bar(a, b, c) -> str` (this is a function "bar" which returns a string) > `name (attribute)` (this is an attribute) > > ...so why couldn't the computer solve that problem for you? I'm sure > we could make it happen. Essentially, what is missing from ReST is > "less markup for documenting programs". By restricting the > problem-set to Python programs, we can go a long way towards making > much of this automatic, even without resorting to introspecting the > source code that is being documented.
I was going to suggest something similar. Ideally, any markup language ought to have a kind of "Huffman Coding" of complexity - in other words, the markup symbols that are used the most frequently are the ones that should be the shortest and easiest to type. Just as in real Huffman Coding, the popularity of a given element is going to depend on context. This would imply that there should be customizations of the markup language for different knowledge domains. While there are some benefits to having a 'standard' markup, any truly universal markup is going to be much heavier and more cumbersome than one that is specialized for the task. I would advocate a system in which the author inserts minimalistic 'hints' into the text, and the document processor uses those hints along with some automatic reasoning to determine the final markup. As in the above example, the use of backticks can be signal to the document processor that the enclosed text should be examined for identifiers and other Python syntax. I would also suggest that one test for evaluating the quality of markup syntax is whether or not it can be learned by example - can a user follow the pattern of some other part of the docs, without having to learn the syntax in a formal way? -- Talin _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com