finos / morphir-dotnet

Apache License 2.0
12 stars 8 forks source link

Implement a Morphir IR TypeProvider #65

Open DamianReeves opened 1 year ago

DamianReeves commented 1 year ago

Taking a deeper look at F# TypeProviders and its code generation capabilities and meta-programming positioning, it seems like a compelling value add for morphir-dotnet to support a TypeProvider that would generate a Morphir model.

Describe the solution you'd like

This TypeProvider would allow someone to provide one (or more) Morphir IR files, from which we could generate code that would expose the modules, types, and functions in those files.

Since a TypeProvider allows us to interact with the compiler, we'd be able to also generate compiler errors if there are model errors such as linking errors.

TODO: Add more implementation details (just capturing this as a thought right now)

Describe alternatives you've considered There are other alternatives that provide similar functionality but I think these are all just point in time items as I can see us executing the following over time: