Hello everyone,
1- in latest .bmm schema files the it uses Operation in the following Container functions : for_all(test: Operation), there_exists(test: Operation), matching(test: Operation), select(test: Operation).
now the .bmm files maps to that perfectly, but Operation itself isn’t specified anywhere, and If I understand it correctly it is supposed to lambda functions of specific signature (the Foundation types spec already specify these signature like ) so why not just the already use the specified functional meta-types, like for_all(test: Function<T , Boolean>).
or is Operation a special type?
2- To be fully sure is regarding Functional Meta-Type, in Functions, the Args should come before the result type in generic parameter ordering right ? as Function<ARGS, RESULT>, because in AM spec theres a parameter rmcc that is a Function(I opened an issue regarding on Jira earlier), if Foundation types spec is right then it seems that rmcc in wrong in AM spec and .bmm file ??
Other enquiry on the same Functional metatypes topic:
3- I noticed that EL_AGENT has function eval_type(), it description state the following:
Eval type is the signature corresponding to the (remaining) open arguments and return type, if any.
but it also it has post-condition : Post_result: Result = definition.signature, but isn’t that only for a special case of agent, the ones that don’t leave any parameters open. If any is left open it would have a different signature per example in 4.6. Agents.
4- Another thing: agents (lamdas) are mentioned by the EL and BMM spec but not the ANTLR4, I looked up the agent and lambda but not result.
Danke schön
It is not clear for me which of the BMM specification section (and which version) are you refering, neither which .bmm file.
There are some inconsistencies and WIP changes in current BMM development specs, and in fact I am about to release a new set that distinguish v3 from v2 - perhaps that will solve you confusion.
Thank you for your response,
Apologies if I haven’t provided enough information.
-
regarding point #1, isn’t just about BMM but also BASE, they both use type Operation, which is not declared explicitly anywhere, neither in the .bmm files nor in the spec documentation. here are the links of bmm files and the spec concerned.
-
for point #2 , it is more about the error in the ADL2 spec, which if the error that I reported in jira is right, then that could also be an error in bmm files like this one, all declaration of c_conforms_to take function rmcc as <Boolean, Tuple<String, String>>
-
point #3 and #4: is about BMM3 and EL not BMM2, the two points are about agent.
So I don’t think it is just a confusion regarding bmm3&bmm2 versions split.
- another question if I may ask, will BMM3 take updates or will it stay paused ? because it seems that
.bmm files perfectly mapp to BMM3 and it has better typing and expression system than BMM2, so it seems logical that it keeps improving and fixes bugs, to be ready when time comes to migrate to it. the only confusion I have regarding BMM actually, is future trajectory will BMM3 be replaced by BMM4 , if yes, is BMM4 just a different anltr4 grammar or a totally new spec different in semantic from BMM3, or just better grammars + some ehnacement over BMM3.
Thank you in advance.
I think you are right about #1 and #2 points - good catch, I will fix them soon.
For the rest of issues, BMM3/4 are at this point out of scope for me, the little time and resource I have I need to spend on other specs rigth now. I’ve being told that .bmm files maps to BMM3, but we (SEC) have no clear plan, roadmap and overview on BMM3 (and nothing about BMM4), neither active resources to spent on its developments - therefore we needed to set it to Pause state. Yet, if somebody else wants to take it further, and would be tooling updated or adoption path facilitated, we can hear these in a SEC call.
Thank you for taking the time to respond.
What about ADL2—will it continue to use BEL? I was told that ADL2 might integrate the Expression Language (which is part of BMM3) in the future, as EL was reverse-engineered from another system. I also heard about upcoming work by @thomas.beale regarding SPLASH and the new BMM syntax.
Please excuse my lack of familiarity with the committee structure and task assignments across the team!
I completely understand that resources are tight, and I certainly don’t want to add any unnecessary pressure. However, my work heavily relies on the semantics of BMM3 as I am implementing it as a programming language. While I know work on it is currently paused, I would love to confirm that it won’t be completely dropped or retired so I can plan my time and resources accordingly or if I should even abandon the whole work.
If there is any way I can lend a hand or offer technical help to the team, I would be more than happy to assist.
Thank you so much for all your hard work and dedication.