[Python-ideas] Literate python?

Masklinn masklinn at masklinn.net
Wed Mar 9 09:06:31 CET 2011


On 9 mars 2011, at 03:01, Terry Reedy <tjreedy at udel.edu> wrote:
> On 3/8/2011 5:02 PM, Mike Meyer wrote:
>> Wild idea, swiped directly from haskell/ghc:
>>>> How about making the python interpreter just a little bit smarter,
>> It already is ;-)
> Though not exactly well known, expression statements that consist of a literal (number or string) are ignored -- except for string literals in docstring position (and then, they are attached as attributes, rather than being in the code object.
>> def f():
> 'doc' # to .__doc__
> 1 # ignored
> (1,2,3) # will not be ignored, even though constand and unused
> # comments are ignored
> 'same as comment'
> '''
> multiline
> comment
> '''
>> from dis import dis
> dis(f)
> >>>
> 4 0 LOAD_CONST 5 ((1, 2, 3))
> 3 POP_TOP
>> 10 4 LOAD_CONST 4 (None)
> 7 RETURN_VALUE
>>> If the first non-white-space character after the shebang line (if
>> present) is a backslash, then the compiler ignores lines until it sees
>> a line consisting of \begin{code} (which could be the first line),
>> then compiles lines until it sees a line consisting of \end{code},
>> after which it switches back to searching for \begin{code}.
>> So this appears unnecessary. Just use quotes.
>> The main problems is that program editors are generally not smart enough to do auto text wrapping within multiline strings.
>> -- 
> Terry Jan Reedy
>That's a far cry from lhs though (to say nothing of lit prog). Abusing doctests would be much closer to literate haskell (just about identical if you find a terse way to ignore outputs), if still a long way from knuth's literate programming. 
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/python-ideas/attachments/20110309/752e3753/attachment.html>


More information about the Python-ideas mailing list

AltStyle によって変換されたページ (->オリジナル) /