Hi all,
There is something I can't express using "collect" or "accumulate"
and I would like to have your opinion.
Let's imagine I have the following types :
# a country type
declare Country
name : String
end
# a city type holding a reference to its country
declare City
name : String
country : Country
end
Let's imagine I have all Country and City objects into the working
memory.
I want to get the set of Countries corresponding to Cities whose
name starts with "X".
I have the impression that I need a kind of (nonexistent right?)
"collect" syntax that would look like the "accumulate" syntax (a
kind of "anonymous" accumulate function):
# meaning I want to collect $country objects and not City
objects
$countries : HashSet() from collect (City($name matches
"X.*", $country : country), $country)
Or a home made accumulate function that builds a set of countries:
# custom "buildset" accumulate function
$countries : HashSet() from accumulate (City($name
matches "X.*", $country : country), buildset($country))
Do you see any other (possibly out of the box) solution?
Many thanks in advance for your answers,
Best regards,
Bruno.