I noticed its been two months since we did a fresh build. So I posted a new build and updated the online docs.
This build actually doesn't have any big new features or changes. And I'm thinking that is actually a great thing. We've had a good two months of using Fantom with no major changes and things are looking really stable and solid!
Couple things to note:
its been a todo forever, but I've finally written the Natives chapter for docLang
if you were constructing CompilerInputs directly in code, note that the API changed slightly to reflect that you can pass either directories or individual files
the compiler check for 1127 may catch errors which previously went un-reported.
ChangeLog
Build 1.0.54 (14 Jul 10)
Support for Java FFI Type->toClass
Fix WebClient to report port number in Host header
ObixMod abstract base class for server side functionality
Support for WebSocket Protocol Handshake HTTP 101 response
List.unique,union,intersection,moveTo support in js
Fix Float.equals to work consistent with == operator
Flush out Float/Range API in js
Add sql::Statement.limit
Ensure "{fan}/lib/java/ext" added to Java FFI classpath
Flush out docLang::Native chapter
Etc/Rel TimeZone
Change CompilerInput to accept files or dirs
Support for SS optional seconds in DateTime and Time formatting
#1127: Expand scope of illegal nullable to non-nullable errors
qualidafialThu 15 Jul 2010
Thank you for the natives chapter, that clears up a lot of questions and confusion.
A few comments:
Is there a tool that can write out stubs for my natives classes and peers, similar to what the rmic tool does for RMI interfaces in Java?
Under the Native Methods section, shouldn't method b in the Java/C# peer be static?
brianThu 15 Jul 2010
Is there a tool that can write out stubs for my natives classes and peers?
Nope. A simple build task to spit out one-way stubs would probably be pretty trivial. A tool that could iterate an existing Java source file would be pretty complicated though since it would require a Java parser (and likewise for C#, JavaScript).
shouldn't method b in the Java/C# peer be static?
Thanks, I pushed a fix
tacticsThu 15 Jul 2010
Nice.
Keep up the good work. As always.
qualidafialThu 15 Jul 2010
Regarding codegen, one pattern I've seen used in e.g. BlazeDS to keep it simple is to generate an abstract base class with all the methods declared abstract, then generate a concrete class which extends the abstract base class. This way when you do codegen, you are always free to clobber the base class, but never clobber the subclass if it exists. Some variant of this might work well for Fantom.
you'd still have the original problem with all static members, which unfortunately includes all constructors.
andunoThu 5 Aug 2010
I not found the way to create a Ticket, that's why I write here.
It's strange, but fantom's build system just not works... All examples from doc and distr failed with same error. For example, this is result of running FAN_HOME/examples/build.fan:
brian Wed 14 Jul 2010
I noticed its been two months since we did a fresh build. So I posted a new build and updated the online docs.
This build actually doesn't have any big new features or changes. And I'm thinking that is actually a great thing. We've had a good two months of using Fantom with no major changes and things are looking really stable and solid!
Couple things to note:
ChangeLog
Build 1.0.54 (14 Jul 10)
qualidafial Thu 15 Jul 2010
Thank you for the natives chapter, that clears up a lot of questions and confusion.
A few comments:
rmic
tool does for RMI interfaces in Java?b
in the Java/C# peer bestatic
?brian Thu 15 Jul 2010
Nope. A simple build task to spit out one-way stubs would probably be pretty trivial. A tool that could iterate an existing Java source file would be pretty complicated though since it would require a Java parser (and likewise for C#, JavaScript).
Thanks, I pushed a fix
tactics Thu 15 Jul 2010
Nice.
Keep up the good work. As always.
qualidafial Thu 15 Jul 2010
Regarding codegen, one pattern I've seen used in e.g. BlazeDS to keep it simple is to generate an abstract base class with all the methods declared abstract, then generate a concrete class which extends the abstract base class. This way when you do codegen, you are always free to clobber the base class, but never clobber the subclass if it exists. Some variant of this might work well for Fantom.
you'd still have the original problem with all static members, which unfortunately includes all constructors.
anduno Thu 5 Aug 2010
I not found the way to create a Ticket, that's why I write here.
It's strange, but fantom's build system just not works... All examples from doc and distr failed with same error. For example, this is result of running FAN_HOME/examples/build.fan:
My environment: x86 | jdk-1.6_16 | WinXP SP3 | Fantom-1.0.54
andy Thu 5 Aug 2010
Tickets must be promoted (by us) from topics - so this is the correct place to post problems.
From the looks of that trace - you have an error in one of your props files (under
fan/etc/
) - did you make any modifications?anduno Fri 6 Aug 2010
Yes, I set
jdkHome
to my jdk path and did annoying misprint in first line.s//
- that's one :)Thanks for help!
RossDelores24 Sun 15 Aug 2010
removed