From 119fe564116a84145fcc790cf139580d34e1b88e Mon Sep 17 00:00:00 2001 From: Sasha Koshka Date: Thu, 29 Sep 2022 05:28:06 +0000 Subject: [PATCH] Update 'Guidelines' --- Guidelines.md | 2 ++ 1 file changed, 2 insertions(+) diff --git a/Guidelines.md b/Guidelines.md index 98ca92a..30eff5c 100644 --- a/Guidelines.md +++ b/Guidelines.md @@ -1,5 +1,6 @@ # Introduction These are guidelines to follow when designing new language features, working on the compiler, or any other related tooling. + # 0. Decouple Standard Library In some languages, certain syntactical or environmental features depend on the presence of a standard library. Even C does to an extent, with the `= { 0 }` intializer (it calls memset in the background). The ARF standard library will be fully optional, and decoupled from the language. Parts of the standard library should be decoupled from eachother as well. There must be some internal dependencies among them (for example, things like IO and memory management, as well as common interfaces and generics) but it should be as non-monolithic as possible. @@ -9,6 +10,7 @@ The language itself must be extremely simple. It shouldn't have a lot of concept Keep this in your mind: > A designer knows [they have] achieved perfection not when there is nothing left to add, but when there is nothing left to take away. + # 2. ARF is Immutable Language features, and for the most part program structure, must be immutable. This means nothing like reflection, or operator overloading.