Changeset 3bd1eb4 for doc


Ignore:
Timestamp:
May 15, 2017, 3:27:47 PM (7 years ago)
Author:
Thierry Delisle <tdelisle@…>
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:
db0fa7c
Parents:
dbfb35d (diff), 9ff8310 (diff)
Note: this is a merge changeset, the changes displayed below correspond to the merge itself.
Use the (diff) links above to see all the changes relative to each parent.
Message:

Merge branch 'master' of plg.uwaterloo.ca:software/cfa/cfa-cc

Location:
doc
Files:
7 added
4 edited

Legend:

Unmodified
Added
Removed
  • doc/LaTeXmacros/common.tex

    rdbfb35d r3bd1eb4  
    1111%% Created On       : Sat Apr  9 10:06:17 2016
    1212%% Last Modified By : Peter A. Buhr
    13 %% Last Modified On : Tue Apr 18 17:16:13 2017
    14 %% Update Count     : 270
     13%% Last Modified On : Sun May 14 18:17:09 2017
     14%% Update Count     : 295
    1515%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
    1616
     
    3636% Names used in the document.
    3737
    38 \newcommand{\CFA}{C$\mathbf\forall$\xspace} % Cforall symbolic name
     38\newcommand{\CFA}{C\raisebox{\depth}{\rotatebox{180}{\textscale{1.05}{\textsf{A}}}}\xspace} % Cforall symbolic name
    3939\newcommand{\CFL}{Cforall\xspace} % Cforall symbolic name
     40\newcommand{\Celeven}{C11\xspace} % C11 symbolic name
    4041\newcommand{\CC}{\rm C\kern-.1em\hbox{+\kern-.25em+}\xspace} % C++ symbolic name
    4142\newcommand{\CCeleven}{\rm C\kern-.1em\hbox{+\kern-.25em+}11\xspace} % C++11 symbolic name
     
    4344\newcommand{\CCseventeen}{\rm C\kern-.1em\hbox{+\kern-.25em+}17\xspace} % C++17 symbolic name
    4445\newcommand{\CCtwenty}{\rm C\kern-.1em\hbox{+\kern-.25em+}20\xspace} % C++20 symbolic name
    45 \newcommand{\Celeven}{C11\xspace} % C11 symbolic name
    4646\newcommand{\Csharp}{C\raisebox{-0.7ex}{\Large$^\sharp$}\xspace} % C# symbolic name
    4747
     
    6767\usepackage{pslatex}                                    % reduce size of san serif font
    6868\usepackage{relsize}                                    % must be after change to small or selects old size
     69\usepackage{rotating}
    6970
    7071% reduce size of chapter/section titles
     
    9798\newcommand{\italic}[1]{\emph{\hyperpage{#1}}}
    9899\newcommand{\definition}[1]{\textbf{\hyperpage{#1}}}
    99 \newcommand{\see}[1]{\emph{see} #1}
     100\newcommand{\see}[1]{\emph{see}~#1}
    100101
    101102% Define some commands that produce formatted index entries suitable for cross-references.
     
    221222}%
    222223
    223 % Go programming language: https://github.com/julienc91/listings-golang/blob/master/listings-golang.sty
    224 \lstdefinelanguage{Golang}{
    225         morekeywords=[1]{package,import,func,type,struct,return,defer,panic,recover,select,var,const,iota,},%
    226         morekeywords=[2]{string,uint,uint8,uint16,uint32,uint64,int,int8,int16,int32,int64,
    227                 bool,float32,float64,complex64,complex128,byte,rune,uintptr, error,interface},%
    228         morekeywords=[3]{map,slice,make,new,nil,len,cap,copy,close,true,false,delete,append,real,imag,complex,chan,},%
    229         morekeywords=[4]{for,break,continue,range,goto,switch,case,fallthrough,if,else,default,},%
    230         morekeywords=[5]{Println,Printf,Error,},%
    231         sensitive=true,%
    232         morecomment=[l]{//},%
    233         morecomment=[s]{/*}{*/},%
    234         morestring=[b]',%
    235         morestring=[b]",%
    236         morestring=[s]{`}{`},%
    237 }
    238 
    239 % CFA programming language, based on ANSI C (with some gcc additions)
    240 \lstdefinelanguage{Pseudo}{
    241         morekeywords={string,uint,int,bool,float},%
    242         sensitive=true,%
    243         morecomment=[l]{//},%
    244         morecomment=[s]{/*}{*/},%
    245         morestring=[b]',%
    246         morestring=[b]",%
    247         morestring=[s]{`}{`},%
    248 }%
    249 
    250 % CFA programming language, based on ANSI C (with some gcc additions)
    251 \lstdefinelanguage{CFA}[ANSI]{C}{
    252         morekeywords={_Alignas,_Alignof,__alignof,__alignof__,asm,__asm,__asm__,_At,_Atomic,__attribute,__attribute__,auto,
    253                 _Bool,catch,catchResume,choose,_Complex,__complex,__complex__,__const,__const__,disable,dtype,enable,__extension__,
    254                 fallthrough,fallthru,finally,forall,ftype,_Generic,_Imaginary,inline,__label__,lvalue,_Noreturn,one_t,otype,restrict,_Static_assert,
    255                 _Thread_local,throw,throwResume,trait,try,ttype,typeof,__typeof,__typeof__,zero_t},
    256 }%
     224\usepackage{lstlang}
    257225
    258226\newcommand{\CFADefaults}{%
     
    292260{}
    293261
    294 
    295262% Local Variables: %
    296263% tab-width: 4 %
  • doc/generic_types/generic_types.tex

    rdbfb35d r3bd1eb4  
    66\usepackage{upquote}                                                                    % switch curled `'" to straight
    77\usepackage{listings}                                                                   % format program code
     8\usepackage{rotating}
    89\usepackage[usenames]{color}
    910
     
    4849
    4950% Useful macros
    50 \newcommand{\CFA}{C$\mathbf\forall$\xspace} % Cforall symbolic name
     51\newcommand{\CFA}{C\raisebox{\depth}{\rotatebox{180}{\textsf{A}}}\hspace{-1pt}\xspace} % Cforall symbolic name
     52%\newcommand{\CFA}{C$\mathbf\forall$\xspace} % Cforall symbolic name
    5153\newcommand{\CC}{\rm C\kern-.1em\hbox{+\kern-.25em+}\xspace} % C++ symbolic name
    5254\newcommand{\CCeleven}{\rm C\kern-.1em\hbox{+\kern-.25em+}11\xspace} % C++11 symbolic name
     
    9799\acmJournal{PACMPL}
    98100
    99 \title{Generic and Tuple Types with Efficient Dynamic Layout in \CFA}
     101\title{Generic and Tuple Types with Efficient Dynamic Layout in \protect\CFA}
    100102
    101103\author{Aaron Moss}
     
    197199\label{sec:poly-fns}
    198200
    199 \CFA's polymorphism was originally formalized by \citet{Ditchfield92}, and first implemented by \citet{Bilson03}.
     201\CFA{}\hspace{1pt}'s polymorphism was originally formalized by \citet{Ditchfield92}, and first implemented by \citet{Bilson03}.
    200202The signature feature of \CFA is parametric-polymorphic functions~\citep{forceone:impl,Cormack90,Duggan96} with functions generalized using a @forall@ clause (giving the language its name):
    201203\begin{lstlisting}
     
    950952}
    951953\end{lstlisting}
    952 \caption{\CFA Benchmark Test}
     954\caption{\protect\CFA Benchmark Test}
    953955\label{fig:BenchmarkTest}
    954956\end{figure}
     
    10201022While \CC provides good backwards compatibility with C, it has a steep learning curve for many of its extensions.
    10211023For example, polymorphism is provided via three disjoint mechanisms: overloading, inheritance, and templates.
    1022 The overloading is restricted because resolution does not using the return type, inheritance requires learning object-oriented programming and coping with a restricted nominal-inheritance hierarchy, templates cannot be separately compiled resulting in compilation/code bloat and poor error messages, and determining how these mechanisms interact and which to use is confusing.
     1024The overloading is restricted because resolution does not use the return type, inheritance requires learning object-oriented programming and coping with a restricted nominal-inheritance hierarchy, templates cannot be separately compiled resulting in compilation/code bloat and poor error messages, and determining how these mechanisms interact and which to use is confusing.
    10231025In contrast, \CFA has a single facility for polymorphic code supporting type-safe separate-compilation of polymorphic functions and generic (opaque) types, which uniformly leverage the C procedural paradigm.
    10241026The key mechanism to support separate compilation is \CFA's \emph{explicit} use of assumed properties for a type.
  • doc/rob_thesis/thesis.bib

    • Property mode changed from 100755 to 100644
  • doc/user/Makefile

    rdbfb35d r3bd1eb4  
    4747
    4848${basename ${DOCUMENT}}.dvi : Makefile ${GRAPHS} ${PROGRAMS} ${PICTURES} ${FIGURES} ${SOURCES} ${basename ${DOCUMENT}}.tex \
    49                 ../LaTeXmacros/common.tex ../LaTeXmacros/indexstyle ../bibliography/cfa.bib
     49                ../LaTeXmacros/common.tex ../LaTeXmacros/lstlang.sty ../LaTeXmacros/indexstyle ../bibliography/cfa.bib
    5050        # Conditionally create an empty *.ind (index) file for inclusion until makeindex is run.
    5151        if [ ! -r ${basename $@}.ind ] ; then touch ${basename $@}.ind ; fi
Note: See TracChangeset for help on using the changeset viewer.