Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Name of the game #3224

Merged
merged 9 commits into from
May 4, 2023
Merged

Name of the game #3224

merged 9 commits into from
May 4, 2023

Conversation

henrikt-ma
Copy link
Collaborator

In the name of this PR, the game refers to the simplified modeling language being defined in this MCP. The goal of this PR is to settle a name for this language.

Initiating PR as draft to reflect that it is currently in a state where candidate names are collected, along with pros and cons of the various alternatives.

Let's generously accept more candidates as well as additional pros and cons for any of the names in this early stage of the PR. We can slow down the process once we start having web meeting discussions about the content.

@HansOlsson HansOlsson added the MCP0031 Base Modelica and MLS modularization (MCP-0031) label Aug 26, 2022
@HansOlsson
Copy link
Collaborator

"Intermediate Representation" does to me indicate a fairly different representation, especially as many use it for 3-address code (such as p-code) or stack-based ones (such as CIL), and both of them are at a considerably lower level.

"Lowered Modelica" is just weird to me; looking at https://en.wiktionary.org/wiki/lower#English the closest definition is "To reduce to single machine instructions, as part of compilation of a program", and that seems even further off than intermediate representation.

@olivleno
Copy link
Collaborator

olivleno commented Sep 5, 2022

"flat Modelica" as an established term that people can relate to is in my view the strongest argument.
Due to the fact that as of today tools provide different solutions under this term should give the freedom to have just another solution, but one that shall be officially standardized.

@olivleno
Copy link
Collaborator

Web Meeting (Hans, Henrik, Gerd, Martin, Oliver)
It can be considered flat even though arrays are preserved.
In OM scalarization happens in the back-end and is not considered part of the flattening.

Are there any alternative proposals?

olivleno and others added 8 commits April 27, 2023 14:52
Web Meeting (Hans, Henrik, Gerd, Martin, Oliver)

Will it b possible to build a basic Modelica compiler that is then extended later?
- Yes that should be possible to use another front-end and focus on compiling the output of that.

Will it be possible to split the Modelica language specification into a base and advanced part?
Hans:
To make this happen will be quite involved. It's too early to say if it will make things really easier.
Oliver:
In terms of maintenance it will be very attractive, but a long way to get there.
Henrik:
Having two specifications will be very bad for new comers.
We cannot afford maintaining two compilers.
Hans:
Even if it's a goal we cannot foresee how long it takes.
Henrik:
One reason for portability issues is the high complexity of Modelica leading to different interpretations.
With a basic Modelica language will be make big step forward in this direction.


Poll:
- lower to Base Modelica: Hans, Henrik, Gerd, Oliver
- abstain: Martin

Decision to change terminology to "Base Modelica"

Next steps:
- update documents as part of the PR [Henrik]
- organize a meeting with the language group to present the results.
- prepare an outline of the presentation [Oliver]
- prepare a first draft of the presentation
- review and discuss in meeting
Some documents, for example old meeting minutes, are not touched.
This is what this branch is all about.
@henrikt-ma henrikt-ma marked this pull request as ready for review May 4, 2023 11:32
@olivleno olivleno merged commit fba0689 into MCP/0031 May 4, 2023
@olivleno olivleno deleted the MCP/0031+name-of-the-game branch May 4, 2023 11:33
@casella
Copy link
Collaborator

casella commented May 26, 2023

In OM scalarization happens in the back-end and is not considered part of the flattening.

For the record, if the old backend is used, scalarization takes place in the frontend. The new frontend moved it, so it is now the last part of the flattening process, which can be skipped. In this case, the new backend takes care of scalarization if and where needed. But it's still very much work in progress 😅

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
MCP0031 Base Modelica and MLS modularization (MCP-0031)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants