tag:blogger.com,1999:blog-4704664917418794835.post1667957868421818728..comments2023-07-01T05:41:30.469-07:00Comments on Headius: The Compiler Is Completeheadiushttp://www.blogger.com/profile/15717357218364947795noreply@blogger.comBlogger28125tag:blogger.com,1999:blog-4704664917418794835.post-15658822765763287452007-09-28T05:03:00.000-07:002007-09-28T05:03:00.000-07:00Congratulations. I know it always feels great when...Congratulations. I know it always feels great when you achieve something like that.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-22842504809800062562007-09-28T05:28:00.000-07:002007-09-28T05:28:00.000-07:00Any reason for not choosing to use comments? At le...Any reason for not choosing to use comments? At least that way the markup is benign.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-10032767826805117782007-09-28T05:35:00.000-07:002007-09-28T05:35:00.000-07:00Great newsGreat newsVitaliyhttp://viju.tvercity.netnoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-10861982853456828922007-09-28T05:41:00.000-07:002007-09-28T05:41:00.000-07:00Congratulations. Your Ruby to Java class compiler...Congratulations. Your Ruby to Java class compiler sounds very interesting, especially to those of us that need to add functionality to Java systems.sutchhttp://www.blogger.com/profile/00921346864409348856noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-14533676311912560512007-09-28T05:46:00.002-07:002007-09-28T05:46:00.002-07:00Congratulations! That's an awesome achievemen...Congratulations! That's an awesome achievement, and an immense contribution to the Ruby and Java communities.Jason Morrisonhttp://www.blogger.com/profile/01407368069531579473noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-36891244003208081682007-09-28T05:46:00.001-07:002007-09-28T05:46:00.001-07:00First of all congrats for the compiler, for sure t...First of all congrats for the compiler, for sure that's a big day.<br><br>But I should say I REALLY like your second compiler idea. This would be a fantastic way to get optional typing. I like Ruby quite much, but I'll never dismiss: in some cases (large teams and large time scales), static typing is required.<br><br>JRuby was already a good way to overcome that by allowing one to split up the code base between what should be statically constrained and should, on the contrary, allow quick prototyping. Your new compiler idea is just an other major step forward in that direction. That's great!<br><br>Raphaël ValyiRaphaël Valyihttp://www.blogger.com/profile/01805258585519968165noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-70181098651775887892007-09-28T06:07:00.000-07:002007-09-28T06:07:00.000-07:00Triply congrats...Triply congrats...Marianohttp://www.blogger.com/profile/04576024486566426295noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-20066544626948584112007-09-28T06:15:00.000-07:002007-09-28T06:15:00.000-07:00Great news!And indeed it would be a more than love...Great news!And indeed it would be a more than lovely addition when 'pure' java classes can be generated from ruby code.<br><br>About the proposed syntax. Why not open up the class method and add a method to define the java signature of a ruby method so you write something like<br><br>class MyClass {<br> jsignature :bla, :returns => String, :x => Integer, :y => Integer<br> <br> def bla(x,y) {<br> return "#{x},#{y}<br> }<br>}<br><br>A bit more verbose but better readable.<br><br>Another idea is to apply a 'by convention mechanism'<br><br>def str_bla(int_x, int_y) {<br> ....<br>}<br><br>and finally, since you control the compiler, why not introduce compiler directives using commment lines <br><br># @param x int<br># @param y int<br># @return String<br>#<br>def str_bla(int_x, int_y) {<br> ....<br>}<br><br>Or support all three ways to specify a signature. Just a few ideas ...<br><br>Nevertheless, great work!Okkehttp://www.blogger.com/profile/09887610259313782730noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-21534710099784377432007-09-28T06:40:00.000-07:002007-09-28T06:40:00.000-07:00anonymous 2: comments would work too, but it would...anonymous 2: comments would work too, but it would require bit of additional parsing magic and might look a little ugly in the actual code. Of course, the map version isn't exactly beautiful either.<br><br>anonymous 3: performance when compiled is roughly double the interpreted performance, but there's still a lot of optimization to be done in both the compiled code and in the call logic.<br><br>okke: Of your ideas, only the convention and comment versions would meet my goal of having the same code run in both places. I think that's absolutely essential, since we have no intention of doing the whole "embrace and extend" thing in compatibility-breaking ways.Charles Oliver Nutterhttp://www.blogger.com/profile/06400331959739924670noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-31722354019552162832007-09-28T08:15:00.000-07:002007-09-28T08:15:00.000-07:00i might be a little silly but maybe someone can he...i might be a little silly but maybe someone can help explain<br><br>does this mean i could use ruby, and have a java-like thingy ready to move to other machines?<br>or in other words, write in ruby but could distribute something like a .jar file or similar?Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-29737971707408357602007-09-28T08:52:00.000-07:002007-09-28T08:52:00.000-07:00Congrats on a fantastic achievement! Things are ge...Congrats on a fantastic achievement! Things are getting REALLY interesting in JRuby world :)msphttp://www.blogger.com/profile/06091396940530707913noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-61771300063888362712007-09-28T09:02:00.000-07:002007-09-28T09:02:00.000-07:00anonymous 4: yep, that's about the size, thoug...anonymous 4: yep, that's about the size, though you can also load .rb files from a JAR right now too.Charles Oliver Nutterhttp://www.blogger.com/profile/06400331959739924670noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-17695044343344316992007-09-28T09:31:00.000-07:002007-09-28T09:31:00.000-07:00This is super cool - much needed.1) Can you compil...This is super cool - much needed.<br><br>1) Can you compile in GUI code too - maybe Swing or something simpler? <br>2) Will you be posting simple "Hello World"-sized compiled examples? (And how to run the compiler from NetBeans?)<br>3) Can you post a simple "Hello World" of loading .rb files from a JAR right now?<br><br>Congrats - this is really revolutionary - and much needed.Brianhttp://www.blogger.com/profile/11750361403997207912noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-14387500254502484582007-09-28T11:45:00.000-07:002007-09-28T11:45:00.000-07:00Congratulations ! It's simply amazing how the ...Congratulations ! It's simply amazing how the JRuby is evolving. <br><br>Now, take a good rest and enjoy some beers to celebrate it ! :)<br><br>Thank you for your work.Juannoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-29284607338215231702007-09-28T12:48:00.000-07:002007-09-28T12:48:00.000-07:00Congratulations!You Rock!!Congratulations!<br><br>You Rock!!David Pollakhttp://www.blogger.com/profile/16630520857988769066noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-64603503389250316182007-09-28T14:13:00.000-07:002007-09-28T14:13:00.000-07:00Excellent! Thank you guys! This is a huge accompli...Excellent! Thank you guys! This is a huge accomplishment -- you should all be very proud.Anonymousnoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-84587240657060056782007-09-28T16:33:00.000-07:002007-09-28T16:33:00.000-07:00i like the idea of a jsignature idea.jsig :method_...i like the idea of a jsignature idea.<br>jsig :method_name, :result, { :operand1 => :string, :operand2 => :int, ect... };<br><br>Or something to that affect.<br><br>I have used the comment version before in PHP5 using Services API/libraries not native to PHP for generating soap service xml files. The comment solution is very messy and you have scattered siguratures all over the file structure.dgurbahttp://www.blogger.com/profile/02127531110871598518noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-80246982614476279582007-09-28T16:57:00.000-07:002007-09-28T16:57:00.000-07:00Congratulations!jruby will become a first class ci...Congratulations!<br>jruby will become a first class citizen of java AND ruby world. I like the idea of the second compiler with lisp like optional types. Why not use a comment? With the correct mathematical order?<br># Integer, HashMap -> Stringjensnoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-65875346430578324922007-09-28T20:29:00.000-07:002007-09-28T20:29:00.000-07:00Congratulations Charlie. Your hard work and such r...Congratulations Charlie. Your hard work and such rapid progress is truly inspiring.Ben Loudhttp://www.blogger.com/profile/04108815911047289904noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-11669330653849708332007-09-28T20:33:00.000-07:002007-09-28T20:33:00.000-07:00This is great news. I am involved in a project tha...This is great news. I am involved in a project that looks to use JRuby for a SOAP to CORBA bridge. Ruby handles the SOAP well and Java the CORBA.War Pighttp://www.blogger.com/profile/10333252944478188995noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-26424312197479215992007-09-29T01:26:00.000-07:002007-09-29T01:26:00.000-07:00Congratulations on a truly awesome job.I am curiou...Congratulations on a truly awesome job.<br><br>I am curious how you are handling a couple of things though,<br><br>1. evals, particularly ones where you yield self<br>2. dynamic class mutations, both cases like,<br><br>class MyClass<br> if (...)<br> def optionalMessage<br> ...<br> end<br> end<br>end<br><br>or a more dynamic,<br><br>def addDynamicMethod (dynamicMessage)<br> class_eval %{<br> def #{dynamicMessage}<br> ..<br> end<br> }<br>endRaghuhttp://www.blogger.com/profile/01039949530362620311noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-78842368126363090642007-09-29T02:45:00.000-07:002007-09-29T02:45:00.000-07:00Congratulations! This is a great achievement. It i...Congratulations! This is a great achievement. It is truly amazing how quickly JRuby is evolving!Matshttp://www.blogger.com/profile/14088176944493012286noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-42328314658570150312007-09-29T07:33:00.000-07:002007-09-29T07:33:00.000-07:00FYI, here's the Python 3000 approach to type a...FYI, here's the Python 3000 approach to type annotations:<br><br>def foobar(a: Integer, b: Sequence) -> String:<br><br>From Guido:<br><br>"Function and method signatures may now be 'annotated'. The core language assigns no meaning to these annotations (other than making them available for introspection), but some standard library modules may do so; for example, generic functions can use these. The syntax is easy to read"<br><br>I definitely prefer to have them inlined in some fashion. I find your proposed notation rather ugly, sorry.Daniel Bergerhttp://www.blogger.com/profile/05224445093970941579noreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-30114594623097427112007-09-29T09:36:00.000-07:002007-09-29T09:36:00.000-07:00A truly great accomplishment by the whole JRuby te...A truly great accomplishment by the whole JRuby team! I'm looking forward to even more Java/JRuby goodness from Compiler #2, #3, ..., #100... ;)Derek Lanenoreply@blogger.comtag:blogger.com,1999:blog-4704664917418794835.post-4278699087969920172007-09-29T23:19:00.000-07:002007-09-29T23:19:00.000-07:00My only problem with comment based type signatures...My only problem with comment based type signatures is that they aren't amenable to use for annotating dynamically defined methods.<br><br>I think probably the best option is an explicit class method in Class, like the jsig proposals, with perhaps a NOP definition for use in regular ruby.aquasyncnoreply@blogger.com