Changes in / [480389d2:0660962c]
- Location:
- doc/theses/andrew_beach_MMath
- Files:
-
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
doc/theses/andrew_beach_MMath/existing.tex
r480389d2 r0660962c 224 224 The global definition of @do_once@ is ignored, however if quadruple took a 225 225 @double@ argument, then the global definition would be used instead as it 226 would then be a better match. 227 \todo{cite Aaron's thesis (maybe)} 226 would then be a better match.\cite{Moss19} 228 227 229 228 To avoid typing long lists of assertions, constraints can be collected into -
doc/theses/andrew_beach_MMath/intro.tex
r480389d2 r0660962c 125 125 with papers on the subject dating back 70s.\cite{Goodenough75} 126 126 Early exceptions were often treated as signals, which carried no information 127 except their identity. Ada still uses this system.\todo{cite Ada} 127 except their identity. 128 Ada originally used this system\cite{Ada}, but now allows for a string 129 message as a payload\cite{Ada12}. 128 130 129 131 The modern flag-ship for termination exceptions is \Cpp, 130 132 which added them in its first major wave of non-object-orientated features 131 in 1990. 132 \todo{cite https://en.cppreference.com/w/cpp/language/history} 133 in 1990.\cite{CppHistory} 133 134 Many EHMs have special exception types, 134 135 however \Cpp has the ability to use any type as an exception. … … 146 147 impossible to actually handle any errors. 147 148 148 Java was the next popular language to use exceptions. \todo{cite Java}149 Java was the next popular language to use exceptions.\cite{Java8} 149 150 Its exception system largely reflects that of \Cpp, except that requires 150 151 you throw a child type of \code{Java}{java.lang.Throwable} … … 181 182 % http://bitsavers.informatik.uni-stuttgart.de/pdf/xerox/parc/techReports/ 182 183 % CSL-79-3_Mesa_Language_Manual_Version_5.0.pdf 183 Mesa is one programming language that did.\ todo{citeMesa} Experience with Mesa184 Mesa is one programming language that did.\cite{Mesa} Experience with Mesa 184 185 is quoted as being one of the reasons resumptions were not 185 186 included in the \Cpp standard. … … 210 211 languages, replaced by ``panic". 211 212 In Rust, a panic is just a program level abort that may be implemented by 212 unwinding the stack like in termination exception handling.\todo{cite Rust}213 % https://doc.rust-lang.org/std/panic/fn.catch_unwind.html 213 unwinding the stack like in termination exception 214 handling.\cite{RustPanicMacro}\cite{RustPanicModule} 214 215 Go's panic through is very similar to a termination, except it only supports 215 216 a catch-all by calling \code{Go}{recover()}, simplifying the interface at 216 the cost of flexibility.\ todo{cite Go}217 the cost of flexibility.\cite{Go:2021} 217 218 218 219 %\subsection … … 291 292 This difference is less important in higher-level scripting languages, 292 293 where using exception for other tasks is more common. 293 An iconic example is Python's \code{Python}{StopIteration} exception that 294 An iconic example is Python's 295 \code{Python}{StopIteration}\cite{PythonExceptions} exception that 294 296 is thrown by an iterator to indicate that it is exhausted. 295 297 When paired with Python's iterator-based for-loop this will be thrown every 296 time the end of the loop is reached. 297 \todo{Cite Python StopIteration and for-each loop.} 298 % https://docs.python.org/3/library/exceptions.html#StopIteration 298 time the end of the loop is reached.\cite{PythonForLoop} -
doc/theses/andrew_beach_MMath/uw-ethesis.bib
r480389d2 r0660962c 1 1 % Bibliography of key references for "LaTeX for Thesis and Large Documents" 2 2 % For use with BibTeX 3 % The online reference does not seem to be supported here. 3 4 4 5 @misc{Dice21, … … 15 16 howpublished= {\href{https://github.com/cforall/ExceptionBenchmarks_SPE20}{https://\-github.com/\-cforall/\-ExceptionBenchmarks\_SPE20}}, 16 17 } 18 19 % Could not get `#the-for-statement` to work. 20 @misc{PythonForLoop, 21 author={Python Software Foundation}, 22 key={Python Compound Statements}, 23 howpublished={\href{https://docs.python.org/3/reference/compound_stmts.html}{https://\-docs.python.org/\-3/\-reference/\-compound\_stmts.html}}, 24 addendum={Accessed 2021-08-30}, 25 } 26 27 % Again, I would like this to have `#StopIteration`. 28 @misc{PythonExceptions, 29 author={Python Software Foundation}, 30 key={Python Exceptions}, 31 howpublished={\href{https://docs.python.org/3/library/exceptions.html}{https://\-docs.python.org/\-3/\-library/\-exceptions.html}}, 32 addendum={Accessed 2021-08-30}, 33 } 34 35 @misc{CppHistory, 36 author={C++ Community}, 37 key={Cpp Reference History}, 38 howpublished={\href{https://en.cppreference.com/w/cpp/language/history}{https://\-en.cppreference.com/\-w/\-cpp/\-language/\-history}}, 39 addendum={Accessed 2021-08-30}, 40 } 41 42 @misc{RustPanicMacro, 43 author={The Rust Team}, 44 key={Rust Panic Macro}, 45 howpublished={\href{https://doc.rust-lang.org/std/panic/index.html}{https://\-doc.rust-lang.org/\-std/\-panic/\-index.html}}, 46 addendum={Accessed 2021-08-31}, 47 } 48 49 @misc{RustPanicModule, 50 author={The Rust Team}, 51 key={Rust Panic Module}, 52 howpublished={\href{https://doc.rust-lang.org/std/panic/index.html}{https://\-doc.rust-lang.org/\-std/\-panic/\-index.html}}, 53 addendum={Accessed 2021-08-31}, 54 } 55 56 @manual{Go:2021, 57 keywords={Go programming language}, 58 author={Robert Griesemer and Rob Pike and Ken Thompson}, 59 title={{Go} Programming Language}, 60 organization={Google}, 61 year=2021, 62 note={\href{http://golang.org/ref/spec}{http://\-golang.org/\-ref/\-spec}}, 63 addendum={Accessed 2021-08-31}, 64 }
Note: See TracChangeset
for help on using the changeset viewer.