Changeset 7493339 for doc/rob_thesis/conclusions.tex
- Timestamp:
- Apr 3, 2017, 7:04:30 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:
- fbd7ad6
- Parents:
- ae6cc8b
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/rob_thesis/conclusions.tex
rae6cc8b r7493339 4 4 5 5 Conclusion paragraphs. 6 7 \section{Future Work} 8 9 \subsection{Constructors and Destructors} 10 % TODO: discuss move semantics; they haven't been implemented, but could be. Currently looking at alternative models. 11 12 % TODO: discuss exceptions 13 14 % TODO: fix return value destruction in full compiler 15 16 % TODO: once deleted functions are added, unions can have deleted standard functions, like C++11 (may not need to mention this again...) 17 18 % TODO: better study and fix the ways @= objects interact with the rest of the world (e.g. provide @= equivalent for assignment, or otherwise have @= objects default to using intrinsic/autogen ops?) 19 20 21 22 \subsection{Tuples} 23 24 % TODO: named return values are not currently implemented in CFA - tie in with named tuples? 25 26 % TODO: tuples are allowed in expressions, exact meaning is defined by operator overloading (e.g. can add tuples). An important caveat to note is that it is currently impossible to allow adding two triples but prevent adding a pair with a quadruple (single flattening/structuring conversions are implicit, only total number of components matters). May be able to solve this with more nuanced conversion rules 27 28 \subsection{Variadic Functions} 29 % TODO: look into 'nicer' expansion syntax 30 31 % TODO: consider more sophisticated argument matching algorithms, e.g. forall(ttype Params) void f(Params, Params); f(1,2); f(1,2,3,4); => f([1], [2]); f([1,2], [3,4]); => okay if Params can be bound to a type that is consistent throughout the expression's type 32 33
Note: See TracChangeset
for help on using the changeset viewer.