Re: [jvm-l] Re: using javac for mixed-language programming?

2014-03-06 Thread John Cowan
On Thu, Mar 6, 2014 at 1:36 PM, Jochen Theodorou blackd...@gmx.org wrote: But if and when you have such cases, you better have a language that produces java source code, as John said. Maybe that's an option for Frege, but not for Groovy. Is there a technical reason why not? Goto can

Re: [jvm-l] Frege: yet another JVM language

2011-09-15 Thread John Cowan
On Thu, Sep 15, 2011 at 10:43 AM, Ingo Wechsung ingo.wechs...@googlemail.com wrote: Frege is not a Haskell dialect, though I put some effort to make it look and feel like so. It looks very much like a Haskell dialect to me, just judging from the number of Incompatibility with Haskell notes in

Re: [jvm-l] Re: Records of Lambdas as Static OO/FP Hybrid

2011-08-10 Thread John Cowan
On Wed, Aug 10, 2011 at 10:29 AM, Robert Fischer smokejumpe...@gmail.com wrote: Can you define contra- and co- variance for me in the context of structural (not nominal) typing? Whether a type system is structurally or nominally typed is orthogonal to whether it has subtyping. Algol 68

Re: [jvm-l] Re: Records of Lambdas as Static OO/FP Hybrid

2011-08-10 Thread John Cowan
On Wed, Aug 10, 2011 at 12:16 PM, Robert Fischer smokejumpe...@gmail.com wrote: What does subtyping mean in a prototype language with structural types? There is no such thing as a parent or child type, so the type hierarchy context — the only context where subtyping means something to me —

Re: [jvm-l] Re: new milestone build for Renjin - R for the JVM

2011-05-17 Thread John Cowan
On Tue, May 17, 2011 at 9:15 AM, Alexander Bertram a...@bedatadriven.com wrote: My question for the JVM-niks out there is how feasable is it create a new jvm class for each thunk or function value? When you write a function in scala or clojure, does this get compiled into a new, separate

Re: [jvm-l] Re: new milestone build for Renjin - R for the JVM

2011-05-17 Thread John Cowan
On Tue, May 17, 2011 at 1:46 PM, Charles Oliver Nutter head...@headius.com wrote: Optimal for both size and performance is to generate the bodies into static methods as above, but use either unique stub classes as the function objects [...]. Does this mean that there are Foo, Bar, and Baz

Re: [jvm-l] Re: new milestone build for Renjin - R for the JVM

2011-05-17 Thread John Cowan
On Tue, May 17, 2011 at 2:38 PM, Charles Oliver Nutter head...@headius.com wrote: Yes, that's what it means. If the stubs were generated ahead of time, then you're right: it's no better than a class-per-function. However in JRuby we generate the stubs at runtime, so you can batch-compile a

Re: [jvm-l] Cannot assign requested address

2011-02-02 Thread John Cowan
On Wed, Feb 2, 2011 at 5:24 PM, Brian Hurt bhur...@gmail.com wrote: This isn't the right venue for this question, but I'm not sure where else to ask, and I'm hoping that someone here might be able to help.  Basically, I've got a program that, for long involved reasons, creates lots of sockets

Re: [jvm-l] Cannot assign requested address

2011-02-02 Thread John Cowan
On Wed, Feb 2, 2011 at 5:47 PM, Robert Fischer smokejumpe...@gmail.com wrote: Wait—let me get this straight.  Even if you close a socket, you've still consumed a port number, and there's no way to free the port numbers for re-use? No, not at all. If the socket has been closed long enough,

Re: [jvm-l] IO, finalization, and expectations from the Ruby community

2010-11-19 Thread John Cowan
On Fri, Nov 19, 2010 at 12:54 PM, Charles Oliver Nutter head...@headius.com wrote: On Thu, Nov 18, 2010 at 11:02 PM, John Rose john.r.r...@oracle.com wrote: Suggestion:  Make the close behavior optional, per wrapper. Only set the mustClose bit on channels created via Ruby APIs. Yes,

Re: [jvm-l] Battling the code size monster

2010-09-11 Thread John Cowan
On Sat, Sep 11, 2010 at 11:55 AM, Jim Baker jba...@zyasoft.com wrote: Remi, you may be right - maybe we just need to continue to generate naive bytecode and let the JVM sort it out. Just somewhat better naive bytecode, that's all. It's always good to remember that Java JITs are designed to

Re: [jvm-l] Re: Simplest language implementation for the JVM

2010-09-06 Thread John Cowan
On Mon, Sep 6, 2010 at 11:33 AM, Per Bothner p...@bothner.com wrote: As an old curmudgeon, I still prefer a hard-written recursive-descent parser.  It's simple, efficient, and much easier to debug. I strongly agree. Lua, where code compactness is almost everything, started out with a yacc

Re: [jvm-l] Re: bignum implementation [was: Trace compiler]

2010-06-05 Thread John Cowan
On Sat, Jun 5, 2010 at 12:27 PM, Charles Oliver Nutter head...@headius.com wrote: I also see something else I find interesting: EObject apparently implements dec() and is_ge()...I'm guessing you have implemented a full set of numeric operators on EObject so that when they're explicitly

Re: [jvm-l] Re: bignum implementation [was: Trace compiler]

2010-06-04 Thread John Cowan
On Thu, Jun 3, 2010 at 4:57 PM, Charles Oliver Nutter head...@headius.com wrote: Sorry, I meant BigInteger above. Perhaps that changes the situation? At any rate, I'll reply as though we both said BigInteger. Right, that's what I meant. Wow, I'd be very surprised if that's true.

Re: [jvm-l] Re: bignum implementation [was: Trace compiler]

2010-06-03 Thread John Cowan
On Thu, Jun 3, 2010 at 2:17 AM, Charles Oliver Nutter head...@headius.com wrote: Another data point for JRuby. JRuby has only two integer data types: Fixnum (implemented by RubyFixnum, always containing a long) and Bignum (implemented by RubyBignum, using BigDecimal). All Fixnum math

Re: [jvm-l] Perl 5 on the JVM (reasons why not)

2010-05-26 Thread John Cowan
On Wed, May 26, 2010 at 7:35 AM, Attila Szegedi szege...@gmail.com wrote: Out of professional curiosity: how do you implement 1. Ruby's here docs 2. Ruby's %Q, %q, %x and %r constructs with any LL(k) or LALR parser generator's grammar language? That's what lexers are for. -- GMail doesn't

Re: [jvm-l] Common compiler infrastructure?

2009-12-18 Thread John Cowan
On Fri, Dec 18, 2009 at 4:29 AM, Miles Sabin mi...@milessabin.com wrote: On Thu, Dec 17, 2009 at 10:36 PM, Jochen Theodorou blackd...@gmx.org wrote: Charles Oliver Nutter schrieb: [...] I'm not even sure a common AST is required. Maybe I'm not making myself clear enough? but then what of

Re: [jvm-l] Tail calls again and again

2009-12-18 Thread John Cowan
On Fri, Dec 18, 2009 at 3:28 PM, Per Bothner p...@bothner.com wrote: Tail-call optimization is not a pure optimization, as it changes the semantics in a fundamental way:  It removes stack traces, which are part of both observable behaviour (stack traces) and the Java security architecture.  

Re: [jvm-l] Hack of the day: using JDI to implement ObjectSpace

2009-12-18 Thread John Cowan
On Fri, Dec 18, 2009 at 7:19 PM, Charles Oliver Nutter head...@headius.com wrote: I figured I'd do a feasibility study on whether JDI could be used to implement ObjectSpace (Ruby's feature for walking all objects on the heap of a given class). Wouldn't maintaining a weak set initialized by the

Re: [jvm-l] Tail calls again and again

2009-12-18 Thread John Cowan
On Fri, Dec 18, 2009 at 6:21 PM, fo...@x9c.fr fo...@x9c.fr wrote: I do wholeheartedly agree ; indeed for (direct) tail recursion, we need nothing new: a goto with the first instruction of the method as the destination does the trick. Unless you are generating Java source rather than

Re: [jvm-l] Hack of the day: using JDI to implement ObjectSpace

2009-12-18 Thread John Cowan
On Fri, Dec 18, 2009 at 7:31 PM, Charles Oliver Nutter head...@headius.com wrote: That's what we do now, but I'd like to just rip that code completely out so we don't have to check a flag should I add myself or not. The WeakSet should do that for you, no? That's the point of sets. SetE

Re: [jvm-l] Hack of the day: using JDI to implement ObjectSpace

2009-12-18 Thread John Cowan
On Fri, Dec 18, 2009 at 8:46 PM, Charles Oliver Nutter head...@headius.com wrote: That's not quite what I meant...I meant we already have logic in JRuby to avoid adding transient object constructions to ObjectSpace, so all other constructions have to check a flag to know they should add

Re: [jvm-l] View this page Jvm Bytecode Libraries

2009-12-17 Thread John Cowan
On Thu, Dec 17, 2009 at 12:34 PM, Charles Oliver Nutter head...@headius.com wrote: You bet your bippy I would. I've been wishing for something like LLVM for JVM bytecode for a long time. I've been meaning to look at Janino to replace our current compiler backend, but have been spending more

Re: [jvm-l] View this page Jvm Bytecode Libraries

2009-12-17 Thread John Cowan
On Thu, Dec 17, 2009 at 1:24 PM, Charles Oliver Nutter head...@headius.com wrote: On Thu, Dec 17, 2009 at 12:17 PM, John Cowan johnwco...@gmail.com wrote: I proposed a long time ago to add goto to Janino, which would remove a huge amount of the incentive to generate bytecode directly

Re: [jvm-l] View this page Jvm Bytecode Libraries

2009-12-17 Thread John Cowan
On Thu, Dec 17, 2009 at 3:49 PM, Matt Fowles matt.fow...@gmail.com wrote: I am confused...  The fact that I don't use Janino's parser doesn't theoretically stop me from bootstrapping the compiler.  In fact, Janino's parser is only useful if the language I am compiling is actually Java.  If my

Re: [jvm-l] Tail calls again?

2009-12-08 Thread John Cowan
On Tue, Dec 8, 2009 at 9:53 AM, Jon Harrop j...@ffconsultancy.com wrote: If you want JVM+TCO then you should already be able to use OpenJDK. Another forthcoming option may be VMKit, which is a JVM and CLR built upon LLVM (which provides TCO so it should be relatively easy to add if it has not

Re: [jvm-l] True structs on the JVM

2009-12-07 Thread John Cowan
On Mon, Dec 7, 2009 at 2:19 PM, Jon Harrop j...@ffconsultancy.com wrote: The JVM is incapable of expressing structs so no JVM-based language can support them. CLR-based languages supporting structs (e.g. C# and F#) simply delegate the work to the CLR. The obvious approach, though I haven't

Re: [jvm-l] GC, allocation, cache effects, immutables, numerics!

2009-11-16 Thread John Cowan
On Mon, Nov 16, 2009 at 5:27 PM, Charles Oliver Nutter head...@headius.com wrote: * Dynamic languages on the JVM have to use boxed numerics most of the time, which means that we're creating a lot of numeric objects. Some of these may be nearly free, immediately-collectable. Some may be

[jvm-l] Re: Implementing coroutines with threads...but not rooting objects?

2009-10-19 Thread John Cowan
On Oct 6, 2:42 am, John Rose john.r...@sun.com wrote: 3) Can only the coroutine itself yield (shallow), or can any subroutine invoked by the coroutine yield on its behalf (deep)? To do samefringe (and IMO be useful) you need deep coroutines.  And:   If coroutine C1 is going to call

[jvm-l] Re: Implementing coroutines with threads...but not rooting objects?

2009-09-26 Thread John Cowan
On Sat, Sep 26, 2009 at 1:41 AM, Charles Oliver Nutter head...@headius.com wrote: Ok, here's a classic challenge for those of us on the JVM: coroutines. In order to know what you need, you need to say what *kind* of coroutines these are. The Lua people have three binary features that a given

[jvm-l] Re: Haskell on the JVM

2009-06-30 Thread John Cowan
On Tue, Jun 30, 2009 at 5:30 AM, Attila Szegediszege...@gmail.com wrote: I'd be delighted to see someone smarter than me overcome these problems for having an *efficient* Haskell on the JVM implemented *elegantly*. That'd really rock. That might be too much to ask, given that GHC is an

[jvm-l] Re: Haskell on the JVM

2009-06-30 Thread John Cowan
On Tue, Jun 30, 2009 at 7:28 AM, Patrick Wrightpdoubl...@gmail.com wrote: See also PDFs linked at bottom of WP entry, in particular CAL for Haskell Programmers. What this boils down to, AFAICT, is that 100% CAL code is pure, but CAL that calls Java stuff is not. Regards Patrick

[jvm-l] Re: Method.invoke() vs. coded equivalents

2009-05-10 Thread John Cowan
Cowan wrote: On Sat, May 9, 2009 at 11:06 AM, Robert Fischer robert.fisc...@smokejumperit.com wrote: John Cowan wrote: Depending on your schema of call types, you'll want to choose between grouping call types on interface types vs. one call type per interface type. Since the arguments and returns

[jvm-l] Re: Method.invoke() vs. coded equivalents

2009-05-06 Thread John Cowan
On Wed, May 6, 2009 at 11:38 AM, John Wilson tugwil...@gmail.com wrote: 2009/5/6 John Cowan johnwco...@gmail.com: In my language, I need objects which represent Java static methods. How about:  public abstract class Function3 {  public static final Function3 foo = new Function3

[jvm-l] Re: Tail calls

2009-04-23 Thread John Cowan
On Thu, Apr 23, 2009 at 12:52 PM, Jon Harrop j...@ffconsultancy.com wrote: http://neopythonic.blogspot.com/2009/04/tail-recursion-elimination.html Not worth reading. Guido has absolutely no idea what he is talking about and is probably the last person on Earth you should listen to in this

[jvm-l] Re: Tail calls

2009-04-10 Thread John Cowan
On Fri, Apr 10, 2009 at 5:41 AM, Attila Szegedi szege...@gmail.com wrote: I'm replying more-or-less randomly to this message among all messages debating whether TCO is a JVM implementation detail or not. Well, thanks for the implicit compliment. My stance is that it is, in the same sense as

[jvm-l] Re: Tail calls

2009-04-02 Thread John Cowan
On Thu, Apr 2, 2009 at 10:36 AM, kirk kirk.pepperd...@gmail.com wrote: why do they have to be exposed? Isn't tail recursion and implementation detail? And an optimization at that? No. Being able to rely on tail recursion is not an implementation detail; Scheme programmers routinely write

[jvm-l] Re: Pain point: getting the classes of a Java package

2009-03-20 Thread John Cowan
On Fri, Mar 20, 2009 at 9:35 AM, Frank Wierzbicki fwierzbi...@gmail.com wrote: The first time Jython is started, it walks through all of the jars and class directories on the filesystem that it knows about (including, for example classes.jar, the jars in the ext dir, etc) and creates a

[jvm-l] Re: do we need a new kind of VM-supported references?

2009-03-10 Thread John Cowan
On Tue, Mar 10, 2009 at 10:40 AM, Jochen Theodorou blackd...@gmx.org wrote: Is there any material about plans to add ephemerons to the JDK? Using google I wasn't able to ind anything. Only that thread is takling about it seems. It seems to me that it should be possible to simulate ephemerons

[jvm-l] Re: Optimizations?

2009-02-24 Thread John Cowan
On Tue, Feb 24, 2009 at 9:03 AM, Robert Fischer robert.fisc...@smokejumperit.com wrote: What optimizing efforts are worthwhile on generated bytecode given the optimizing capabilities of the JIT?  I'm having trouble finding an explicit or definitive list of optimizations, but trying to be

[jvm-l] Re: Optimizations?

2009-02-24 Thread John Cowan
On Tue, Feb 24, 2009 at 6:31 PM, Matt Fowles matt.fow...@gmail.com wrote: Given that you are generating code, do you generate java directly or generate an AST? From an AST, I suppose is the right answer. But it's a Lisp-family language, so the surface syntax is already a tree -- I just keep

[jvm-l] Re: [ANN] Ioke 0 released

2009-01-11 Thread John Cowan
On Mon, Jan 12, 2009 at 12:58 AM, Ted Neward ted.new...@gmail.com wrote: Is that out of concern that Jeroen will object, or because it might cause confusion between the two projects? The latter. If you google for ikJVM, you get about 208 hits, but right at the top Google asks Do you mean

[jvm-l] Static multimethod dispatch question

2008-09-11 Thread John Cowan
I'm implementing a language that has dynamic types, multiple inheritance with ordered superclasses, and multimethods. I'm writing a whole-program compiler. The class structure and available methods are fixed at compile time, and I'm trying to figure out the best way to generate dispatchers

[jvm-l] Re: avoiding boxing

2008-04-29 Thread John Cowan
On Tue, Apr 29, 2008 at 5:36 PM, Jochen Theodorou [EMAIL PROTECTED] wrote: I wanted to collect a bit data to how you avoid boxing in your language implementations. My language provides bignums and flonums, which I simply represent as BigIntegers and Doubles. I pay the boxing penalty, but

[jvm-l] Re: CommunityOne talk on JVM language implementers

2008-04-26 Thread John Cowan
On Sat, Apr 26, 2008 at 9:33 AM, Patrick Wright [EMAIL PROTECTED] wrote: That said, I'm a big fan of VM Vendors, esp. that one film about angels hanging out in Berlin. /me agrees about the movie, but defenestrates P.W. anyway, on principle and to preserve the purity of the Internet's

[jvm-l] Re: Fan Programing Language

2008-04-21 Thread John Cowan
On Tue, Apr 22, 2008 at 12:21 AM, hlovatt [EMAIL PROTECTED] wrote: That allowed keywords to be escaped by surrounding them with an underscore, e.g. the Java keyword class could be escaped via _class_. And _class_ would be escaped as __class__, and so on? -- GMail doesn't have rotating

[jvm-l] On not boxing boolean return values

2008-02-04 Thread John Cowan
Could someone consider filing a bug against Java asking that Method#invoke return either Boolean.TRUE or Boolean.FALSE when calling a boolean method, rather than boxing the return value into a freshly allocated java.lang.Boolean? That would make life much simpler for those of us who need to

[jvm-l] Re: Ability to force class unloading in JDK 6 Update 4?

2008-01-17 Thread John Cowan
On Jan 17, 2008 1:06 PM, Charles Oliver Nutter [EMAIL PROTECTED] wrote: * Then we used a hand-written indexed method handle like you describe. Again, it worked (albeit a bit slower than individual methods), but it was too much effort to implement by hand and wouldn't work for generated code.

[jvm-l] Re: CPS languages in Java

2007-12-29 Thread John Cowan
On Dec 29, 2007 9:05 AM, Ola Bini [EMAIL PROTECTED] wrote: I'm looking at implementing a language that would be best represented using CPS. Now, I can't really find any references to full CPS implementations on the JVM anywhere. I'm looking at using the technique Kawa is planning for

[jvm-l] Re: Catching by object identity

2007-12-23 Thread John Cowan
On Dec 22, 2007 6:38 AM, Charles Oliver Nutter [EMAIL PROTECTED] wrote: I don't think it's directly relevant, unless John C is using exceptions for flow control. The facility is used under the covers for flow control, but is also exposed directly to the user. I'm planning, based on what you

Re: Using NailGun to defeat JVM startup woes

2007-11-07 Thread John Cowan
On 11/7/07, Jochen Theodorou [EMAIL PROTECTED] wrote: well there is at last the problem that you will need root rights to start the server. Root rights are to be avoided as much as possible. that's a general rule. If it is not possible, then there must be a very good reason for this or no

Re: F#

2007-11-01 Thread John Cowan
F# was a research project. I doubt there would be enough research-fu in just doing it again for the JVM, which is after all very similar. On 11/1/07, Matt Hellige [EMAIL PROTECTED] wrote: On Nov 1, 10:01 pm, Jon Harrop [EMAIL PROTECTED] wrote: Could a CAML derivative language for the JVM

Re: New exception type needed for Java 7?

2007-10-29 Thread John Cowan
Just so. function plustwo (i : integer) : integer begin plustwo := i + 2 end On 10/29/07, Jochen Theodorou [EMAIL PROTECTED] wrote: John Cowan schrieb: On 10/29/07, Jochen Theodorou [EMAIL PROTECTED] wrote: I did read his text as that Tennent was against using multiple exit points