[ANN] RUIN (Ruby Unlambda INterpreter) 1.0 released

  • Thread starter M. Edward (Ed) Borasky
  • Start date
M

M. Edward (Ed) Borasky

I am pleased to announce RUIN (Ruby Unlambda INterpreter) 1.0. For those
of you who don't follow programming languages, Unlambda is a
Turing-complete language based on the S, K and I combinators rather than
the lambda calculus. The Unlambda home page is at
http://www.madore.org/~david/programs/unlambda/. My thanks go to Kevin
Tew of the Parrot/Cardinal project, who showed me where to find the
Unlambda implementation in the Parrot source. From there, it was a
simple matter to track down the other components.

So ... is RUIN a Ruby interpreter written in Unlambda, or an Unlambda
interpreter written in Ruby? YES! Because of the simple nature of
Unlambda, the process was bootstrapped by first writing an Unlambda
interpreter in Ruby. This was validated using the RSpec RUST (Ruby
Unlambda Suite of Tests) test suite. Next, given a working Unlambda
interpreter written in Ruby, I wrote ROT (Ruby Object Translator) in
Unlambda. ROT translates the low-level C code of the Ruby interpreter
into pure combinatory logic, a straightforward process, given the
low-level nature of the SKI calculus on which Unlambda is founded. The
output of ROT is thus a Ruby interpreter written in Unlambda. The Ruby
interpreter thus produced runs all the standard Ruby applications -- the
standard test process is to run the RUST suite recursively.

So far, neither of these processes is optimized. That's where the fourth
component comes in -- RAGE (Ruby Algorithm GEnetics). RAGE is a genetic
programming system written in Ruby, capable of optimizing either Ruby or
Unlambda code. Two fitness functions are available, one for speed
optimization and one for memory space optimization. There is also an
IDE, called RUINED (RUIN EDitor), a GUI toolkit called BRUIN (Beautified
RUIN) and a web application framework RAT (RUIN Application Toolkit).

RAT is actually the piece of the project that most excites me. Unlambda
is at its core an elegant and simple environment, like Scheme or Forth.
As a result, RAT is amazingly compact -- the whole framework does
everything Rails does in about 4 kilobytes of code. I'm working on a few
other enhancements, but on the whole I am happy enough to call this
release 1.0. Unfortunately, RUIN at this point is not open source.
Neither my accountant nor my attorney thinks that releasing RUIN under
an open source license is a good idea, although I haven't been able to
get a clear reason why from either of them. So if you are interested in
RUIN, send me an email off-list and I'll let you negotiate the terms
with them.
 
K

khaines

--574647984-1464695628-1175448520=:20146
Content-Type: MULTIPART/MIXED; BOUNDARY="574647984-1464695628-1175448520=:20146"

This message is in MIME format. The first part should be readable text,
while the remaining parts are likely unreadable without MIME-aware tools.

--574647984-1464695628-1175448520=:20146
Content-Type: TEXT/PLAIN; charset=X-UNKNOWN; format=flowed
Content-Transfer-Encoding: QUOTED-PRINTABLE

This sounded fantastically interesting up till here, at which point it
turned into "oh, never mind then".

It looks like an April Fool's Day joke, to me.


Kirk Haines

--574647984-1464695628-1175448520=:20146--
--574647984-1464695628-1175448520=:20146--
 
M

M. Edward (Ed) Borasky

Kristoffer said:
This sounded fantastically interesting up till here, at which point it
turned into "oh, never mind then".
What did you find interesting about it? As far as I'm concerned, it's
boring computer science. The SKI calculus upon which Unlambda is based
is somewhat like a Huffman code. It was a short step for me to SKI into
RUIN. Fortunately, the BRUINs were still hibernating.
Neither my accountant nor my attorney thinks that releasing RUIN under


Any attorney or accountant that doesn't know what open source is or is
about
is going to give you this advice, as they would about anything they don't
know what it would mean. That's generally a better strategy than saying
"sure, go ahead" to anything, but if you haven't explained it to them,
you
can't get any advice at all, really. OTOH, maybe you aren't convinced
yourself, in which case you may be happy about not going open source.
Depends a lot on what you expect to do with this product of yours.
What my attorney said was that there was a great potential for RUIN if I
released it as open source technology. My accountant, on the other hand,
was in fact the inspiration for RAT.
So if you are interested in


Yeah, that's gonna happen... no website, no demos, no source, no nothing,
and we should contact your attorney to negotiate terms? You realize
how that
sounds, right? :)
Ah ... perhaps it is April 2nd where you are? :)
 
L

Lyle Johnson

I think this is an April fool joke.

Clearly. If this were a real project, we would have dozens of posts in
this thread by now (most by the same person) discussing the licensing
philosophy.
 
M

M. Edward (Ed) Borasky

Christian said:
And now let's imagine how fast that would run complied down to
supercombinators. :)
Bah! I tried that! It works fine on all architectures except i86 and
i86-64, PowerPC and Sparc. Actually, though, I didn't test it on Alphas
or the IBM z Series. It may only work on my development machine, which
is a Motorola 68000.
 

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

Similar Threads


Members online

No members online now.

Forum statistics

Threads
473,755
Messages
2,569,536
Members
45,013
Latest member
KatriceSwa

Latest Threads

Top