/Shiranui

Shiranui is new programming language supports live/test driven programming.

Primary LanguageC++BSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Build Status

Programming Language Shiranui

Shiranui combines Live programming and Design-by-Contract,on-the-fly testcase making.

shiranui logo

Screencast

Shiranui screencast

How to build

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

How to build on Mac OS

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

How to run

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.)

Run in IDE(Emacs)

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.

Run REPL(read-eval-print-loop)

$ 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.

License

Shiranui is "New BSD License" except some files. See LICENSE for more info.