[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