Goal
This project is for making microsoft excel power query m language a little bit more functional and for making a transpiler from such code to normal m language, written in F Sharp using FsLexYacc.
Being "a little bit more functional" above includes the followings, all of which normal m-language doesn't have such feature.
-
f# style function invocation, so as to curry functions straightforwardly.
-
pipeline operator and function composing operator. To be able to define any custom infix operator would be nicer.
-
pattern matching expression
-
off side rules especially for let syntax.
Status
Now only 33% of grammatical rules of m language have been taken care of.
See Progress.xlsx
Usage
-
Write code something like below in the file named "test.pqmf".
-
"dotnet run" at the path PQMF on the command line, Returning to prompt with no error message, test.pq has been created successfully.
-
Open Blank.xlsx and Refresh All .
-
Then that Excel book reads test.pq and you can see result of the query on the sheet.