Ruby => Rite, AST => Bytecode?

A

Austin Ziegler

Matz and fellow Rubyists,

On pragprog, we're sort-of discussing the creation of a new language
("Pragmatic") as an exercise in extending one's programming
experience. Now, there's a lot of discussion on the low-end, but the
most interesting to me was this, and I was wondering if something
like the idea behind Juice might be a good thing for Rite, rather
than a "pure" bytecode setup.

What do you think?

-austin

]
The idea behind Juice was to encode a portable encoding of the
program not as bytecode (which is the usual way to do things) but
to encode the AST as the portable format. This lead to several
interesting features for Juice:

* the binaries were actually smaller than the equivalent bytecodes
and smaller by far that machine-specific binaries.
* the binaries contained far more information about program
structure than the equivalent bytecodes did. This led to being
able to take better advantage of the target platform. A JIT
compiler would translate the AST into the backend representation
and it had a much easier time of optimizing the code than an
equivalent JIT compiler for a bytecode system would have. I saw
this demonstrated in '97 or '98. Given that Juice had less
resources than Java devoted to it you can imagine how impressive
it was to see a recoding of some Java applets executing
approximately five times as fast as the original Java did (I
realize this is highly subjective but the implication is that
wherever the limitation was with Java they had taken the wrong
approach to portability and performance).
* due to the small size of the binaries it was faster, on networks
and PCs of the day, to download a Juice applet and JIT-compile
them on the target machine than it was to download the
equivalent platform-specific binary and execute it.
[...]
 
A

Aredridel

--=-HTb4o42S2mfm24mi73Jy
Content-Type: text/plain
Content-Transfer-Encoding: quoted-printable

Matz and fellow Rubyists,
=20
On pragprog, we're sort-of discussing the creation of a new language
("Pragmatic") as an exercise in extending one's programming
experience. Now, there's a lot of discussion on the low-end, but the
most interesting to me was this, and I was wondering if something
like the idea behind Juice might be a good thing for Rite, rather
than a "pure" bytecode setup.

Oooh, interesting -- I like the idea, because it allows for far more
introspection into the AST while giving a compact binary format to
actually run.

It might make a really perfect middle ground for such a highly dynamic
language such as our favorite, Ruby...

Ari

--=-HTb4o42S2mfm24mi73Jy
Content-Type: application/pgp-signature; name=signature.asc
Content-Description: This is a digitally signed message part

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.2.2 (GNU/Linux)

iD8DBQA/JzwhtP09exA3hooRArJCAKCBGjyxaz9H9Pv3HU9dgu3Hmtrq+QCeJbru
Nhjmgq1ZTxShQoww1cyFGrs=
=d+1v
-----END PGP SIGNATURE-----

--=-HTb4o42S2mfm24mi73Jy--
 
P

Phil Tomson

Matz and fellow Rubyists,

On pragprog, we're sort-of discussing the creation of a new language
("Pragmatic") as an exercise in extending one's programming
experience. Now, there's a lot of discussion on the low-end, but the
most interesting to me was this, and I was wondering if something
like the idea behind Juice might be a good thing for Rite, rather
than a "pure" bytecode setup.

What do you think?

Sounds like an interesting discussion, how does one get on this mailing
list?

Phil
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Members online

Forum statistics

Threads
473,764
Messages
2,569,566
Members
45,041
Latest member
RomeoFarnh

Latest Threads

Top