Update FUBS authored by Eron's avatar Eron
......@@ -19,6 +19,7 @@ We have an almost pathological focus on minimalism. We want the functionality o
1. It is extremely important for systems to be self hosted. Only use other programming systems as a bootstrap mechanism. If your system uses nothing written with another system, then you can rest assured that it is complete.
1. [Dynamic analysis](https://en.wikipedia.org/wiki/Dynamic_program_analysis) with 100% [code coverage](https://en.wikipedia.org/wiki/Code_coverage) is far more effective at catching programmer mistakes than static analysis will ever be. Programming tools can make such testing much less cumbersome.
1. Never compromise the present for backwards compatibility. Fix mistakes as soon as they are identified regardless of how it affects existing dependers. An antiquated depender can either keep up or become an artifact.
1. No sacred cows. If something can be substantially improved, do it.
1. The programming language must make it easy for the programmer to understand and control what the computer is doing at the lowest level. High level abstractions should never lessen this understanding.
1. Use concrete [AST](https://en.wikipedia.org/wiki/Abstract_syntax_tree) metrics to measure some aspects of code quality.
1. Fewer nodes for the same program with similar execution time and space is almost always better.
......@@ -28,16 +29,15 @@ We have an almost pathological focus on minimalism. We want the functionality o
## Major Tasks
* MVP
* Runs completely self hosted on Linux with OpenGL. (complete)
* Runs completely self hosted on bare metal. (2023 Q1)
* Runs self hosted on Linux with OpenGL. (complete)
* Runs self hosted on bare metal. (2023 Q2)
* Boot
* Keyboard
* HDMI
* Nail self hosted code editing (50% complete) (2023 Q1)
* Nail self hosted code editing (50% complete) (2023 Q2)
* Create self hosted source management system. (2023 Q1)
* Programming / debugging bridge to another device. (2023 Q1)
* Nail heap management. (2022 Q4)
* Nail library dependencies. (2022 Q4)
* Programming / debugging bridge to another device. (2023 Q3)
* Nail heap management. (mostly done but not "nailed")
* Write open source license
* Other high priority things:
* Android container. (2023 Q4)
......@@ -79,7 +79,7 @@ We have an almost pathological focus on minimalism. We want the functionality o
* Static analysis will help catch program errors with respect to prime reference management.
* Copies of prime references are permitted. The static analyzer will try to prove that a copy does not escape the lifetime of its associated prime reference.
* Only rudimentary support for strings.
* A string constant may be specified in a program. It will manifest itself as a mutable array of single bytes with a null terminator.
* A string constant may be specified in a program. It will manifest itself as a mutable array of single bytes.
* [Balls](https://en.wikipedia.org/wiki/Exception_handling):
* Exists only on a trial basis. Will be evaluated on an ongoing basis. Candidate for removal.
* [Closures](https://en.wikipedia.org/wiki/Closure_(computer_programming))
......
......