Skip to content
Li, Xizhi edited this page Mar 30, 2023 · 24 revisions

Welcome to the NPL wiki!

NPL or Neural Parallel Language is an open source, fast, general purpose scripting language. Its syntax is 100%-compatible with lua. NPL runtime provides essential functionality for building 3D/2D/Server applications that runs on windows/Mac/linux/android/iOS/wasm. NPL can mix user-mode preemptive and non-preemptive code. It gives you the concurrency of Erlang and speed of Java/C++ in the same dynamic and weakly-typed language.

NPL技术交流QQ群 543474853, 你有问题也可以点击 ❓ Ask Question

NPL wiki is also available at http://docs.paraengine.com/, you can also perform full-text search in the search bar.

Install Guide

git clone https://github.com/LiXizhi/NPLRuntime.git
git submodule init && git submodule update
./build_linux.sh

See Install Guide for details

Getting Started

Example code

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

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 [parameters...]

To run in server mode, use:

    npls [filename] [parameters...]

For example:

    npls hello.npl

Open-source NPL packages

For more open-source NPL libraries or tools, please see:

Clone this wiki locally