From aa2036c1d8abb26341633d6550ef7f48f049c57b Mon Sep 17 00:00:00 2001 From: Ekaitz Zarraga 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