
Песочный диалект Lisp для JVM с неизменяемыми структурами данных, макросами и более чем 900 базовыми функциями. Идеально подходит для безопасного скриптования, автоматизации и встраивания в Java-приложения.
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