comparison doc/manual.tex @ 1160:277a5db17aa1

Expand 'row types' in first paragraph of manual
author Adam Chlipala <adamc@hcoop.net>
date Sun, 07 Feb 2010 16:13:09 -0500
parents de48dc2c9ee8
children 2ae57fa551be
comparison
equal deleted inserted replaced
1159:64a9d74111e6 1160:277a5db17aa1
18 \tableofcontents 18 \tableofcontents
19 19
20 20
21 \section{Introduction} 21 \section{Introduction}
22 22
23 \emph{Ur} is a programming language designed to introduce richer type system features into functional programming in the tradition of ML and Haskell. Ur is functional, pure, statically-typed, and strict. Ur supports a powerful kind of \emph{metaprogramming} based on \emph{row types}. 23 \emph{Ur} is a programming language designed to introduce richer type system features into functional programming in the tradition of ML and Haskell. Ur is functional, pure, statically-typed, and strict. Ur supports a powerful kind of \emph{metaprogramming} based on \emph{type-level computation with type-level records}.
24 24
25 \emph{Ur/Web} is Ur plus a special standard library and associated rules for parsing and optimization. Ur/Web supports construction of dynamic web applications backed by SQL databases. The signature of the standard library is such that well-typed Ur/Web programs ``don't go wrong'' in a very broad sense. Not only do they not crash during particular page generations, but they also may not: 25 \emph{Ur/Web} is Ur plus a special standard library and associated rules for parsing and optimization. Ur/Web supports construction of dynamic web applications backed by SQL databases. The signature of the standard library is such that well-typed Ur/Web programs ``don't go wrong'' in a very broad sense. Not only do they not crash during particular page generations, but they also may not:
26 26
27 \begin{itemize} 27 \begin{itemize}
28 \item Suffer from any kinds of code-injection attacks 28 \item Suffer from any kinds of code-injection attacks