annotate tests/datatypeMod.ur @ 1507:ca8c8b8cc477

Tutorial: TLC meets type classes and modules
author Adam Chlipala <adam@chlipala.net>
date Sun, 17 Jul 2011 13:04:07 -0400
parents 71bafe66dbe1
children
rev   line source
adamc@157 1 structure M : sig datatype t = A | B end = struct
adamc@157 2 datatype t = A | B
adamc@157 3 end
adamc@157 4
adamc@163 5 val ac = M.A
adamc@158 6
adamc@157 7 datatype u = datatype M.t
adamc@157 8
adamc@163 9 val ac : M.t = A
adamc@163 10 val a2 : u = ac
adamc@158 11
adamc@158 12 structure M2 = M
adamc@158 13 structure M3 : sig datatype t = datatype M.t end = M2
adamc@158 14 structure M4 : sig datatype t = datatype M.t end = M
adamc@158 15
adamc@163 16 val bc : M3.t = M4.B
adamc@159 17
adamc@159 18 structure Ma : sig type t end = M
adamc@160 19
adamc@160 20 structure Magain : sig datatype t = A | B end = M
adamc@163 21
adamc@163 22 val page : M.t -> page = fn x => <html><body>
adamc@163 23 Hi.
adamc@163 24 </body></html>
adamc@163 25
adamc@163 26 val main : unit -> page = fn () => <html><body>
adamc@163 27 <a link={page a2}>Link</a>
adamc@163 28 </body></html>