Re: [Caml-list] Recursive subtyping issue

2010-02-27 Thread Guillaume Yziquel
Andreas Rossberg a écrit : On Feb 27, 2010, at 02:52, Guillaume Yziquel wrote: I've been struggling to have a type system where I could do the following subtyping: 'a t1 :> t2 and t2 :> 'a t1 Hm, what do you mean? Subtyping ought to be reflexive and antisymmetric (although the latter is

Re: [Caml-list] Recursive subtyping issue

2010-02-27 Thread Goswin von Brederlow
Guillaume Yziquel writes: > Andreas Rossberg a écrit : >> On Feb 27, 2010, at 02:52, Guillaume Yziquel wrote: >>> >>> I've been struggling to have a type system where I could do the >>> following subtyping: >>> >>> 'a t1 :> t2 and t2 :> 'a t1 >> >> Hm, what do you mean? Subtyping ought to be r

Re: [Caml-list] Recursive subtyping issue

2010-02-27 Thread Guillaume Yziquel
Goswin von Brederlow a écrit : Guillaume Yziquel writes: My goal is to implement a type inference barrier. You can do type 'a q = private w and from the type inference point of view, int q and float q are two distinct types, that you can subtype to a common type. What I want is also to ha

[Caml-list] CFP of CICLOPS-WLPE'10

2010-02-27 Thread Neng-Fa Zhou
*** Call For Papers CICLOPS-WLPE 2010 Joint Workshop on Implementation of Constraint Logic Programming Systems

Re: [Caml-list] Recursive subtyping issue

2010-02-27 Thread Andreas Rossberg
On Feb 27, 2010, at 14:11, Guillaume Yziquel wrote: # type q = private w and w = private q;; type q = private w and w = private q # let f (x : q) = (x : q :> w);; val f : q -> w = # let f (x : q) = (x : w);; Error: This expression has type q but an expression was expected of type w # Intere

Re: [Caml-list] Recursive subtyping issue

2010-02-27 Thread Guillaume Yziquel
Andreas Rossberg a écrit : On Feb 27, 2010, at 14:11, Guillaume Yziquel wrote: # type q = private w and w = private q;; type q = private w and w = private q # let f (x : q) = (x : q :> w);; val f : q -> w = # let f (x : q) = (x : w);; Error: This expression has type q but an expression was expe

Re: [Caml-list] Recursive subtyping issue

2010-02-27 Thread Guillaume Yziquel
Guillaume Yziquel a écrit : Andreas Rossberg a écrit : On Feb 27, 2010, at 14:11, Guillaume Yziquel wrote: # type q = private w and w = private q;; type q = private w and w = private q # let f (x : q) = (x : q :> w);; val f : q -> w = # let f (x : q) = (x : w);; Error: This expression has type

Re: [Caml-list] Recursive subtyping issue

2010-02-27 Thread Guillaume Yziquel
Guillaume Yziquel a écrit : Guillaume Yziquel a écrit : Andreas Rossberg a écrit : On Feb 27, 2010, at 14:11, Guillaume Yziquel wrote: # type q = private w and w = private q;; type q = private w and w = private q # let f (x : q) = (x : q :> w);; val f : q -> w = # let f (x : q) = (x : w);; Er