Se in un'asm si importano due moduli che contengono due funzioni con nome e dominio uguali ma codominio diverso, il parser non segnala errore.
In esecuzione, a seconda dell'ordine di importazione dei due moduli, viene importata una o l'altra funzione
asm main
import ../StandardLibrary
//modo 1: viene importata la funzione di moduleA (codominio Boolean)
import moduleA
import moduleB
//modo 2: viene importata la funzione di moduleB (codominio enum Domain)
//import moduleB
//import moduleA
signature:
definitions:
main rule r_Main =
foo := true //modo 1
//foo := AA //modo 2
default init s0:
-----------------------------------------------------
module moduleA
export foo
signature:
dynamic controlled foo: Boolean
definitions:
-----------------------------------------------------
module moduleB
export foo, EnumDom
signature:
enum domain EnumDom = {AA | BB}
dynamic controlled foo: EnumDom
definitions:
file di esempio