Changeset 0e6a0beb for doc/theses/aaron_moss_PhD
- Timestamp:
- Jan 31, 2019, 9:58:34 PM (6 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, new-ast, new-ast-unique-expr, pthread-emulation, qualifiedEnum
- Children:
- 8d752592
- Parents:
- 21cf101
- Location:
- doc/theses/aaron_moss_PhD/phd
- Files:
-
- 1 added
- 5 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/aaron_moss_PhD/phd/Makefile
r21cf101 r0e6a0beb 23 23 background \ 24 24 generic-types \ 25 resolution-heuristics \ 25 26 type-environment \ 26 resolution-heuristics \27 experiments \ 27 28 conclusion \ 28 29 } -
doc/theses/aaron_moss_PhD/phd/background.tex
r21cf101 r0e6a0beb 1 1 \chapter{\CFA{}} 2 \label{cfa-chap} 2 3 3 4 \CFA{} adds a number of features to C, some of them providing significant increases to the expressive power of the language, but all designed to maintain the existing procedural programming paradigm of C and to be as orthogonal as possible to each other. -
doc/theses/aaron_moss_PhD/phd/resolution-heuristics.tex
r21cf101 r0e6a0beb 293 293 If the assertions of the minimal-cost top-level interpretation cannot be satisfied then the next-most-minimal-cost interpretation's assertions are checked, and so forth until a minimal-cost satisfiable interpretation (or ambiguous set thereof) is found, or no top-level interpretations are found to have satisfiable assertions. 294 294 In the common case where the code actually does compile this saves the work of checking assertions for ultimately-rejected interpretations, though it does rule out some pruning opportunities for subinterpretations with unsatisfiable assertions or which are more expensive than a minimal-cost polymorphic function with the same return type. 295 The experimental results in Section~\ref{resn-expr-sec} indicate that this is a worthwhile trade-off.295 The experimental results in Chapter~\ref{expr-chap} indicate that this is a worthwhile trade-off. 296 296 297 297 Optimizing assertion satisfaction for common idioms has also proved effective in \CFA{}; the code below is an unexceptional print statement derived from the \CFA{} test suite that nonetheless is a very difficult instance of expression resolution: … … 326 326 As such, I opted to continue Bilson's approach of designing a bespoke solver for \CFA{} assertion satisfaction, rather than attempting to re-express the problem in some more general formalism. 327 327 328 \section{Experimental Results} \label{resn-expr-sec}329 330 % use Jenkins daily build logs to rebuild speedup graph with more data331 332 % look back at Resolution Algorithms section for threads to tie up "does the algorithm look like this?"333 334 328 \section{Conclusion \& Future Work} 335 329 -
doc/theses/aaron_moss_PhD/phd/thesis.tex
r21cf101 r0e6a0beb 132 132 \input{resolution-heuristics} 133 133 \input{type-environment} 134 \input{experiments} 134 135 \input{conclusion} 135 136 -
doc/theses/aaron_moss_PhD/phd/type-environment.tex
r21cf101 r0e6a0beb 265 265 Persistent union-find, as the name suggests, is more optimized, with $O(1)$ cost to $save$ a backtrack-capable reference to the current environment state, and $O(p)$ cost to revert to that state (possibly destroying no-longer-used edit nodes along the path). 266 266 267 \section{Experiments}268 269 267 % Future work: design multi-threaded version of C&F persistent map --- core idea is some sort of thread-boundary edit node
Note: See TracChangeset
for help on using the changeset viewer.