From aa2036c1d8abb26341633d6550ef7f48f049c57b Mon Sep 17 00:00:00 2001
From: Ekaitz Zarraga <ekaitz@elenq.tech>
Date: Wed, 17 Jan 2024 15:01:15 +0100
Subject: readme: write some information to begin

---
 README.md | 31 +++++++++++++++++++++++++++++++
 1 file changed, 31 insertions(+)

diff --git a/README.md b/README.md
index 64bd4b4..9800964 100644
--- a/README.md
+++ b/README.md
@@ -1 +1,32 @@
 # `par` text editor
+
+`par` is written in R7RS Scheme. Testing is done on top of `chibi-scheme` but
+we are also trying to support `guile` when that's not a lot of effort.
+
+## Context
+
+`par` is a text editor which has a simple set of ideas behind:
+
+- Be simple
+- Be extensible
+- Don't overreach
+
+`par` only relies in R7RS, and all it's core is only based on it. That's an
+attempt to make it easily portable to other environments, where the constructs
+we are used to simply don't exist.
+
+## Code structure
+
+`par` is defined in three levels of abstraction. Par itself, how it interacts
+with the World around it and how it interacts with others. That's reflected in
+it's code structure:
+
+- `/par`: the internal functionality of the text editor that doesn't require
+  from standard libraries and should just work with R7RS (it's context and
+  system independent): Examples: internal piece-table, basic functionality...
+- `/world`: the interaction with the system where it runs. This may include
+  standard libraries of the scheme `par` is running on top of, and extra
+  libraries and extensions to support the system interaction. Examples: UI
+  definition, how to interact with the screen, network, etc.
+- `/others`: the interaction with the context where it runs: `editorconfig`
+  support, language parsing, etc.
-- 
cgit v1.2.3