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
[email protected]
http://www.impredicative.com/cgi-bin/mailman/listinfo/ur