fix: language M rule 4 not removing late UUs

This commit is contained in:
hi 2025-08-10 15:29:57 +00:00
parent 9233edfb4b
commit e2aae59499

View file

@ -40,7 +40,7 @@ mRule2 _ = []
mRule3 :: StringM -> [StringM]
mRule3 string@(M:xs) = (M:) <$> aux xs
where
aux (I:xs@(I:I:xs')) = (U:xs'):((I:) <$> aux xs)
aux (x@I:xs@(I:I:xs')) = (U:xs'):((x:) <$> aux xs)
aux (x:xs) = (x:) <$> aux xs
aux _ = []
mRule3 _ = []
@ -49,7 +49,7 @@ mRule3 _ = []
mRule4 :: StringM -> [StringM]
mRule4 string@(M:xs) = (M:) <$> aux xs
where
aux (U:U:xs) = [xs]
aux (x@U:xs@(U:xs')) = xs':((x:) <$> aux xs)
aux (x:xs) = (x:) <$> aux xs
aux _ = []
mRule4 _ = []