Fable is a compiler that translates F# code into JavaScript, TypeScript, Python, Rust, Erlang, and Dart.
The tool solves the problem of writing strongly-typed, functional code once and deploying it across multiple runtime environments. Fable parses F# source code and compiles it to the target language while preserving the semantics of the original program. This approach allows developers to leverage F#'s type system, pattern matching, and functional paradigms while generating idiomatic code for web browsers, servers, and other platforms.
Fable suits teams that want to share business logic across frontend and backend systems or that prefer F#'s syntax and guarantees over writing in multiple languages. It works well for projects where type safety and functional programming patterns reduce bugs and improve maintainability. The breadth of supported targets means a single codebase can reach JavaScript environments, Python data processing pipelines, Rust systems code, and Erlang distributed systems without rewriting core logic.
The project maintains active development with regular commits addressing bug fixes, feature improvements, and target language updates. The codebase shows consistent engagement with issues and pull requests, indicating responsive maintenance. Development activity reflects ongoing work to keep the compiler aligned with F# language evolution and to improve code generation quality across all supported targets.