Shiranui combines Live programming and Design-by-Contract,on-the-fly testcase making.
You must have following softwares installed.
- Autotools(autoconf,automake,autoconf-archive)
- C++ Compiler that supports c++11(I recommend gcc or clang)
At first,cd to shiranui dir.
$ autoreconf
$ automake --add-missing
$ autoreconf
$ ./configure
$ make
I used macports to install boost.
$ export LIBRARY_PATH=$LIBRARY_PATH:/opt/local/lib
$ export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/local/lib
$ export CPLUS_INCLUDE_PATH=$CPLUS_INCLUDE_PATH:/opt/local/include
$ export DYLD_LIBRARY_PATH=/opt/local/lib
$ autoreconf
$ automake --add-missing
$ autoreconf
$ ./configure
$ make
At first,run shiranui to see help.
$ src/shiranui -h
No arguments options:
-h [ --help ] print help message
-s [ --server ] run Shiranui in server mode
-k [ --kagero ] arg Specify Kagero(Standard) library path
-e [ --exec ] arg execute given file
-c [ --compile ] arg compile file to c++
-a [ --arare ] arg Specify Arare(launchpad) path
-o [ --out ] arg Specify output file
-t [ --test ] test(donot use.)
Shiranui's primary development environment is Emacs. At first,eval kasumi/kasumi.el (use "M-x eval-current-buffer"). Next,open main.nui and run "M-x kasumi-mode".
Shiranui will run in server mode and see how code changes. Remember,Shiranui doesn't support UTF-8 currently,so DO NOT type unicode.
Opening doc/demo.nui is helpful.
$ src/shiranui
This is shiranui 1.0.0
> let a = 1;
let a = 1;
1
> let unit = system_call("print")(a);
let unit = system_call(print)(a);
1
1
> good bye shirei
"system_call" stands for call bulitin function. Currenty, Shiranui doesn't have type.
Shiranui is "New BSD License" except some files. See LICENSE for more info.