Добро пожаловать в Лиспекс — язык, созданный для ясности, продуктивности и радости созидания.
Лиспекс — это современное переосмысление мощи и простоты Лиспа. Он наследует ключевую философию Лиспа «Код — это данные», избавляясь от сложности для максимальной продуктивности разработки. Ощутите удовольствие от написания красивого кода с помощью лаконичной и последовательной грамматики.
Один язык, одна грамматика
Лиспекс смело отбрасывает сложные синтаксические конструкции, придерживаясь единственного принципа: всё выражается в скобках (). От числовых вычислений и определения функций до условной логики и даже списков данных — вся мировая логика унифицирована в этой последовательной структуре S-выражений.
Единая грамматика означает, что сам код становится «данными» с идеальной структурой. Это невероятно упрощает чтение и анализ кода и открывает мощный мир «метапрограммирования», где код может генерировать и манипулировать сам собой. Именно так Лиспекс наиболее чисто реализует великую философию Лиспа: «Код — это данные».
Что такое Лиспекс?
Лиспекс (сокращение от 'Lisp Expression') воплощает нашу философию о том, что выражение Лиспа является самым совершенным «архетипом» для всей логической мысли.
В отличие от большинства языков, которые заставляют идеи вписываться в предопределённые синтаксические рамки, Лиспекс переносит необработанную структуру мысли непосредственно в код. Здесь нет сложных синтаксических конструкций или правил; существуют только чистые S-выражения, представляющие поток мысли.
Таким образом, Лиспекс — это язык, который выходит за рамки грамматических ограничений, чтобы исследовать саму суть мысли.
Попробуйте Лиспекс
Посмотрите, как работает последовательная грамматика Лиспекса на простом примере. Приведённый ниже код отфильтровывает чётные числа из списка, а затем умножает каждое на 10.
;; Весь код состоит из основных форм и функций стандартной библиотеки.
(define numbers '(1 2 3 4 5 6))
;; Отфильтровать чётные числа.
(define evens
(filter (lambda (n) (= (modulo n 2) 0))
numbers))
;; Умножить каждое чётное число на 10.
(map (lambda (n) (* n 10)) evens)
;; ⇒ (list 20 40 60)
Этот пример демонстрирует лаконичный синтаксис S-выражений Лиспекса и его мощную поддержку функционального программирования, что позволяет легко создавать и понимать сложные конвейеры обработки данных.
Ключевые преимущества
- Маленькое, предсказуемое ядро: Минимальный набор основных форм и детерминированные правила преобразования снижают кривую обучения и повышают предсказуемость кода.
- Единое S-выражение: Поскольку код и данные имеют одинаковую структуру, анализ, преобразование и генерация кода становятся исключительно простыми.
- Преобразование на основе LENA code: Код, написанный на Лиспексе, может быть преобразован примерно в 30 других языков программирования с помощью LENA code, что позволяет использовать экосистему и инструменты каждого языка.
- Практичная стандартная библиотека: Разделяя чистое ядро языка и явные модули ввода-вывода и системных функций, мы обеспечиваем как стабильность, так и практичность.
Следующие шаги
Готовы начать своё путешествие с Лиспекс?
- Начните с нашего руководства «Начало работы», чтобы настроить окружение и запустить свою первую программу на Лиспексе.
- Изучите «Синтаксис», чтобы узнать больше о входной грамматике Лиспекса (токены, литералы, основные/производные формы, правила нормализации).
- Узнайте о более широком видении проекта Core Semantic Kernel.
Мы с нетерпением ждём, что вы создадите с помощью Лиспекс.