diff options
-rw-r--r-- | README.md | 31 |
1 files changed, 31 insertions, 0 deletions
@@ -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. |