5 points par xguru 2020-05-14 | 2 commentaires | Partager sur WhatsApp
  • Un binaire unique de moins de 1 Mo pour l’ensemble du langage (cœur, interpréteur, compilateur, assembleur, PEG)

  • Prend en charge Windows / macOS / Linux

  • Bien adapté comme langage de script système

  • Utilisable partout où Lisp est employé (prototypage, systèmes dynamiques, etc.)

  • Facilement embarquable dans d’autres programmes comme Lua ou Guile (un fichier C et deux fichiers d’en-tête)

  • Intègre les atouts de plusieurs langages

→ Une syntaxe proche de Lisp et Scheme

→ Closures de première classe & green threads

→ Générateurs de style Python

→ Mutable & Immutable : array/tuple, table/struct, buffer/string

→ Macros Lisp

→ Chargement dynamique de bibliothèques C possible

→ Prise en charge du REPL

→ PEG intégré à la bibliothèque cœur

→ Création d’exécutables autonomes possible avec l’outil de build jpm

2 commentaires

 
functor 2020-05-14

C’est toujours la même chose à chaque sortie d’un nouveau langage… Même s’il a de nombreux avantages et convient bien à certains usages, au final, sans « killer app », il semble difficile de l’adopter. Sans killer app, on ne peut apparemment pas éviter les critiques du type : « Jusqu’où peut-on développer avec ce langage ? », « Quelles bibliothèques seront prises en charge ? » ou encore « Y aura-t-il les ressources nécessaires pour le maintenir dans la durée ? ».

Je suis curieux de voir combien de temps Janet parviendra à survivre.

 
xguru 2020-05-14

Sur le GitHub de Janet, il est présenté comme un « Modern Lisp », mais certains estiment aussi que « s’il n’y a pas de List, ce n’est pas du Lisp ».

(Le nom LISP vient de LISt Processing)

→ Les List sont remplacées par des structures de données comme les tableaux, les tables de hachage, les struct et les tuples, comme indiqué plus haut.