|
Prev: Are we close to a Lisp boom ?
Next: load .emacs error
From: Reini Urban on 4 May 2008 10:18 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.
|
Pages: 1 Prev: Are we close to a Lisp boom ? Next: load .emacs error |