@@ -35,7 +35,7 @@ For example:
3535 procedure T2'Constructor (Self : in out T2; Some_Value : Integer);
3636 end P;
3737
38- As soon as a constructor exist, an objects cannot be created without calling one
38+ As soon as a constructor exist, objects cannot be created without calling one
3939of the available constructors, omitting the self parameter. This call is made on
4040the object creation, using the type followed by 'Make and the
4141constructor parameters. When preceded by a `new ` operator, it creates an
@@ -55,11 +55,11 @@ object on the heap. E.g:
5555 In the case of objects containing other objects, innermost objects constructors
5656are called first, before their containing object.
5757
58- The `'Make' ` function is automatically generated by the compilers . It has
58+ The `'Make' ` function is automatically generated by the compiler . It has
5959the same parameters, default values and default expressions as the constructor
6060it calls, with the exception of the first parameter. T'Make is not intrinsic,
6161it has the same convention as a function of the same profile, and can be used
62- e.g. as a generic parameter or through a access to subprogram.
62+ e.g. as a generic parameter or through an access to subprogram.
6363
6464Note that constructors will be "scoped" in a future extension of the RFC, but
6565the scoping notation isn't strictly necessary to implement initial semantics.
@@ -127,15 +127,15 @@ field by field its additional components, calling component copy constructors if
127127necessary.
128128
129129Note that, similar to the parameterless constructor, copy constructor may be
130- explicitely or implicitely called:
130+ explicitly or implicitly called:
131131
132132.. code-block :: ada
133133
134134 V1 : T; -- implicit parameterless constructor call
135135 V2 : T := V1; -- implicit copy constructor call
136136 V3 : T := T'Make (V1); -- explicit copy constructor call
137137
138- Note that by-copy constructor are also called in assignments situations
138+ Note that by-copy constructors are also called in assignments situations
139139(following the call to a destructor). e.g.:
140140
141141.. code-block :: ada
@@ -153,7 +153,7 @@ Super Constructor Call
153153
154154By default, the parent constructor called is the parameterless constructor.
155155A parametric constructor can be called instead by using the ``Super `` aspect
156- in the constuctor body, For example:
156+ in the constructor body. For example:
157157
158158.. code-block :: ada
159159
@@ -189,7 +189,7 @@ Note that the constructor of an abstract type can be called here, for example:
189189 end Child'Constructor;
190190
191191 When valuating values in the Super aspect, the object under construction does
192- not exit yet. It is illegal to refer to its parameter in the aspect.
192+ not exist yet. It is illegal to refer to its parameter in the aspect.
193193
194194Initialization Lists
195195--------------------
@@ -283,7 +283,7 @@ initialized as described at declaration time. For example:
283283 V2 : C := C'Make ("ALTERNATE A"); -- Will print ALTERNATE A, B FROM RECORD
284284
285285 Note for implementers - the objective of the semantic above is to make
286- initialization as efficient as possible and to avoid undecessary processing.
286+ initialization as efficient as possible and to avoid unnecessary processing.
287287Conceptually, a developer would expect to have a specific initialization
288288procedure generated for each constructor (or maybe, have the initialization
289289directly expanded in the constructor).
@@ -507,8 +507,8 @@ of a discriminant other than by valuating it in a constructor. However, it
507507remains possible to constrain a subtype to be of a certain discriminant type.
508508
509509For simple record types, this is done either by creating a subtype or by
510- providing a distriminant constrain at variable or component declaration. This
511- cannot however be used to create a value. For exmample :
510+ providing a discriminant constraint at variable or component declaration. This
511+ cannot however be used to create a value. For example :
512512
513513.. code-block :: ada
514514
@@ -556,7 +556,7 @@ Constructors and Type Predicates
556556
557557Type predicates are meant to check the consistency of a type. In the context
558558of a type that has constructor, the consistency is expected to be true when
559- exiting the constructor. In particular, the initializion list is not expected
559+ exiting the constructor. In particular, the initialization list is not expected
560560to create a predicate-valid type - predicates will only be checked after the
561561constructor has been processed.
562562
@@ -566,7 +566,7 @@ Constructors Presence Guarantees
566566Constructors are not inherited. This means that a constructor for a given class
567567may not exist for its child.
568568
569- By default, a class provide a parameterless constructor, on top of the copy
569+ By default, a class provides a parameterless constructor, on top of the copy
570570constructor. This parameterless constructor is removed as soon as explicit
571571constructors are provided. For example:
572572
@@ -674,7 +674,7 @@ Note that the notation:
674674 type T1 is tagged private;
675675
676676 Accept both by-constructors and non-by constructor types. However,
677- by-constructor types would need to provide a parametelress constructor and a
677+ by-constructor types would need to provide a parameterless constructor and a
678678copy constructor to be accepted as formal parameters.
679679
680680Removing Constructors from Public View
@@ -725,11 +725,11 @@ Initialization
725725--------------
726726
727727In certain situations, it's important to know if an object is considered
728- initialized. For example, this can clarify wether passing a value of such object
728+ initialized. For example, this can clarify whether passing a value of such object
729729may lead to errors.
730730
731731An object value in a constructor is considered initialized once the `Super ` and
732- `Initialze ` aspects have been computed. Formally, the role of the constructor
732+ `Initialize ` aspects have been computed. Formally, the role of the constructor
733733is to establish further properties than the initialization.
734734
735735Reference-level explanation
@@ -756,7 +756,7 @@ Why do we have a Constructor as a Procedure and not a Function?
756756
757757While explicit calls to a constructor are made through a function call `'Make `,
758758declaring a constructor is done through a procedure declaration, which might
759- look suprising . The overall rationale is that the constructed object must
759+ look surprising . The overall rationale is that the constructed object must
760760be allocated (and sometimes even partially initialized) before any constructor
761761operation. The discriminants may need to be valuated, the super constructor
762762must be called. In some cases, the object memory is already allocated (think
@@ -936,7 +936,7 @@ Consider the following hierarchy:
936936
937937 Child does not have any discriminant. Root discriminant is set by its own
938938constructor. There is currently no syntax allowing to subtype Child and provide
939- a constrain to its discriminant.
939+ a constraint to its discriminant.
940940
941941An extension of the simple record syntax would be to be able to allow to refer
942942to parent discriminants in the constraint of a child type, so that one could
0 commit comments