edits
authorChris <chris.barker@nyu.edu>
Mon, 9 Mar 2015 20:03:01 +0000 (16:03 -0400)
committerChris <chris.barker@nyu.edu>
Mon, 9 Mar 2015 20:03:01 +0000 (16:03 -0400)
topics/week5_system_F.mdwn

index c37f911..97b17f8 100644 (file)
@@ -534,11 +534,11 @@ conditions, there will be a ***principle type***: a type such that
 every other possible type for that expression is a more specific
 version of the principle type.  
 
 every other possible type for that expression is a more specific
 version of the principle type.  
 
-As we have seen, it is often possible to infer constraints on the type
-of an expression based on its internal structure, as well as by the
-way in which it is used.  When programming interpreters and compilers
-infer types, they often (but not always) aim for the principle type
-(if one is guaranteed to exist).
+As we have seen, it is often possible to infer a type for an
+expression based on its internal structure, as well as by the way in
+which it is used.  When programming interpreters and compilers infer
+types, they often (but not always) aim for the principle type (if one
+is guaranteed to exist).
 
     # let pair a b z = z a b;;
     val pair : 'a -> 'b -> ('a -> 'b -> 'c) -> 'c = <fun>
 
     # let pair a b z = z a b;;
     val pair : 'a -> 'b -> ('a -> 'b -> 'c) -> 'c = <fun>