What: NHI1 - https://nhi1.de
Intro: the 6 crises
Description: The NHI1 project is an infrastructure for create the first Non-Human-Intelligence
Updated: 08 Mai 2023 (version: 0.5, full rewrite of the software)
Contact: mailto:[email protected] Andreas Otto

NHI1 was spitted into multiple sub-projects :

theKernel: https://thekernel.nhi1.de
theLink: https://thelink.nhi1.de
theCompiler: https://theCompiler.nhi1.de
theGuard: https://theGuard.nhi1.de
theBrain: https://theBrain.nhi1.de
theConfig: https://theConfig.nhi1.de

Update from 21 Nov 2023

  • Update theBrain documentation and add workflow picture for abrain sqlLite server.
  • Update theGuard documentation.

Update from 18 Nov 2023

  • Add theKernel and update WEB

Update from 29 may 2023

  • The "dismantling" of the application server (theLink) is progressing and the new packages (theCompiler, theGuard, theBrain, theConfig) have been homogenized in the web interface.
  • What remains is theKernel, which can still be extracted from theLink documentation in order to finally become a complete package of its own.

Attention: the style-sheet (css) has also been adjusted so that SHIFT+F5 is required to update the browser cache.

Update from 25 may 2023

Update from 21 may 2023

Update from 20 may 2023

Update from 15 may 2023

Update from: 8 may 2023

Well - after 20 years of development the NHI1 become real

This release is a massive rewrite of the kernel and also of all tools.

The main goal of the Meta-Programming is to increase the productivity of a senior programmer to 10.000 - 100.000 new or updated lines of code, documentation or configuration per day

Update from: 4 may 2023

The current release-cycle ends and a couple of features are added:


Well, "C" is the most famous programming language in the world and the basis for almost everything in the computing world. The strategic goal in metaprogramming is to use the existing C programming language and add new language elements that are used for integration.

The new "C" has:

static typingAll types are checked at compile time by default (like C)
object support A class type is available and, like C, is also a static type, but can be checked at runtime if necessary (upgrade cast).
basic object class Unlike C++ there is a root class MkObjectC and thus there is no need for a "template mechanism" like in C++
clear names All functions and names (including class, method and attribute) are unique and are therefore easily locatable via the TAG file.
code generation To add a new function in C additional code is required (e.g. class). However, the required code is NOT written by the programmer or the compiler (C++), but inserted DIRECTLY into the source code (.c or .h) by the meta code generator, where the code ends up in release management where it is then safe and is verifiable.
safe pointer Like C, memory must be allocated and deallocated, but unlike C and C++, a pointer can be checked for validity or invalidity
tried and tested toolset The new "C" is still the old "C" so you can still use your favorite toolset like gcc, make, ctage, vim, etc
built-in integration The new "C" was designed to automatically integrate with your favorite programming language, which means your "C" code can be reused in a variety of projects

libmsgque and tclmsgque are parts of the NHI1 project