shithub: mc

Download patch

ref: a4eb9c0aca8ae4adb6c50133ba26bbd250ae934d
parent: 5de3c303dc818498a0c294440dbdf5890e6831f8
author: Ori Bernstein <ori@eigenstate.org>
date: Thu Jul 18 18:06:42 EDT 2019

Fix typos in spec (thanks, Mike)

--- a/doc/lang.txt
+++ b/doc/lang.txt
@@ -449,7 +449,7 @@
             a struct, which do not contribute to the size of the struct. When
             allocating a struct on the heap, extra space may be reserved for
             the array, allowing variable sizes of trailing data. This is not
-            used commonly, but turns out to be useful for C ABI comatibility.
+            used commonly, but turns out to be useful for C ABI compatibility.
 
             Flexible arrays can also be used another way when emulating the C
             ABI. Myrddin has no tagless unions, but because runs of flexible
@@ -537,7 +537,7 @@
         defined in section 4.5.
 
         A typaram ("@ident") is a type parameter. It is introduced as either a
-        parameter of a generic declaration, or as a type paramter in a
+        parameter of a generic declaration, or as a type parameter in a
         defined type. It can be constrained by any number of traits, as
         described in section 4.6.
 
@@ -641,7 +641,7 @@
                 - Union tags are registered for delayed unification, with the type
                 for unions being the declaration type of the variable.
 
-            Note that a generic declaration must *not* have its type unfied with
+            Note that a generic declaration must *not* have its type unified with
             its use until after it has been freshened. This may imply that the
             type of a generic must be registered for delayed unification.
 
@@ -661,7 +661,7 @@
                   must be satisfied.
 
                 - If both types are compatible concrete types, then
-                  all subtypes are unfied recursively.
+                  all subtypes are unified recursively.
 
                 - If both types are incompatible concrete types, a
                   type error is flagged.
@@ -711,7 +711,7 @@
 
                 If t1 is a type variable, and t2 is not a type variable, then
                 t1 is checked for recursive inclusions and trait
-                incompatility.
+                incompatibility.
                 
                 If t2 refers to t1 by value, then the type would be infinitely
                 sized, and therefore the program must be rejected with a type
@@ -742,7 +742,7 @@
 
                     - If the types are equivalent at the root (ie, $1# and
                       int# are both pointers at the root), then all subtypes
-                      are recursively unfied. The number of subtypes for both
+                      are recursively unified. The number of subtypes for both
                       types must be the same. If the types are not equivalent
                       at the root, then the program must be rejected with a
                       type error.
@@ -1073,7 +1073,7 @@
             does not refer to any of its enclosing stack variables, then
             this environment will not be created or accessed by the function.
 
-            This environment must be transferrable to the heap in an
+            This environment must be transferable to the heap in an
             implementation specific manner.
 
             Example: Empty function literal:
@@ -1092,7 +1092,7 @@
                 }
 
             A function literal's arity is the same as the number of arguments
-            it takes. The type of the funciton argument list is derived from
+            it takes. The type of the function argument list is derived from
             the type of the arguments. The return type may be provided, or
             can be left to type inference.
 
@@ -1122,7 +1122,7 @@
                 prefixexpr:        atomicexpr <unaryop>
 
             Myrddin expressions should be fairly familiar to most programmers.
-            Expressions are represented by a precedence sorted heirarchy of
+            Expressions are represented by a precedence sorted hierarchy of
             binary operators. These operators operate on prefix expressions,
             which in turn operate on postfix expressions. And postfix
             expressions operate on parenthesized expressions, literals, or
@@ -1278,7 +1278,7 @@
             match.
 
             An impl expression chooses the implementation of the given trait
-            declaration for the given type. It is useful for refering to trait
+            declaration for the given type. It is useful for referring to trait
             declarations in a generic context. It also allows you to
             disambiguate a trait declaration whose type does not refer to the
             trait parameter.
@@ -2004,7 +2004,7 @@
     unionbody:	("`" ident [type])*
     tupledef:   "(" type ("," type)* ")"
     generic:    typaram
-    constructed: functype | sicetype | arraytype | ptrtype | void | name
+    constructed: functype | slicetype | arraytype | ptrtype | void | name
     functype:   "(" arglist "->" type ")"
     arglist:    [arg ("," arg)*]
     arg:        name ":" type