janet-lang/janet
FreeA dynamic language and bytecode vm
About janet-lang/janet
Janet is a dynamic programming language designed for system scripting, expressive automation, and extending programs written in C or C++ with user scripting capabilities. It strikes a balance between Lua's simplicity and the larger ecosystems of Python and GNU Guile, offering a richer core library than Lua while being smaller and easier to embed than Python or Guile. Key features include a REPL for interactive development, a separate client program for embedding, built-in socket networking, threading, subprocesses, file system functions, a Parsing Expression Grammar (PEG) engine as a robust alternative to regex, macros and compile-time computation, and a per-thread event loop. Janet is free and open-source, with a growing community and available as a library that can be embedded into applications.
Key Features
Pros & Cons
- Richer core library than Lua, smaller than Python/Guile
- Easy to embed and port to different platforms
- Built-in PEG engine for pattern matching
- Supports macros and compile-time metaprogramming
- Includes REPL for interactive exploration
- Free and open-source with permissive license
- Smaller ecosystem and fewer third-party libraries than mainstream languages
- Less community support and fewer learning resources available
- May have a steeper learning curve for those unfamiliar with functional programming concepts