summaryrefslogtreecommitdiff
path: root/testlabl/poly.exp2
diff options
context:
space:
mode:
Diffstat (limited to 'testlabl/poly.exp2')
-rw-r--r--testlabl/poly.exp2339
1 files changed, 0 insertions, 339 deletions
diff --git a/testlabl/poly.exp2 b/testlabl/poly.exp2
deleted file mode 100644
index 4d5a15d311..0000000000
--- a/testlabl/poly.exp2
+++ /dev/null
@@ -1,339 +0,0 @@
- Objective Caml version 3.07+4 (2003-11-07)
-
-# * * * # type 'a t = { t : 'a; }
-# type 'a fold = { fold : 'b. f:('b -> 'a -> 'b) -> init:'b -> 'b; }
-# val f : 'a list -> 'a fold = <fun>
-# - : int = 6
-# class ['a] ilist :
- 'a list ->
- object ('b)
- val l : 'a list
- method add : 'a -> 'b
- method fold : f:('c -> 'a -> 'c) -> init:'c -> 'c
- end
-# class virtual ['a] vlist :
- object ('b)
- method virtual add : 'a -> 'b
- method virtual fold : f:('c -> 'a -> 'c) -> init:'c -> 'c
- end
-# class ilist2 :
- int list ->
- object ('a)
- val l : int list
- method add : int -> 'a
- method fold : f:('b -> int -> 'b) -> init:'b -> 'b
- end
-# val ilist2 : 'a list -> 'a vlist = <fun>
-# class ['a] ilist3 :
- 'a list ->
- object ('b)
- val l : 'a list
- method add : 'a -> 'b
- method fold : f:('c -> 'a -> 'c) -> init:'c -> 'c
- end
-# class ['a] ilist4 :
- 'a list ->
- object ('b)
- val l : 'a list
- method add : 'a -> 'b
- method fold : f:('c -> 'a -> 'c) -> init:'c -> 'c
- end
-# class ['a] ilist5 :
- 'a list ->
- object ('b)
- val l : 'a list
- method add : 'a -> 'b
- method fold : f:('c -> 'a -> 'c) -> init:'c -> 'c
- method fold2 : f:('d -> 'a -> 'd) -> init:'d -> 'd
- end
-# class ['a] ilist6 :
- 'a list ->
- object ('b)
- val l : 'a list
- method add : 'a -> 'b
- method fold : f:('c -> 'a -> 'c) -> init:'c -> 'c
- method fold2 : f:('d -> 'a -> 'd) -> init:'d -> 'd
- end
-# class virtual ['a] olist :
- object method virtual fold : f:('a -> 'b -> 'b) -> init:'b -> 'b end
-# class ['a] onil :
- object method fold : f:('a -> 'b -> 'b) -> init:'b -> 'b end
-# class ['a] ocons :
- hd:'a ->
- tl:'a olist ->
- object
- val hd : 'a
- val tl : 'a olist
- method fold : f:('a -> 'b -> 'b) -> init:'b -> 'b
- end
-# class ['a] ostream :
- hd:'a ->
- tl:'a ostream ->
- object
- val hd : 'a
- val tl : < empty : bool; fold : 'b. f:('a -> 'b -> 'b) -> init:'b -> 'b >
- method empty : bool
- method fold : f:('a -> 'c -> 'c) -> init:'c -> 'c
- end
-# class ['a] ostream1 :
- hd:'a ->
- tl:'b ->
- object ('b)
- val hd : 'a
- val tl : 'b
- method fold : f:('a -> 'c -> 'c) -> init:'c -> 'c
- method hd : 'a
- method tl : 'b
- end
-# class vari : object method m : [< `A | `B | `C ] -> int end
-# class vari : object method m : [< `A | `B | `C ] -> int end
-# module V : sig type v = [ `A | `B | `C ] val m : [< v ] -> int end
-# class varj : object method m : [< V.v ] -> int end
-# module type T =
- sig class vari : object method m : [< `A | `B | `C ] -> int end end
-# module M0 :
- sig class vari : object method m : [< `A | `B | `C ] -> int end end
-# module M : T
-# val v : M.vari = <obj>
-# - : int = 1
-# class point :
- x:int ->
- y:int -> object val x : int val y : int method x : int method y : int end
-# class color_point :
- x:int ->
- y:int ->
- color:string ->
- object
- val color : string
- val x : int
- val y : int
- method color : string
- method x : int
- method y : int
- end
-# class circle :
- #point ->
- r:int ->
- object val p : point val r : int method distance : #point -> float end
-# val p0 : point = <obj>
-val p1 : point = <obj>
-val cp : color_point = <obj>
-val c : circle = <obj>
-val d : float = 11.4536240470737098
-# val f : < m : 'a. 'a -> 'a > -> < m : 'b. 'b -> 'b > = <fun>
-# Characters 41-42:
-This expression has type < m : 'a. 'a -> 'a list > but is here used with type
- < m : 'a. 'a -> 'b >
-The universal variable 'a would escape its scope
-# class id : object method id : 'a -> 'a end
-# class type id_spec = object method id : 'a -> 'a end
-# class id_impl : object method id : 'a -> 'a end
-# class a : object method m : bool end
-class b : object method id : 'a -> 'a end
-# Characters 72-77:
-This method has type 'a -> 'a which is less general than 'b. 'b -> 'a
-# Characters 75-80:
-This method has type 'a -> 'a which is less general than 'b. 'b -> 'a
-# Characters 80-85:
-This method has type 'a -> 'a which is less general than 'b. 'b -> 'b
-# Characters 92-159:
-This method has type 'a -> 'a which is less general than 'b. 'b -> 'b
-# class c : object method m : 'a -> 'b -> 'a end
-# val f1 : id -> int * bool = <fun>
-# val f2 : id -> int * bool = <fun>
-# Characters 24-28:
-This expression has type bool but is here used with type int
-# Characters 27-31:
-Warning: This use of a polymorphic method is not principal
-Characters 35-39:
-Warning: This use of a polymorphic method is not principal
-val f4 : id -> int * bool = <fun>
-# class c : object method m : #id -> int * bool end
-# class id2 : object method id : 'a -> 'a method mono : int -> int end
-# val app : int * bool = (1, true)
-# Characters 4-25:
-The type abbreviation foo is cyclic
-# class ['a] bar : 'a -> object end
-# type 'a foo = 'a foo bar
-# - : (< m : 'b. 'b * 'a > as 'a) -> 'c * (< m : 'e. 'e * 'd > as 'd) = <fun>
-# - : (< m : 'b. 'a * 'b list > as 'a) ->
- (< m : 'd. 'c * 'd list > as 'c) * 'e list
-= <fun>
-# val f :
- (< m : 'b. 'a * (< n : 'b; .. > as 'b) > as 'a) ->
- (< m : 'd. 'c * (< n : 'd; .. > as 'd) > as 'c) * (< n : 'e; .. > as 'e) =
- <fun>
-# - : (< p : 'b. < m : 'b; n : 'a; .. > as 'b > as 'a) ->
- (< m : 'c; n : < p : 'e. < m : 'e; n : 'd; .. > as 'e > as 'd; .. > as 'c)
-= <fun>
-# type sum = T of < id : 'a. 'a -> 'a >
-# - : sum -> 'a -> 'a = <fun>
-# type record = { r : < id : 'a. 'a -> 'a >; }
-# - : record -> 'a -> 'a = <fun>
-# - : record -> 'a -> 'a = <fun>
-# class myself : object ('a) method self : 'b -> 'a end
-# class number :
- object ('a)
- val num : int
- method num : int
- method prev : 'a
- method succ : 'a
- method switch : zero:(unit -> 'b) -> prev:('a -> 'b) -> 'b
- end
-# val id : 'a -> 'a = <fun>
-# class c : object method id : 'a -> 'a end
-# class c' : object method id : 'a -> 'a end
-# class d :
- object
- val mutable count : int
- method count : int
- method id : 'a -> 'a
- method old : 'b -> 'b
- end
-# class ['a] olist :
- 'a list ->
- object ('b)
- val l : 'a list
- method cons : 'a -> 'b
- method fold : f:('a -> 'c -> 'c) -> init:'c -> 'c
- end
-# val sum : int #olist -> int = <fun>
-# val count : 'a #olist -> int = <fun>
-# val append : 'a #olist -> ('a #olist as 'b) -> 'b = <fun>
-# type 'a t = unit
-# class o : object method x : [> `A ] t -> unit end
-# class c : object method m : d end
-class d : ?x:int -> unit -> object end
-# class d : ?x:int -> unit -> object end
-class c : object method m : d end
-# class type numeral = object method fold : ('a -> 'a) -> 'a -> 'a end
-class zero : object method fold : ('a -> 'a) -> 'a -> 'a end
-class next : #numeral -> object method fold : ('a -> 'a) -> 'a -> 'a end
-# class type node_type = object method as_variant : [> `Node of node_type ] end
-# class node : node_type
-# class node : object method as_variant : [> `Node of node_type ] end
-# type bad = { bad : 'a. 'a option ref; }
-# Characters 17-25:
-This field value has type 'a option ref which is less general than
- 'b. 'b option ref
-# type bad2 = { mutable bad2 : 'a. 'a option ref option; }
-# val bad2 : bad2 = {bad2 = None}
-# Characters 13-28:
-This field value has type 'a option ref option which is less general than
- 'b. 'b option ref option
-# type 'a t = [ `A of 'a ]
-# class c : object method m : ([> 'a t ] as 'a) -> unit end
-# class c : object method m : ([> 'a t ] as 'a) -> unit end
-# class c : object method m : ([> 'a t ] as 'a) -> 'a end
-# class c : object method m : ([> `A ] as 'a) option -> 'a end
-# Characters 145-166:
-This type scheme cannot quantify 'a :
-it escapes this scope.
-# type ('a, 'b) list_visitor = < caseCons : 'b -> 'b list -> 'a; caseNil : 'a >
-type 'a alist = < visit : 'b. ('b, 'a) list_visitor -> 'b >
-class type ct = object ('a) method fold : ('b -> 'a -> 'b) -> 'b -> 'b end
-type t = { f : 'a 'b. ('b -> (#ct as 'a) -> 'b) -> 'b; }
-# Characters 19-25:
-The type abbreviation t is cyclic
-# class ['a] a : object constraint 'a = [> `A of 'a a ] end
-type t = [ `A of t a ]
-# Characters 71-80:
-Constraints are not satisfied in this type.
-Type ('a, 'b) t should be an instance of ('c, 'c) t
-# type 'a t = 'a
-type u = int t
-# type 'a t constraint 'a = int
-# Characters 26-32:
-Constraints are not satisfied in this type.
-Type 'a u t should be an instance of int t
-# type 'a u = 'a constraint 'a = int
-type 'a v = 'a u t constraint 'a = int
-# type g = int
-# type 'a t = unit constraint 'a = g
-# Characters 26-32:
-Constraints are not satisfied in this type.
-Type 'a u t should be an instance of g t
-# type 'a u = 'a constraint 'a = g
-type 'a v = 'a u t constraint 'a = int
-# Characters 38-58:
-In the definition of v, type 'a list u should be 'a u
-# type 'a t = 'a
-type 'a u = A of 'a t
-# type 'a t = < a : 'a >
-# - : ('a t as 'a) -> ('b t as 'b) t = <fun>
-# type u = 'a t as 'a
-# type t = A | B
-# - : [> `A ] * t -> int = <fun>
-# - : [> `A ] * t -> int = <fun>
-# - : [> `A ] option * t -> int = <fun>
-# - : [> `A ] option * t -> int = <fun>
-# - : t * [< `A | `B ] -> int = <fun>
-# - : [< `A | `B ] * t -> int = <fun>
-# Characters 0-41:
-Warning: this pattern-matching is not exhaustive.
-Here is an example of a value that is not matched:
-(`AnyExtraTag, `AnyExtraTag)
-- : [> `A | `B ] * [> `A | `B ] -> int = <fun>
-# Characters 0-29:
-Warning: this pattern-matching is not exhaustive.
-Here is an example of a value that is not matched:
-(_, 0)
-Characters 21-24:
-Warning: this match case is unused.
-- : [ `B ] * int -> int = <fun>
-# Characters 0-29:
-Warning: this pattern-matching is not exhaustive.
-Here is an example of a value that is not matched:
-(0, _)
-Characters 21-24:
-Warning: this match case is unused.
-- : int * [ `B ] -> int = <fun>
-# Characters 69-135:
-Constraints are not satisfied in this type.
-Type
-([> `B of 'a ], 'a) b as 'a
-should be an instance of
-(('b, [> `A of 'b ] as 'c) a as 'b, 'c) b
-# class type ['a, 'b] a =
- object
- constraint 'a = ('a, 'b) #a
- constraint 'b = ('a, 'b) #b
- method as_a : ('a, 'b) a
- method b : 'b
- end
-class type ['a, 'b] b =
- object
- constraint 'a = ('a, 'b) #a
- constraint 'b = ('a, 'b) #b
- method a : 'a
- method as_b : ('a, 'b) b
- end
-class type ['a] ca =
- object ('b)
- constraint 'a = ('b, 'a) #b
- method as_a : ('b, 'a) a
- method b : 'a
- end
-class type ['a] cb =
- object ('b)
- constraint 'a = ('a, 'b) #a
- method a : 'a
- method as_b : ('a, 'b) b
- end
-type bt = 'a ca cb as 'a
-# class c : object method m : int end
-# val f : unit -> c = <fun>
-# val f : unit -> c = <fun>
-# Characters 11-60:
-Warning: the following private methods were made public implicitly:
- n
-val f : unit -> < m : int; n : int > = <fun>
-# Characters 11-56:
-This object is expected to have type c = < m : int > but has actually type
- < m : int; n : 'a >
-Only the second object type has a method n
-# Characters 11-69:
-This object is expected to have type < n : int > but has actually type
- < m : 'a >
-Only the first object type has a method n
-#