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