Home United States USA — software Fable 1.0 Beta Brings Better Tooling Integration, New Project Format, and More

Fable 1.0 Beta Brings Better Tooling Integration, New Project Format, and More

311
0
SHARE

Fable, a F# to JavaScript compiler, has reached version 1.0 beta, bringing tooling improvements, a streamlined project format, and better code generation. InfoQ has spoken with Fable creator Alfonso García-Caro.
Fable, a F# to JavaScript compiler, has reached version 1.0 beta , bringing tooling improvements, a streamlined project format, and better code generation.
Fable is now integrated with dotnet SDK , which means that it is now available through nuget and developers can use the dotnet CLI tool to manage projects. For example, this is how you would create a new Fable project:
Additionally, Fable comes now with Webpack integration. In fact, the JavaScript component of the Fable compiler has become a Webpack loader and thus allows to define build workflows that cooperate with loaders for other languages, such as TypeScript. The Fable Webpack loader communicates with the Fable server, which can be started with dotnet fable start.
As mentioned, another important change brought by release 1.0 is a new project format, which is now a simple XML file that lists in an orderly way all dependencies and files that compose a project. The main advantage of this new format is the possibility of it being easily modified without much risk of breaking things as it was the case with the old, over bloated format. At the moment, though, the only editor that supports the new format is Ionide.
Fable 1.0 also sports improved code generation, based on the work that ncave did to port the F# compiler to JavaScript using Fable. Besides powering the all-in-browser Fable REPL , using Fable for such a large project highlighted many optimizations and bugs.
InfoQ has spoken with Alfonso García-Caro, Fable creator and maintainer, and co-author of PACKT Mastering F# .
InfoQ covered Fable in Aug, 2016. Could you summarize for our readers what has changed in the language since then?
Fable is compatible with standard F# so most of new Fable language features come from F# itself. However Fable also adds a few additional features to improve interaction with JavaScript, like erased unions, string enums or dynamic programming.

Continue reading...