Skip to content

Latest commit

 

History

History
15 lines (11 loc) · 2.62 KB

README.md

File metadata and controls

15 lines (11 loc) · 2.62 KB

TPL (язык программирования текстов)

Попытка создания языка:

  1. Который одновременно является полноценным языком программирования (НЕ макрогенератором) и языком разметки текстов (в качестве тегов используются вызовы функций с параметрами).
  2. Который не слишком засоряет текст громоздкими тегами, но и не заставляет гадать, где текст, а где тег.
  3. Который прост в освоении и использовании даже для непрограммистов.
  4. Который позволяет пользователю самому создавать "теги" для генерации нетривиальных кусков целевого языка разметки.
  5. Который позволяет преобразовать исходный текст в любой другой язык разметки текстов, не изменяя исходный текст, а только подключая нужные библиотеки (написанные опять же на TPL).
  6. Который позволяет размечать русскоязычный текст, не переключая постоянно раскладку клавиатуры.
  7. Для которого сравнительно легко написать транслятор силами не самого квалифицированного программиста, на любом языке программирования, с минимальным использованием сторонних библиотек.

В языке есть: функции первого класса, вложенные функции, замыкания, контексты вызовов, именованные аргументы, значения по умолчанию, объекты-константы любого типа, константные выражения с объектами-константами и чистыми функциями.

В языке нет: арифметических и многих других операторов (вместо них встроенные функции), пользовательских классов и объектов (вместо них замыкания и списки), бесконечных циклов (только древние циклы со счетчиком и итераторы списков).