annotate tests/open_functor.ur @ 2110:9e9c915f554c

A new MonoReduce optimization for lifting 'let' out of field projection; JavaScript compilation for exponentiation
author Adam Chlipala <adam@chlipala.net>
date Sun, 01 Feb 2015 12:29:14 -0500
parents 71bafe66dbe1
children
rev   line source
adamc@146 1 signature S = sig
adamc@146 2 type t
adamc@146 3 val x : t
adamc@146 4 end
adamc@146 5
adamc@146 6 functor F (M : S) : S where type t = M.t = struct
adamc@146 7 type t = M.t
adamc@146 8 val x = M.x
adamc@146 9 end
adamc@146 10
adamc@146 11 structure M = F(struct
adamc@146 12 type t = int
adamc@146 13 val x = 0
adamc@146 14 end)
adamc@146 15
adamc@146 16 open M