fsharp icon indicating copy to clipboard operation
fsharp copied to clipboard

[WIP] Reuse typechecking results - stage 1

Open psfinaki opened this issue 1 year ago • 2 comments

First part of the implementation of reusing typecheck results, as per the design doc.

This basically does 2 things:

  • adds the flag --reusetypecheckingresults, with all the hooking
  • force-generates the typechecking graph and skips recompilation if it's unchanged

Open questions: see my comments.

psfinaki avatar Oct 18 '24 13:10 psfinaki

:heavy_exclamation_mark: Release notes required


:white_check_mark: Found changes and release notes in following paths:

[!WARNING] No PR link found in some release notes, please consider adding it.

Change path Release notes path Description
src/Compiler docs/release-notes/.FSharp.Compiler.Service/9.0.200.md No current pull request URL (https://github.com/dotnet/fsharp/pull/17898) found, please consider adding it

github-actions[bot] avatar Oct 18 '24 13:10 github-actions[bot]

@T-Gro PTAL, this is an early stage so I mostly just wanted to discuss the questions I raised in the comments, so that we go in the agreed direction.

psfinaki avatar Oct 18 '24 16:10 psfinaki

It seems like this is going to rely/build on top of graph checking have couple questions:

  • Would this PR https://github.com/dotnet/fsharp/pull/17442 be included ?
  • If we are going to rely on this would be important to enable by default ?

edgarfgp avatar Oct 24 '24 18:10 edgarfgp

@edgarfgp so we'll need to discuss this - personally I'd like to turn graph-checking on. Now (like, before Xmas) is a rather good time - we can catch some bugs there before the next big release.

It's somewhat scaring but, well, just this probably shouldn't be stopping us 👀 Graph-checking and reusing typechecking results can test each other and I'd say we should use this benefit here.

I am not speaking for the whole team just yet - only sharing some thoughts. We will discuss and prioritize this.

psfinaki avatar Oct 25 '24 15:10 psfinaki

Merging, since this goes to a feature branch now.

psfinaki avatar Dec 19 '24 16:12 psfinaki