diff --git a/README.md b/README.md index 7e8c52d..acc32e4 100644 --- a/README.md +++ b/README.md @@ -160,7 +160,7 @@ While diverging from some "purity" aspects, Clyx is a decent choice for newcomer ### What do I need to do to create my own Clyx implementation? -Just port the core interpreter along with the 48 primitive words, stubbing out the words that cannot be supported by the target platform if there are any, so that if a program that e.g. uses `nopen` runs on a non-networked host environment, or a program that uses `hseval` runs on a C-based interpreter, then the user would get a clear message that an unsupported core primitive word has been encountered and the program has been terminated because of that. +Just port the core interpreter along with the 50 primitive words, stubbing out the words that cannot be supported by the target platform if there are any, so that if a program that e.g. uses `nopen` runs on a non-networked host environment, or a program that uses `hseval` runs on a C-based interpreter, then the user would get a clear message that an unsupported core primitive word has been encountered and the program has been terminated because of that. Apart from that, your implementation needs to be able to load `lib.clx` (standard library source) upon initialization, and `clyx_repl.clx` upon passing no parameters (if it is CLI-based). diff --git a/clyx_manual.md b/clyx_manual.md index a0fa927..4180b40 100644 --- a/clyx_manual.md +++ b/clyx_manual.md @@ -2,7 +2,7 @@ Clyx is a concatenative, stack-oriented programming language designed for simplicity, minimalism, and metaprogramming capabilities. It uses postfix notation (aka Reverse Polish Notation, RPN), where operations are performed on a global stack. Clyx features homoiconicity: code is structured as quotations (lists), which can be manipulated as data and executed dynamically. -This document describes the stack effects and behavior of the **48 primitive core words**, **3 bootstrapped core words**, and **41 standard library words** present in the reference implementation. +This document describes the stack effects and behavior of the **50 primitive core words**, **3 bootstrapped core words**, and **41 standard library words** present in the reference implementation. The Clyx runtime itself allows the programmer to redefine any already defined word, including the core ones and the ones from the standard library. Unlike e.g. Forth, where words are resolved at compile-time, Clyx words are resolved at runtime, so such redefinitions may affect all previously established behavior. That's why, as a rule, any **predefined** Clyx word, both in the language core and the standard library, must not exceed 6 characters. This is done to encourage programmers to define their own human-readable words (7+ characters long) without any risk of overwriting existing word definitions.