Changeset 2a3f0d9


Ignore:
Timestamp:
Aug 30, 2021, 9:13:51 PM (5 months ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
jacob/cs343-translation, master
Children:
4805bfc
Parents:
01f78e0
git-author:
Peter A. Buhr <pabuhr@…> (08/30/21 21:02:24)
git-committer:
Peter A. Buhr <pabuhr@…> (08/30/21 21:13:51)
Message:

proofread sections 3.2 and 3.3

File:
1 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/andrew_beach_MMath/features.tex

    r01f78e0 r2a3f0d9  
    152152% A type's descendants are its children and its children's descendants.
    153153
    154 For the purposes of illistration, a proposed -- but unimplemented syntax --
    155 will be used. Each virtual type is repersented by a trait with an annotation
     154For the purposes of illustration, a proposed -- but unimplemented syntax --
     155will be used. Each virtual type is represented by a trait with an annotation
    156156that makes it a virtual type. This annotation is empty for a root type, which
    157157creates a new tree:
     
    192192As @child_type@ is a child of @root_type@ it has the virtual members of
    193193@root_type@ (@to_string@ and @size@) as well as the one it declared
    194 (@irrelivant_function@).
     194(@irrelevant_function@).
    195195
    196196It is important to note that these are virtual members, and may contain   
     
    282282
    283283Fields are filled in the same way as a structure as well. However an extra
    284 field is added, this field contains the pointer to the virtual table.
    285 It must be explicitly initialised by the user when the exception is
     284field is added that contains the pointer to the virtual table.
     285It must be explicitly initialized by the user when the exception is
    286286constructed.
    287287
     
    310310
    311311%\subsection{Exception Details}
    312 If one is only raising and handling exceptions, that is the only interface
    313 that is needed. However it is actually a short hand for a more complex
     312This is the only interface needed when raising and handling exceptions.
     313However it is actually a short hand for a more complex
    314314trait based interface.
    315315
    316 The language views exceptions through a series of traits,
    317 if a type satisfies them, then it can be used as an exception. The following
     316The language views exceptions through a series of traits.
     317If a type satisfies them, then it can be used as an exception. The following
    318318is the base trait all exceptions need to match.
    319319\begin{cfa}
     
    322322};
    323323\end{cfa}
    324 The trait is defined over two types, the exception type and the virtual table
     324The trait is defined over two types: the exception type and the virtual table
    325325type. Each exception type should have a single virtual table type.
    326326There are no actual assertions in this trait because the trait system
     
    347347};
    348348\end{cfa}
    349 Both traits ensure a pair of types are an exception type, its virtual table
     349Both traits ensure a pair of types is an exception type, its virtual table
    350350type
    351351and defines one of the two default handlers. The default handlers are used
     
    393393
    394394The differences between the two operations include how propagation is
    395 performed, where excecution after an exception is handler
     395performed, where execution after an exception is handler
    396396and which default handler is run.
    397397
Note: See TracChangeset for help on using the changeset viewer.