Skip to content

Conversation

@TD5
Copy link
Contributor

@TD5 TD5 commented Sep 24, 2018

Implementation of F# RFC FS-1063 Applicatives syntax

Not ready for prime time, just a proof-of-concept right now.

TD5 added 30 commits September 5, 2018 10:00
I think it's totally broken and the grammer needs to change to make it
clear that the final body after a let! ... and! .. chain is nested under
ALL bindings in the chain, not just the first let!
@TD5
Copy link
Contributor Author

TD5 commented Oct 15, 2018

@thinkbeforecoding That is out of scope for the current change, as far as I am concerned. However, I see no reason why this could not be done, especially in light of the prior art. Have you considered creating an fslang suggestion for this if there isn't one already?

@cartermp
Copy link
Contributor

@thinkbeforecoding I agree that this is out of scope for this PR (and corresponding RFC), but a further issue in fslang would be welcome. We can see if it makes sense to turn into an RFC and fold into the language separately from this PR.

@cartermp
Copy link
Contributor

@TD5 Looks like some of the IDE completion tests are failing now. Can you take a look?

@TD5
Copy link
Contributor Author

TD5 commented Oct 16, 2018 via email

@cartermp
Copy link
Contributor

@TD5 If you install:

  • .NET Desktop workload + F# desktop templates component
  • Visual Studio Extensibility workload

And if you use the VS command line in admin mode with build vs does it succeed?

@TD5
Copy link
Contributor Author

TD5 commented Oct 17, 2018

@cartermp, in the end I just installed everything under the sun and the tests are now running via build.cmd, so that's a big step forward.

Goal is to make completion offer all valid names
@TD5
Copy link
Contributor Author

TD5 commented Oct 19, 2018

Pull request tests don't seem to have kicked off - don't trust the supposed greenness of the build!

@TD5
Copy link
Contributor Author

TD5 commented Oct 23, 2018

The tests run and fail locally as on CI when I run build.cmd release ci_part1, so that's working.

When I run in what I think is the !FSCBINPATH! directory (visualfsharp\release\net40\bin) and tack on --test=Tests.LanguageService.AutoCompletion.UsingProjectSystem.CompletionInDifferentEnvs5 to the command that I think build.cmd release ci_part1 kicks off:

"C:\Users\Tom\Documents\FSharpContribs\visualfsharp\packages\NUnit.Console.3.0.0\tools\nunit3-console.exe" --verbose --x86 --framework:V4.0 --result:"C:\Users\Tom\Documents\FSharpContribs\visualfsharp\tests\TestResults\test-vs-ideunit-results.xml;format=nunit3" --output:"C:\Users\Tom\Documents\FSharpContribs\visualfsharp\tests\TestResults\test-vs-ideunit-output.log"  --err:"C:\Users\Tom\Documents\FSharpContribs\visualfsharp\tests\TestResults\test-vs-ideunit-errors.log"  --work:"C:\Users\Tom\Documents\FSharpContribs\visualfsharp\release\net40\bin"  --workers=1 --agents=1 --full "C:\Users\Tom\Documents\FSharpContribs\visualfsharp\release\net40\bin\VisualFSharp.UnitTests.dll" --test=Tests.LanguageService.AutoCompletion.UsingProjectSystem.CompletionInDifferentEnvs5

I still see the same error as the one VS gives me:

NUnit Console Runner 3.0.5797
Copyright (C) 2015 Charlie Poole

Runtime Environment
   OS Version: Microsoft Windows NT 10.0.17134.0
  CLR Version: 4.0.30319.42000

Test Files
    C:\Users\Tom\Documents\FSharpContribs\visualfsharp\release\net40\bin\VisualFSharp.UnitTests.dll

Test Filters
    Test: Tests.LanguageService.AutoCompletion.UsingProjectSystem.CompletionInDifferentEnvs5

Agent process 4316 starting
Running under version 4.0.30319.42000, Net 4.5
Agent process 4316 exiting

Errors and Failures

1) TearDown Error : Tests.LanguageService.AutoCompletion.UsingProjectSystem
System.IO.FileNotFoundException : Could not load file or assembly 'Microsoft.VisualStudio.LanguageServices, Version=2.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
TearDown : System.NullReferenceException : Object reference not set to an instance of an object.
   at UnitTests.TestLib.LanguageService.LanguageServiceBaseTests.Init()
--TearDown
   at UnitTests.TestLib.LanguageService.LanguageServiceBaseTests.Cleanup()

2) Error : Tests.LanguageService.AutoCompletion.UsingProjectSystem.CompletionInDifferentEnvs5
OneTimeSetUp: System.IO.FileNotFoundException : Could not load file or assembly 'Microsoft.VisualStudio.LanguageServices, Version=2.9.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.

Run Settings
    RuntimeFramework: V4.0
    RunAsX86: True
    WorkDirectory: C:\Users\Tom\Documents\FSharpContribs\visualfsharp\release\net40\bin
    MaxAgents: 1
    NumberOfTestWorkers: 1
    Verbose: True

Test Run Summary
    Overall result: Failed
   Tests run: 1, Passed: 0, Errors: 1, Failures: 0, Inconclusive: 0
     Not run: 0, Invalid: 0, Ignored: 0, Explicit: 0, Skipped: 0
  Start time: 2018-10-23 10:49:14Z
    End time: 2018-10-23 10:49:14Z
    Duration: 0.215 seconds

Results (nunit3) saved as C:\Users\Tom\Documents\FSharpContribs\visualfsharp\tests\TestResults\test-vs-ideunit-results.xml

I'm sure I am just missing something basic like an environment variable since build.cmd release ci_part1 works and it doesn't seem to clean up any build artefacts. Does anyone have any ideas?#

Perhaps @cartermp? From what I can tell, everything relevant in the VS installer is now installed, although I'm not sure which thing corresponds to "F# desktop templates component", but I have "F# desktop language support", "F# language support" and "F# language support for web projects". build.cmd vs succeeds.

@dsyme
Copy link
Contributor

dsyme commented Mar 12, 2019

@TD5 - I updated this to master by push to your branch. I'll aim to review it and use it next, and look at unresolved issues.

@TD5
Copy link
Contributor Author

TD5 commented Mar 12, 2019

That’s excellent news! Thanks for taking an interest!

Let me know if you have any questions. From what I recall, the outstanding issue from my perspective was the effect on auto completion in VS (there are some tests labelled as something akin to “legacy Visual Studio” that are affected).

@dsyme dsyme changed the title [WIP] Add let! ... and! ... syntax [WIP, RFC FS-1063] Add let! ... and! ... syntax Mar 12, 2019
@dsyme
Copy link
Contributor

dsyme commented Oct 18, 2019

I would like to revive this work and get it into F# 5.x

That's quite a lot of conflicts now, I'll see if I can resolve

@dsyme
Copy link
Contributor

dsyme commented Oct 18, 2019

OK, merged with master

@dsyme
Copy link
Contributor

dsyme commented Oct 22, 2019

I will resubmit this in a new PR

@dsyme
Copy link
Contributor

dsyme commented Oct 22, 2019

Replaced by #7756 to make sure the feature comes from a feature branch

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants