I made a very simple mistake while trying to follow the PDC 2008 Intro to F# lecture. "JaredPar" straightened me out about two minutes after I submitted it to http://stackoverflow.com . Here is the problem and solution:
I was trying to code along with the PDC2008 Into to F# video. I get an error in the last line of the code snippet shown below (that the presenter did not get) "Error 1 This value is not a function and cannot be applied". I am running Fsharp-18.104.22.168 on Visual Studio 2008 shell. The startprice symbol in the last line isunderlined red with same error on mouse over.
type StockAnalyzer(lprices, days)= let prices = lprices |>Seq.map snd |>Seq.take days static member GetAnalyzers(tickers,days)= tickers |>Seq.map loadPrices |>Seq.map (fun prices ->newStockAnalyzer(prices, days)) member s.Return= let lastPrice = prices |>Seq.nth 0 let startPrice = prices |>Seq.nth (days -1) lastPrice / startPrice -1.
Try putting a space between the "-" and "1". The F# compiler is interpretting -1 as literally a negative value of 1 instead of subtract 1.