Mercurial > urweb
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 |