This is a nightly build of Novika. Novika was never truly stable, so nightlies aren't much different from the released version(s) in this sense.
Novika requires the following libraries to be installed on your system.
libgc
libevent
libffi
libgmp
libpcre2
Most of these are probably already included in your distribution.
Everything should work as-is.
You can execute Novika CLI binary bin/novika
and image assembler bin/nkas
while you're inside this directory, but I'd recommend to install Novika system-wide
for better UX.
As for NKI, you can run it from anywhere; it does not depend on the Novika environment set up on your system.
-
Move the folder this README is in anywhere you want. In this section, let's assume you've moved it to
~/app/novika
(substitute for your own directory below). When a Novika update arrives, you'd just replace the contents of~/app/novika
with those of the newer version's folder. -
Next, you'll need to add
~/app/novika/bin/
to$PATH
. This step is entirely optional, but runningnovika repl
is certainly nicer than~/app/novika/bin/novika repl
. -
Create a soft link called
.novika
in your home directory. The link should point to the~/app/novika/env
directory. This is done so Novika can locate its standard library and tools (e.g.repl
) regardless of your current working directory.
The steps on Windows are similar, except that you'd need to do some clicking to get to $PATH
, and use C:\Users\...\
instead of ~
.
Novika CLI is the generic frontend. It is used to prototype and explore the language. Type
novika help
for more information on this frontend.
$ novika console examples/snake.nk
[runs snake]
$ novika repl
[launches the repl]
$ mkdir my-awesome-novika-project
$ cd my-awesome-novika-project
$ novika new
[creates the project]
$ novika
Hello World
Novika image assembler is used to pack and compress Novika source code. Novika images could be distributed together with NKI (perhaps in a self-extracting archive) to run them on systems without a (proper) Novika environment.
NKAS has roughly the same interface as Novika CLI, particularly in that it is aware of the Novika environment and allows you to drop things Novika can find on her own.
$ nkas -cb:b repl repl.nki
[packs and compresses Novika REPL, saves to repl.nki]
$ nki repl.nki
[unpacks and launches Novika REPL]
Novika image interpreter is independent of the (developer's) Novika environment, and could be used to run Novika images on user systems, where Novika standard library and/or program dependencies are not preinstalled.
$ nki path/to/image.nki
[unpacks and launches image.nki]
Novika is powered by: