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

prependToSubst: Eric broke unification. Prepending K-t-73 twice #31

Closed
kowey opened this issue Mar 4, 2013 · 6 comments
Closed

prependToSubst: Eric broke unification. Prepending K-t-73 twice #31

kowey opened this issue Mar 4, 2013 · 6 comments
Assignees
Milestone

Comments

@kowey
Copy link
Owner

kowey commented Mar 4, 2013

Yikes!

geni: Bug in GenI!
prependToSubst: Eric broke unification. Prepending K-t-73 twice

geni -m dist/build/grammar/valuation-sem.geni -l dist/build/lexicon/lemmas.glex -s suite/verbs --testcase=t110 --batchdir=/tmp/b

@ghost ghost assigned kowey Mar 4, 2013
@kowey
Copy link
Owner Author

kowey commented Mar 4, 2013

Imported from trac issue 31. Created by kowey on 1970-01-01T01:20:53, last modified: 1970-01-01T01:20:53

@kowey
Copy link
Owner Author

kowey commented Mar 4, 2013

Trac comment by kowey on 1970-01-01 01:20:53:

It seems to be t150 in the XMG-GenI integration demo

@kowey
Copy link
Owner Author

kowey commented Mar 4, 2013

Trac comment by kowey on 1970-01-01 01:20:53:

In the debugger, it happens at iteration 142 (or 141?)

@kowey
Copy link
Owner Author

kowey commented Mar 4, 2013

Trac comment by kowey on 1970-01-01 01:20:53:

I can confirm that GenI 0.17.4 makes it through this.
So either this is a regression or something else has changed that reveals the error.

If I understand correctly, this bug means we're trying to register more than one substitution for a variable, which doesn't make sense because normally once you've registered a substitution that variable is gone. I think this means that we're basically just failing to propagate substitutions somewhere...

This makes me want a better abstraction over unification.

@kowey
Copy link
Owner Author

kowey commented Mar 4, 2013

Trac comment by kowey on 1970-01-01 01:20:53:

Cool! This may not be a unification bug after all, but a repeated adjunction.
Why are we getting this?

@kowey
Copy link
Owner Author

kowey commented Mar 4, 2013

Trac comment by kowey on 1970-01-01 01:20:53:

Resolved by:
Fri Sep 25 17:16:00 CEST 2009 Eric Kow E.Y.Kow@brighton.ac.uk

  • Fix prependToSubst: Eric broke unification. Prepending K-t-73 twice #31 - unification bug cause by failure to propagate.

    We do top and bottom unification after adjunction; however, the
    nodes that we were doing unification on did not have the latest
    substitutions from the adjunction test applied to them.

    I'm still not sure why this is a regression from GenI 0.17, but
    that's a future question to research.

    Note also that this bug would not have been caught without the
    pattern-matching style allowed by languages such as Haskell or one of
    the MLs. We simply would have silently accepted the anomalous situation
    and the user would have been none the wiser. I consider this a
    succesful application of the "Dead Programs Don't Lie" principle.
    So yay Haskell!

@kowey kowey closed this as completed Mar 4, 2013
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