110 lines
3.4 KiB
Plaintext
110 lines
3.4 KiB
Plaintext
.row
|
|
%h2.center Compiling Ruby to Binary.
|
|
%div
|
|
%p.center
|
|
%span
|
|
Putting wings on ruby to let you fly (may take X years).
|
|
.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.
|
|
.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
|
|
A
|
|
= ext_link "short talk" , "/rubyx_goa_2019.pdf"
|
|
i held at rubyconf india 2019. Only pdf, while we wait for the video.
|
|
%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])
|