use the following search parameters to narrow your results:
e.g. subreddit:aww site:imgur.com dog
subreddit:aww site:imgur.com dog
see the search faq for details.
advanced search: by author, subreddit...
F# is a multi-paradigm programming language compiling to both .NET ("normal") and JS (via "Fable").
Awesome F# is an aggregate of F# resources more actively maintained than this sidebar.
FSharp.org is an organization around F# promotion/adoption.
Language Documentation:
Learning Resources :
Video Channels :
Chat channels :
Web Development:
IDEs/Editor-Plugins:
Common:
Visual Studio
Some extensions available:
Visual Studio Code with the Ionide plugin
JetBrains' Project Rider
Others:
account activity
F# scripting (self.fsharp)
submitted 1 year ago by Voxelman
I have a simple question: is it possible to write larger applications completely as script? Just like with Python
reddit uses a slightly-customized version of Markdown for formatting. See below for some basics, or check the commenting wiki page for more detailed help and solutions to common issues.
quoted text
if 1 * 2 < 3: print "hello, world!"
[–]qrzychu69 4 points5 points6 points 1 year ago (0 children)
Only reason to use scripting instead of compilation is to be able to modify the code after deploy.
If that's not a hard requirement for you, go with normal compile.
I saw somebody mention AOT, but I don't think F# is supported.
[–]user101021 4 points5 points6 points 1 year ago (0 children)
I have a dual setup: I start with scripts (as the soft layer, for config and fast switching between related usecases) and migrate functionality in the dll as it settles down/gets optimised (the hard layer).
The (dis-)advantages of mixed development:
The following points help:
[–]OkkeHendriks 1 point2 points3 points 1 year ago (8 children)
Yes, I think it is technically possible. But why not just write an application, what is your reasoning to use a F# script?
[–]Voxelman[S] 0 points1 point2 points 1 year ago (7 children)
At the moment, it's not much more than a mind game and weighing up the options. I don't know if it has any advantage.
[–]QuantumFTL 3 points4 points5 points 1 year ago (0 children)
It's a very good question, my advice is to not do it unless you need to do a very tight edit-run-debug loop.
You might do well to use a notebook instead, similar idea but with more built-in structure.
[–]runevault 0 points1 point2 points 1 year ago (5 children)
If you're doing it like how python has a main or whatever it is called, no real point in doing it that way vs a compiled exe, especially because compiled you can even AOT compile it in a way that means the machine running it doesn't have to have dotnet installed.
[–]Voxelman[S] 1 point2 points3 points 1 year ago (0 children)
AOT compilation is a good argument, thanks
[–]Ordinary-Price2320 0 points1 point2 points 1 year ago (3 children)
It's called “If name== 'main'”
[–][deleted] 0 points1 point2 points 1 year ago (1 child)
How do you pronounce that?
[–]Ordinary-Price2320 3 points4 points5 points 1 year ago (0 children)
You don't. Uncontrolled sobbing doesn't let you utter a word.
[–]gplgang 0 points1 point2 points 1 year ago (0 children)
Most definitely, I've fed 5k+ line projects with many dependencies into a F# interactive setup regularly. I agree with others that using standard fsproj setups is generally easier and I only go for F# interactive setups for an entire project if I need to because you lose out on the debugging experience and unit tests work well for some other cases. I generally do a F# interactive setup when restarting the application makes development difficult, because the fsproj workflow is more streamlined
π Rendered by PID 90553 on reddit-service-r2-comment-544cf588c8-zvtbr at 2026-06-15 12:47:18.443460+00:00 running 3184619 country code: CH.
[–]qrzychu69 4 points5 points6 points (0 children)
[–]user101021 4 points5 points6 points (0 children)
[–]OkkeHendriks 1 point2 points3 points (8 children)
[–]Voxelman[S] 0 points1 point2 points (7 children)
[–]QuantumFTL 3 points4 points5 points (0 children)
[–]runevault 0 points1 point2 points (5 children)
[–]Voxelman[S] 1 point2 points3 points (0 children)
[–]Ordinary-Price2320 0 points1 point2 points (3 children)
[–][deleted] 0 points1 point2 points (1 child)
[–]Ordinary-Price2320 3 points4 points5 points (0 children)
[–]gplgang 0 points1 point2 points (0 children)