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

Compare returns ARBITRARY, but the inputs fms are syntactically identical #55

Open
ttben opened this issue Oct 10, 2018 · 0 comments
Open

Comments

@ttben
Copy link

ttben commented Oct 10, 2018

I am encountering a case that I can't explain
I run the jar FAMILIAR-Standalone-1.0.10-jar-with-dependencies.jar.

I copy/paste the following:

fm1 = FM(NIjTu: EaTL ;  EaTL: [QdnURvNq] [yMEvijwGOU] [qRsQ] [PxY] [EJomhitg] ;)
fm2 = FM(HGcNsZOpvR: [KSp] ;  KSp: [iICXyWfdEr] ;  iICXyWfdEr: (pQKXp|HDN|ElzaF|BHEk|JsKvNZspp)+ ;)
resMerge = merge sunion{fm1 fm2}

Then
println resMerge outputs

NIjTu: (HGcNsZOpvR|EaTL)? ;
HGcNsZOpvR: [KSp] ;
EaTL: [QdnURvNq] [yMEvijwGOU] [PxY] [qRsQ] [EJomhitg] ;
KSp: [iICXyWfdEr] ;
iICXyWfdEr: (pQKXp|HDN|ElzaF|BHEk|JsKvNZspp)+ ;
(KSp -> !NIjTu);

Then I create exactly the same FM, thus I wrap its description on one line, and copy paste the following :

clone = FM (NIjTu: (HGcNsZOpvR|EaTL)? ; HGcNsZOpvR: [KSp] ; EaTL: [QdnURvNq] [yMEvijwGOU] [PxY] [qRsQ] [EJomhitg] ; KSp: [iICXyWfdEr] ; iICXyWfdEr: (pQKXp|HDN|ElzaF|BHEk|JsKvNZspp)+ ; (KSp -> !NIjTu);)

Note that I just basically did a 1) create A, 2) show A, 3) parse desc de A

print clone outputs

NIjTu: (HGcNsZOpvR|EaTL)? ;
HGcNsZOpvR: [KSp] ;
EaTL: [QdnURvNq] [yMEvijwGOU] [PxY] [qRsQ] [EJomhitg] ;
KSp: [iICXyWfdEr] ;
iICXyWfdEr: (pQKXp|HDN|ElzaF|BHEk|JsKvNZspp)+ ;
(KSp -> !NIjTu);

So syntaxically the exact same output than print resMerge.

BUT :

fml> compare clone resMerge
res0: (STRING) ARBITRARY
fml> compare resMerge clone
res1: (STRING) ARBITRARY
fml> compare clone clone
res2: (STRING) REFACTORING
fml> compare resMerge resMerge
res3: (STRING) REFACTORING

Why does it return ARBITRARY ? I don't understand.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant