# Changeset f9c7d27 for doc/theses

Ignore:
Timestamp:
Sep 17, 2018, 11:43:41 AM (3 years ago)
Branches:
aaron-thesis, arm-eh, cleanup-dtors, deferred_resn, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, no_list, persistent-indexer
Children:
91a950c
Parents:
3271166
Message:

Draft reference types and resource management subsections of thesis background

Location:
doc/theses/aaron_moss_PhD/phd
Files:
3 edited

Unmodified
Removed
• ## doc/theses/aaron_moss_PhD/phd/background.tex

 r3271166 It is important to note that \CFA{} is not an object-oriented language. This is a deliberate choice intended to maintain the applicability of the mental model and language idioms already possessed by C programmers. This choice is in marked contrast to \CC{}, which, though it has backward-compatibility with C on the source code level, is a much larger and more complex language, and requires extensive developer re-training before they can write idiomatic, efficient code in \CC{}'s object-oriented paradigm. This choice is in marked contrast to \CC{}, which, though it has backward-compatibility with C on the source code level, is a much larger and more complex language, and requires extensive developer re-training to write idiomatic, efficient code in \CC{}'s object-oriented paradigm. \CFA{} does have a system of implicit type conversions derived from C's usual arithmetic conversions''; while these conversions may be thought of as something like an inheritance hierarchy, the underlying semantics are significantly different and such an analogy is loose at best. struct counter { int x; }; counter& ++?(counter& c) { ++c.x; return c; }  $\C{// pre-increment}$ counter ?++(counter& c) {  $\C{// post-increment}$ counter& ++?(counter& c) { ++c.x; return c; }  $\C[2in]{// pre-increment}$ counter ?++(counter& c) {  $\C[2in]{// post-increment}$ counter tmp = c; ++c; return tmp; } bool `?

• ## doc/theses/aaron_moss_PhD/phd/generic-types.tex

 r3271166 % TODO discuss layout function algorithm, application to separate compilation % TODO put a static const field in for _n_fields for each generic, describe utility for separate compilation % TODO mention impetus for zero_t design % TODO mention use in tuple-type implementation % TODO pull benchmarks from Moss et al.
Note: See TracChangeset for help on using the changeset viewer.