Home

Awesome

Neptune Lang

Neptune is a dynamically typed scripting language

Documentation crates.io Book

Goals

  1. Embeddability: It can be embedded in any rust application. Synchronous or asynchronous rust functions can be used by a neptune script.
  2. Performance: It performs better than most interpreted(JITless) scripting languages. See Benchmarks for a comparison with lua, luajit, nodejs and ruby.
  3. Security: It is impossible to do any kind of undefined behaviour(including integer overflow)
  4. 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.
  5. Small implementation

Features

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.

CommandDescription
Ctrl-LClear the screen
Ctrl-CInterrupt/Cancel editing
Ctrl-DQuit REPL
Up arrowPrevious history entry
Down arrowNext history entry

To embed it in rust you can use the library from crates.io.

Todo