Hi, I am trying to do something like
signature ARGUMENTS = sig con n1 :: Name con t1 :: Type con t2 :: {Type} constraint [n1] ~ t2 end signature RESULT = sig type t end functor Functor(A : ARGUMENTS) : RESULT where type t = $([A.n1 = A.t1] ++ A.t2) = struct open A type t = $([n1 = t1] ++ t2) end but the Ur/Web compiler complains saying: test.ur:12:58: (to 12:60) syntax error: deleting CSYMBOL DOT Parse failure Apparently, one cannot construct type-level records by projecting name variables from a module. Is this a grammar/parser bug? If so, is there a workaround? Sincrely, Saulo
_______________________________________________ Ur mailing list Ur@impredicative.com http://www.impredicative.com/cgi-bin/mailman/listinfo/ur