Why do you say it's not a scripting language? You can write .fsx files and run them as scripts, and there's a nice REPL. Using Polyglot Notebooks, you can even combine several languages, including F# and PowerShell, and documentation and run the notebooks as scripts.
Were you running F# with modern .NET, i.e., .NET5+?
Why does that matter, exactly? What affect on scripting does that have?
You can run a script file via `dotnet fsi script.fsx`. You can load and run a script inside FSI (F# interactive, the F# REPL) via `#load script.fsx`. You can run a notebook as a script via `dotnet repl --run notebook.dib --exit-after-run`. There is no "compilation" visible or required by the user.
This is nearly identical, except that it's improved and more featureful, to how one runs a script in Python. Whether F# is compiled or not is immaterial.
Were you running F# with modern .NET, i.e., .NET5+?