This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit ef3799c41bcd58e74b876fa03f1ef28cbd02a8b6
tree a4d799b1f5a03fa068968e6999475627e24ddc53
parent 77363ecf78ed1b2eaf1d27b6cdb15503366f60f1
tree a4d799b1f5a03fa068968e6999475627e24ddc53
parent 77363ecf78ed1b2eaf1d27b6cdb15503366f60f1
unholy /
| name | age | message | |
|---|---|---|---|
| |
README | Mon May 05 02:34:41 -0700 2008 | [why] |
| |
bin/ | Mon May 05 02:13:31 -0700 2008 | [why] |
| |
decompyle/ | Mon May 05 02:21:51 -0700 2008 | [why] |
| |
lib/ | Mon May 05 02:13:31 -0700 2008 | [why] |
| |
python/ | Mon May 05 02:11:15 -0700 2008 | [why] |
README
$ UNHOLY $
Compile Ruby to Python bytecode.
And, in addition, translate that
bytecode back to Python source
code using Decompyle (included.)
$ INSTALL $
First, install decompyle:
> cd decompyle
> python setup.py build
# python setup.py install
Then, in the main directory, use
the tools.
---
To compile Ruby to a .pyc:
> bin/unholy test.rb
> python test.rb.pyc
---
To translate to Python:
> decompyle test.rb.pyc > test.py
---
And, to view the disassembled
bytes:
> bin/py-dis test.rb.pyc
Thanks to Ned Batchelder for his
rather juicy posts on dissecting
Python bytecode. It is only too
bad that a Rubyist got a hold of
them. :(
$ POTION $
Now, image if Ruby and Python
were to combine into something
new. Let's call it "potion":
> potion test.py
HELLO FROM PYTHON
> potion test.rb
KONNICHIWA FROM RUBY
You know, it's crazy that Python
and Ruby fans find themselves
battling so much. While syntax
is different, this exercise
proves how close they are to
each other! And, yes, I like
Ruby's syntax and can think much
better in it, but it would be
nice to share libs with Python
folk and not have to wait forever
for a mythical VM that runs all
possible languages.




