ruby-x.github.io/app/views/pages/index.html.haml

131 lines
4.4 KiB
Plaintext
Raw Normal View History

2018-04-10 17:39:03 +02:00
.row
2023-01-15 11:51:23 +01:00
%h2.center A Ruby to binary experiment
2018-04-10 17:39:03 +02:00
%div
%p.center
%span
2023-01-15 11:51:23 +01:00
Now over, results in news.
2018-04-10 17:39:03 +02:00
.row
.tripple
2018-04-20 20:26:31 +02:00
%h2.center What
2018-04-10 17:39:03 +02:00
%p
2018-04-20 20:26:31 +02:00
RubyX
%b compiles
Ruby code to binary.
2018-04-20 20:26:31 +02:00
%br
In
%b 100%
pure Ruby.
2018-04-10 17:39:03 +02:00
%p
2018-04-20 20:26:31 +02:00
The goal here is to prove that dynamic languages do not have to be slow.
%br
Only interpretation is slow, but when
Ruby is
=succeed "," do
%b compiled to binary
it can be really fast.
2018-04-20 20:26:31 +02:00
%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.
2018-04-10 17:39:03 +02:00
%p
2018-04-20 20:26:31 +02:00
RubyX is here to
=succeed "," do
=link_to "empower you" , "/project/motivation.html"
to make your Ruby shine as much as you like.
2020-01-30 13:58:23 +01:00
%p
Since RubyX is written in Ruby, anyone can easily join, and
2020-01-30 13:58:23 +01:00
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.
2020-01-30 13:58:23 +01:00
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.
2018-04-10 17:39:03 +02:00
.tripple
%h2.center Status
%p
2019-02-01 18:33:06 +01:00
The RubyX compiler is working (ie creates binaries), and the
2018-04-20 20:26:31 +02:00
=link_to "architecture", "/rubyx/layers.html"
has been refined over several years.
%p
A substantial part of the Ruby language has been implemented:
2018-04-10 17:39:03 +02:00
%ul
%li
2018-04-20 20:26:31 +02:00
Object oriented
=succeed "." do
=link_to "calling semantics" , "/rubyx/calling.html"
2019-02-01 18:33:06 +01:00
%li
Basic
=link_to "block creation" , "/blog/implicit-blocks-are-working"
and passing.
2018-04-20 20:26:31 +02:00
%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
2018-04-10 17:39:03 +02:00
= succeed "," do
2018-04-20 20:26:31 +02:00
=link_to "classes, types" , "/rubyx/parfait.html"
2018-04-11 09:20:08 +02:00
methods and basic types.
2018-04-10 17:39:03 +02:00
%li
2020-03-23 18:08:01 +01:00
=ext_link "Risc machine abstraction" , "/rubyx/layers.html#risc"
(with SSA and register allocation)
2018-04-10 17:39:03 +02:00
%li
A minimal ARM and ELF implementation to create
2018-04-20 20:26:31 +02:00
= succeed "." do
%b working binaries
2019-02-01 18:33:06 +01:00
%h2.center Upcoming work
2023-01-15 11:51:23 +01:00
%p
Obviouly cancelled now (see news).
2018-04-21 09:20:31 +02:00
%p
But there is still a lot of work, here are some of the next few topics
2018-04-21 09:20:31 +02:00
%ul
2020-03-23 18:08:01 +01:00
%li Inlining and static memory analysis
2019-02-01 18:33:06 +01:00
%li Start stdlib with String and files
2020-03-23 18:08:01 +01:00
%li Dynamic Memory management
There are also many small things anybody can
=ext_link "start with." , "https://github.com/ruby-x/rubyx/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+newbie%22"
2018-04-10 17:39:03 +02:00
.tripple
%h2.center Docs
%p
The short introduction is under the
2018-04-20 20:26:31 +02:00
=link_to "architecture" , "/rubyx/layers.html"
2018-04-10 17:39:03 +02:00
menu.
2019-02-01 18:33:06 +01:00
%p
The presentation for
= ext_link "GrillRb" , "/slides/grillrb"
is more detailed than the previous unconf Hamburg one.
But a 20 minute video was made in Hamburg and can be found
=succeed "." do
= ext_link "on youtube" , "https://youtu.be/ojW-q_wiSn8"
2018-04-10 17:39:03 +02:00
%p
2018-04-20 20:26:31 +02:00
To get to know the system, there is also an interpreter and a basic
=succeed "." do
=link_to "visual debugger" , "rubyx/debugger.html"
2018-04-10 17:39:03 +02:00
%p
The
2018-04-20 20:26:31 +02:00
=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"
2018-04-10 17:39:03 +02:00
or write a
= succeed "." do
2018-04-20 20:26:31 +02:00
=ext_link "mail to the group" , "https://groups.google.com/forum/#!forum/ruby-x"
2018-04-10 17:39:03 +02:00
%h2.center News
%p
Last but not least, I try to get recent developments down on paper when they are
still fresh. Though not much has happened lately, as we bought
=ext_link "this" , "https://www.hubfeenix.fi/"
2018-04-11 18:34:35 +02:00
%p=post_link(Post.posts.values[0])
%p=post_link(Post.posts.values[1])
%p=post_link(Post.posts.values[2])