Nyah

Nyah is a programming language designed to allow code to be written that performs as well as or better than traditional systems languages like C and C++. Equally as important as performance is the expressiveness of the language which should allow features to be expressed as concisely as in modern scripting languages such as Ruby or modern virtual machine languages such as Nemerle and Scala. Nyah is typed, but uses type inference so types can usually be omitted. Nyah has strong meta-programming capabilities. It uses the LLVM compiler infrastructure to generate object code. The grammar of nyah can be modified at compile time to allow diverging opinions to be expressed within the same language and to provide DSL building capabilities far superior to current languages.

Goals

Syntax can be extended/modified at compile time.

New features can be added to the language and the compiler from within nyah code itself. This not only allows many powerful features to be expressed neatly in the language, but makes nyah an ideal "compiler toolkit". It is conceivable to import the syntax of a pre-existing language into nyah, for example, the nyah grammar module allows PEG based parsers to be expressed directly in a PEG based notation within the language. This variant of PEGs allows AST building capabilities to be expressed with the parsing grammar. This allows powerful modifications and extensions to be expressed in a concise way. The nyah parser itself is implemented with this module which allows extensions and modifications to the core language to be made with reasonable ease and flexibility.

Please read the introduction.

Status

Parser generator

First compiler (written in D) to be used for bootstrapping

Nyah standard library

Second compiler (written in nyah)

Help wanted

Help is appreciated from anyone with research, implementation or art. Criticisms and suggestions for how to improve or modify the language will be welcomed.

Here are some ideas for things to contribute:

E-mail: nyahsuper face@chilon.net.
IRC Channel: #nyah on irc.freenode.net
next