1signature SPACING = 2sig 3 val mathSpacing: MathTypes.kind * MathTypes.kind -> MathTypes.mathSpace option 4end (* signature SPACING *) 5(*----------*) 6 7structure Spacing: SPACING = 8struct 9 open MathTypes 10 open MathGlue 11 12 fun mathSpacing (None , _ ) = noSkip 13 | mathSpacing (_ , None ) = noSkip 14 | mathSpacing (Bin , _ ) = medSkip' 15 | mathSpacing (Open , _ ) = noSkip 16 | mathSpacing (Punct, _ ) = thinSkip' 17 | mathSpacing (_ , Bin ) = medSkip' 18 | mathSpacing (_ , Close) = noSkip 19 | mathSpacing (Rel , Rel ) = noSkip 20 | mathSpacing (Rel , Punct) = noSkip 21 | mathSpacing (Rel , _ ) = thickSkip' 22 | mathSpacing (_ , Rel ) = thickSkip' 23 | mathSpacing (_ , Op ) = thinSkip 24 | mathSpacing (_ , Inner) = thinSkip' 25 | mathSpacing (Inner, _ ) = thinSkip' 26 | mathSpacing (Op , Ord ) = thinSkip 27 | mathSpacing _ = noSkip 28 29end (* structure Spacing *) 30