diff options
Diffstat (limited to 'testobjects/Exemples.exp')
| -rw-r--r-- | testobjects/Exemples.exp | 301 |
1 files changed, 0 insertions, 301 deletions
diff --git a/testobjects/Exemples.exp b/testobjects/Exemples.exp deleted file mode 100644 index 5d55e083d1..0000000000 --- a/testobjects/Exemples.exp +++ /dev/null @@ -1,301 +0,0 @@ -# class point (int) = - val mutable x : int - method get_x : int - method move : int -> unit -end -# val p : point = <obj> -# - : int = 7 -# - : unit = () -# - : int = 10 -# val q : point = <obj> -# - : int * int = 10, 17 -# class color_point (int) (string) = - val c : string - val mutable x : int - method color : string - method get_x : int - method move : int -> unit -end -# val p' : color_point = <obj> -# - : int * string = 5, "red" -# val l : point list = [<obj>; <obj>] -# val get_x : < get_x : 'a; .. > -> 'a = <fun> -# val set_x : < set_x : 'a; .. > -> 'a = <fun> -# - : int list = [10; 5] -# Characters 6-86: -The type variable 'a is not bound in implicit type definition - ref = < get : 'a; set : 'a -> unit > -It should be captured by a class type parameter -# class ref (int) = - val mutable x : int - method get : int - method set : int -> unit -end -# class 'a ref ('a) = - val mutable x : 'a - method get : 'a - method set : 'a -> unit -end -# - : int = 2 -# class 'a circle ('a) = - constraint 'a = < move : int -> unit; .. > - val mutable center : 'a - method center : 'a - method move : int -> unit - method set_center : 'a -> unit -end -# class 'a circle ('a) = - constraint 'a = #point - val mutable center : 'a - method center : 'a - method move : int -> unit - method set_center : 'a -> unit -end -# val c : point circle = <obj> -val c' : color_point circle = <obj> -# class 'a color_circle ('a) = - constraint 'a = #color_point - val mutable center : 'a - method center : 'a - method color : string - method move : int -> unit - method set_center : 'a -> unit -end -# Characters 28-29: -This expression has type point = < get_x : int; move : int -> unit > -but is here used with type - #color_point = < get_x : int; move : int -> unit; color : string; .. > -# val c'' : color_point color_circle = <obj> -# - : color_point circle = <obj> -# Characters 1-4: -This expression cannot be coerced to type - point circle = - < center : point; set_center : point -> unit; move : int -> unit >; -it has type - color_point color_circle = - < center : color_point; set_center : color_point -> unit; - move : int -> unit; color : string > -but is here used with type - < center : color_point; set_center : point -> unit; move : int -> unit; - color : string > -Type color_point = < get_x : int; move : int -> unit; color : string > -is not compatible with type point = < get_x : int; move : int -> unit > -# Characters 9-55: -Type - color_point color_circle = - < center : color_point; set_center : color_point -> unit; - move : int -> unit; color : string > -is not a subtype of type - point circle = - < center : point; set_center : point -> unit; move : int -> unit > -Type color_point -> unit is not a subtype of type point -> unit -Type point = < get_x : int; move : int -> unit > is not a subtype of type - color_point = < get_x : int; move : int -> unit; color : string > -# class printable_point (int) = - val mutable x : int - method get_x : int - method move : int -> unit - method print : unit -end -# val p : printable_point = <obj> -# 7- : unit = () -# class printable_color_point (int) (string) = - val c : string - val mutable x : int - method color : string - method get_x : int - method move : int -> unit - method print : unit -end -# val p' : printable_color_point = <obj> -# (7, red)- : unit = () -# class functional_point (int) : 'a = - val x : int - method get_x : int - method move : int -> 'a -end -# val p : functional_point = <obj> -# - : int = 7 -# - : int = 10 -# - : int = 7 -# - : (< get_x : int; move : int -> 'a; .. > as 'a) -> functional_point = <fun> -# class virtual 'a lst (unit) = - virtual hd : 'a - method iter : ('a -> unit) -> unit - method map : ('a -> 'a) -> 'a lst - virtual null : bool - method print : ('a -> unit) -> unit - virtual tl : 'a lst -end -class 'a nil (unit) = - method hd : 'a - method iter : ('a -> unit) -> unit - method map : ('a -> 'a) -> 'a lst - method null : bool - method print : ('a -> unit) -> unit - method tl : 'a lst -end -class 'a cons ('a) ('a lst) = - val h : 'a - val t : 'a lst - method hd : 'a - method iter : ('a -> unit) -> unit - method map : ('a -> 'a) -> 'a lst - method null : bool - method print : ('a -> unit) -> unit - method tl : 'a lst -end -# val l1 : int cons = <obj> -# (3::10::[])- : unit = () -# val l2 : int lst = <obj> -# (4::11::[])- : unit = () -# val map_list : ('a -> 'b) -> 'a lst -> 'b lst = <fun> -# val p1 : printable_color_point lst = <obj> -# ((3, red)::(10, red)::[])- : unit = () -# class virtual comparable (unit) : 'a = virtual leq : 'a -> bool end -# class int_comparable (int) : 'a = - val x : int - method leq : 'a -> bool - method x : int -end -# class int_comparable2 (int) : 'a = - method leq : 'a -> bool - method set_x : int -> unit - method x : int -end -# class 'a sorted_list (unit) = - constraint 'a = #comparable - val mutable l : 'a list - method add : 'a -> unit - method hd : 'a -end -# val l : _#comparable sorted_list = <obj> -# val c : int_comparable = <obj> -# - : unit = () -# val c2 : int_comparable2 = <obj> -# Characters 7-9: -This expression cannot be coerced to type - int_comparable = < leq : int_comparable -> bool; x : int >; -it has type - int_comparable2 = - < leq : int_comparable2 -> bool; x : int; set_x : int -> unit > -but is here used with type - < leq : int_comparable -> bool; x : int; set_x : int -> unit > -Type - int_comparable2 = - < leq : int_comparable2 -> bool; x : int; set_x : int -> unit > -is not compatible with type - int_comparable = < leq : int_comparable -> bool; x : int > -# - : unit = () -# class int_comparable3 (int) = - val mutable x : int - method leq : int_comparable -> bool - method setx : int -> unit - method x : int -end -# val c3 : int_comparable3 = <obj> -# - : unit = () -# Characters 25-27: -This expression has type - int_comparable3 = - < leq : int_comparable -> bool; x : int; setx : int -> unit > -but is here used with type - < leq : 'a -> bool; setx : int -> unit; x : int > as 'a -Type int_comparable = < leq : int_comparable -> bool; x : int > -is not compatible with type - int_comparable3 = - < leq : int_comparable -> bool; x : int; setx : int -> unit > -# val sort : (#comparable as 'a) list -> 'a list = <fun> -# val pr : < x : int; .. > list -> unit = <fun> -# val l : int_comparable list = [<obj>; <obj>; <obj>] -# 5 2 4 -- : unit = () -# 2 4 5 -- : unit = () -# val l : int_comparable2 list = [<obj>; <obj>] -# 2 0 -- : unit = () -# 0 2 -- : unit = () -# val min : (#comparable as 'a) -> 'a -> 'a = <fun> -# - : int = 7 -# - : int = 3 -# class 'a link ('a) : 'b = - val mutable next : 'b option - val mutable x : 'a - method append : 'b option -> unit - method next : 'b option - method set_next : 'b option -> unit - method set_x : 'a -> unit - method x : 'a -end -# class 'a double_link ('a) : 'b = - val mutable next : 'b option - val mutable prev : 'b option - val mutable x : 'a - method append : 'b option -> unit - method next : 'b option - method prev : 'b option - method set_next : 'b option -> unit - method set_prev : 'b option -> unit - method set_x : 'a -> unit - method x : 'a -end -# val fold_right : ('a -> 'b -> 'b) -> 'a #link option -> 'b -> 'b = <fun> -# class calculator (unit) : 'a = - val mutable acc : float - val mutable arg : float - val mutable equals : 'a -> float - method acc : float - method add : 'a - method arg : float - method enter : float -> 'a - method equals : float - method sub : 'a -end -# - : float = 5 -# - : float = 1.5 -# - : float = 15 -# class calculator (unit) : 'a = - val mutable acc : float - val mutable arg : float - val mutable equals : 'a -> float - method acc : float - method add : 'a - method arg : float - method enter : float -> 'a - method equals : float - method sub : 'a -end -# - : float = 5 -# - : float = 1.5 -# - : float = 15 -# class calculator (float) (float) = - val acc : float - val arg : float - method add : calculator_add - method enter : float -> calculator - method equals : float - method sub : calculator_sub -end -class calculator_add (float) (float) = - val acc : float - val arg : float - method add : calculator_add - method enter : float -> calculator - method equals : float - method sub : calculator_sub -end -class calculator_sub (float) (float) = - val acc : float - val arg : float - method add : calculator_add - method enter : float -> calculator - method equals : float - method sub : calculator_sub -end -# val calculator : calculator = <obj> -# - : float = 5 -# - : float = 1.5 -# - : float = 15 -# |
