Ignore:
Timestamp:
Apr 1, 2023, 11:02:26 PM (2 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, ast-experimental, master
Children:
e41c4c6
Parents:
75bd041
Message:

small commits before changing latex macros

Location:
doc/theses/colby_parsons_MMAth/text
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • doc/theses/colby_parsons_MMAth/text/CFA_intro.tex

    r75bd041 r678c540  
    1111References in \CFA are similar to references in \CC, however in \CFA references are rebindable, and support multi-level referencing. References in \CFA are a layer of syntactic sugar over pointers to reduce the number of ref/deref operations needed with pointer usage. Some examples of references in \CFA are shown in Listing~\ref{l:cfa_ref}. Another related item to note is that the \CFA equivalent of \CC's \code{nullptr} is \code{0p}.
    1212
    13 \begin{cfacode}[tabsize=3,caption={Example of \CFA references},label={l:cfa_ref}]
     13\begin{cfacode}[caption={Example of \CFA references},label={l:cfa_ref}]
    1414int i = 2;
    1515int & ref_i = i;            // declare ref to i
     
    3232
    3333
    34 \begin{cfacode}[tabsize=3,caption={Example of \CFA function overloading},label={l:cfa_overload}]
     34\begin{cfacode}[caption={Example of \CFA function overloading},label={l:cfa_overload}]
    3535int foo() { printf("A\n");  return 0;}
    3636int foo( int bar ) { printf("B\n"); return 1; }
  • doc/theses/colby_parsons_MMAth/text/frontpgs.tex

    r75bd041 r678c540  
    5858% D E C L A R A T I O N   P A G E
    5959% -------------------------------
    60   % The following is the sample Delaration Page as provided by the GSO
     60  % The following is the sample Declaration Page as provided by the GSO
    6161  % December 13th, 2006.  It is designed for an electronic thesis.
    6262  \noindent
     
    7575\begin{center}\textbf{Abstract}\end{center}
    7676
    77 Concurrent programs are notoriously hard to program and even harder to debug. Furthermore concurrent programs must be performant, as the introduction of concurrency into a program is often done to achieve some form of speedup. This thesis presents a suite of high level concurrent language features in \CFA, all of which are implemented with the aim of improving the performance, productivity, and safety of concurrent programs. \CFA is a non object-oriented programming language that extends C. The foundation for concurrency in \CFA was laid by Thierry Delisle, who implemented coroutines, user-level threads, and monitors\cite{Delisle18}. This thesis builds upon that groundwork and introduces a suite of concurrent features as its main contribution. The features include Go-like channels, mutex statements (similar to \CC scoped locks or Java synchronized statement), an actor system, and a Go-like select statement. The root idea behind these features are not new, but the \CFA implementations improve upon the original ideas in performance, productivity, and safety.
     77Concurrent programs are notoriously hard to program and even harder to debug. Furthermore concurrent programs must be performant, as the introduction of concurrency into a program is often done to achieve some form of speedup.
     78
     79This thesis presents a suite of high-level concurrent-language features in the new programming language \CFA, all of which are implemented with the aim of improving the performance, productivity, and safety of concurrent programs. \CFA is a non object-oriented programming language that extends C. The foundation for concurrency in \CFA was laid by Thierry Delisle~\cite{Delisle18}, who implemented coroutines, user-level threads, and monitors. This thesis builds upon that work and introduces a suite of new concurrent features as its main contribution. The features include Go-like channels, mutex statements (similar to \CC scoped locks or Java synchronized statement), an actor system, and a Go-like select statement. The root ideas behind these features are not new, but the \CFA implementations extends the original ideas in performance, productivity, and safety.
    7880
    7981\cleardoublepage
  • doc/theses/colby_parsons_MMAth/text/intro.tex

    r75bd041 r678c540  
    55% ======================================================================
    66
    7 Concurrent programs are the wild west of programming. Determinism and simple ordering of program operations go out the window. To seize the reins and write performant and safe concurrent code, concurrent language features are needed. Like any other craftsmen, programmers are only as good as their tools, and concurrent tooling and features are no exception. This thesis presents a set of concurrent features implemened in \CFA. These features aim to improve the performance of concurrent programs, aid in writing safe programs, and assist user productivity by improving the ease of concurrent programming. The groundwork for concurrent features in \CFA was implemented by Thierry Delisle, who contributed the threading system, coroutines, monitors and other tools\cite{Delisle18}. This thesis builds on top of that foundation by providing a suite of high-level concurrent features. These features include mutex statements, channels, an actor system and a waituntil statement. All of these features exist in other programming in some shape or form, however this thesis contributes upon the original ideas by improving performance, productivity, and safety.
     7Concurrent programs are the wild west of programming because determinism and simple ordering of program operations go out the window. To seize the reins and write performant and safe concurrent code, high-level concurrent-language features are needed. Like any other craftsmen, programmers are only as good as their tools, and concurrent tooling and features are no exception. This thesis presents a set of concurrent features implemented in the new programming-language \CFA. These features aim to improve the performance of concurrent programs, aid in writing safe programs, and assist user productivity by improving the ease of concurrent programming. The groundwork for concurrent features in \CFA was implemented by Thierry Delisle~\cite{Delisle18}, who contributed the threading system, coroutines, monitors and other tools. This thesis builds on top of that foundation by providing a suite of high-level concurrent features. These features include mutex statements, channels, an actor system and a waituntil statement. All of these features exist in other programming in some shape or form, however this thesis extends the original ideas by improving performance, productivity, and safety.
Note: See TracChangeset for help on using the changeset viewer.