wiki:Bootstrapping

Lets bootstrap some good-enough CS

A hundred years ago then young Bertrand Russell sat down and wrote The Principles of Mathematics, no more, no less. Basically, he bootstrapped pure mathematics from a few fundamental notions of an implication, relation and a class (which nowadays we would rather call a set). Why should'n we bootstrap some no-bullshit CS?

To do that we shall have some notions too. First of all, we postulate that everythying meaningful that a human mind could produce, and intellect itself, is bound by biology, which, in turn, is bound by the environment in which it happen to evolve, that is bound by the laws of physics of this university, one and only that exist. This would allow us to prune out the huge trees of nonsense people have produced since beginning of time (beginning of what?) and try to concentrate upon what is. This is by no means new or even innovative approach. The Buddha and early Hindu philosophers have done exactly that.

The most fundamental notion we shall rely upon is of structure. Everything (well, almost) in reality has a structure. Contrary to pure abstractions those things do exist and we ourselves exist because of atomic structures (which we call molecules) not because of pure ideas or abstract concepts. Abstractions are our toys.

The other fundamental notions we shall rely upon are of a value, a type of a value, a reference, and of a procedure. Like one great magician have told us, All you need is Lambda (and notion of a set). No fucking category theory here.

Another fundamental principle is that every value has its intrinsic type. Same atoms are equivalent, different atoms or ions are different, but there is no such thing as an abstract atom. So, each value has something in itself to be distinguished from the others, and that would be a type-tag. The principle is a value has a type, not a variable and this is fundamental and it grossly simplifies everything. The building blocks of Nature are simple.

All we need is Lambda and the way to reference our expressions and values. (Everything is an expression, and every expression evaluates to a value, which has a type). These are our first and second mantras.

From these first principles we shall build a whole CS. Why not?


Last modified 3 years ago Last modified on Mar 17, 2017, 6:29:35 PM
Note: See TracWiki for help on using the wiki.