diff --git a/eg/rpython/Makefile b/eg/rpython/Makefile new file mode 100644 index 0000000..5193f62 --- /dev/null +++ b/eg/rpython/Makefile @@ -0,0 +1,14 @@ +RPY_WRAP = python -m hy +RPY_FLAGS = -O2 +RPY = ~/pypy/rpython/bin/rpython + +all: clean build + +clear: + @clear + +clean: + @echo "fixme" + +build: + $(RPY_WRAP) $(RPY) $(RPY_FLAGS) target.py diff --git a/eg/rpython/THANKS b/eg/rpython/THANKS new file mode 100644 index 0000000..e19a936 --- /dev/null +++ b/eg/rpython/THANKS @@ -0,0 +1,2 @@ +Thanks so much for Romain Guillebert for sitting down and hacking +this out with me. A true hacker in every sense of the word. Thank you! diff --git a/eg/rpython/target.py b/eg/rpython/target.py new file mode 100644 index 0000000..0817bbf --- /dev/null +++ b/eg/rpython/target.py @@ -0,0 +1,15 @@ +import hy +import sys +import test + + +def entry_point(argv): + return test.main(argv) + + +def target(driver, args): + return entry_point, None + + +if __name__ == "__main__": + entry_point(sys.argv) diff --git a/eg/rpython/test.hy b/eg/rpython/test.hy new file mode 100644 index 0000000..9d54492 --- /dev/null +++ b/eg/rpython/test.hy @@ -0,0 +1,12 @@ +; hello, rHy! + + +(defn fib [n] + (if (<= n 2) n + (+ (fib (- n 1)) (fib (- n 2))))) + + +(defn main [argv] + (for [x [1 2 3 4 5 6 7 8]] + (print (fib x))) + 0)