caml-list - the Caml user's mailing list
 help / color / mirror / Atom feed
* coercions issues
@ 2007-03-12 20:11 Till Varoquaux
  2007-03-12 21:11 ` [Caml-list] " Chris King
  0 siblings, 1 reply; 3+ messages in thread
From: Till Varoquaux @ 2007-03-12 20:11 UTC (permalink / raw)
  To: ocaml ml

I still can't wrap my head around the whole polymorphic variant of
Ocaml (although I am making steady progresses). Anyways here is my
latest sore point:

This expression cannot be coerced to type
  O.o Ast.T.expr O.m = O.o Ast.T.expr Mon.m;
it has type O.o Ast_js.T.expr Mon.m but is here used with type
  O.o Ast.T.expr O.m = O.o Ast.T.expr Mon.m
Type
  O.o Ast_js.T.expr =
    [ `Binop of To.binop * To.expr * To.expr
    | `Cst of To.constant
    | `Ecall of To.ident * To.arg list
    | `Fun of To.ident list * To.bloc
    | `Lval of To.lvalue
    | `Unop of To.unop * To.expr ]
is not compatible with type
  O.o Ast.T.expr =
    [ `Binop of To.binop * To.expr * To.expr
    | `Cst of To.constant
    | `Ecall of To.ident * To.arg list
    | `Epos of Ast.location * To.expr
    | `Fun of To.ident list * To.bloc
    | `Lval of To.lvalue
    | `Unop of To.unop * To.expr ]
The first variant type does not allow tag(s) `Epos

I am a little confused as to why this coercion is impossible... It
looks like a simple upward cast to me.
Cheers,
Till


^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2007-03-12 21:35 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2007-03-12 20:11 coercions issues Till Varoquaux
2007-03-12 21:11 ` [Caml-list] " Chris King
2007-03-12 21:35   ` Till Varoquaux

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).