Paradigm | Low-code, general-purpose, imperative, strongly typed, declarative, functional |
---|---|
Designed by | Vijay Mital, Robin Abraham, Shon Katzenberger, Darryl Rubin, Greg Lindhorst, Mike Stall |
Developer | Microsoft |
First appeared | 2021 |
Typing discipline | strong |
License | MIT License |
Website | docs |
Influenced by | |
Excel functions, Excel macros, Pascal, Mathematica, Miranda |
Microsoft Power Fx is a free and open source low-code, general-purpose programming language for expressing logic across the Microsoft Power Platform.[1][2][3]
It was first announced at Ignite 2021 and the specification was released in March 2021.[4][5] It is based on spreadsheet-like formulas to make it accessible to large numbers of people.[6] It was also influenced by programming languages and tools like Pascal, Mathematica, and Miranda.[7]
As Microsoft describes the language, it heavily borrows from the spreadsheet paradigm. In a spreadsheet, cells can contain formulas referring to the contents of other cells; if the user changes the content of a cell, the values of all its dependent cells are automatically updated. In a similar fashion, the properties of components in a Power Fx program are connected by formulas (whose syntax is very reminiscent of Excel) and their values are automatically updated if changes occur. For instance, a simple formula may connect a component's color property to the value of a slider component; if the user moves the slider, the color changes.[8]
The initial formula language was created by a Microsoft team led by Vijay Mital, Robin Abraham, Shon Katzenberger and Darryl Rubin as part of the Tangram and Siena projects.[8][7] Later, as part of Power Apps, Greg Lindhorst and Mike Stall led the effort to enhance the language to what is now become Power Fx. Power Fx is available as Open-source software.[9] The source code was shared under MIT license by Microsoft on November 2. 2021.[10] Only the documentation was originally open source.[11]
In the April 2024 feature update, Microsoft introduced two new Copilot features for Power Fx: Explaining a Formula and Generating Power Fx from Natural Language. These features aim to simplify the use of Power Fx by providing natural language explanations and generating formulas from user input.[12]