Two improvements: it's faster, and it offers command-line args as described at http://arclanguage.org/item?id=6602 . I had previously been lazy with evaluation of lexically-bound symbols; now they're all indexed at macro-expansion time, hence the speed up. It's still not as fast as the scheme version however. The latest rainbow is available on the git at http://github.com/conanite/rainbow/tree/master and a source zip is at http://www.softify.com/rainbow-src.zip What do you think would be useful to do next in a java implementation of arc? Here are some ideas: - anarki compatibility
- java interface (as suggested in http://arclanguage.org/item?id=6655 for library access)
- byte-compile for better performance (suspect this is not possible with continuations and TCO)
- java-web-start launcher
(I'd love to make a poll out of this but I can't, is it a karma thing?)These are the functions I had imagined for a java interface: am I missing anything, or is this over the top? (java-new "classname") ; --> new com.foo.Foo()
(java-class "classname") ; --> Foo.class
(java-invoke object 'method) ; --> myFoo.bar()
(java-static-invoke object 'method) ; --> Foo.toto()
(java-field object 'field [value]) ; --> foo.baz; foo.baz = true;
(java-static-field object 'field [value]) ; --> Foo.yadda
(java-new-implementation "interface-name" table) ; --> new MouseListener() { public void onMouseDown(MouseEvent e) { /* do stuff */ } }
Rainbow is on github and is open to modification by anybody. |