[TYPES/announce] Fortress Version 1.0 Released
Eric Allen
Eric.Allen at sun.com
Tue Apr 1 00:01:43 EDT 2008
Today, we are releasing the first version of the Fortress
specification with a compliant implementation: Fortress 1.0. Both the
new specification and the implementation are available from the
project website:
http://projectfortress.sun.com
The 1.0 implementation is available both as a stand-alone download and
through a Subversion repository. Please follow the instructions on the
website to get it.
Our tandem release of a specification and matching interpreter is a
major milestone for the project; it is a goal we have been working
toward for some time. All Fortress source code appearing in this
specification has been tested by executing it with the open source
Fortress implementation. Moreover, all code has been rendered
automatically with the tool Fortify, also included with the standard
Fortress distribution. (In case you haven't used it yet, Fortify is an
open source tool contributed by Guy Steele that converts Fortress
source code to LaTeX.) Also note that this release includes a Fortress
mode for Emacs, contributed by Yuto Hayamizu, and over 10,000 lines of
Fortress library code, contributed both by Sun and by Fortress
community member Michael Spiegel.
Our reference implementation has evolved gradually, in parallel with
the evolution of the language specification and the development of the
core libraries. In order to synchronize the specification with the
implementation, it was necessary both to add features to the
implementation and to drop features from the specification. Most
significantly, most static checks in the implementation are currently
turned off, as we are in the process of completing the static type
checker and the type inference
engine. Static constraints are still included in the specification as
documentation. Contrary to the Fortress Language Specification,
Version 1.0.beta, inference of static parameter instantiations is
based on the runtime types of the arguments to a functional call.
Support for syntactic abstraction is not included in this release. We
do not yet support nontrivial distributions, nor parallel nested
transactions. Moreover, many other language features defined in the
Fortress Language Specification, Version 1.0.beta have been elided.
Many of these features require additional research before they can be
implemented reliably; this research and development is a high priority.
With this release, our goal in moving forward is to incrementally add
back features taken out of the specification as they are implemented.
In particular, all language features included in the Fortress
Specification version 1.0 beta remain goals for eventual inclusion in
the language (perhaps with additional modification and evolution of
their design). By proceeding in this manner, we hope that our
implementation will be useful for more tasks more quickly, as it will
comply with the public specification. Moreover, the Fortress community
will be better able to evaluate the design of new features, as users
will be able to use them immediately, and developers will be able to
contribute to the implementation effort more easily, as they will be
able to build off of a relatively stable and well-specified base.
Moving forward with the implementation, in concert with the open
source community, our goal is to build off of the infrastructure of
our interpreter to construct an optimizing Fortress compiler and to
achieve our long-standing goal of constructing a new programming
language with high performance and high programmer productivity, owned
by the community that uses it, and able to grow gracefully with the
tasks it is applied to.
Thanks to all those who sent feedback on earlier versions; many of
your suggestions have influenced changes in this new version.
-- Eric Allen
Check out Fortress! http://projectfortress.sun.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.seas.upenn.edu/pipermail/types-announce/attachments/20080401/4413a2ff/attachment.htm
More information about the Types-announce
mailing list