> 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
-~----------~----~----~----~------~----~------~--~---

Reply via email to