theKernel 10.0 NHI1 - theKernel - theLink - theConfig - theSq3Lite - theCompiler - theBrain - theGuard
c - tcl - py - jv - cc
Loading...
Searching...
No Matches
Overview

theKernel



UPDATE changes since 18 jun 2024 : 473 files changed, 36738 insertions, 24256 deletions


SUMMARY theKernel - A library that adds an object layer with language bindings to the C language
NEWS FROM: 24 sep, 2024

The main focus was Java integration into NHI10 and the new callback-documentation.

NEW features
UPDATE Callback: MkKernel_Parser_Callback_C_API and (C, C++, Java, Python, Tcl).
NEW null attributes: __parser__(null-allow), __parser__(null-return-allow), __parser__(null-return-check)
NEW template attribute: __parser__(template-in-c)
NEW MkRuntimeS attribute: MkRuntimeS::noDeco
NEW signal handler: ErrorIsTIMEOUT
null-allow
Mapping a NULL value correctly is always a challenge because in pointer arithmetic the NULL has to be mapped separately. Programming-Language-Micro-Kernel (PLMK) excludes the NULL as an argument and causes an assert error in the kernel when it is passed. In some cases the NULL value is explicitly desired and was intercepted by the developer as valid information in the program. In this case the NULL argument has to be explicitly allowed, which is done using __parser__(null-allow) or with __parser__(default=NULL).


DETAILS

theKernel is an infrastructure that link an library-item with a Target-Programming-Language (TPL) using the Programming-Language-Micro-Kernel (PLMK) object-interface. The goal is a programming language independent interface between a C library and a target language.

Philosophy
Write Once → Run Everywhere

The library-item is a c-api for a library available as c-header-file.
The library-item is mapped into a Target-Programming-Language (TPL) using a language that is supported by the Programming-Language-Micro-Kernel (PLMK).
Supported Languages are: (C,C++,C#,VB.NET,Java,Python,Ruby,Perl,PHP,Tcl or GO)

Strategy
It takes 4 years to write a programming-language, but it only takes 4 weeks to insert a micro-kernel.

The library-item is connected to the Target-Programming-Language (TPL) using an api-layer generated by the token-stream-compiler of the Programming-Language-Micro-Kernel (PLMK).

Conclusion
theKernel is used to manage a collection of library-items using an API that is available in all major programming-languages.

DEPENDECIES theCompiler

Summary

target #1 #2 #3 #4 #5
mkkernel HOWTO Micro-Kernel - the six Crisis HOWTO Micro-Kernel - the Internals
mkkernel INTRODUCTION PACKAGE MANAGED-OBJECT PRIMITIVE TYPE STORAGE MANAGEMENT

Files

README , INSTALL , NEWS, CHANGES