[Swift-commit] r2424 - text/hpdc09submission
noreply at svn.ci.uchicago.edu
noreply at svn.ci.uchicago.edu
Fri Jan 9 18:35:32 CST 2009
Author: hategan
Date: 2009-01-09 18:35:31 -0600 (Fri, 09 Jan 2009)
New Revision: 2424
Modified:
text/hpdc09submission/paper.latex
Log:
rewrote first part of section 2
Modified: text/hpdc09submission/paper.latex
===================================================================
--- text/hpdc09submission/paper.latex 2009-01-09 23:04:29 UTC (rev 2423)
+++ text/hpdc09submission/paper.latex 2009-01-10 00:35:31 UTC (rev 2424)
@@ -256,25 +256,31 @@
\subsection{Language basics}
-Programs written in the SwiftScript language are called (Swift)
-scripts. A Swift script describes the interface of each component
-program, and how those components communicate with each other.
-Component programs in a Swift script are coupled together by
-descriptions of dataflow between those components.
+A Swift script describes data, application components, invocations
+of applications components, and the inter-relations (data flow)
+between those invocations.
Data is represented in a script by strongly-typed single-assignment
variables, using a C-like syntax.
- A variable may store data of \emph{primitive type} such as an
-integer or a string. However, a variable may also be \emph{mapped}
-to one or more POSIX-like files, allowing treatment of those files using
-the same syntax as other variables.
-In that case, the variable declaration is annotated with a
-\emph{mapping} describing the file(s) that make up that \emph{dataset}.
-For example, this line declares a variable named \verb|photo| with
-datatype \verb|image|. It additionally declares that the data for this
-dataset is stored in a single file named \verb|shane.jpeg|
+ Types in Swift can be \emph{atomic} or \emph{composite}. An atomic
+type can be either a \emph{primitive type} or a \emph{mapped type}.
+Swift provides a fixed set of primitive types, such as \emph{integer} or
+\emph{string}. A mapped type indicates that the actual data does not
+reside in CPU addressable memory (as it would in conventional
+programming languages), but in POSIX-like files. Composite types are
+further subdivided into \emph{structures} and \emph{arrays}. Structures
+are similar in most respects to structure types in other languages. One
+array type is associated with every non-array type. Arrays use numeric
+indices, but are sparse. We often refer to instances of composites of
+mapped types as \emph{datasets}.
+Mapped type and composite type variable declarations can be annotated with a
+\emph{mapping} descriptor indicating the file(s) that make up that \emph{dataset}.
+For example, the following line declares a variable named \verb|photo| with
+type \verb|image|. It additionally declares that the data for this
+variable is stored in a single file named \verb|shane.jpeg|
+
\begin{verbatim}
image photo <"shane.jpeg">;
\end{verbatim}
@@ -291,8 +297,9 @@
describes a functional/dataflow style interface to imperative
components.
-For example, a procedure which makes use of the ImageMagick\cite{ImageMagick}
-convert command to rotate a supplied image by a specified angle:
+For example, the following example lists a procedure which makes use of
+the ImageMagick\cite{ImageMagick} convert command to rotate a supplied
+image by a specified angle:
\begin{verbatim}
app (image output) rotate(image input) {
More information about the Swift-commit
mailing list