What are the differences between in .fsx, .fsi and .fs file in F#?

F#

F# Problem Overview


So I'm starting to learn F# from the tryfsharp.org and I'm using VS2013. What are the differences of the .fs (source), .fsx (script) and .fsi (signature)?

F# Solutions


Solution 1 - F#

.fsx is for individual files intended to run as a script. In particular, in an .fsx file you can use things like #r "Foo.dll" to dynamically load a library and #load "Foo.fsx" to load another script file.
[Edit: and starting with .NET 5, #r "nuget: FooBar" to load a NuGet package.]

.fs is for source files compiled as part of a project.

.fsi is for signature files, they are optional and describe the API of a corresponding .fs file. More detail here.

Attributions

All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionKenneth BastianView Question on Stackoverflow
Solution 1 - F#TarmilView Answer on Stackoverflow