[
Date Prev][
Date Next][
Thread Prev][
Thread Next][
Date Index][
Thread Index]
[
List Home]
| 
[mdt-ocl.dev] Question regarding operations on UnlimitedNatural taking UnlimitedNatural argument
 | 
Hi,
there are operations defined on UnlimitedNatural in the 2.3 spec which 
as argument take an UnlimitedNatural (e.g., div, mod, max, min and the 
comparison operations). The current parser creates IntegerLiteralExp 
expressions for non-negative integer literals such as 0, 1, ...
This leads to a glitch for expressions such as
	*.div(1)
because * parses to an UnlimitedNaturalLiteralExp, 1 parses to an 
IntegerLiteralExp, Integer does not conform to UnlimitedNatural and 
hence the operation UnlimitedNatural::div(UnlimitedNatural) is not 
applicable.
Now, Integer::div(Integer) would be applicable, but it's not clear to me 
whether these operations should be visible for the specialization 
UnlimitedNatural. What's your take on this?
Currently, the "mature" implementation for Ecore gives up on any 
expression of this sort, and I wonder whether and how to fix it.
Best,
-- Axel