Андрей Власовских

Блог Андрея Власовских

Posts Tagged ‘make

Литературный Python

5 комментариев

Под впечатлением Literate Haskell, я решил сделать что-то подобное для Python, чтобы было проще писать заметки в блоге. Пишу я редко, поэтому это было стимулом повозиться с блогом и написать что-нибудь.

Literate programming, литературное программирование — идея, придуманная и реализованная Дональном Кнутом в 1980-x для C и TEX:

Главная идея — рассматривать программу как средство взаимодействия между людьми, а не набор инструкций для компьютера.

Идею Кнута реализовали и в Haskell. Там поддерживается два стиля разделения кода и текста: добавление к строкам кода > (птичий стиль) или окружение кода парами \begin{code} и \end{code} (стиль LATEX). К тому же для Haskell часто применяют преобразователи кода из ASCII в расширенный математический набор символов, из-за чего код выглядит неприлично красивым :)

Для меня целью было получить хотя бы некоторые преимущества литературного программирования для Python. Я хотел иметь возможность запускать код, который я пишу в заметках для блогов. Раньше приходилось писать его в отдельном исходнике, затем перенося в заметку, либо полагаться на то, что код написан правильно и запускать его не нужно.

Когда я пишу заметки в блог, я размечаю текст при помощи XHTML или (намного чаще) Markdown. В последнем случае при помощи утилиты markdown я перевожу разметку в XHTML. Для автоматизации я использую GNU make: здесь нужен совсем простой makefile. Для себя я придумал довольно простой способ написания текста в Literate Python. Для разделения кода я использовал птичий стиль Haskell. Исходный файл *.lpy автоматически преобразуется при помощи make в два файла: обычный исходник *.py и файл *.xhtml.

Читать далее…

Реклама

Written by vlan

2008-05-18 at 22:17

Опубликовано в Uncategorized

Tagged with , , , , , , ,