Implement a Morphir IR TypeProvider
- Dominant language
- F#
- Stars
- 14
- Forks
- 12
- PR merge metrics
- No merged PRs in 30d
Description
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:
- Create a Morphir to F# code generator using any of or a combination of (FCS, Fantomas, etc)
- Create a Myriad plugin that would give us more power around code-generation and meta-programming
- Create an Elm TypeProvider that generates Morphir IR from Elm (doing this as a type provider would allow us to get compile time support
Contributor guide
Assessment
This issue has not been assessed yet.