summaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-27 19:23:10 +0200
committerClaudius 'keldu' Holeksa <mail@keldu.de>2024-08-27 19:23:10 +0200
commit4e1ef1b40ced7bbb78b6882018ccd1a00ffa4895 (patch)
tree5ef7c295d8b3f368c5c74c2c2ac8bb4a772f1a7f /docs
parent7a4f3a3eecb91ccab89be70ba782a90c361b82ed (diff)
Unfinished intro to codec
Diffstat (limited to 'docs')
-rw-r--r--docs/source/codec/introduction.rst12
1 files changed, 12 insertions, 0 deletions
diff --git a/docs/source/codec/introduction.rst b/docs/source/codec/introduction.rst
new file mode 100644
index 0000000..8cda2ac
--- /dev/null
+++ b/docs/source/codec/introduction.rst
@@ -0,0 +1,12 @@
+Introduction
+============
+
+The codec module provides basic functionality and is in fact a vital component for almost all other modules.
+It's the module which provides the separation of logical structure and encoding of data.
+
+I am not aware of any programming languages which provide compile time separation of those concerns.
+For the less powerful compile time reflection capabilities there's limited support in some languages.
+C++26, regular C++ and Rust with minor additional hints etc come to mind. But this is only on native data.
+
+The separation enables treating data purely declaretively instead of imperative actions when moving it across encoding boundaries.
+A regular file has the structure