
Sandboxed Lisp dialect for the JVM with immutable data structures, macros, and over 900 core functions. Ideal for safe scripting, automation, and embedding in Java applications.
Venice is a Clojure inspired sandboxed Lisp dialect with excellent Java interoperability.
Venice is a Lisp dialect born from the need for a safe, sandboxed, general-purpose language. It shares with Lisp the code-as-data philosophy and a powerful macro system.
Venice is mainly a functional programming language focusing on immutable, persistent data structures.
Venice supports macros, tail-recursion, dynamic code loading, multimethods, protocols and many more. It comes with excellent Java interoperability, and a configurable sandbox that can prevent all sorts of unwanted JVM and Venice interactions. Venice has been designed from the ground-up with a sandbox, making it a first class citizen.
Venice includes a comprehensive library of over 900 core functions. Its immutable persistent data structures, along with Clojure-style atoms, futures, promises, and agents, greatly simplify the process of writing concurrent code.
Venice seamlessly and transparently integrates with Java and any third-party libraries, giving you access to a vast array of libraries, frameworks, and tools.
Venice's strength is making complex scripting and automation tasks easy. Have you ever felt limited by Bash or PowerShell scripts? With Venice, you can write concise and elegant platform independent scripts effortlessly.
Venice does not depend on any runtime libraries (other than the JVM). You can easily add it as a standalone JAR to your classpath.
Venice requires Java 8 or newer.
Would you like to try Venice in an interactive REPL environment? Test it on Gitpod