Pattern match failure, then inconsistent function behavior

Hi, I am getting a "pattern match failure", and then a function which worked right works wrong. I am using Hugs and Trex. While most of the other functions in my module work fine, the function "findCoordinatesUtil" generates an error, then misbehaves. The function takes a record and a list of records, then searches the list of records to find other records which are in a specified relationship with the input function. In the first example, it works fine: LexicalSemantics03> findCoordinatesUtil (giveActionFromLabel "Action6" testLexActions03) testLexActions03 [(label="Action7", xcond=["prop1","prop7","prop5"], ycond=["prop3","pr op4","neg-prop6"]),(label="Action08", xcond=["prop1","prop7","prop5"], ycond=["prop3","neg-prop6","prop5"]),(label="Action09", xcond=["prop1 ","prop7","prop5"], ycond=["prop3","neg-prop6","neg-prop1"])] However, when I run the function on a larger list of records (here testList01), it generates an error message. LexicalSemantics03> findCoordinatesUtil (giveActionFromLabel "Action33 " testList01) testList01 Program error: pattern match failure: map_v780 (instEq_v20 instEq_v11 Eq_== "neg-prop2") map_v780 INTERNAL ERROR: Error in graph Moreover, when I subsequently run the function, I get a different (and wrong) result -- label-"Action08" is missing. LexicalSemantics03> findCoordinatesUtil (giveActionFromLabel "Action6" testLexActions03) testLexActions03 [(label="Action7", xcond=["prop1","prop7","prop5"], ycond=["prop3","pr op4","neg-prop6"]),(label="Action09", xcond=["prop1","prop7","prop5"], ycond=["prop3","neg-prop6","neg-prop1"])] When I reload the module, it correctly works again. LexicalSemantics03> :r LexicalSemantics03> findCoordinatesUtil (giveActionFromLabel "Action6" testLexActions03) testLexActions03 [(label="Action7", xcond=["prop1","prop7","prop5"], ycond=["prop3","pr op4","neg-prop6"]),(label="Action08", xcond=["prop1","prop7","prop5"], ycond=["prop3","neg-prop6","prop5"]),(label="Action09", xcond=["prop1 ","prop7","prop5"], ycond=["prop3","neg-prop6","neg-prop1"])] I don't understand the pattern match failure or how to correct it. What is this error message telling me? Thanks, Adam Wyner
participants (1)
-
Adam Wyner