It's real easy to try out FSharp on non-Windows though, on Ubuntu do
this:

1) Install Mono
sudo apt-get install mono mono-gac

2) Install F#:
wget 
http://download.microsoft.com/download/7/5/c/75c5ac35-9c13-4737-b363-3c930002259a/fsharp.zip
-Ofsharp.zip;unzip fsharp.zip

3) Start the interactive shell:
mono ./FSharp-1.9.6.2/bin/fsi.exe

Have fun,
/Casper

On May 15, 4:39 pm, Dick Wall <[email protected]> wrote:
> By way of some damage control (or at least restoring some balance to
> the force), I would suggest that anyone reading Robert's article at
> least scroll down to Bill Venners response, which points out that some
> of the examples in the original article are uglier than they should
> be. For example, currying an existing function is actually quite
> cleanly achieved by:
>
> val y = x(1) _
>
> With the underscore denoting to the compiler that you meant to leave
> out the second argument, give me back a new function that supplies the
> first and still needs the second. True, you can't leave it out
> altogether, but this is still a lot neater than the version presented
> in the article. I think Bill's post addresses most of the concerns in
> the article and once again points out that the key here is that Scala
> is not a purely functional language, but that it does allow functional
> programming style if that is what you wish.
>
> Cheers
>
> Dick
>
> On May 15, 7:29 am, Dick Wall <[email protected]> wrote:
>
> > Going back to the original argument made by Robert, I believe you mean
> > that Scala is not a *purely* functional language, with which I would
> > agree. Any language can be somewhat functional, in other words you can
> > write in it using a functional style. Even Java, where things like the
> > builder pattern enabling immutable instances post construction, and
> > Google collections library and Fork Join with their predicates and
> > function definitions, can lend a more functional style to your code.
>
> > Fact is, my style has become more functional since I started using
> > Scala, even in Java source. I don't believe I have ever claimed that
> > Scala is a purely functional language (soundbyte please, if I did),
> > but that it certainly introduces more functional facing features into
> > a language should not be in dispute. On the contrary, I am interested
> > in Scala because I find it one of the most pragmatic mixin languages
> > out there right now - you get static typing that is stronger than even
> > Java, but without many of the down sides because of clever type
> > inference in the compiler. You get better Object Orientation than
> > Java, with concepts like traits and (yes, Joe will argue with me here)
> > properties in the language or libraries, and on top of that you get
> > better support for immutability and other functional features.
>
> > I also believe Scala is a great choice for scientists and
> > mathematicians. Most of the ones I know still use Fortran, and there's
> > not much pure-functional about Fortran.
>
> > F# is a problem cos I don't do windows. Also, I have mentioned in the
> > show before that I have messed with purely functional languages (most
> > notably Miranda) in the past and found that their super-strict
> > functional style didn't sit well with my own programming approach.
> > Scala is the first language that offers this level of functional
> > features that I have been comfortable with and really look forward to
> > using. Sometimes I use it in a functional way, sometimes I fall back
> > into OO where it makes sense - it's my choice and I love having that
> > choice.
>
> > I will take a look at OCaml as well, but that brings me to the other
> > huge advantage of Scala - I can re-use all of my skills and experience
> > with the Java SE libraries and the wealth of Java frameworks out
> > there. Scala even abstracts away many of the rough edges in commonly
> > used libraries with simple wrapping techniques, meaning that what I
> > end up with is the same libraries I already know, but in many cases
> > they are better than the original. Running on the JVM is also a huge
> > benefit, as is compatibility with existing Java code bases (which are
> > a fact of life for me).
>
> > Anyway - perhaps the takeaway from this is that Scala isn't a purely
> > functional language, but I believe you can be a purely functional
> > programmer and still use Scala effectively. Cay Horstmann demonstrates
> > some of this with his functional programming class at SJSU where he
> > sticks to just the functional parts of Scala (immutable list
> > processing, recursion, etc.) and stays away from the OO.
>
> > Dick
>
> > On May 15, 6:36 am, Joshua Marinacci <[email protected]> wrote:
>
> > > I thought a 'functional language' simply meant that they had  
> > > constructs which enforce true strict functions, meaning subroutine  
> > > calls which are guaranteed to never have side effects, which take  
> > > arguments and return a single value, and can be aggressively optimized  
> > > by the compiler/runtime because they are strict functions.
>
> > > On May 15, 2009, at 8:27 AM, Gabriel C. wrote:
>
> > > > About currying, is worth noting that in Haskell, f (x,y) = x + y can't
> > > > be curried (and must be called with parenthesis!!!) and Haskell is as
> > > > functional as you can be...
> > > > (yes, I know, I'm cheating because I'm not defining a function with
> > > > two parameters, is a function with one tuple parameter)
> > > > The point is that having to define f(x:Int)(y:Int) instead f
> > > > (x:Int,y:Int) is not that far from having to define f x y instead of f
> > > > (x,y)...
> > > > (a little more detail 
> > > > inhttp://gabrielsw.blogspot.com/2009/02/flavors-of-curry-scala-vs-haske...)
>
> > > > Regards
>
> > > > On May 14, 8:35 pm, Robert Fischer <[email protected]>
> > > > wrote:
> > > >> If Dick is going to keep going on about how functional and  
> > > >> mathematical Scala is, and how that's so
> > > >> great, maybe he should check out OCaml/F#?
>
> > > >> I've just posted to my blog about how Scala is *not* a functional  
> > > >> language.  Which is not to say
> > > >> it's a bad language -- it's just not a functional language.
>
> > > >>http://enfranchisedmind.com/blog/posts/scala-not-functional/
>
> > > >> ~~ Robert Fischer.
> > > >> Grails Training        http://GroovyMag.com/training
> > > >> Smokejumper Consultinghttp://SmokejumperIT.com
> > > >> Enfranchised Mind Bloghttp://EnfranchisedMind.com/blog
>
> > > >> Check out my book, "Grails Persistence with GORM and 
> > > >> GSQL"!http://www.smokejumperit.com/redirect.html
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "The 
Java Posse" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/javaposse?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to