ADTast-experimentalenumpthread-emulationqualifiedEnum
Last change
on this file since 41870a5 was
9cdfa5fb,
checked in by Andrew Beach <ajbeach@…>, 3 years ago
|
Andrew MMath: Used (most of) Gregor's feedback to update the thesis. There are still a few \todo items as well as a general request for examples.
|
-
Property mode set to
100644
|
File size:
1.3 KB
|
Line | |
---|
1 | \chapter{Conclusion} |
---|
2 | \label{c:conclusion} |
---|
3 | % Just a little knot to tie the paper together. |
---|
4 | |
---|
5 | In the previous chapters, this thesis presents the design and implementation |
---|
6 | of \CFA's exception handling mechanism (EHM). |
---|
7 | Both the design and implementation are based off of tools and |
---|
8 | techniques developed for other programming languages but they were adapted to |
---|
9 | better fit \CFA's feature set and add a few features that do not exist in |
---|
10 | other EHMs, |
---|
11 | including conditional matching, default handlers for unhandled exceptions |
---|
12 | and cancellation though coroutines and threads back to the program main stack. |
---|
13 | |
---|
14 | The resulting features cover all of the major use cases of the most popular |
---|
15 | termination EHMs of today, along with reintroducing resumption exceptions and |
---|
16 | creating some new features that fit with \CFA's larger programming patterns, |
---|
17 | such as virtuals independent of traditional objects. |
---|
18 | |
---|
19 | The \CFA project's test suite has been expanded to test the EHM. |
---|
20 | The implementation's performance has also been |
---|
21 | compared to other implementations with a small set of targeted |
---|
22 | micro-benchmarks. |
---|
23 | The results, while not cutting edge, are good enough for prototyping, which |
---|
24 | is \CFA's current stage of development. |
---|
25 | |
---|
26 | This initial EHM will bring valuable new features to \CFA in its own right |
---|
27 | but also serves as a tool and motivation for other developments in the |
---|
28 | language. |
---|
Note: See
TracBrowser
for help on using the repository browser.