2009-02-07 20:20:49 +01:00
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
2009-12-31 02:18:35 +01:00
< html xmlns = "http://www.w3.org/1999/xhtml" >
< head >
< meta http-equiv = "Content-Type" content = "text/html; charset=utf-8" / >
< meta name = "generator" content = "pandoc" / >
2011-01-15 17:22:41 +01:00
< title > < / title >
2009-12-31 02:18:35 +01:00
< style type = "text/css" >
2010-07-16 08:00:58 +02:00
table.sourceCode, tr.sourceCode, td.lineNumbers, td.sourceCode, table.sourceCode pre
{ margin: 0; padding: 0; border: 0; vertical-align: baseline; border: none; }
2010-07-16 09:23:13 +02:00
td.lineNumbers { border-right: 1px solid #AAAAAA; text-align: right; color: #AAAAAA; padding-right: 5px; padding-left: 5px; }
2010-07-16 08:00:58 +02:00
td.sourceCode { padding-left: 5px; }
2010-07-16 09:23:13 +02:00
pre.sourceCode span.kw { color: #007020; font-weight: bold; }
pre.sourceCode span.dt { color: #902000; }
pre.sourceCode span.dv { color: #40a070; }
pre.sourceCode span.bn { color: #40a070; }
pre.sourceCode span.fl { color: #40a070; }
pre.sourceCode span.ch { color: #4070a0; }
pre.sourceCode span.st { color: #4070a0; }
pre.sourceCode span.co { color: #60a0b0; font-style: italic; }
pre.sourceCode span.ot { color: #007020; }
pre.sourceCode span.al { color: red; font-weight: bold; }
pre.sourceCode span.fu { color: #06287e; }
2010-07-16 08:00:58 +02:00
pre.sourceCode span.re { }
pre.sourceCode span.er { color: red; font-weight: bold; }
2009-12-31 02:18:35 +01:00
< / style >
< / head >
< body >
2010-07-16 08:00:58 +02:00
< h1 id = "lhs-test"
>lhs test< /h1
>< p
>< code
>unsplit< /code
> is an arrow that takes a pair of values and combines them to return a single value:< /p
>< pre class = "sourceCode haskell"
>< code
2011-01-07 06:04:57 +01:00
>< span class = "ot"
>unsplit < /span
>< span class = "ot"
>::< /span
> (< span class = "dt"
2010-07-16 08:00:58 +02:00
>Arrow< /span
2011-01-07 06:04:57 +01:00
> a) < span class = "ot"
>=> < /span
> (b < span class = "ot"
>-> < /span
> c < span class = "ot"
>-> < /span
> d) < span class = "ot"
>-> < /span
> a (b, c) d< br
2010-07-16 08:00:58 +02:00
/>unsplit < span class = "fu"
>=< /span
> arr < span class = "fu"
>.< /span
> < span class = "fu"
>uncurry< /span
> < br
/> < span class = "co"
>-- arr (\op (x,y) -> x `op` y) < /span
>< br
/>< /code
>< /pre
>< p
>< code
>(***)< /code
> combines two arrows into a new arrow by running the two arrows on a pair of values (one arrow on the first item of the pair and one arrow on the second item of the pair).< /p
>< pre
>< code
>f *** g = first f > > > second g
2009-02-07 20:20:49 +01:00
< /code
2010-07-16 08:00:58 +02:00
>< /pre
>< p
>Block quote:< /p
>< blockquote
>< p
>foo bar< /p
>< /blockquote
2009-02-07 20:20:49 +01:00
>
2009-12-31 02:18:35 +01:00
< / body >
< / html >