

First Impressions of the Fortress Language - threadman
http://www.cilk.com/multicore-blog/bid/9340/First-Impressions-of-the-Fortress-Language

======
biotech
Looks like an interesting language for scientific/engineering applications.
It's designed to be heavily parallel (for-loops are parallel by default), it
uses math-type notation (although I'm dubious about the whole "2 x" being the
same as "2*x" thing).

Over at se-radio in Nov. 2006, they did an interesting interview with Guy
Steele about Fortress: [http://www.se-
radio.net/podcast/2006-11/episode-36-interview...](http://www.se-
radio.net/podcast/2006-11/episode-36-interview-guy-steele)

~~~
mnemonicsloth
_although I'm dubious about the whole "2 x" being the same as "2.x" thing_
(the * isn't printing. meh)

It might not make much sense from a programming perspective, but it's very
natural for a mathematician. The same way that mathematicians are happy with
one-letter variable names, they're happy with juxtaposition as their one
operator notation. They just redefine everything whenever they start a new
problem.

If you think about it, matrix multiplication is a totally different operation
from multiplication in the reals. We just happen to use the same notation for
it because it follows some of the same rules (associativity, distributivity)
that we're in the habit of using to manipulate equations.

This can get pretty extreme. There's a branch of math called functional
analysis, which identifies functions with infinite-dimensional vectors, and
then does calculus on those "vectors" like they were points in any other
space. In their notation,

v = Tu

is like matrix multiplication

y = Ax

except that u and v are functions, and T is some kind of integral.

I think this is one reason the Lisp crowd gets cranky about the parenthesis
thing -- the infix operators we all know and love are a lot less well-defined
than we think they are.

~~~
10ren
Regex have a juxtapositional operator (for concatenation). Any others in
mainstream languages?

~~~
chancho
Juxtaposition in ML is function application: f x y = f(x,y)

Although you're free to discount ML and its ilk (OCaml, Haskell) as non-
mainstream.

~~~
lacker
This isn't quite the same juxtaposition as math, though. In math you just put
single letters next to each other and it's multiplication. But in any
programming language enforcing single-letter names would be crazy....

------
tophat02
It's like APL all over again.

------
spectre
Is it just me or does this look really similar to Scala.

