123 lines
4.1 KiB
Plaintext
123 lines
4.1 KiB
Plaintext
.row
|
|
%h2.center The community's ruby implementation
|
|
%div
|
|
%p.center
|
|
%span
|
|
Ruby imiplemented in 100% ruby, for everyone.
|
|
.row
|
|
.tripple
|
|
%h2.center What
|
|
%p
|
|
RubyX
|
|
%b compiles
|
|
ruby code to binary.
|
|
%br
|
|
In
|
|
%b 100%
|
|
pure ruby.
|
|
%p
|
|
The goal here is to prove that dynamic languages do not have to be slow.
|
|
%br
|
|
Only interpretation is slow, but when
|
|
ruby is
|
|
%b compiled to binary
|
|
,it can be really fast.
|
|
%p
|
|
How fast (X times), will eventually depend on the community.
|
|
The RubyX approach works, but to create an mri compatible ruby will
|
|
take many more man-years than i have.
|
|
%p
|
|
RubyX is here to
|
|
=succeed "," do
|
|
=link_to "empower you" , "/project/motivation.html"
|
|
to make your ruby shine as much as you like.
|
|
%p
|
|
Since rubyX is written in ruby, anyone can easily join, and
|
|
the project is very open to newcomers. In time the idea is to implement
|
|
a democratic version of open source, as an alternative the current
|
|
"benevolent dictator" model.
|
|
%p
|
|
Contrary to what many newcomers think, ruby-x is also technically easy to join.
|
|
In the end it is just ruby, and only a very small percent of code is low level.
|
|
We have a list
|
|
=ext_link "of issues" , "https://github.com/ruby-x/rubyx/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+newbie%22"
|
|
in github for beginners.
|
|
.tripple
|
|
%h2.center Status
|
|
%p
|
|
The RubyX compiler is working (ie creates binaries), and the
|
|
=link_to "architecture", "/rubyx/layers.html"
|
|
has been refined over several years.
|
|
%p
|
|
A substantial part of the ruby language has been implemented:
|
|
%ul
|
|
%li
|
|
Object oriented
|
|
=succeed "." do
|
|
=link_to "calling semantics" , "/rubyx/calling.html"
|
|
%li
|
|
Basic
|
|
=link_to "block creation" , "/blog/implicit-blocks-are-working"
|
|
and passing.
|
|
%li
|
|
Dynamic
|
|
= succeed "." do
|
|
=link_to "method resolution" ,"/rubyx/method_resolution.html"
|
|
%li
|
|
Control Structures, variables and assignment, integer operators.
|
|
%li
|
|
Object based
|
|
=succeed "." do
|
|
=link_to "memory" ,"/rubyx/memory.html"
|
|
%li
|
|
A minimal Runtime of
|
|
= succeed "," do
|
|
=link_to "classes, types" , "/rubyx/parfait.html"
|
|
methods and basic types.
|
|
%li
|
|
=ext_link "Risc machine abstraction" , "https://github.com/ruby-x/rubyx/tree/master/lib/risc"
|
|
(includes extensible instruction)
|
|
%li
|
|
A minimal Arm and Elf implementation to create
|
|
= succeed "." do
|
|
%b working binaries
|
|
%h2.center Upcoming work
|
|
%p
|
|
But there is still a lot of work, here are just the next few topics
|
|
%ul
|
|
%li Dynamic Memory management
|
|
%li Benchmarks for calling and integer
|
|
%li Start stdlib with String and files
|
|
By then we may be in the foothills, but nowhere near even basecamp, let alone there.
|
|
.tripple
|
|
%h2.center Docs
|
|
%p
|
|
The short introduction is under the
|
|
=link_to "architecture" , "/rubyx/layers.html"
|
|
menu.
|
|
%p
|
|
The presentation for
|
|
= ext_link "GrillRb" , "/slides/grillrb"
|
|
is more detailed than the previous unconf Hamburg one.
|
|
But a 20min video was made in hamburg and can be found
|
|
= ext_link "on youtube" , "https://youtu.be/ojW-q_wiSn8"
|
|
%p
|
|
To get to know the system, there is also an interpreter and a basic
|
|
=succeed "." do
|
|
=link_to "visual debugger" , "rubyx/debugger.html"
|
|
%p
|
|
The
|
|
=link_to "about", "/project/motivation.html"
|
|
section has some info of when and how this started. If you feel like contributing
|
|
=link_to "read this", "/project/contribute.html"
|
|
or write a
|
|
= succeed "." do
|
|
=ext_link "mail to the group" , "https://groups.google.com/forum/#!forum/ruby-x"
|
|
%h2.center News
|
|
%p
|
|
Last but not least, i try to get recent developments down on paper when they are
|
|
still fresh.
|
|
%p=post_link(Post.posts.values[0])
|
|
%p=post_link(Post.posts.values[1])
|
|
%p=post_link(Post.posts.values[2])
|