ruby-x.github.io/app/views/pages/index.html.haml
2020-01-30 19:58:23 +07:00

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])