NHI1

What: NHI1 - http://nhi1.de http://thedev.nhi1.de/NHI1/main/
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 splitted into multiple sub-projects :

theKernel: http://thedev.nhi1.de/theKernel/main/index.htm
theLink: http://thedev.nhi1.de/theLink/main/index.htm
theCompiler: http://thedev.nhi1.de/theCompiler/main/index.htm
theGuard: http://thedev.nhi1.de/theGuard/main/index.htm
theBrain: http://thedev.nhi1.de/theBrain/main/index.htm
theConfig: http://thedev.nhi1.de/theConfig/main/index.htm

Update from 25 Sep 2024

Now it's that time again and *NHI10* has managed to deliver another update. In addition to many improvements in the API, the JAVA integration has been re-enabled and the CALLBACK integration has been revised. Many small improvements expand the capabilities, the *NULL* pointer has been given a new API and the *parallelism* of the tools has been significantly increased throughout the framework, which significantly reduces the BUILD and TEST time.

TCL plays a central role in the framework because the ALC compiler was written in TCL. Many tools have a TCL background, although BASH shell etc. is of course also used.


Update from 26 Aug 2024

C++ has been revised and MOT-Wrapper has been rewritten so that mostly inline code is generated. The speed is now at C level, with C++ providing a significantly better programming interface than classic C. The technology project C++ kernel has now overcome another hurdle and C++ now has the status of a reference frontend language.

During the migration from C to C++, the following sub-projects were completed:

  1. Compile Programming-Language-Micro-Kernel (PLMK) in C++ compiler
  2. C++ code as an inline wrapper around the C code
  3. C++ kernel with public C API interface
  4. Integration of Managed-Object-Technology (MOT) as a second class technology under C++

For the integration of Managed-Object-Technology (MOT) into C++ was implemented:

  1. a MOT class in C++ is a class with theKernel-MkObjectC as a base class.
  2. a MOT/C++ class always has a C++ API and a C API
  3. the MOT/C++ class is integrated into the Programming-Language-Micro-Kernel (PLMK) via the C API interface and is then available as a class in the Target-Programming-Language (TPL).
  4. neither the C nor the C++ language standard is changed.

Still an open point:

  1. the Managed-Object-Technology (MOT) / C++ class provides a technology for language-independent programming, but what is missing is the explicit integration of Managed-Object-Technology (MOT) into the C/GCC compiler.

Update from 18 Aug 2024

New performance test documentation:


Update from 15 July 2024

time passes and now the "NULL" in the context of the managed object has been precisely defined


Update from 04 July 2024


Update from 19 June 2024


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:

the-new-C

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