Janet - linguagem de programação funcional e imperativa
(janet-lang.org)-
Binário único com a linguagem completa (core, interpretador, compilador, montador, PEG) em menos de 1 MB
-
Suporte a Windows/macOS/Linux
-
Ótima como linguagem de script para sistemas
-
Pode ser usada para tudo em que Lisp é usado (prototipagem, sistemas dinâmicos etc.)
-
Pode ser embutida facilmente em outros programas, como Lua ou Guile (um arquivo C e dois arquivos de cabeçalho)
-
Adota as vantagens de várias linguagens
→ Sintaxe semelhante à de Lisp e Scheme
→ Closures de primeira classe & green threads
→ Generators no estilo Python
→ Mutável & imutável: array/tuple, table/struct, buffer/string
→ Macros de Lisp
→ Carregamento dinâmico de bibliotecas C
→ Suporte a REPL
→ PEG embutido na biblioteca principal
→ Possibilidade de criar executáveis standalone com a ferramenta de build jpm
2 comentários
Isso sempre acontece quando surge uma linguagem nova... ela pode ter várias vantagens e ser boa para certos usos, mas no fim das contas, se a linguagem não tiver um "killer app", parece difícil adotá-la. Sem um killer app, acho que é impossível escapar de questionamentos como "até onde dá para desenvolver com essa linguagem?", "que tipo de biblioteca ela oferece suporte?" e "será que haverá fôlego para mantê-la de forma contínua?"...
Fico curioso para ver por quanto tempo Janet vai conseguir sobreviver.
No GitHub do Janet, ele é apresentado como um Modern Lisp, mas também há quem diga que "se não tem List, não é Lisp".
(O nome LISP vem de LISt Processing)
→ A List, como escrito acima, é substituída por estruturas de dados como array, hashtable, struct e tuple