change of name

This commit is contained in:
Torsten Ruger 2014-07-29 18:28:11 +03:00
parent faffb657a9
commit 4c2dd24d01
17 changed files with 44 additions and 44 deletions

View File

@ -34,7 +34,7 @@ Off course Celluloid needs native threads, so you'll need to run rubinius or jru
a fix for the problem, if we use celluloid.
But it is a fix, it is not part of the system. The system has sequetial calls per thread and threads. Threads are evil as
i explain (rant about?) [here](/kide/threads.html), mainly because of the shared global memory.
i explain (rant about?) [here](/salama/threads.html), mainly because of the shared global memory.
### Messaging with inboxes

View File

@ -1,6 +1,6 @@
The MIT License (MIT)
Copyright (c) 2014 kide-ruby
Copyright (c) 2014 salama-ruby
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal

View File

@ -1,7 +1,7 @@
# kide.github.io
# salama.github.io
Kides webpage is done with github pages: https://help.github.com/categories/20/articles
Salamas webpage is done with github pages: https://help.github.com/categories/20/articles
###Contribute

View File

@ -13,10 +13,10 @@ layout: site
<h2 class="center">More Detail</h2>
<div>
<ul class="nav nav-list">
<li><a href="/kide/layers.html"> Layers of Kide </a> </li>
<li><a href="/kide/memory.html"> Memory </a> </li>
<li><a href="/kide/threads.html"> Threads </a> </li>
<li><a href="/kide/optimisations.html"> Optimisation ideas </a> </li>
<li><a href="/salama/layers.html"> Layers of Salama </a> </li>
<li><a href="/salama/memory.html"> Memory </a> </li>
<li><a href="/salama/threads.html"> Threads </a> </li>
<li><a href="/salama/optimisations.html"> Optimisation ideas </a> </li>
</ul>
</div>
</div>

View File

@ -24,7 +24,7 @@
<div class="navbar effect navbar-inverse navbar-fixed-top">
<div class="navbar-inner">
<div class="container">
<a href="https://github.com/kide/"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub"></a>
<a href="https://github.com/salama/"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_orange_ff7600.png" alt="Fork me on GitHub"></a>
<a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse" href="#">
<span class="icon-bar"></span>
<span class="icon-bar"></span>
@ -36,7 +36,7 @@
<a href="/index.html">Home</a>
</li>
<li class="link3">
<a href="/kide/layers.html">Kide</a>
<a href="/salama/layers.html">Salama</a>
</li>
<li class="link3">
<a href="/qemu.html">Virtual Pi</a>

View File

@ -31,7 +31,7 @@ ruby core/std-lib
Off course the ruby-core and std libs were designed to do for ruby what libc does for c. Unfortunately they are badly designed and suffer from above brainwash (designed around c calls)
Since kide is pure ruby there is a fair amount of functionality that would be nicer to provide straight in ruby. As gems off course, for everybody to see and fix.
Since salama is pure ruby there is a fair amount of functionality that would be nicer to provide straight in ruby. As gems off course, for everybody to see and fix.
For example, even if there were to be a printf (which i dislike) , it would be easy to code in ruby.
What is needed is the underlying write to stdout.
@ -39,7 +39,7 @@ What is needed is the underlying write to stdout.
Solution
--------
To get kide up and running, ie to have a "ruby" executable, there are really very few kernel calls needed. File open, read and stdout write, brk.
To get salama up and running, ie to have a "ruby" executable, there are really very few kernel calls needed. File open, read and stdout write, brk.
So the way this will go is to write syscalls where needed.

View File

@ -25,5 +25,5 @@ assmbler i found a fibonachi in 10 or so instructions.
To summarise, function definition and calling (including recursion) works.
If and and while structures work and also some operators and now it's easy to add more.
So we have a Fibonacchi in ruby using a while implementation that can be executed by kide and outputs the
So we have a Fibonacchi in ruby using a while implementation that can be executed by salama and outputs the
correct result. After a total of 7 weeks this is much more than expected!

View File

@ -24,7 +24,7 @@ And what are these funtions? get_instance_variable or set too. Same for function
This functionality, ie getting the n'th data in an object, is essential, but c makes such a good point of of it having no place in a public api. So it needs to be implemented in a "private" part and used in a save manner. More on the layers emerging below.
The Kernel is a module in kide that defines functions which return function objects. So the code is generated, instead of parsed. An essential destinction.
The Kernel is a module in salama that defines functions which return function objects. So the code is generated, instead of parsed. An essential destinction.
#### System
@ -50,7 +50,7 @@ Some few machine functions return Blocks, or append their instructions to blocks
The Kernel functions return function objects. Kernel functions have the same name as the function they implement, so Kernel::putstring defines a function called putstring. Function objects (Vm::Function) carry entry/exit/body code, receiver/return/argurmt types and a little more.
The important thing is that these functions are callable from ruby code. Thus they form the glue from the next layer up, which is coded in ruby, to the machine layer. In a way the Kernel "exports" the machine functionality to kide.
The important thing is that these functions are callable from ruby code. Thus they form the glue from the next layer up, which is coded in ruby, to the machine layer. In a way the Kernel "exports" the machine functionality to salama.
##### Parfait
@ -60,22 +60,22 @@ Parfait is heavy on Object/Class/Metaclass functionality, object instance and me
Stdlib would be the next layer up, implementing the whole of ruby functionality in terms of what Parfait provides.
The important thing here is that Parfait is written completely in ruby. Meaning it get's parsed by kide like any other code, and then transformed into executable form and written.
The important thing here is that Parfait is written completely in ruby. Meaning it get's parsed by salama like any other code, and then transformed into executable form and written.
Any executable that kide generates will have Parfait in it. But only the final version of kide as a ruby vm, will have the whole stdlib and parser along.
Any executable that salama generates will have Parfait in it. But only the final version of salama as a ruby vm, will have the whole stdlib and parser along.
#### Kide
#### Salama
Kide uses the Kernel and Machine layers straight when creating code. Off course.
The closest equivalent to kide would be a compiler and so it is it's job to create code (machine layer objects).
Salama uses the Kernel and Machine layers straight when creating code. Off course.
The closest equivalent to salama would be a compiler and so it is it's job to create code (machine layer objects).
But it is my intention to keep that as small as possible. And the good news is it's all ruby :-)
##### Extensions
I just want to mention the idea of extensions that is a logical step for a minimal system. Off course they would be gems, but the integesting thing is they (like kide) could:
I just want to mention the idea of extensions that is a logical step for a minimal system. Off course they would be gems, but the integesting thing is they (like salama) could:
- use kides existing kernel/machine abstraction to define new functionality that is not possible in ruby
- use salamas existing kernel/machine abstraction to define new functionality that is not possible in ruby
- define new machine functionality, adding kernel type api's, to create wholly new, possibly hardware specific functionality
I am thinking graphic accellaration, GPU usage, vector api's, that kind of thing. In fact i aim to implement the whole floating point functionality as an extensions (as it clearly not essential for OO).

View File

@ -1,6 +1,6 @@
---
layout: site
title: Kide, where it started
title: Salama, where it started
---
<!-- story -->

View File

@ -1 +1 @@
kide.org
salama.org

View File

@ -1,7 +1,7 @@
---
layout: main
title: Ruby in Ruby
sub-title: Kide hopes make the the mysterious more accessible, shed light in the farthest (ruby) corners, and above all, <b>empower you</b>
sub-title: Salama hopes make the the mysterious more accessible, shed light in the farthest (ruby) corners, and above all, <b>empower you</b>
---
<div class="row vspace20">

View File

@ -1,12 +1,12 @@
---
layout: kide
title: Kide, a simple and minimal oo machine
layout: salama
title: Salama, a simple and minimal oo machine
---
<div class="row vspace10">
<div class="span12 center">
<h3><span>Kide layers</span></h3>
<h3><span>Salama layers</span></h3>
<p>Map pretty much to top level directories.</p>
</div>
</div>
@ -24,7 +24,7 @@ title: Kide, a simple and minimal oo machine
those classes are derived from Vm versions.
<br/>
There is an intel directory which contains an expanded version of wilson, but it has yet to be made to fit into
the architecture. So for now kide produces arm code.
the architecture. So for now salama produces arm code.
</p>
</div>
</div>

View File

@ -1,5 +1,5 @@
---
layout: kide
layout: salama
title: Memory layout and management
---

View File

@ -1,5 +1,5 @@
---
layout: kide
layout: salama
title: Optimisation ideas
---

View File

@ -1,5 +1,5 @@
---
layout: kide
layout: salama
title: Threads are broken
author: Torsten
---
@ -69,7 +69,7 @@ In an oo system this can be enforced by strict pass-by-value over thread borders
The itc (inter thread communication) objects are the only ones that need current thread synchronization techniques.
The one mechanism that could cover all needs could be a simple lists.
### Kide
### Salama
The original problem of what a program does during a kernel call could be solved by a very small number of kernel threads.
Any kernel call would be listed and "c" threads would pick them up to execute them and return the result.

View File

@ -54,7 +54,7 @@ I noticed that quite quickly after i started the project, i was diverging radica
is not just from my old ideas, which is nice in itself. A certain freshness and the fact that i am not just going over
old ground. No, it's from any old ideas that i am aware of.
I just noticed another kide project with similar goals, but sort of more traditional choices. Ie llvm to generate binaries
I just noticed another salama project with similar goals, but sort of more traditional choices. Ie llvm to generate binaries
and a more static aproach. And that would have been me as a younger version. Now i go the long way because i know i have
all the time i need, and what matters is direction, not speed.

View File

@ -1,6 +1,6 @@
---
layout: site
title: Kide and Ruby, Ruby and Kide
title: Salama and Ruby, Ruby and Salama
---
<div class="content">
@ -13,7 +13,7 @@ title: Kide and Ruby, Ruby and Kide
<h3><span>The three Rubies</span></h3>
</div>
<div class="span4 center">
<h3><span>and Kide</span></h3>
<h3><span>and Salama</span></h3>
</div>
</div>
@ -32,13 +32,13 @@ title: Kide and Ruby, Ruby and Kide
<div class="span4">
<h4>Vm</h4>
<h5>Kide</h5>
<blockquote><p> The heart of the kide project is kide, the virtual machine <br /></p></blockquote>
<p>Kide is written in 100% ruby</p>
<p>Kide uses an existing ruby to bootstrap itself</p>
<p>Kide generates native code, and ( with 1+2) creates a native ruby virtual machine. </p>
<p>Kide does not interpret, it parses and compiles (just making sure that's clear)</p>
<p>Kide uses a statically typed value based core with rtti and oo syntax to achieve this
<h5>Salama</h5>
<blockquote><p> The heart of the salama project is salama, the virtual machine <br /></p></blockquote>
<p>Salama is written in 100% ruby</p>
<p>Salama uses an existing ruby to bootstrap itself</p>
<p>Salama generates native code, and ( with 1+2) creates a native ruby virtual machine. </p>
<p>Salama does not interpret, it parses and compiles (just making sure that's clear)</p>
<p>Salama uses a statically typed value based core with rtti and oo syntax to achieve this
(think c++ with ruby syntax)</p>
</div>
@ -53,7 +53,7 @@ title: Kide and Ruby, Ruby and Kide
Stdlib, as Libc , have grown over the decades to provide overlapping and sometimes inconsistant features, most
of which can and should be outside such a standard component.
</p>
<p> Kide considers only that core which can not be suplied though an external gem, this is called
<p> Salama considers only that core which can not be suplied though an external gem, this is called
Parfait. It only provides Array and String and an ability to access
the operating system, in 100% ruby.</p>
<p>Full ruby stdlib compliance is not an initial project goal, but may be achieved through external libraries</p>