small fixes
This commit is contained in:
parent
4ef7197141
commit
67b73a6707
@ -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.
|
Given gems and bundler this also seems an obvious choice. I really hope to see things i hadn't even thought of.
|
||||||
<br/>
|
<br/>
|
||||||
<b>Layers represent an interface, not an implementation</b>:
|
<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,
|
we have many layers, which, when done right, help us to understand the system. (Read, layers are for us,
|
||||||
not the computer)
|
not the computer)
|
||||||
But implementing each layer comes with added cost, often unneccessary. Layers can and should be collapsed
|
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>
|
||||||
<p>
|
<p>
|
||||||
<b><a href="http://bundler.io/">Bundler</a></b> just makes you wonder how we managed before.
|
<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>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
@ -53,17 +53,19 @@ sub-title: RubyX hopes make the the mysterious more accessible, shed light in th
|
|||||||
</p>
|
</p>
|
||||||
<p>
|
<p>
|
||||||
There is this attitude C believers elude and since they are the gatekeepers of the os,
|
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>
|
||||||
<p>
|
<p>
|
||||||
On a very similar note we are lead to believe that os features must be used from c. Whereas system calls
|
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>
|
</p>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div class="span12">
|
<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>
|
<p>
|
||||||
For me it is means owning your tools.
|
For me it is means owning your tools.
|
||||||
For everyone to really be able to unfold their ideas and potential.
|
For everyone to really be able to unfold their ideas and potential.
|
||||||
|
@ -74,7 +74,7 @@ The Register machine layer is a relatively close abstraction of risc hardware, b
|
|||||||
quirks.
|
quirks.
|
||||||
|
|
||||||
The register machine has registers, indexed addressing, operators, branches and everything
|
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
|
(like llvm), but rather "objectifies" the risc view to provide what is needed for the typed
|
||||||
layer, the next layer up.
|
layer, the next layer up.
|
||||||
|
|
||||||
|
@ -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.
|
of the cache size of the hardware machine.
|
||||||
We use object encapsulation to build up larger looking objects from these basic blocks.
|
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
|
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 addresses.
|
define the data needed for invocation. They carry arguments, a frame and return address.
|
||||||
Return addresses are pre-calculated and determined by the caller, and yes, there
|
The return address is pre-calculated and determined by the caller, so
|
||||||
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.
|
||||||
A method invocation may thus be made to return to an entirely different location than the
|
|
||||||
caller.
|
|
||||||
\*(A stack, as used in c, is not typed, not object oriented, and as such a source of problems)
|
\*(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
|
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,
|
have specified type (like in c). Basic Type names are the class names they represent,
|
||||||
but the "int" may be used for brevity
|
but the "int" may be used for brevity
|
||||||
instead of Integer.
|
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
|
The runtime, Parfait, is kept
|
||||||
to a minimum, currently around 15 classes, described in detail [here](parfait.html).
|
to a minimum, currently around 15 classes, described in detail [here](parfait.html).
|
||||||
|
Loading…
x
Reference in New Issue
Block a user