Pure Danger Tech


navigation
home

Fortress rendering

29 Jun 2009

One thing that I haven’t found time to write about yet is a hands-on lab I did at JavaOne about Project Fortress. It was a very short overview about the language and then a series of hands-on exercises to get you cracking on the language. Best of all, all the Fortress experts were in the room helping out as people had questions so it was a great opportunity to get many questions answered quickly.

Fortress is a language being developed as a research project at Sun. Most people that have heard of it seem to vaguely know it has something to do with Fortran. Turns out it really doesn’t have much of anything to do with Fortran other than a similar goal and intended user. Fortress is targeted at large-scale scientific computing (like peta-scale large).

One thing you’ll notice immediately about it is that it has a strong mathematical syntax. In many cases, things work differently than languages you may be more familiar with in favor of a declaration that is closer to normal mathematics. For example, instead of writing a * b to multiply you simply write a b. Putting two things next to each other is actually a special operator in Fortress called “juxtaposition” and can be overridden like many other operators. For strings, juxtaposition means concatenation. For a function, it means application.

In addition, many traditional mathematical notations have textual representations you can use in your program, including all of the Greek symbols (alpha, beta, etc), various brackets, summation, sub-scripts, names like b’, etc. The specification defines these textual representations and renderings, making full use of Unicode. A program called fortify is provided to convert a Fortress program into LaTeX.

I working on a Fortress presentation for the Lambda Lounge and lost a couple hours of my life the other night trying to do the conversion from LaTeX to PDF/image. On Mac there are several comprehensive packages for stuff like this. I tried to go with the smaller packages listed here instead of the huge 1.2 GB MacTex package but I ran into all kinds of problems with the missing St. Mary’s font of mathematical icons. I have since learned that those problems are resolved by using the full package which includes the font.

But I was also told of a [One thing that I haven’t found time to write about yet is a hands-on lab I did at JavaOne about Project Fortress. It was a very short overview about the language and then a series of hands-on exercises to get you cracking on the language. Best of all, all the Fortress experts were in the room helping out as people had questions so it was a great opportunity to get many questions answered quickly.

Fortress is a language being developed as a research project at Sun. Most people that have heard of it seem to vaguely know it has something to do with Fortran. Turns out it really doesn’t have much of anything to do with Fortran other than a similar goal and intended user. Fortress is targeted at large-scale scientific computing (like peta-scale large).

One thing you’ll notice immediately about it is that it has a strong mathematical syntax. In many cases, things work differently than languages you may be more familiar with in favor of a declaration that is closer to normal mathematics. For example, instead of writing a * b to multiply you simply write a b. Putting two things next to each other is actually a special operator in Fortress called “juxtaposition” and can be overridden like many other operators. For strings, juxtaposition means concatenation. For a function, it means application.

In addition, many traditional mathematical notations have textual representations you can use in your program, including all of the Greek symbols (alpha, beta, etc), various brackets, summation, sub-scripts, names like b’, etc. The specification defines these textual representations and renderings, making full use of Unicode. A program called fortify is provided to convert a Fortress program into LaTeX.

I working on a Fortress presentation for the Lambda Lounge and lost a couple hours of my life the other night trying to do the conversion from LaTeX to PDF/image. On Mac there are several comprehensive packages for stuff like this. I tried to go with the smaller packages listed here instead of the huge 1.2 GB MacTex package but I ran into all kinds of problems with the missing St. Mary’s font of mathematical icons. I have since learned that those problems are resolved by using the full package which includes the font.

But I was also told of a](http://projectfortress.sun.com/cgi-bin/fortifier) provided by the Fortress folks that will turn Fortress files into images and PDFs. That is saving me from installing the giant LaTeX package for the moment.