The Author Online Book Forums are Moving

The Author Online Book Forums will soon redirect to Manning's liveBook and liveVideo. All book forum content will migrate to liveBook's discussion forum and all video forum content will migrate to liveVideo. Log in to liveBook or liveVideo with your Manning credentials to join the discussion!

Thank you for your engagement in the AoF over the years! We look forward to offering you a more enhanced forum experience.

126684 (5) [Avatar] Offline
I am using VS 2015. I've installed .Net 4.7. I'm getting two compile errors on this method in Common\Utilities\PerfVis.fs:

let fromTuples (input:System.Tuple<string,System.Action[]>[]):PerfTestInput =
    List.ofArray input
    |> (fun (tuple : System.Tuple<string, System.Action[]>) ->
        let (name, actions) = (tuple : System.Tuple<string, System.Action[]>)
        let implementations =
            List.ofArray actions
            |> (fun action ->
                fun () -> action.Invoke())
        name, implementations)

On this line:
        let (name, actions) = (tuple : System.Tuple<string, System.Action[]>)

The error message is:
This expression was expected to have type
'a * 'b
but here has type
System.Tuple<string,System.Action []>

And on this line:
                fun () -> action.Invoke())

The error message is:
Lookup on object of indeterminate type based on information prior to this program point. A type annotation may be needed prior to this program point to constrain the type of the object. This may allow the lookup to be resolved.

Any help would be appreciated.

Riccardo Terrell (31) [Avatar] Offline
Thank you for the feedback.

I have run some test with positive results using vs 2017 and both .NET 4.7 and 4.71

I will test the code using your environment soon. I am traveling today, but I ll check (and fix the code soon). I ll keep you post it
Riccardo Terrell (31) [Avatar] Offline
I have merged the fixes. Thank you for the feedback

please try again and let me know if it works.
Two notes

1) in chapter 14 there is an embedded resource in the portable library, which requires to run VS as admin
2) i have on my TODO to convert the project into .NET core 2.0 (probably by end of June)

126684 (5) [Avatar] Offline
I don't think my difficulties have to do with Core. I think one needs VS 2017 to build this. Some of the F# code uses feature in F# 4.1. VS 2015 has F# 4.0 I believe.
Riccardo Terrell (31) [Avatar] Offline
The .Net core is future coming.
However, I did update the F# version, which is using nuget. Consequentially it should work regardless the version of Visual Studio.

Take the latest version of the code and let me know if you are facing the same issue.
Thank you
126684 (5) [Avatar] Offline
I downloaded the latest source and attempted to build it with VS 2015. I am still getting lots of errors.

Last night I also downloaded the free, community version of VS 2017. The code does build with VS 2017. You may want to add VS 2017 as a prerequisite for building the code.

Also, the google and yahoo stock data services used in chapter 8 don't appear to be available anymore, unfortunately.
Riccardo Terrell (31) [Avatar] Offline
It seems that VS 2015 doesn't compile c# 7.0 features. There is a workaround, but it is better to use VS 2017.
I have updated the requirements.
Thank you.

I have fixed and updated the Stock API
both Google and Yahoo stopped to provide the service for free.
I have found two alternative sites, and I have updated both the code and the book content.
Thank you
126684 (5) [Avatar] Offline
Are the code updates for Stock API out in Git? I see the update to the but the URL to Google and Yahoo look the same.
Riccardo Terrell (31) [Avatar] Offline
I did commit the changes but I forgot to push them.

It is all good to go now
Thank you