--- layout: site title: Sapphire and Ruby, Ruby and Sapphire ---

The three Rubies

and Sapphire

Syntax

and meaning

Pure OO, blocks, closures,clean syntax, simple but consistant, open classes

Just to name a few of the great features of the ruby syntax and it's programming model.
Syntax is an abstract thing, as far as i know there is no ebnf or similar definition of it. Also as far as i know there is only the mri which is considered the only source of how ruby works.
With more vm's appearing this is changing and the mpsec is apparently catching up.
As we are just starting we focus on oo consistency and implement only essential features.

Vm

Sapphire

The heart of the sapphire-vm project is sapphire, the virtual machine

Sapphire is written in 100% ruby

Sapphire uses an existing ruby to bootstrap itself

Sapphire generates native code, and ( with 1+2) creates a native ruby virtual machine.

Sapphire does not interpret, it parses and compiles (just making sure that's clear)

Sapphire uses a statically typed value based core with rtti and oo syntax to achieve this (think c++ with ruby syntax)

Core Library

Parfait

Ruby has core and std lib, with a slightly unclear distinction. Parfait is a minimalistic core library on which this could be built.

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.

Sapphire 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.

Full ruby stdlib compliance is not an initial project goal, but may be achieved through external libraries