3 releases
0.1.3 | Apr 17, 2022 |
---|---|
0.1.2 | Apr 14, 2022 |
0.1.1 | Apr 14, 2022 |
0.1.0 |
|
#897 in Programming languages
25 downloads per month
Used in neptune-cli
3.5MB
69K
SLoC
Contains (WOFF font, 99KB) fontawesome-webfont.woff, (WOFF font, 78KB) fontawesome-webfont.woff2, (WOFF font, 45KB) open-sans-v17-all-charsets-300.woff2, (WOFF font, 41KB) open-sans-v17-all-charsets-300italic.woff2, (WOFF font, 45KB) open-sans-v17-all-charsets-600.woff2, (WOFF font, 43KB) open-sans-v17-all-charsets-600italic.woff2 and 11 more.
Neptune Lang
Neptune is a dynamically typed scripting language
Goals
- Embeddability: It can be embedded in any rust application. Synchronous or asynchronous rust functions can be used by a neptune script.
- Performance: It performs better than most interpreted(JITless) scripting languages. See Benchmarks for a comparison with lua, nodejs and ruby.
- Security: It is impossible to do any kind of undefined behaviour(including integer overflow)
- Concurrency
- It is trivial to write asynchronous code
- An error in a task does not always terminate the whole application and can be handled gracefully.
- There are no function colors.
- Small implementation
Features
- Iterators
- String Interpolation
- Modules
- Optional semicolons
- UTF-8 strings
- and much more...
Getting Started
The CLI be installed by the command given below. You must have the rust compiler and a C++ compiler. The C++ compiler can be set using the CXX environment variable. Clang is recommended for best performance.
cargo install neptune-cli
At the moment the CLI has a few basic functions and a REPL. The REPL supports multiline entries and the following shortcuts.
Command | Description |
---|---|
Ctrl-L | Clear the screen |
Ctrl-C | Interrupt/Cancel editing |
Ctrl-D | Quit REPL |
Up arrow | Previous history entry |
Down arrow | Next history entry |
To embed it in rust you can use the library from crates.io.
Todo
- CLI - Standard library, external modules
- Preemptiveness?
- Buffer type
Dependencies
~2.4–5MB
~82K SLoC