> If you're in the Bay Area or are going to > be at JavaOne, maybe we can talk as well. > There may be interesting things to be done > with your work and the work we're doing with lift.
I'm hoping to get to JavaOne, in which case it would be great to get together. There is lots of opportunity for collaboration. > And since we're at that, how do you deal with > platform-dependent code? Say a class on top of > File, which uses either java.io.File or the .NET > equivalent behind the scenes? Fan defines the standard APIs as Fan classes, then where appropriate stubs some methods as "native" which are then implemented in Java and C#. The sys pod which defines the core is entirely written in both Java and C#. We tried various other approaches, and in the end that seemed the most straight forward. > The part that I find really interesting in Fan > is the approach to concurrency. Can you explain a > bit more about how it is implemented? Is it mostly > in the libraries, or it has some compiler support > (for message passing, for instance). Is there a way > to pattern match on messages, like in Erlang? The only direct language support is immutable classes. Other than that most everything is implemented via the library APIs. For example message passing is defined as methods on the Thread class. Fan's switch statement is a bit more powerful than Java, but doesn't provide full pattern matching like Erlang or Scala (that is something we'd like to do though). > Until the JVM is brought up to date with respect to basic > functionality like tail calls, I'm afraid you won't be seeing > any production-quality innovation along the lines of F#. Can't tail calls be generated by the compiler with an in-method jump? I guess it would be tricky to push/pop the stack, but it seems feasible. --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "JVM Languages" group. To post to this group, send email to jvm-languages@googlegroups.com To unsubscribe from this group, send email to [EMAIL PROTECTED] For more options, visit this group at http://groups.google.com/group/jvm-languages?hl=en -~----------~----~----~----~------~----~------~--~---