Learning F#
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Josh Smith wrote:
The problem is, the existing F# tutorials SUCK.
They must have been written by the VSS developers, because VSS sucks too.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001 -
I had the same problem when I first looked at F# some 2 years ago, but then found that F# is pretty much the same language as OCaml[^], and that one has some decent tutorials[^]
Nemanja Trifunovic wrote:
F# is pretty much the same language as OCaml[^], and that one has some decent tutorials[^]
You're the man. Thanks!!
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
Josh Smith wrote:
The problem is, the existing F# tutorials SUCK.
They must have been written by the VSS developers, because VSS sucks too.
"Why don't you tie a kerosene-soaked rag around your ankles so the ants won't climb up and eat your candy ass..." - Dale Earnhardt, 1997
-----
"...the staggering layers of obscenity in your statement make it a work of art on so many levels." - Jason Jystad, 10/26/2001John Simmons / outlaw programmer wrote:
They must have been written by the VSS developers, because VSS sucks too.
I'd be surprised if the people who are creating F# and its documentation also pooped out VSS.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
I'll bet if you get a good grip on Lisp in the meantime, that will help you out, since I would imagine that a lot of the ideas in F# have their roots in Lisp.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
-
I'll bet if you get a good grip on Lisp in the meantime, that will help you out, since I would imagine that a lot of the ideas in F# have their roots in Lisp.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
Jim Crafton wrote:
I'll bet if you get a good grip on Lisp in the meantime, that will help you out
Good idea. However, Nemanja pointed out that F# is based on OCaml, and OCaml has good tutorials online. I'll probably start with those tutorials.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I remember that notation from university, but they really need to explain it. Lots of the tutorials assume that you have been taught discrete maths, and over and above that loads of the examples are hairy mathematical functions. MS really need tutorials and examples that don't assume a compsci background if they want to get traction for F#. Many of us know that pure functional programming is going to be a good solution for dealing with multiple cores but find the existing documentation very heavy going, they really need to do some functional programming for business programmers tutorials.
Required base compsci MS would go out of business. If I had a dollar for all the times I had to explain basic data structures and algorithms ...
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway -
leppie wrote:
It's called common sense, aka from 'int' -> (to) 'int'
You call that common sense? I call that conditioning. Every language I've ever worked with before, all of which are C-based, put the return type on the left side.
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Josh Smith wrote:
I call that conditioning
No, it's a clever convention. Especially when you start mixing in currying and composition. It's an algebra. :)
-- Kein Mitleid Für Die Mehrheit
-
I'll bet if you get a good grip on Lisp in the meantime, that will help you out, since I would imagine that a lot of the ideas in F# have their roots in Lisp.
¡El diablo está en mis pantalones! ¡Mire, mire! Real Mentats use only 100% pure, unfooled around with Sapho Juice(tm)! SELECT * FROM User WHERE Clue > 0 0 rows returned Save an Orange - Use the VCF! VCF Blog
Hrm.. I think F# has more roots in languages such as Haskell, than in Lisp. F# seems much more pure than Lisp is, from a functional point of view.
-- Kein Mitleid Für Die Mehrheit
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
I think most of the F# docs assume you already know another functional language like OCaml or Haskell. I haven't used OCaml much, but Haskell has some good books written for it.
This blanket smells like ham
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Josh Smith wrote:
Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us!
Oh come now. They do this with actual products, why not continue the trend with experimental ones? Besides, it's written by a bunch of geeks. Do you think geeks document? Marc
-
Josh Smith wrote:
Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us!
Oh come now. They do this with actual products, why not continue the trend with experimental ones? Besides, it's written by a bunch of geeks. Do you think geeks document? Marc
Marc Clifton wrote:
Besides, it's written by a bunch of geeks. Do you think geeks document?
Point well taken!
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
Required base compsci MS would go out of business. If I had a dollar for all the times I had to explain basic data structures and algorithms ...
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest HemingwayEnnis Ray Lynch, Jr. wrote:
If I had a dollar for all the times I had to explain basic data structures and algorithms ...
You'd be a CompSci professor?
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Like others have mentioned, the documentation should state this. That said, mathematics contributes to it being this way, the doc writers must have assumed a mathematics background. C# 3 has something like this with lambdas:
var square = int i => i*i; // takes an int i, returns i * i
As a side note, I know some folks have played with WPF and F# together. A quick search reveals a few hits: XAML or F#[^]? F# meets 3d[^].Tech, life, family, faith: Give me a visit. I'm currently blogging about: No, Not I - A poem by Holocaust escapee, chief rabbi, and Messiah-follower Daniel Zion The apostle Paul, modernly speaking: Epistles of Paul Judah Himango
-
Like others have mentioned, the documentation should state this. That said, mathematics contributes to it being this way, the doc writers must have assumed a mathematics background. C# 3 has something like this with lambdas:
var square = int i => i*i; // takes an int i, returns i * i
As a side note, I know some folks have played with WPF and F# together. A quick search reveals a few hits: XAML or F#[^]? F# meets 3d[^].Tech, life, family, faith: Give me a visit. I'm currently blogging about: No, Not I - A poem by Holocaust escapee, chief rabbi, and Messiah-follower Daniel Zion The apostle Paul, modernly speaking: Epistles of Paul Judah Himango
Judah Himango wrote:
int i => i*i
To me that is just syntactic sugar for anonymous delegates.
xacc.ide
The rule of three: "The first time you notice something that might repeat, don't generalize it. The second time the situation occurs, develop in a similar fashion -- possibly even copy/paste -- but don't generalize yet. On the third time, look to generalize the approach." -
Like others have mentioned, the documentation should state this. That said, mathematics contributes to it being this way, the doc writers must have assumed a mathematics background. C# 3 has something like this with lambdas:
var square = int i => i*i; // takes an int i, returns i * i
As a side note, I know some folks have played with WPF and F# together. A quick search reveals a few hits: XAML or F#[^]? F# meets 3d[^].Tech, life, family, faith: Give me a visit. I'm currently blogging about: No, Not I - A poem by Holocaust escapee, chief rabbi, and Messiah-follower Daniel Zion The apostle Paul, modernly speaking: Epistles of Paul Judah Himango
Judah Himango wrote:
As a side note, I know some folks have played with WPF and F# together.
Yeah, I've already seen that crazy stuff. :cool:
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
Ennis Ray Lynch, Jr. wrote:
If I had a dollar for all the times I had to explain basic data structures and algorithms ...
You'd be a CompSci professor?
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
I've been spending some of my free time trying to learn about F# because it seems really interesting. The problem is, the existing F# tutorials SUCK. I think that the language tutorials provided by Microsoft were written by brainiacs in the Microsoft Research group, so it's not really helpful at all. For example, I read that this:
int -> int
...represents a function which takes and int and returns an int. The problem is, the author failed to mention which "int" represents the return type and which the parameter type. :| There's only one F# book out there yet, and all the reviews I've read of it say that it sucks too. Come on MS, if you're gonna publicly announce[^] that F# is on the rise, at least give us some good introductory material first!! Don't make it so f#ckin hard for us! ;)
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Josh Smith wrote:
The problem is, the existing F# tutorials SUCK.
Let's ask Chris to change that Java section of CodeProject into a F# section... :)
Hope is the negation of reality - Raistlin Majere
-
Josh Smith wrote:
The problem is, the existing F# tutorials SUCK.
Let's ask Chris to change that Java section of CodeProject into a F# section... :)
Hope is the negation of reality - Raistlin Majere
Fernando A. Gomez F. wrote:
Let's ask Chris to change that Java section of CodeProject into a F# section...
Yeah, then it might actually be used!
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
-
Ennis Ray Lynch, Jr. wrote:
If I had a dollar for all the times I had to explain basic data structures and algorithms ...
You'd be a CompSci professor?
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Seriously though, a lot of the code I end up fixing would never had been authored if the original author had a foundation in computer science. I try not to be pedantic and ignore it most of the time but sometimes they are so bad that something must be said for the greater good. My most insane political belief is that social problems can be solved with good education. It equates well to any field.
Need a C# Consultant? I'm available.
Happiness in intelligent people is the rarest thing I know. -- Ernest Hemingway -
peterchen wrote:
from -< to
Haha. Stop screwing with my brain! ;P
:josh: My WPF Blog[^] Without a strive for perfection I would be terribly bored.
Sorry, this was an honest typo (but a good one! :cool: ) It was supposed to be from -> to, as in mathematical notation, e.g. f: N2 -> N would be equivaluent to C monkeys int f(int x, int y)
We are a big screwed up dysfunctional psychotic happy family - some more screwed up, others more happy, but everybody's psychotic joint venture definition of CP
My first real C# project | Linkify!|FoldWithUs! | sighist