FoxDev Studio revives Visual FoxPro with a 64-bit Rust runtime
Nearly two decades after Microsoft retired Visual FoxPro at version 9, an independent project called FoxDev Studio rebuilds the dead language from the ground up. Rather than a migration tool, it opens existing VFP projects, forms, class libraries, menus, reports and tables directly from the original files—reading and writing them in place—and ships a full IDE with a project manager, Command Window and line-level debugger. Compatibility is settled empirically: the runtime’s behavior is checked against actual Visual FoxPro output, with 1,534 of the 1,722 catalogued language elements exercised by a comparison test.
The engine is a compiler and bytecode interpreter written in Rust and compiled to WebAssembly. Programs run as fibers that yield to the host instead of blocking, so modal dialogs and event loops behave as they did without freezing the UI, and forms are rendered by React straight from the live object tree the designer edits. The biggest practical payoff is going 64-bit end to end: every file offset is 64-bit and tables are never loaded fully into memory, lifting the old 2GB ceiling on .dbf and memo files—though a table grown past that limit becomes a one-way door that legacy VFP can no longer open. A dedicated 32-bit helper process keeps old .fll add-in libraries loadable via synchronous calls.
The project layers a new FoxScript API on top of the unchanged language, adding lambdas and an HTTP server so business logic can answer web routes directly—turning decades-old FoxPro code into an API backend without a second language or service. Builds are published as unsigned nightly pre-releases on GitHub, and the docs are candid about unfinished corners, notably the report designer and a purpose-built format for tables beyond 2GB. It’s a notable act of software preservation, reviving an abandoned platform on a foundation that is no longer frozen in 2007.
Read the full article
Continue reading at Hacker News →This is an AI-generated summary. Read the original for the full story.