FsiX.Web 0.0.4

dotnet tool install --global FsiX.Web --version 0.0.4
                    
This package contains a .NET tool you can call from the shell/command line.
dotnet new tool-manifest
                    
if you are setting up this repo
dotnet tool install --local FsiX.Web --version 0.0.4
                    
This package contains a .NET tool you can call from the shell/command line.
#tool dotnet:?package=FsiX.Web&version=0.0.4
                    
nuke :add-package FsiX.Web --version 0.0.4
                    

🔥 FsiX 🔥

A better REPL for F# with project/solution support and hot reloading.
Brings REPL driven development to F#!

📹 Demo

https://github.com/user-attachments/assets/fb14365c-758a-4603-b729-94e2eebe006d


✨ Features

  • Project & Solution Support (*.fsproj / *.sln)
    No need to manually reference DLLs or NuGets.
    FsiX automatically detects your project structure and loads everything for you.

  • Hot Reloading

    Redefine a function with the same name, type signature, and (optionally) module path —
    FsiX will patch the original assembly so all calls use the new version instantly.

  • Inline Async & Computation Expressions

    Write code like:

    let! result = someAsyncCall
    

    and FsiX rewrites it into:

    let result = someAsyncCall |> _.Run()
    
    

    Perfect for step-by-step debugging of async and other computation expressions.

  • File imports with #open

    Example:

    :open FileName.fs
    

    Opens the top-level module in MyFile.fs and any modules it depends on. Useful when working inside a specific file.

  • Shorter Directives

    • #q instead of #quit.

    • :q, :help, and other : alternatives for directives.

      Use your vim muscle memory in F#!

  • Modern REPL Experience

    Autocompletion, history, and more niceties via PrettyPrompt

🚀 Installation

If your project uses regular .NET SDK:

dotnet tool install --global fsix

Or, if it uses Asp net core sdk:

dotnet tool install --global fsix-web

Then, just run

dotnet fsix #or fsix-web

in the root dir of your project

🛠 Configuration

There is configuration file in ~/.config/fsix/repl.fsx if you are on GNU/Linux and %appdata%\fsix\repl.fsx if you are on windows. It's basically just an F# script which is being run on repl start, which has to contain replConfig object with prompt configuration. FsiX will also load on start .repl.fsix file if it's present in current dir.

📌 Future features

  • Integration with Conjure
  • (Maybe) n-repl support
  • Ability to add REPL to any of your projects just as library

🤝 Contributing

Contributions are welcome! Feel free to open issues or PRs.

Product Compatible and additional computed target framework versions.
.NET net8.0 is compatible.  net8.0-android was computed.  net8.0-browser was computed.  net8.0-ios was computed.  net8.0-maccatalyst was computed.  net8.0-macos was computed.  net8.0-tvos was computed.  net8.0-windows was computed.  net9.0 is compatible.  net9.0-android was computed.  net9.0-browser was computed.  net9.0-ios was computed.  net9.0-maccatalyst was computed.  net9.0-macos was computed.  net9.0-tvos was computed.  net9.0-windows was computed.  net10.0 was computed.  net10.0-android was computed.  net10.0-browser was computed.  net10.0-ios was computed.  net10.0-maccatalyst was computed.  net10.0-macos was computed.  net10.0-tvos was computed.  net10.0-windows was computed. 
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.

This package has no dependencies.

Version Downloads Last Updated
0.0.4 186 8/28/2025
0.0.3 149 8/25/2025
0.0.2 79 8/22/2025
0.0.1 122 8/21/2025