Morphir is a multi-language system built on a data format that captures an application's domain model and business logic in a technology agnostic manner. Having all the business knowledge available as data allows you to process it programatically in various ways:
- Translate it to move between languages and platforms effortlessly as technology evolves
- Visualize it to turn black-box logic into insightful explanations for your business users
- Share it across different departments or organizations for consistent interpretation
- Store it to retrieve and explain earlier versions of the logic in seconds
- and much more ...
Read more Morphir documentation
The heart of Morphir is an intermediate representation that captures the domain model and business logic of your application. Our main serialization format is JSON for maximum language interoperability. This repo will contain the specification of the JSON format in the near future. While we are working on it you can check out the documentation of the corresponding Elm library to get an idea on the structure.
Core
- morphir - The core IR data structure and common SDK.
- morphir-examples - Examples of various types of Morphir modeling (mostly in Elm).
Frontends
- morphir-elm - Enabling Elm as a Morphir modeling language.
- morphir-bosque - Enabling Bosque as a Morphir modeling language.
- morphir-dotnet - Enabling F# as a Morphir modeling language and for .NET as a backend target.
Backends
- morphir-dapr - Enabling Microsoft's Dapr as a target application model platform.
- morphir-jvm - Enabling various JVM technologies as targets for Morphir model execution.
- morphir-dotnet - Support for using F# as a Morphir modeling language and for .NET as a backend target.