LiXizhi / NPLRuntime

NPL - Neural Parallel Language
https://paracraft.cn
GNU General Public License v2.0
266 stars 78 forks source link
lua npl paracraft programming-language tatfook

Build status Code docs Documentation Status

Welcome to the NPL Runtime!

NPL or Neural Parallel Language is an open source, high-performance, scripting language. Its syntax is 100%-compatible with lua. NPL runtime provides essential functionality for building 3D/2D/Server applications that runs on windows/linux/android/iOS.

Install Guide

git clone https://github.com/LiXizhi/NPLRuntime.git
./build_linux.sh

See Install Guide for details

Getting Started

Example code

-- this is from `helloworld.npl`
NPL.activate("(gl)helloworld.npl", {data="hello world!"})
this(msg){
   if(msg) then
      print(msg.data or "");
   end
}

Why a New Programming Language?

NPL prototype was designed in 2004, which was then called 'parallel oriented language'. NPL is initially designed to write flexible algorithms that works in a multi-threaded, and distributed environment with many computers across the network. More specifically, I want to have a language that is suitable for writing neural network algorithms, 3d simulation and visualization. Lua and C/C++ affinity was chosen from the beginning.

Usage

To run with GUI, use:

npl [filename] [parameters...]

To run in server mode, use:

npls [filename] [parameters...]

For example:

npls hello.npl