
Venice — это вдохновлённый Clojure изолированный (sandboxed) диалект Lisp с отличной интеграцией с Java.
Venice — это диалект Lisp, возникший из потребности в безопасном, изолированном, универсальном языке. С Lisp его роднит философия «код как данные» и мощная система макросов.
Venice — в первую очередь функциональный язык программирования, ориентированный на неизменяемые, персистентные структуры данных.
Venice поддерживает макросы, хвостовую рекурсию, динамическую загрузку кода, мультиметоды, протоколы и многое другое. Он обеспечивает отличную интеграцию с Java и настраиваемую песочницу (sandbox), которая может предотвращать всевозможные нежелательные взаимодействия с JVM и Venice. Venice изначально проектировался с учётом песочницы, что делает её полноценной частью языка.
Venice включает обширную библиотеку из более чем 900 базовых функций. Его неизменяемые персистентные структуры данных вместе с атомами, futures, promises и агентами в стиле Clojure значительно упрощают написание конкурентного кода.
Venice легко и прозрачно интегрируется с Java и любыми сторонними библиотеками, открывая доступ к огромному множеству библиотек, фреймворков и инструментов.
Сильная сторона Venice — упрощение сложных задач написания скриптов и автоматизации. Вы когда-нибудь чувствовали ограничения Bash или PowerShell? С помощью Venice вы сможете без усилий писать лаконичные и элегантные кроссплатформенные скрипты.
Venice не зависит от каких-либо библиотек времени выполнения (кроме JVM). Вы можете легко добавить его как отдельный JAR в свой classpath.
Venice требует Java 8 или новее.
Хотите попробовать Venice в интерактивной среде REPL? Попробуйте на Gitpod
Вы можете загрузить его из центральных репозиториев Maven:
<dependency>
<groupId>com.github.jlangch</groupId>
<artifactId>venice</artifactId>
<version>1.12.52</version>
</dependency>
Из командной оболочки выполните ./gradlew shadowJar в домашнем каталоге проекта, чтобы запустить задачу Gradle по сборке JAR-файла Venice.
На MacOS / Linux
Дайте gradlew права на выполнение после клонирования git-репозитория Venice ...
venice% chmod +x ./gradlew
... и соберите проект
venice% ./gradlew clean shadowJar
На Windows
C:\Users\foo\venice> gradlew.bat clean shadowJar
Я принимаю Pull Request'ы через GitHub. Есть несколько рекомендаций, которые упростят мне применение PR:
Этот код лицензирован в соответствии с Apache License v2.