From: Reini Urban on
Jon Harrop schrieb:
> Slobodan Blazeski wrote:
>> On Apr 30, 2:23 pm, "John Thingstad" <jpth...(a)online.no> wrote:
>>> You might need a fortress to protect yourself.
>>> (Check Guy Steele's current activeties at Sun.)
>> What activities?
>> http://projectfortress.sun.com/Projects/Community/wiki/FortressStartHere A
>> project inspired by Scala, Standard ML, and Haskell that runs on JVM, no
>> thank you.
>
> Inspired by Scala and Java maybe but not SML and Haskell (or OCaml, or F#).
> Fortress is extremely verbose and fails to capture the productivity of ML
> and Haskell. Scala is the same.
>
> Fortress can't even represent "hello world" without many unnecessary
> declarations including type declarations:
>
> component HelloWorld
> export Executable
> run(args:String...):() = do
> println("Hello, world!" )
> end
> end
>
> Contrast with F#:
>
> printf "Hello, world!"

Not true.
You are complaining that the component above is more verbose than the
typical single liner.
The language specs http://research.sun.com/projects/plrg/fortress.pdf
lists this one-liner executable as:
export Executable
run(args) = print “Hello, world!”

and runs it with
$ fortress run HelloWorld.fss

The component holds an object, which is more than a single exe.

This is nice:
"Fortress allows recursive, and mutually recursive function definitions."
factorial (n) =
if n = 0 then 1
else n factorial (n − 1) end

Note that "n factorial (n − 1)" means "n * factorial(n − 1)".
The magic, invisible multiplication operator.