id_poly_with(x) :: a -> a
{
return x;
-}
+}//
-// Polymorphic identity without type signature
-// Type checking should figure out the type forall a . a -> a
-id_poly_without(x)
-{
- return x;
-}
+//// Polymorphic identity without type signature
+//// Type checking should figure out the type forall a . a -> a
+//id_poly_without(x)
+//{
+// return x;
+//}//
// Clumsy polymorphic identity
// Type checking should give type forall a . a -> a
-id_poly_wtf(x)
+id_poly_wtf(x) :: a -> a
{
var a = x;
var b = a;
var c = b;
return c;
-}
-
-
-// Clumsy identity for integers
-// Type checking should give type Int -> Int
-id_int_wtf(x)
-{
- var a = x;
- Int b = a;
- var c = b;
- return c;
-}
+}//
+
+
+//// Clumsy identity for integers
+//// Type checking should give type Int -> Int
+//id_int_wtf(x)
+//{
+// var a = x;
+// Int b = a;
+// var c = b;
+// return c;
+//}