Update Home
parent
a9d473ee58
commit
6977e1f9c2
76
Home.md
76
Home.md
|
@ -1,36 +1,40 @@
|
||||||
Work towards the implementation of a software system like that described in [Post Scarcity Software](http://blog.journeyman.cc/2006/02/post-scarcity-software.html).
|
Work towards the implementation of a software system like that described in [Post Scarcity Software](http://blog.journeyman.cc/2006/02/post-scarcity-software.html).
|
||||||
|
|
||||||
# AWFUL WARNING 1
|
## Note on canonicity
|
||||||
|
|
||||||
This does not work. It isn't likely to work any time soon. If you want to learn Lisp, don't start here; try Clojure, Scheme or Common Lisp (in which case I recommend Steel Bank Common Lisp). If you want to learn how Lisp works, still don't start here. This isn't ever going to be anything like a conventional Lisp environment.
|
*Originally most of this documentation was on a wiki attached to the [GitHub project](https://github.com/simon-brooke/post-scarcity); when that was transferred to [my own foregejo instance](https://git.journeyman.cc/simon/post-scarcity) the wiki was copied. However, it's more convenient to keep documentation in the project with the source files, and version controlled in the same Git repository. So while both wikis still exist, they should no longer be considered canonical. The canonical version is in `/docs`, and is incorporated by [Doxygen](https://www.doxygen.nl/) into the generated documentation — which is generated into `/doc` using the command `make doc`.*
|
||||||
|
|
||||||
What it sets out to be is a Lisp-like system which:
|
## AWFUL WARNING 1
|
||||||
|
|
||||||
* Can make use (albeit not, at least at first, very efficiently) of machines with at least [Zettabytes](http://highscalability.com/blog/2012/9/11/how-big-is-a-petabyte-exabyte-zettabyte-or-a-yottabyte.html) of RAM;
|
This does not work. It isn't likely to work any time soon. If you want to learn Lisp, don't start here; try Clojure, Scheme or Common Lisp (in which case I recommend Steel Bank Common Lisp). If you want to learn how Lisp works, still don't start here. This isn't ever going to be anything like a conventional Lisp environment.
|
||||||
* Can make reasonable use of machines with at least tens of thousands of processors;
|
|
||||||
* Can concurrently support significant numbers of concurrent users, all doing different things, without them ever interfering with one another;
|
What it sets out to be is a Lisp-like system which:
|
||||||
* Can ensure that users cannot escalate privilege;
|
|
||||||
* Can ensure users private data remains private.
|
* Can make use (albeit not, at least at first, very efficiently) of machines with at least [Zettabytes](http://highscalability.com/blog/2012/9/11/how-big-is-a-petabyte-exabyte-zettabyte-or-a-yottabyte.html) of RAM;
|
||||||
|
* Can make reasonable use of machines with at least tens of thousands of processors;
|
||||||
When Linus Torvalds sat down in his bedroom to write Linux, he had something usable in only a few months. BUT:
|
* Can concurrently support significant numbers of concurrent users, all doing different things, without them ever interfering with one another;
|
||||||
|
* Can ensure that users cannot escalate privilege;
|
||||||
* Linus was young, energetic, and extremely talented; I am none of those things.
|
* Can ensure users private data remains private.
|
||||||
* Linus was trying to build a clone of something which already existed and was known to work. Nothing like what I'm aiming for exists.
|
|
||||||
* Linus was able to adopt the GNU user space stack. There is no user space stack for this idea; I don't even know what one would look like.
|
When Linus Torvalds sat down in his bedroom to write Linux, he had something usable in only a few months. BUT:
|
||||||
|
|
||||||
# AWFUL WARNING 2
|
* Linus was young, energetic, and extremely talented; I am none of those things.
|
||||||
|
* Linus was trying to build a clone of something which already existed and was known to work. Nothing like what I'm aiming for exists.
|
||||||
This project is necessarily experimental and exploratory. I write code, it reveals new problems, I think about them, and I mutate the design. The documentation in this wiki does not always keep up with the developing source code.
|
* Linus was able to adopt the GNU user space stack. There is no user space stack for this idea; I don't even know what one would look like.
|
||||||
|
|
||||||
# Contents
|
## AWFUL WARNING 2
|
||||||
|
|
||||||
* [[plan overview]]
|
This project is necessarily experimental and exploratory. I write code, it reveals new problems, I think about them, and I mutate the design. The documentation in this wiki does not always keep up with the developing source code.
|
||||||
* [[mutability]]
|
|
||||||
* [[memory management]]
|
## Contents
|
||||||
* [[cons space]]
|
|
||||||
* [[vector space]]
|
* [[plan overview]]
|
||||||
* [[parallelism]]
|
* [[mutability]]
|
||||||
* [[core functions]]
|
* [[memory management]]
|
||||||
* [[system-private functions]]
|
* [[cons space]]
|
||||||
* [[other really tricky bits]]
|
* [[vector space]]
|
||||||
* [[users]]
|
* [[parallelism]]
|
||||||
|
* [[core functions]]
|
||||||
|
* [[system-private functions]]
|
||||||
|
* [[other really tricky bits]]
|
||||||
|
* [[users]]
|
||||||
|
|
Loading…
Reference in a new issue