mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-09-13 22:06:01 -06:00
detect and preserve terms that cannot be evaluated
This commit is contained in:
@@ -574,6 +574,9 @@ patternMatch g s v0 ((env0,ps,args0,t):eqs) = match env0 ps eqs args0
|
|||||||
(p, VGen i vs) -> v0
|
(p, VGen i vs) -> v0
|
||||||
(p, VSusp i k vs) -> VSusp i (\v -> match' env p ps eqs (apply g (k v) vs) args) []
|
(p, VSusp i k vs) -> VSusp i (\v -> match' env p ps eqs (apply g (k v) vs) args) []
|
||||||
(p, VFV s vs) -> VFV s (fmap (\arg -> match' env p ps eqs arg args) vs)
|
(p, VFV s vs) -> VFV s (fmap (\arg -> match' env p ps eqs arg args) vs)
|
||||||
|
(p, VP _ _ _) -> v0
|
||||||
|
(p, VS _ _ _) -> v0
|
||||||
|
(p, VSymCat _ _ _) -> v0
|
||||||
(PP q qs, VApp r vs)
|
(PP q qs, VApp r vs)
|
||||||
| q == r -> match env (qs++ps) eqs (vs++args)
|
| q == r -> match env (qs++ps) eqs (vs++args)
|
||||||
(PR pas, VR as) -> matchRec env (reverse pas) as ps eqs args
|
(PR pas, VR as) -> matchRec env (reverse pas) as ps eqs args
|
||||||
|
|||||||
Reference in New Issue
Block a user