My current task is to try and get rid of lexical threading in the Matrix. This means that, at a minimum, (i) lexical types do not identify their NON-LOCAL features with that of their arguments’; (ii) instead, the head-subj rule (for example) should append its daughters’ NON-LOCAL features.
Here’s what I did:
binary-nonloc-phrase := basic-binary-headed-phrase & [ SYNSEM.NON-LOCAL [ SLASH.APPEND < #slash1, #slash2 >, QUE.APPEND < #que1, #que2 >, REL #rel ], ; OZ: wasn't sure what to do with REL at this point HEAD-DTR.SYNSEM.NON-LOCAL [ SLASH #slash1, QUE #que1, REL #rel ], NON-HEAD-DTR.SYNSEM.NON-LOCAL [ SLASH #slash2, QUE #que2 ] ].
This type I then add as a supertype to both head-subj and head-comp rules.
And this seemed to work at first (my English test passes, for example), but something doesn’t seem to work when head-subject needs to be low wrt head-complement, looks like.
In a VSO pseudolanguage, I should be able to parse tv who the n2? (meaning who did something denoted by n2?) but there is no parse; I am having difficulties with interactive unification as well (see developers list) but with no lui, I am able to get the following failure when I try to unify the mother of the head-subj with the head daughter of the head-comp:
Did I write the append incorrectly? When I inspect the head-subj mother, I see the following:
The QUE-list of the head-comp’s head daughter is identified with the first element on APPEND here (tagged 53 but you can’t see it):
Can someone spot the problem?..