
Venice è un dialetto Lisp in sandbox ispirato a Clojure con un'eccellente interoperabilità con Java.
Venice è un dialetto Lisp nato dalla necessità di un linguaggio generico, sicuro e sandboxed. Condivide con Lisp la filosofia del codice-come-dato e un potente sistema di macro.
Venice è principalmente un linguaggio di programmazione funzionale incentrato su strutture dati immutabili e persistenti.
Venice supporta macro, tail-recursion, caricamento dinamico del codice, multimethods, protocolli e molto altro. Offre un'eccellente interoperabilità con Java e una sandbox configurabile che può prevenire ogni tipo di interazione indesiderata con JVM e Venice. Venice è stato progettato fin dall'inizio con una sandbox, rendendola un cittadino di prima classe.
Venice include una libreria completa di oltre 900 funzioni core. Le sue strutture dati persistenti e immutabili, insieme ad atom, future, promise e agent in stile Clojure, semplificano notevolmente la scrittura di codice concorrente.
Venice si integra perfettamente e in modo trasparente con Java e con qualsiasi libreria di terze parti, dandoti accesso a un'ampia gamma di librerie, framework e strumenti.
Il punto di forza di Venice è rendere semplici attività complesse di scripting e automazione. Ti sei mai sentito limitato dagli script Bash o PowerShell? Con Venice puoi scrivere script indipendenti dalla piattaforma, concisi ed eleganti, senza sforzo.
Venice non dipende da alcuna libreria runtime (a parte la JVM). Puoi facilmente aggiungerlo come JAR autonomo al tuo classpath.
Venice richiede Java 8 o versioni successive.
Vuoi provare Venice in un ambiente REPL interattivo? Provalo su Gitpod
Puoi scaricarlo dai repository centrali Maven:
<dependency>
<groupId>com.github.jlangch</groupId>
<artifactId>venice</artifactId>
<version>1.12.52</version>
</dependency>
Da una shell dei comandi, esegui ./gradlew shadowJar nella directory principale del progetto per invocare il task Gradle che compila il JAR di Venice.
Su MacOS / Linux
Concedi il permesso di esecuzione a gradlew dopo aver clonato il repository git di Venice ...
venice% chmod +x ./gradlew
... e compila il progetto
venice% ./gradlew clean shadowJar
Su Windows
C:\Users\foo\venice> gradlew.bat clean shadowJar
Accetto Pull Request via GitHub. Ci sono alcune linee guida che renderanno più semplice per me applicare le PR:
Questo codice è concesso in licenza secondo la Apache License v2.