GithubHelp home page GithubHelp logo

finos / morphir Goto Github PK

View Code? Open in Web Editor NEW
139.0 22.0 53.0 51.04 MB

A universal language for business and technology

Home Page: https://morphir.finos.org

License: Apache License 2.0

JavaScript 9.39% CSS 0.07% TypeScript 1.22% Elm 60.73% Rust 0.08% Zig 0.02% Dockerfile 0.01% HTML 27.79% Scala 0.42% Shell 0.12% Batchfile 0.11% PowerShell 0.04%
morphir-modeling business-knowledge multi-language functional-programming

morphir's Introduction

FINOS Hosted Platform - LCR Interactive FINOS - Active CII Best Practices

Morphir

Morphir is a library of tools that works to capture business logic as data.

For the first time, business logic can be shared, stored, translated and visualised, all with the reliability of standardisation ensured in the Morphir framework.

What is it?

A set of tools for integrating technologies. Morphir is composed of a library of tools that facilitate the digitisation of business logic into multiple different languages & platforms. The Morphir framework is unique too in that facilities elements of automation and conversion that were previously unavailable in the field of finance-tech.

Why is it important?

Makes business logic portable. Business logic digitised provides distinct advantages: capacity for movement across departments and fields & the ability to be converted to new languages and applications.

How does it work?

Defines a standard format for storing and sharing business logic. A clear set of standards and format is in-place from the input/output, allowing for coherent structure.

What are the benefits?

✔️ Eliminates technical debt risk

Refactoring code libraries is often a harmful and time-sensitive issue for businesses, Morphir ensure the standards introduced from input eliminate delays at deployment.

✔️ Increases agility

Adaptability and usability are key concepts of the Morphir framework, business logic can now move with the code, be easily understood and adopted, in an ever-developing eco-system.

✔️ Ensures correctness

Certifying that specified functions behave as intended from input to output is assured through the Morphir library / tool chain.

✔️ Disseminates information through automation

Morphir’s automated processing helps disseminate information which otherwise may not be understood or shared at all, a useful tool when brining elements of business logic to conversation outside of its immediate audience (i.e developers).

Documentation

If you want to start using Morphir, start with the Documentation.

The Morphir Projects

Morphir consists of a few projects based on the features they provide.

Core Morphir Projects

  • morphir (this project) - The umbrella project
  • morphir-elm - Contains most of the core morphir functionality, including:
    • The definition of the IR
    • The Elm compiler for authoring morphir applications in Elm
    • The morphir visualization components and developer tools
    • The Scala, JSON Schema, TypeScript, TypeSpec (Cadl), cypher, semantic, and more backend processors.
  • morphir-jvm - Supporting SDK and packaging for running morphir on the JVM.
  • morphir-examples - A whole lot of examples.

Incubator Morphir Projects

Other Resources

List of media

Further reading

Introduction & Background Using Morphir Applicability
Resource Centre What Makes a Good Model Sharing Business Logic Across Application Boundaries
Background Development Automation (Dev Bots) Regulatory Technology
Community Modeling an Application
What's it all about? Modeling Decision Tables
Why we use Functional Programming? Modeling for database developers

Roadmap

List the roadmap steps; alternatively link the Confluence Wiki page where the project roadmap is published.

  1. Enhanced Scala support
  2. Further enhancements for Application modeling with Dapr and Spring Boot.
  3. Support for Microsoft's Bosque language for defining models.
  4. Modeling queries and aggregations across databases and event processing.

Getting Involved

Project Meetings

A great way to interact with the Morphir community is to attend the bi-weekly Thursday Morphir meetings. Email [email protected] to be added to the meeting invite directly, or find the meeting in the FINOS Community Calendar.

Contributing

  1. Fork it (https://github.com/finos/morphir/fork)
  2. Create your feature branch (git checkout -b feature/fooBar)
  3. Read our contribution guidelines and Community Code of Conduct
  4. Commit your changes (git commit -am 'Add some fooBar')
  5. Push to the branch (git push origin feature/fooBar)
  6. Create a new Pull Request

NOTE: Commits and pull requests to FINOS repositories will only be accepted from those contributors with an active, executed Individual Contributor License Agreement (ICLA) with FINOS OR who are covered under an existing and active Corporate Contribution License Agreement (CCLA) executed with FINOS. Commits from individuals not covered under an ICLA or CCLA will be flagged and blocked by the FINOS Clabot tool. Please note that some CCLAs require individuals/employees to be explicitly named on the CCLA.

Need an ICLA? Unsure if you are covered under an existing CCLA? Email [email protected]

Join the Morphir Slack Channel

Join Morphir on the FINOS Slack by signing up at https://finos-lf.slack.com/. The Morphir channel on Slack is found directly at https://finos-lf.slack.com/messages/morphir/.

Reach out to [email protected] for any issues when joining Morphir on the FINOS Slack.

License

Copyright 2022 FINOS

Distributed under the Apache License, Version 2.0.

SPDX-License-Identifier: Apache-2.0

morphir's People

Contributors

agrawalreesh avatar attilamihaly avatar bekand avatar blake-charles avatar caranunley avatar cojukwu avatar cynical-optimist avatar damianreeves avatar dependabot[bot] avatar elorm-axolu avatar fjabeen02 avatar jbarriospq avatar jonathanmaw avatar kindsonthegenius avatar klahnunya avatar maoo avatar nwokafor-choongsaeng avatar osbornems avatar ozmi avatar piyush-gupta1999 avatar rdale avatar reesh-a avatar rmseliga avatar ronaldssebalamu avatar sfc-gh-aramirezfuentes avatar sfc-gh-lfallasavendano avatar ssssam avatar stephengoldbaum avatar thejuanandonly99 avatar wintersoil avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

morphir's Issues

2023-06-01 (01 Jun 2023) - Morphir Project Meeting

Date

Thursday 01 Jun 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

Request to archive morphir-dotnet and morphir-bosque

As discussed with @AttilaMihaly and @stephengoldbaum from the Morphir team, the following repositories are currently on hold, therefore we'd like to propose archiving them until further notice:

  • morphir-dotnet
  • morphir-bosque

Please note that archiving a repository will:

  • Keep the repo public and accessible
  • Set the repo to read-only
  • Add a note at the top of the README file

The procedure is reversible at any time. We will be waiting for a confirmation from the Morphir team before taking any action, and wait 5 working days in order to gather feedback from the community.

15th December 2022 - Morphir Project Meeting

Date

Thursday 15th December 2022 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

Document the build pipeline

Support Question

The morphir build contains features that could be useful to others. We should document the build components and pipeline so that developers can understand what is involved, what features they can utilize, and where they can contribute.

2023-02-09 (09 Feb 2023) - Morphir Project Meeting

Date

Thursday 09 Feb 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Bureaucracy

Agenda

  • Status: 10m - 20m
  • Decorations: 20m - 35m
  • Scala frontend: 35m - 45m
  • Functional / relational mapping: 45m - 50m
  • Open: 50m - end

Action Items

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

Define an API for IR verification

Is your feature request related to a problem? Please describe.
While we have a preliminary implementation that verifies Morphir IR through Bosque we do not have a formal description for the API of the functionality.

Describe the solution you'd like
We would like to have a fully defined API that makes it easy for consumers to build integrations with the verification functionality.

Additional context
We need the API to allow arbitrary annotations on each value node in the IR and also to return the same annotations as part of any error messages that the API might return.

2023-07-13 (13 July 2023) - Morphir Project Meeting

Date

Thursday 13 July 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Minutes

Status Updates

  • Ned Peters (Capital One)

    • Scala / Morphir evaluator
    • Type encoder and decoder
    • The flow is: Author in Elm --> Morphir IR --> Scala Interpreter for execution
    • Lots of bugs in the Elm interpreter:
      • Missing functionality
        • Recursive
        • Local lambdas
        • LocalDate functions
        • Boolean operator short-circuiting
  • Peter Smulovics (Morgan Stanley)

    • Slack channel for F# / Morphir
    • F# Authoring
      • Restrict the language
      • Analyzers for error handling
      • Morgan Stanley driving F# agenda
  • Damian Reeves (Capital One)

    • Build integration
      • Microsoft is working on it
    • Roadmap
      • WebAssembly
      • Morphir on .NET
      • Spark backend - target Python
      • Other Frontends
        • TypeScript
        • Business users to wire flows
      • FINOS Case Study for OSFF
      • Data Model
        • Define data model superset in Morphir
        • Easier to work strictly on data than full IR
      • Package Spec
        • Package manifest
          • Link to code
          • Link to other (i.e., decorations)
        • Internal for now - will expose publicly
  • Alexander Ioffe (Capital One)

    • Backend to convert standard Scala data models to Morphir IR
    • Via Scala macros
    • Define custom derivations, for example strongly typed DDL generation
    • More powerful than any Scala to JSON conversion
  • Stephen Goldbaum (Morgan Stanley)

    • UI based editing
    • Scala DSL frontend
    • Toolchain plugins

Topics

  • Logos
    • Capital One - yes
    • Morgan Stanley and others in progress
  • Code quality
    • Sonar scanning integration
    • Full branch test generator (non-UI) would be valuable

morphir-elm make fails with Rule API in sdk package.

Exception I got when I tried to create simple rule and rule set

2021-06-15T09:43:35.385Z] Parsed sources: 4
[2021-06-15T09:43:35.413Z] Inferring types for RuleDemo.upperLimit of size: 13
[2021-06-15T09:43:35.419Z] Generated constraints: 15
[2021-06-15T09:43:35.424Z] Generated solutions: 0
[2021-06-15T09:43:35.425Z] Inferring types for RuleDemo.ruleSet2 of size: 7
[2021-06-15T09:43:35.426Z] Generated constraints: 9
[2021-06-15T09:43:35.455Z] RangeError: Maximum call stack size exceeded
at _Utils_cmp (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:709:17)
at Function.f (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:728:10)
at A2 (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:56:28)
at Function.f (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:14644:15)
at A2 (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:56:28)
at Function.f (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:16700:13)
at A2 (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:56:28)
at Function.f (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:16710:10)
at A2 (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:56:28)
at Function.f (C:\Users\deiveega\AppData\Roaming\npm-global\node_modules\morphir-elm\cli\Morphir.Elm.CLI.js:16714:7)

Document principles for where to implement features

An example is that every language specific integration should stick to parsing/generating in that language. We should not generate Java from Elm for example. The only cross-cutting language should be Morphir itself.

Provide initial documentation

  • ReadMe
  • High level overview
  • Provide example use-cases
  • IR guide - walk through the structure of the IR
  • SDK documentation

Notes:

  • We should provide links to the various tools and bindings (Elm, Bosque, Dapr, Scala, Java, F#, etc)
  • We should provide links to the various package repositories (i.e. npm, elm, maven, & nuget)
  • Include some diagrams

2023-05-18 (18 May 2023) - Morphir Project Meeting

Date

Thursday 18 May 2023 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

1st December 2022 - Morphir Project Meeting

Date

Thursday 1st December 2022 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Topics Raised

  • .NET support - Peter raised interest in supporting F# as a backend language and tool.
  • Package Management - The ability to depend on external projects is increasingly required. It raises a number of challenges stemming from the fact that Morphir generates into other languages. We need dependency management for Morphir that can work with the target platform standards. Peter raised the option of generating the platform equivalent of lock files. Attila proposed avoiding dependencies in the target languages by generating all dependencies with tree shaking for efficiency.
  • LCR - Discussions around testing in open-source and how to get access to good test data.

Action Items

  • Connect on .NET for further planning.
  • Write an issue for package management with a proposal in discussions.
  • Raise testing and contribution in Open Reg Tech SIG.

Zoom info

Dial-in

Find your local number: https://zoom.us/u/aFGSSGV9x

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-08-10 (10 August 2023) - Morphir Project Meeting

Date

Thursday 10 August 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

  • Capital One

    • Morphir Data Model
      • Scala data types processing into MDM then to IR
      • Will look at ZIO Schema since it's similar and has support for Avro, JSON, etc.
  • Morgan Stanley

    • Scala Frontend
      • Quill
      • Native scala
      • Embedded DSL
    • Contribution status
  • James & Alexandra

    • AI generated synthetic data

Action Items

  • Demo Morphir Data Model next meeting
  • Add logos

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

Provide SDK definition

Detail the the functions and types each binding needs to implement along with descriptions of their purpose.

2023-04-06 (6 April 2023) - Morphir Project Meeting

Date

Thursday 6 April 2023 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-03-23 (23 March 2023) - Morphir Project Meeting

Date

Thursday 23 March 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • ...

Action Items

  • Document feature mappings from Scala to Morphir for the purpose of the Scala frontend

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

26th January 2023 - Morphir Project Meeting

Date

Thursday 26th January 2023 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

  • Status
  • Type Precision
  • IR JSON serialization for named unions
  • Decorations
  • Functional / relational mapping

Discussion

Status

  • Decorations proposal in progress
  • JSON Schema for Scala Backend in progress
  • Language interop - working on TypeScript version of Morphir SDK
  • Cross-language tests generated from Morphir tests in progress
  • Spark implementation is being refactored to be more generic to support similar technologies.
  • Morphir Scala frontend work still in progress.

Decorations

Reviewed the need for requirements and proposal. Started requirements discussion at Morphir Discussions 136.

JSON IR serialization

The main point revolves around tagged unions. A discussions has been started at Morphir Discussions 135.

Type Precision

We identified to use cases requiring type precision:

  1. For performance in the backends.
  2. At the edges of the model during hand-off from the host platform.

For performance, currently Morphir assumes variable precision as the default since this is Finance. Performance is strictly a runtime concern and is not a business logic authoring concern. It was noted that certain target platforms handle this adequately. Java is not one of those. Squire was raised as a Scala option. An alternative proposal was to default everything to the largest fixed size. This is a common runtime strategy. It runs the risk of overflow errors. A proposal was to let users choose either performance or precision by adding the option as a backend flag in code generators.

For conversion at the edges, that conversion seems best left to the hosting technologies. For example, calling a Morphir generated Scala library from Scala, the precision conversions should be done in Scala. Morphir actually does provide sized integer options, but they have no capabilities other than formalizing the conversion choices when converting to Morphir native numbers. All-in-all, precision is best left out of business logic.

Project Management

  • Question of how to follow progress of active feature development. GitHub projects was raised as a solution.
  • Optimizing meeting time: We will split the meeting into sections and publish times beforehand.

Decisions Made

  • Morgan Stanley to write Decorations discussion
  • Morgan Stanley to write IR JSON discussion
  • Capital One to propose alternate IR JSON format
  • Precision will be handled by a combination of backend flags, decorations, and limited capability sized Morphir types.

Action Items

  • @mcleo-d to setup GitHub / FINOS Kanban for Morphir

Project

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-07-27 (27 July 2023) - Morphir Project Meeting

Date

Thursday 27 July 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

Many of the links in the readme are wrong

Bug Report

Many of the links in the readme are dead or internal (goes to 404). This gives a bad impression of the maintenance of the repo and should be resolved :)

Steps to Reproduce:

404

Expected Result:

Correct linking

Actual Result:

404

Environment:

GitHub.com

Move "Media About Morphir" panels to "Morphir Homepage"

Move "Media About Morphir" panels to "Morphir Homepage"

Scope of Work

Media About Morphir

screencapture-morphir-finos-org-docs-media-2023-03-13-10_41_43

Morphir Homepage

screencapture-morphir-finos-org-2023-03-13-10_42_22

Initial Guidance

  • The homepage content of the Morphir website is found in the Docusaurus project here website/src/pages/index.tsx
  • The following section at line 36 renders the homepage content as JSX components.
export default function Home(): JSX.Element {
	return (
		<Layout description={'Morphir Home Page'}>
			<HomepageHeader />
			<main>
				<HomepageFeatures />
			</main>
		</Layout>
	)
}
  • A new component should be added to <main> for rendering the moved media content
  • Create a new component called <MediaPanel> in website/src/components and add to <main>

Component and Homepage Example Scaffold

  • The following is a scaffold for creating a new <MedialPanel> component
import React from 'react'

export default function MediaPanel(): JSX.Element {
	return (
		<div>
			Hello World
		</div>
	)
}
  • The following is scaffold for adding the <MedialPanel> component to the homepage
export default function Home(): JSX.Element {
	return (
		<Layout description={'Morphir Home Page'}>
			<HomepageHeader />
			<main>
				<HomepageFeatures />
				<MediaPanel />
			</main>
		</Layout>
	)
}

3rd November 2022 - Morphir Project Meeting

Date

Thursday 3rd November 2022 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

WebEx info

Webex:
https://finos.webex.com/finos/j.php?MTID=mc06ba4f96e798bb141883a77db0aa4e5

Dial-in

  • US +1-415-655-0003 US Toll
  • UK +44-20319-88141 UK Toll
  • Meeting number: 2555 504 4597

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

17th November 2022 - Morphir Project Meeting

Date

Thursday 17th November 2022 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

WebEx info

Webex:
https://finos.webex.com/finos/j.php?MTID=mc06ba4f96e798bb141883a77db0aa4e5

Dial-in

  • US +1-415-655-0003 US Toll
  • UK +44-20319-88141 UK Toll
  • Meeting number: 2555 504 4597

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

work_across_languages_and_platforms missing from `.docs` folder

Description

The following content is missing from .docs which is resulting in broken links in the following markdown files.

[Working Across Technologies](./docs/work_across_languages_and_platforms)

Impacted Files and Content

The following are the markdown files impacted by the missing content.

Pull request #87 has been raised that removes work_across_languages_and_platforms from README.md.

12th January 2023 - Morphir Project Meeting

Date

Thursday 12th January 2023 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

  • Project morphir-scala update
  • Functional / Relational mapping
  • Int64 (long) support
  • Package Management
  • Docker
  • IR structure

Topics

Scala support update

  • Current focus is on execution in the JVM. Expected to be read in a few weeks.
  • Authoring in Scala via Scala 3 macros expected to have progress in February.

Functional / Relational Mapping

Given the upcoming work with Snowpark, it is a good opportunity to refactor the previous Spark work to be more generically built around supporting functional to relational mapping. Alex proposed leveraging Quill for both defining the API and executing in the JVM. This would be a natural fit with morphir-scala where the Morphir IR would be transpiled to Quill's Scala IR, which would make it available for SQL query generation.

Package Management

Brief discussion on requirements, challenges, and ideas for dependency management across Morphir projects. Suggested tools to explore were:

  • SPDK
  • WASM
  • Maven

Containerization

Suggestion for packaging the Morphir toolset, including Elm tools and supported libraries, as container image to enabled execution in restricted environments. Visual Studio Code's ability to integrate with Docker images was mentioned. There are other interesting opportunities to integrate with VS Code. For example, by utilizing virtual workspaces and getting developers real-time feedback and decoration support natively in their code.

IR structure

The issue was raised that it is challenging to work with the Morphir IR JSON structure because it is bespoke and doesn't conform to common languages' JSON bindings. The request was to create a new version of the IR that does conform to common usage, specifically by using named fields. Transition would be facilitated through bidirectional translation between the two. This would allow tools written for either version to be interchangeable. There are many trade-offs and supporting multiple versions would not be trivial. It was decided to write a proposal that includes the cost and benefits for proper evaluation.

Action Items

  • Write a proposal for adding Int64 support to the IR (Capital One)
  • Write a proposal / specification for the Decorations (Morgan Stanley)
  • Acknowledge need for a proposal for Package Management when ready (Morgan Stanley)
  • Proposal for IR structure changes to integrate better with common language JSON serialization (Capital One)
  • Meeting with Quill and Snowflake to understand how functional to relational mapping can integrate with Snowflake tools.

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-03-09 (09 March 2023) - Morphir Project Meeting

Date

Thursday 09 March 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Bureaucracy

Agenda

  • Status: 10m - 20m
  • Review URI (NodeID) proposal and recent changes: 20-30m
  • Scala frontend: 30m - 50m
  • Open: 50m - end

Decisions Made

  • TBD
  • ...

Action Items

  • TBD
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-04-20 (20 April 2023) - Morphir Project Meeting

Date

Thursday 20 April 2023 - 11am ET / 4pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-06-29 (29 Jun 2023) - Morphir Project Meeting

Date

Thursday 29 Jun 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-08-24 (24 August 2023) - Morphir Project Meeting

Date

Thursday 24 August 2023 - 11:30am ET / 4:30pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Agenda

Decisions Made

  • Decision 1
  • Decision 2
  • ...

Action Items

  • Action 1
  • Action 2
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

2023-02-23: Morphir Meeting

Date

Thursday 23 February 2023 - 11am ET / 3pm UK

Untracked attendees

Name Firm Comment

Meeting notices

  • FINOS Project leads are responsible for observing the FINOS guidelines for running project meetings. Project maintainers can find additional resources in the FINOS Maintainers Cheatsheet.

  • All participants in FINOS project meetings are subject to the LF Antitrust Policy, the FINOS Community Code of Conduct and all other FINOS policies.

  • FINOS meetings involve participation by industry competitors, and it is the intention of FINOS and the Linux Foundation to conduct all of its activities in accordance with applicable antitrust and competition laws. It is therefore extremely important that attendees adhere to meeting agendas, and be aware of, and not participate in, any activities that are prohibited under applicable US state, federal or foreign antitrust and competition laws. Please contact [email protected] with any questions.

  • FINOS project meetings may be recorded for use solely by the FINOS team for administration purposes. In very limited instances, and with explicit approval, recordings may be made more widely available.

Bureaucracy

Agenda

  • Status: 10m - 20m
  • URI (NodeID): 20-30m
  • Scala frontend: 30m - 50m
  • Open: 50m - end

Decisions Made

  • TBD
  • ...

Action Items

  • TBD
  • ...

Zoom info

Dial-in

Github Repo: https://github.com/finos/morphir/

Mailing List: Email [email protected] to subscribe to our mailing list

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.