Neu (pronounced "new") is a C++ 11 framework, collection of programming languages, and multipurpose software system designed for: the creation of artificial intelligence applications and systems, modeling and simulation, programming language and compiler construction, technical computing in general, and more. Neu's primary design motivations are: elegance and simplicity achieved through good design, and developer convenience/productivity while at the same time aiming for the highest performance possible. Neu is made available as open source under a minimally-restrictive BSD-style license and can be used freely in commercial applications. Neu was designed for UNIX-based systems and compiles and runs on Mac OS X and Linux and is expected to be easily ported to other platforms as well. The Neu codebase consists of highly reusable and well-integrated components, providing a clean and refined design and implementation which is easy to read, use, and modify/extend.
Neu features a large range of functionality including: powerful datatypes, most importantly nvar, a recursive variant type capable of representing virtually any type of data, including nested and symbolic data, in a highly efficient manner; NDatabase: a full-featured database system for creating and querying arbitrarily large tables of nvar's; easy program setup including configuration and options handling; powerful language design features which were used to create NML - an interpreted language with functional programming aspects; NPL - a high-performance concurrent language using LLVM JIT compilation; NParser, an easy-to-use parser generator for rapidly creating custom languages; a task and graph-based concurrency system and AI search mechanism; networking and distributed objects; Meta Concepts: A Knowledge-Based Code Generation System; high performance neural networks using LLVM/JIT; a Haskell interface; several utility classes, and more.
We hope you will find Neu useful, powerful, and fun!
|12/12/14||Added Haskell interface.||neu‑1.6.0.tar.gz|
|12/7/14||Added NObject store/restore. Various fixes and additions.||neu‑1.5.0.tar.gz|
|10/19/14||Various minor fixes and improvements.||neu‑1.4.3.tar.gz|
|9/25/14||Changes related to NMObject.||neu‑1.4.2.tar.gz|
|9/22/14||Updates related to neu-meta on the Mac.||neu‑1.4.1.tar.gz|
|9/15/14||Significant performance improvments to the interpreter including changes to NObject and nvar. Several miscellaneous improvements and fixes.||neu‑1.4.0.tar.gz|
|9/7/14||Updated to use LLVM and Clang 3.5. Fixes to NCommunicator, nvar, and other various fixes.||neu‑1.3.0.tar.gz|
|9/2/14||Added NParser, an easy-to-use yet powerful parser generator. Changes to NProc. Various additions.||neu‑1.2.0.tar.gz|
|8/18/14||Added queue, set, hash set, and hash map containers and extended nvar with them. Added NDatabase. Various fixes.||neu‑1.1.0.tar.gz|
|5/17/14||Various fixes. Added more examples and tests.||neu‑1.0.1.tar.gz|
We welcome your feedback and would be interested to find out about what you like or dislike about the framework, what areas you consider important, or how you are using it or intend to use it. If you have questions or need clarification about things which are not clear from the documentation, have bug reports, or suggestions and comments, we’d love to hear from you.