- Timestamp:
- Apr 3, 2017, 3:32:38 PM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- ae6cc8b, bbc9b64
- Parents:
- 7444113
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/generic_types/generic_types.tex
r7444113 ra357b4c 135 135 These goals ensure existing C code-bases can be converted to \CFA incrementally and with minimal effort, and C programmers can productively generate \CFA code without training beyond the features they wish to employ. In its current implementation, \CFA is compiled by translating it to the GCC-dialect of C~\citep{GCCExtensions}, allowing it to leverage the portability and code optimizations provided by GCC, meeting goals (1)-(3). Ultimately, a compiler is necessary for advanced features and optimal performance. 136 136 137 \CFA has been previously extended with polymorphic functions and name overloading (including operator overloading) by \citet{Bilson03}, and deterministically-executed constructors and destructors by \citet{Schluntz17}. This paper describes how generic and tuple types are designed and implemented in \CFA in accordance with both the backward compatibility goals and existing features described above. 137 \CFA has been previously extended with polymorphic functions and name overloading (including operator overloading) by \citet{Bilson03}, and deterministically-executed constructors and destructors by \citet{Schluntz17}. Contributes: 138 \begin{enumerate} 139 \item identify shortcomings in existing approaches to generic and variadic data structures in C-like languages. 140 \item we present a design of generic and variadic types as an extension of the \CFA language, that (has all those nice properties; ``a key requirement'') 141 \item evaluation of said design compared to existing appoaches in C and \CC; the results suggest (comparably fast, smaller generated code, whatevs) 142 \end{enumerate} 143 \TODO{Put the above in both abstract and conclusion as well once made into nice prose.} 144 145 %This paper describes how generic and tuple types are designed and implemented in \CFA in accordance with both the backward compatibility goals and existing features described above. 138 146 139 147
Note: See TracChangeset
for help on using the changeset viewer.