Hello,
I've done some digging into the benefits of having a signature file in your editor.
The FSharpChecker has a setting FSharpChecker.Create(enablePartialTypeChecking = true).
Rider enables this via:
| import { readdir, stat as statAsync } from "fs/promises"; | |
| import { join } from "path"; | |
| // benchmark.js | |
| const start = process.hrtime.bigint(); | |
| // --- your code goes here --- | |
| const args = process.argv.slice(2); | |
| if (args.length === 0) { |
| namespace React.Plugin | |
| open System | |
| open System.IO | |
| open Fable | |
| open Fable.AST | |
| open Fable.AST.Fable | |
| // Tell Fable to scan for plugins in this assembly | |
| [<assembly : ScanForPlugins>] |
| module CE | |
| type DummyBuilder() = | |
| member this.Zero() = List.empty | |
| member this.Delay(f) = f () | |
| member this.Yield(x: int) = List.singleton (x + 1) | |
| member this.YieldFrom(x: int list) = x | |
| member this.Combine(a, b) = a @ b | |
| let dummy = DummyBuilder() |
Hello,
I've done some digging into the benefits of having a signature file in your editor.
The FSharpChecker has a setting FSharpChecker.Create(enablePartialTypeChecking = true).
Rider enables this via:
| [<Test>] | |
| let ``compile FSharp.Core`` () = | |
| let args = [| | |
| @"-o:C:\Users\nojaf\Projects\fsharp\artifacts\obj\FSharp.Core\Debug\netstandard2.0\FSharp.Core.dll" | |
| "-g" | |
| "--debug:embedded" | |
| @"--embed:C:\Users\nojaf\Projects\fsharp\artifacts\obj\FSharp.Core\Debug\netstandard2.0\FSCore.fs" | |
| @"--embed:C:\Users\nojaf\Projects\fsharp\artifacts\obj\FSharp.Core\Debug\netstandard2.0\buildproperties.fs" | |
| @"--embed:C:\Users\nojaf\Projects\fsharp\artifacts\obj\FSharp.Core\Debug\netstandard2.0\FSharp.Core.AssemblyInfo.fs" | |
| @"--sourcelink:C:\Users\nojaf\Projects\fsharp\artifacts\obj\FSharp.Core\Debug\netstandard2.0\FSharp.Core.sourcelink.json" |
| #r "nuget: JavaScriptEngineSwitcher.ChakraCore.Native.win-x64" | |
| #r "nuget: JavaScriptEngineSwitcher.ChakraCore, 3.18.2" | |
| #r "nuget: DartSassHost, 1.0.0-preview7" | |
| #r "nuget: FSharp.Control.Reactive, 5.0.5" | |
| open System | |
| open System.IO | |
| open DartSassHost | |
| open DartSassHost.Helpers | |
| open JavaScriptEngineSwitcher.ChakraCore |
| // #Regression #NoMono #NoMT #CodeGen #EmittedIL | |
| // Regression test for FSharp1.0:6389 - Nullary union cases improperly constrain generic type parameters | |
| type Weirdo = | C | |
| let f C = 0 // parameter name is C | |
| let g () = | |
| let C = 1 | |
| let f C = C // what is parameter name here? Do we even care? | |
| () |
| module Hookrouter | |
| open Fable.Core | |
| open Fable.Core.JsInterop | |
| open Fable.React | |
| open Fable.React.Props | |
| open System.Text.RegularExpressions | |
| type InterceptedPath = | |
| string option |
| module GraphQL.Web | |
| open Microsoft.AspNetCore.Http | |
| open System.IO | |
| open Ronnies.Server.Schema | |
| open Microsoft.AspNetCore.Authentication.JwtBearer | |
| open Microsoft.AspNetCore.Authentication | |
| open FSharp.Data.GraphQL.Execution | |
| open Newtonsoft.Json | |
| open Newtonsoft.Json.Linq |
| #load ".paket/load/main.group.fsx" | |
| printfn "Fable compiled this" |