
Venice est un dialecte Lisp sandboxé inspiré de Clojure, avec une excellente interopérabilité avec Java.
Venice est un dialecte Lisp né du besoin d'un langage sûr, sandboxé et généraliste. Il partage avec Lisp la philosophie du code-comme-données et un puissant système de macros.
Venice est principalement un langage de programmation fonctionnelle axé sur les structures de données immuables et persistantes.
Venice prend en charge les macros, la récursion terminale, le chargement dynamique de code, les multiméthodes, les protocoles et bien plus encore. Il offre une excellente interopérabilité avec Java et un sandbox configurable qui peut empêcher toutes sortes d'interactions indésirables avec la JVM et Venice. Venice a été conçu dès le départ avec un sandbox, ce qui en fait un citoyen de première classe.
Venice comprend une bibliothèque complète de plus de 900 fonctions de base. Ses structures de données persistantes immuables, ainsi que les atomes, futures, promesses et agents de style Clojure, simplifient considérablement l'écriture de code concurrent.
Venice s'intègre de manière transparente avec Java et toutes les bibliothèques tierces, vous donnant accès à un vaste éventail de bibliothèques, de frameworks et d'outils.
La force de Venice est de rendre faciles les tâches complexes de script et d'automatisation. Avez-vous déjà ressenti les limites des scripts Bash ou PowerShell ? Avec Venice, vous pouvez écrire sans effort des scripts concis, élégants et indépendants de la plateforme.
Venice ne dépend d'aucune bibliothèque d'exécution (autre que la JVM). Vous pouvez facilement l'ajouter en tant que JAR autonome à votre classpath.
Venice nécessite Java 8 ou une version ultérieure.
Souhaitez-vous essayer Venice dans un environnement REPL interactif ? Testez-le sur Gitpod
Vous pouvez le récupérer depuis les dépôts centraux Maven :
<dependency>
<groupId>com.github.jlangch</groupId>
<artifactId>venice</artifactId>
<version>1.12.52</version>
</dependency>
Depuis un interpréteur de commandes, exécutez ./gradlew shadowJar dans le répertoire racine du projet pour invoquer la tâche Gradle qui génère le JAR Venice.
Sur MacOS / Linux
Donnez la permission d'exécution à gradlew après avoir cloné le dépôt git Venice ...
venice% chmod +x ./gradlew
... puis compilez le projet
venice% ./gradlew clean shadowJar
Sur Windows
C:\Users\foo\venice> gradlew.bat clean shadowJar
J'accepte les Pull Requests via GitHub. Voici quelques directives qui faciliteront l'application des PR :
Ce code est sous licence Apache License v2.