Commit 987f34fbc8ec1e0f0e260900458270bbfa60aeca

Thomas de Grivel 2024-09-10T23:14:47

doc: previous and next links

diff --git a/doc/1_KC3/1.1_Introduction.en.md b/doc/1_KC3/1.1_Introduction.en.md
index 00e45ab..d4dd902 100644
--- a/doc/1_KC3/1.1_Introduction.en.md
+++ b/doc/1_KC3/1.1_Introduction.en.md
@@ -1,4 +1,4 @@
-# 1 Introduction
+# 1.1 Introduction
 
 KC3 is currently a programming language project, inspired by C, Elixir
 and Common Lisp. It could be described as C with Elixir modules,
@@ -19,7 +19,7 @@ Supported architectures :
  - sparc64
 
 
-## 1.1 Modules
+## 1.1.1 Modules
 
 Everything in KC3 is in a module. A module is a namespace,
 and is named with a symbol starting with a uppercase character.
@@ -35,7 +35,7 @@ The default module is `KC3`, which is defined as facts (triples)
 in `lib/kc3/0.1/kc3.facts`.
 
 
-## 1.2 Data types
+## 1.1.2 Data types
 
 Basic data types in KC3 are :
  - Strings : `Str`, e.g. `"Hello, world !"`
@@ -63,3 +63,9 @@ Basic data types in KC3 are :
  - Unquoted code: `Unquote`, e.g. `quote 1 + unquote(x)`
  - Variables : `Var`, e.g. `?`
  - Void : `Void`, e.g. `void`
+
+---
+
+Previous : [1 KC3](/doc/1_KC3)
+
+Next : [1.2 Integer](1.2_Integer)
diff --git a/doc/1_KC3/1.2_Integer.en.md b/doc/1_KC3/1.2_Integer.en.md
index 4b6b2b4..0858b38 100644
--- a/doc/1_KC3/1.2_Integer.en.md
+++ b/doc/1_KC3/1.2_Integer.en.md
@@ -1,6 +1,6 @@
-# 2 Integers
+# 1.2 Integer
 
-## 2.1 Small integers
+## 1.2.1 Small integers
 
 IKC3 supports all C integer type sizes from `U8` (matching the C type `uint8_t`)
 to `U64` (matching the C type `uint64_t`) for unsigned integers,
@@ -40,7 +40,7 @@ ikc3> type(18446744073709551615)
 U64
 ```
 
-## 2.2 Large integers
+## 1.2.2 Large integers
 
 IKC3 supports large integers and they are compatible with small integers.
 Their type is `Integer` and can support numbers as large as memory allows.
@@ -53,9 +53,9 @@ Integer
 ```
 
 
-## 2.3 Operations on integers
+## 1.2.3 Operations on integers
 
-### 2.3.1 Operator `~`
+### 1.2.3.1 Operator `~`
 
 Binary not.
 
@@ -74,7 +74,7 @@ ikc3> ~ (S16) 1
 -2
 ```
 
-### 2.3.2 Operator `+`
+### 1.2.3.2 Operator `+`
 
 Integer addition.
 
@@ -88,31 +88,31 @@ zero or a positive integer, and one. E.g.
 etc.
 ```
 
-### 2.3.3 Operator `-`
+### 1.2.3.3 Operator `-`
 
 Integer subtraction. Take an integer and remove another integer from it.
 
-### 2.3.4 Operator `*`
+### 1.2.3.4 Operator `*`
 
 Integer multiplication. Init result to zero, add an integer `a` and
 repeat `b` times.
 
-### 2.3.5 Operator `/`
+### 1.2.3.5 Operator `/`
 
 Integer division. The inverse of multiplication :
 for all integers `a` and `b` there is a couple `q` and `r` that satisfies
 `a = b * q + r`. Integer division returns `q`.
 
-### 2.3.6 Operator `mod`
+### 1.2.3.6 Operator `mod`
 
 Integer modulo. Returns `r` in the previous equation (see Operator `/`)
 
-### 2.3.7 Operator `<<`
+### 1.2.3.7 Operator `<<`
 
 Left shift
 
 
-## 2.4 Examples
+## 1.2.4 Examples
 
 ```
 ikc3> type(1)
@@ -126,3 +126,9 @@ ikc3> a * a
 ikc3> a * a / 1000000000000000000000000000000000000000000000000000
 10000000000000
 ```
+
+---
+
+Previous : [1.1 Introduction](1.1_Introduction)
+
+Next : [1.3 Map](1.3_Map)
diff --git a/doc/1_KC3/1.3_Map.en.md b/doc/1_KC3/1.3_Map.en.md
index 27cc576..e01b71c 100644
--- a/doc/1_KC3/1.3_Map.en.md
+++ b/doc/1_KC3/1.3_Map.en.md
@@ -1,4 +1,4 @@
-# 3 Map
+# 1.3 Map
 
 KC3 maps are like Elixir maps, they are key-values enclosed in `%{}` :
 
@@ -40,3 +40,9 @@ ikc3> access(a, :id)
 ikc3> access(a, :message)
 "Hello, world !"
 ```
+
+---
+
+Previous : [1.2 Integer](1.2_Integer)
+
+Next : [1.4 Ratio](1.4_Ratio)
diff --git a/doc/1_KC3/1.4_Ratio.en.md b/doc/1_KC3/1.4_Ratio.en.md
index 0b889ce..c8486fd 100644
--- a/doc/1_KC3/1.4_Ratio.en.md
+++ b/doc/1_KC3/1.4_Ratio.en.md
@@ -1,4 +1,4 @@
-# 4 Ratio
+# 1.4 Ratio
 
 Ratios are made with a couple of large integers : the numerator
 which can be any number, and the denominator which has to be positive.
@@ -15,3 +15,9 @@ ikc3> 1/2 / 2/3
 ikc3> 1/2 - 2/3
 -1/6
 ```
+
+---
+
+Previous : [1.3 Map](1.3_Map)
+
+Next : [1.5 List](1.5_List)
diff --git a/doc/1_KC3/1.5_List.en.md b/doc/1_KC3/1.5_List.en.md
index 259d1b1..8fc46bd 100644
--- a/doc/1_KC3/1.5_List.en.md
+++ b/doc/1_KC3/1.5_List.en.md
@@ -1,4 +1,4 @@
-# 5 List
+# 1.5 List
 
 Linked lists owning the data (each node contains a couple of tags :
 one for data and one for next pointer.
@@ -19,7 +19,7 @@ the next list pointer is an arbitrary form. E.g. :
 
 All these list formats are supported in pattern matching.
 
-## 5.1 Functions
+## 1.5.1 Functions
 
 ```
 List List.map (List, Fn)
@@ -28,3 +28,9 @@ List List.map (List, Fn)
 ```
 List List.reverse (List)
 ```
+
+---
+
+Previous : [1.4 Ratio](1.4_Ratio)
+
+Next : [1.6 Variable](1.6_Variable)
diff --git a/doc/1_KC3/1.6_Variable.en.md b/doc/1_KC3/1.6_Variable.en.md
index 7c38729..b9360c5 100644
--- a/doc/1_KC3/1.6_Variable.en.md
+++ b/doc/1_KC3/1.6_Variable.en.md
@@ -1,4 +1,4 @@
-# 6 Variables
+# 1.6 Variables
 
 Variables in KC3 can be defined using the litteral value for a variable
 which is always `?`. You can cast this litteral value and it will not
@@ -48,3 +48,9 @@ You can always reset an existing binding at will to another variable
 litteral and another variable will be created for the same name and it
 will be in a different memory location, settable once and then
 read-only again so you can use it without locking.
+
+---
+
+Previous : [1.5 List](1.5_List)
+
+Next : [2 HTTPd](/doc/2_HTTPd)
diff --git a/doc/1_KC3/index.en.html b/doc/1_KC3/index.en.html
index da32613..e52905c 100644
--- a/doc/1_KC3/index.en.html
+++ b/doc/1_KC3/index.en.html
@@ -1,7 +1,7 @@
 <div>
   <div class="KC3-1">
     <div>
-      <br/>
+      <h1>1 KC3</h1>
       <p>
         <b>KC3</b> is a programming language with meta-programmation
         and a graph database embedded into the language.
@@ -42,6 +42,13 @@
           <li>sparc64</li>
         </ul>
       </p>
+      <hr/>
+      <p>
+        Previous : <a href="/doc/">Documentation</a>
+      </p>
+      <p>
+        Next : <a href="/doc/1_KC3/1.1_Introduction">1.1 Introduction</a>
+      </p>
     </div>
   </div>
 </div>
diff --git a/doc/index.en.md b/doc/index.en.md
index 7638005..ecb9364 100644
--- a/doc/index.en.md
+++ b/doc/index.en.md
@@ -4,5 +4,7 @@ The KC3 programming language documentation.
 
 
 ## Index
-- [KC3](1%20KC3/) core language.
-- [HTTPd](2%20HTTPd/) web server.
+
+[KC3](1_KC3/) core language.
+
+[HTTPd](2_HTTPd/) web server.