Index: doc/theses/colby_parsons_MMAth/text/channels.tex
===================================================================
--- doc/theses/colby_parsons_MMAth/text/channels.tex	(revision 76e77a4f2c78cd3faef0430d56ab0736ffec8f45)
+++ doc/theses/colby_parsons_MMAth/text/channels.tex	(revision ac5d22ff6401d69fd9e66053891a31797dda9946)
@@ -19,4 +19,10 @@
 It was the popularity of Go channels that lead to their implemention in \CFA.
 Neither Go nor \CFA channels have the restrictions of the early channel-based concurrent systems.
+
+Other popular languages and libraries that provide channels include C++ Boost~\cite{boost:channel}, Rust~\cite{rust:channel}, Haskell~\cite{haskell:channel}, and OCaml~\cite{ocaml:channel}.
+Boost channels only support asynchronous (non-blocking) operations, and Rust channels are limited to only having one consumer per channel.
+Haskell channels are unbounded in size, and OCaml channels are zero-size.
+These restrictions in Haskell and OCaml are likely due to their functional approach, which results in them both using a list as the underlying data structure for their channel.
+These languages and libraries are not discussed further, as their channel implementation is not comparable to the bounded-buffer style channels present in Go and \CFA.
 
 \section{Producer-Consumer Problem}
@@ -130,5 +136,5 @@
 \paragraph{Go channels} provide a set of tools to help with concurrent shutdown~\cite{go:chan}.
 Channels in Go have a @close@ operation and a \Go{select} statement that both can be used to help threads terminate.
-The \Go{select} statement is discussed in \ref{s:waituntil}, where \CFA's @waituntil@ statement is compared with the Go \Go{select} statement.
+The \Go{select} statement is discussed in Chapter~\ref{s:waituntil}, where \CFA's @waituntil@ statement is compared with the Go \Go{select} statement.
 
 The @close@ operation on a channel in Go changes the state of the channel.
@@ -247,6 +253,6 @@
 \begin{cfa}[aboveskip=0pt,belowskip=0pt]
 var cons_done, prod_done bool = false, false;
-var prodJoin chan int = make(chan int, Producers)
-var consJoin chan int = make(chan int, Consumers)
+var prodJoin chan int = make(chan int)
+var consJoin chan int = make(chan int)
 
 func consumer( channel chan uint64 ) {
