adamc@36: signature S = sig adamc@36: type t adamc@36: val x : t adamc@36: adamc@36: structure Q : sig adamc@36: type q adamc@36: val y : q adamc@37: adamc@37: structure V : sig adamc@37: type v adamc@37: end adamc@36: end adamc@36: end adamc@36: adamc@36: structure S = struct adamc@36: type t = int adamc@36: val x = 0 adamc@36: adamc@36: structure Q = struct adamc@36: type q = float adamc@36: val y = 0.0 adamc@37: adamc@37: structure V = struct adamc@37: type v = string adamc@37: val hi = "Hi" adamc@37: end adamc@36: end adamc@36: end adamc@36: adamc@36: structure S1 = S adamc@36: structure S2 : S = S adamc@36: structure S3 = S2 adamc@39: adamc@39: val main = S3.Q.y