Alexander Kuklev (akuklev) wrote,
Alexander Kuklev
akuklev

Categories:

Изобретённый велосипед, серия 247

Придумал клёвую мысль: литературное программирование, это же когда не комменты отмечаются в коде, а код в "комментах", следовательно в идеале исходник программы должен быть маркдауном с вкраплёнными кусками кода, благо в языках питоновского типа они автоматически индентированы, а первая строка помечена ключевым словом, обозначающим что дальше пойдёт код: def, structure, object, theorem и т.д.

Так вот, оказалось что эта идея (причём в качестве языка комментов взят в точности маркдаун) уже применена в literate coffescript, единственное в кофескрипте нету ключевых слов интродукции сущностей, что чуть ухудшает внешний вид: индентить нужно не только тело, как в любом исходнике, но весь код.

Ну и идея не доведена до логического завершения: в отличие от CWEB, тут нету умных инклудов и возможности augment'ить (это когда какую-то секцию кода недописали, оставив там многоточие в конце, которое оператор throws NotYetImplementedException, отвлеклись на что-то другое, а потом сказали augment SectionName: и написали, на что многоточия заменять) и ammend'ить секции (это когда к уже написанным секциям с аннотацией, что определение @preliminary или @incomplete, применяются трансформации). Я думаю, что амменды и аппенды должны поддерживаться самим языком в рамках общей поддержки аспектно-ориентированности, а инклуды в любом синтаксически допустимом месте в рамках поддержки макросов. Ну и ссылки на идентификаторы в litcoffee не саморесолвятся, а чего, казалось бы, нет чтобы заюзать для инклюзии валидных кусков кода специально зарезервированную под это конструкцию [code].
Subscribe

  • (no subject)

    Встретил фотографию толпы футбольных фанатов, и она меня скорее напугала, у меня уж точно нет желания быть там среди них. Но внезапно я понял, что…

  • Прогресс

    Десять дней назад, вторая ступень SpaceX'овского корабля Starship своим ходом слетала своим ходом на десять километров вверх, и усмепшно приземлилась…

  • О водосбережении

    Как известно, питьевая вода во многих странах дефицитный ресурс. И даже в дождливой Германии летом иногда случаются засухи, в результате которых она…

  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 14 comments

  • (no subject)

    Встретил фотографию толпы футбольных фанатов, и она меня скорее напугала, у меня уж точно нет желания быть там среди них. Но внезапно я понял, что…

  • Прогресс

    Десять дней назад, вторая ступень SpaceX'овского корабля Starship своим ходом слетала своим ходом на десять километров вверх, и усмепшно приземлилась…

  • О водосбережении

    Как известно, питьевая вода во многих странах дефицитный ресурс. И даже в дождливой Германии летом иногда случаются засухи, в результате которых она…