From b3e816e8711b0a36648f1636c39d70ceb0d7963e Mon Sep 17 00:00:00 2001
From: Amlal El Mahrouss <amlal@nekernel.org>
Date: Wed, 3 Dec 2025 03:09:14 -0500
Subject: chore: new draft of cpp_kernel_dev.tex

Signed-off-by: Amlal El Mahrouss <amlal@nekernel.org>
---
 draft/wg01/cpp_kernel_dev.tex | 24 +++++++++++++++---------
 1 file changed, 15 insertions(+), 9 deletions(-)

(limited to 'draft/wg01/cpp_kernel_dev.tex')

diff --git a/draft/wg01/cpp_kernel_dev.tex b/draft/wg01/cpp_kernel_dev.tex
index e603538..7b5c4db 100644
--- a/draft/wg01/cpp_kernel_dev.tex
+++ b/draft/wg01/cpp_kernel_dev.tex
@@ -6,7 +6,7 @@
     language=C++
 }
 
-\title{C++ for Kernel Development}
+\title{WG01: C++ for Kernel Development}
 \author{Amlal El Mahrouss\\NeKernel.org}
 \date{\today}
 
@@ -14,7 +14,7 @@
 
 \maketitle
 
-\subsection{Abstract}
+\section{Abstract}
 {
 Many and most kernels have been shipped using the C programming language.\\
 And some of them like EKA2 uses the C++ programming language. Although notoriously difficult, one may still adapt to those constraints in order to deliver one such operating system kernel. \\
@@ -22,7 +22,7 @@ That is the reason that most production-grade kernels (Linux, XNU, and NT) are m
 However, when correctly applying C++ principles to kernel development, one makes the development much more easier to pull off.
 }
 
-\section{Introduction}
+\section{The Three Principles of Kernel C++}
 \subsection{Part One: The C++ Runtime}
 {
 The problem mostly lies in the C++ runtime. Which assumes an existing host. A host is the contrary of a freestanding target, that is a program which expects a runtime to be present and linked to the program. \\
@@ -59,16 +59,21 @@ struct MemoryTree final {
 };
 \end{lstlisting}
 
-As you can see these two structure leverages the "constexpr" keyword to make sure that no bugs or panic occurs at runtime because of a misuse of a system resource. \\
+As you can see these two structure 
+leverages the `constexpr' keyword to make sure
+no bugs or panic occurs at runtime\\because of a misuse of a system resource. \\
 
 Which is why the constexpr keyword is very powerful here, we avoid the many pitfalls of writing (and hoping) that the C version will be well-thought enough so that we can catch such bugs later.
 
-\subsection{Bonus: Concept and the Device Driver Kit}
+\subsection{Bonus: Using Concepts and the DDK.}
 {
-The following shows how powerful C++ can be when combining it with Device Driver development as well.
+This bonus subsection intends to show how properly applied C++\\
+Can solve issues related to driver validation.
+The following example shows how powerful C++ can be when combining it with Device Driver development as well.
 
 \begin{lstlisting}
-/// Reference implementation: https://github.com/nekernel-org
+/// Reference implementation:
+/// https://github.com/nekernel-org
 /// /nekernel/blob/stable/src/libDDK/DriverKit
 /// /c%2B%2B/driver_base.h
 /// @brief This concept requires the driver 
@@ -142,8 +147,9 @@ When 2/3 of those questions fail, you should consider finding another solution t
 
 \section{Final Words and Conclusion}
 {
-This is the end of this paper, which has finally come to an end after three parts. \\
-A reference implementation of this philosophy exists, it's called NeKernel.org, available under the same internet address. \\
+We can now conclude that C++ in Kernel Development is indeed possible under strict conditions of C++ Development. \\
+Breaking those conditions would lead to system quirks and instability.
+A reference implementation of this paper exists, It's called NeKernel.org, available under the same internet address. \\
 I am looking forward to any questions or inquiries at: amlal@nekernel.org \\\\Yours truly, \\
 Amlal El Mahrouss
 }
-- 
cgit v1.2.3

