Added an @@ operator for Named patterns, like in the Tock presentation
This commit is contained in:
parent
d3c246a911
commit
7ea3d2a7f9
|
@ -21,6 +21,7 @@ module TreeUtil (
|
|||
AnyDataItem(..), Items, castADI,
|
||||
assertPatternMatch, getMatchedItems,
|
||||
tag0, tag1, tag2, tag3, tag4, tag5, tag6, tag7, tag1d, tag2d, tag3d, tag4d, tag5d, tag6d, tag7d,
|
||||
(@@),
|
||||
mkPattern, stopCaringPattern, namePattern, nameAndStopCaringPattern,
|
||||
checkTreeForConstr,
|
||||
con0, con1, con2, con3, con4, con5, con6, con7
|
||||
|
@ -240,6 +241,10 @@ namePattern name item = namePattern' name (mkPattern item)
|
|||
nameAndStopCaringPattern :: Data a => String -> a -> Pattern -> Pattern
|
||||
nameAndStopCaringPattern n item = (stopCaringPattern item) . (namePattern n item)
|
||||
|
||||
|
||||
(@@) :: Data a => String -> a -> Pattern
|
||||
(@@) label x = Named label (mkPattern x)
|
||||
|
||||
--I'm not sure tag0 is ever needed, but just in case:
|
||||
tag0 :: (Data a) => a -> Pattern
|
||||
tag0 con = (Match (toConstr con) [])
|
||||
|
|
Loading…
Reference in New Issue
Block a user