small fixes

This commit is contained in:
Torsten Ruger 2017-08-29 18:02:04 +03:00
parent 4ef7197141
commit 67b73a6707
4 changed files with 12 additions and 14 deletions

View File

@ -23,7 +23,7 @@ title: RubyX, where it started
Given gems and bundler this also seems an obvious choice. I really hope to see things i hadn't even thought of.
<br/>
<b>Layers represent an interface, not an implementation</b>:
It is said that every problem in computing can be solved by adding anohter layer of indirection. And so
It is said that every problem in computing can be solved by adding another layer of indirection. And so
we have many layers, which, when done right, help us to understand the system. (Read, layers are for us,
not the computer)
But implementing each layer comes with added cost, often unneccessary. Layers can and should be collapsed
@ -129,7 +129,7 @@ title: RubyX, where it started
</p>
<p>
<b><a href="http://bundler.io/">Bundler</a></b> just makes you wonder how we managed before.
Thanks to Yahuda, also for merb, which is not forgotten, and thor.
Thanks to Yahuda, for starting it and Andre for making it fantastic.
</p>
</div>
</div>

View File

@ -53,17 +53,19 @@ sub-title: RubyX hopes make the the mysterious more accessible, shed light in th
</p>
<p>
There is this attitude C believers elude and since they are the gatekeepers of the os,
everyone is fooled into believing only c is fast. Whereas what is true is that <em>static</em> code is fast.
everyone is fooled into believing only c is fast. Whereas what is true is that
<em>complied (binary) code </em>is fast.
</p>
<p>
On a very similar note we are lead to believe that os features must be used from c. Whereas system calls
are software interrupts and only the c std library makes them look like c functions. But they are not.
are software interrupts, not really <em>calls<em> at all.
Only the c std library makes them look like c functions, but they are not.
</p>
</div>
</div>
<div class="span12">
<p class="center"><span> So what does empowerment mean. </span></p>
<p class="center"><span> <b> So what does empowerment mean. </b></span></p>
<p>
For me it is means owning your tools.
For everyone to really be able to unfold their ideas and potential.

View File

@ -74,7 +74,7 @@ The Register machine layer is a relatively close abstraction of risc hardware, b
quirks.
The register machine has registers, indexed addressing, operators, branches and everything
needed for the next layer. It doesn't not try to abstract every possible machine feature
needed for the next layer. It does not try to abstract every possible machine feature
(like llvm), but rather "objectifies" the risc view to provide what is needed for the typed
layer, the next layer up.

View File

@ -27,12 +27,10 @@ Also the object memory model is kept quite simple in that object sizes are alway
of the cache size of the hardware machine.
We use object encapsulation to build up larger looking objects from these basic blocks.
The calling convention is also object oriented, not stack based*. Message objects used to
define the data needed for invocation. They carry arguments, a frame and return addresses.
Return addresses are pre-calculated and determined by the caller, and yes, there
are several. In fact there is one return address per basic type, plus one for exception.
A method invocation may thus be made to return to an entirely different location than the
caller.
The calling convention is also object oriented, not stack based*. Message objects are used to
define the data needed for invocation. They carry arguments, a frame and return address.
The return address is pre-calculated and determined by the caller, so
a method invocation may thus be made to return to an entirely different location.
\*(A stack, as used in c, is not typed, not object oriented, and as such a source of problems)
There is no non- object based memory at all. The only global constants are instances of
@ -47,8 +45,6 @@ The typed layer is mainly concerned in defining TypedMethods, for which argument
have specified type (like in c). Basic Type names are the class names they represent,
but the "int" may be used for brevity
instead of Integer.
As mentioned a function may return to different addresses according to type, though this is not
fully implemented.
The runtime, Parfait, is kept
to a minimum, currently around 15 classes, described in detail [here](parfait.html).