76886678a6
This prevents the problem with extra space around highlighted code blocks (closes #3996). Note that we no longer put an enclosing div around highlighted code blocks. The pre is the outer element, just as for unhighlighted blocks.
87 lines
4.5 KiB
Text
87 lines
4.5 KiB
Text
<!DOCTYPE html>
|
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="" xml:lang="">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="generator" content="pandoc" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=yes" />
|
|
<title>lhs-test</title>
|
|
<style type="text/css">
|
|
code{white-space: pre-wrap;}
|
|
.smallcaps{font-variant: small-caps;}
|
|
.line-block{white-space: pre-line;}
|
|
.column{display: inline-block;}
|
|
</style>
|
|
<style type="text/css">
|
|
div.sourceLine, a.sourceLine { display: inline-block; min-height: 1.25em; }
|
|
a.sourceLine { pointer-events: none; color: inherit; text-decoration: inherit; }
|
|
.sourceCode { overflow: visible; }
|
|
code.sourceCode { white-space: pre; }
|
|
@media print {
|
|
code.sourceCode { white-space: pre-wrap; }
|
|
div.sourceLine, a.sourceLine { text-indent: -1em; padding-left: 1em; }
|
|
}
|
|
pre.numberSource div.sourceLine, .numberSource a.sourceLine
|
|
{ position: relative; }
|
|
pre.numberSource div.sourceLine::before, .numberSource a.sourceLine::before
|
|
{ content: attr(data-line-number);
|
|
position: absolute; left: -5em; text-align: right; vertical-align: baseline;
|
|
border: none; pointer-events: all;
|
|
-webkit-touch-callout: none; -webkit-user-select: none;
|
|
-khtml-user-select: none; -moz-user-select: none;
|
|
-ms-user-select: none; user-select: none;
|
|
padding: 0 4px; width: 4em; }
|
|
pre.numberSource { margin-left: 3em; border-left: 1px solid #aaaaaa; color: #aaaaaa; padding-left: 4px; }
|
|
@media screen {
|
|
a.sourceLine::before { text-decoration: underline; color = initial; }
|
|
}
|
|
code span.kw { color: #007020; font-weight: bold; } /* Keyword */
|
|
code span.dt { color: #902000; } /* DataType */
|
|
code span.dv { color: #40a070; } /* DecVal */
|
|
code span.bn { color: #40a070; } /* BaseN */
|
|
code span.fl { color: #40a070; } /* Float */
|
|
code span.ch { color: #4070a0; } /* Char */
|
|
code span.st { color: #4070a0; } /* String */
|
|
code span.co { color: #60a0b0; font-style: italic; } /* Comment */
|
|
code span.ot { color: #007020; } /* Other */
|
|
code span.al { color: #ff0000; font-weight: bold; } /* Alert */
|
|
code span.fu { color: #06287e; } /* Function */
|
|
code span.er { color: #ff0000; font-weight: bold; } /* Error */
|
|
code span.wa { color: #60a0b0; font-weight: bold; font-style: italic; } /* Warning */
|
|
code span.cn { color: #880000; } /* Constant */
|
|
code span.sc { color: #4070a0; } /* SpecialChar */
|
|
code span.vs { color: #4070a0; } /* VerbatimString */
|
|
code span.ss { color: #bb6688; } /* SpecialString */
|
|
code span.im { } /* Import */
|
|
code span.va { color: #19177c; } /* Variable */
|
|
code span.cf { color: #007020; font-weight: bold; } /* ControlFlow */
|
|
code span.op { color: #666666; } /* Operator */
|
|
code span.bu { } /* BuiltIn */
|
|
code span.ex { } /* Extension */
|
|
code span.pp { color: #bc7a00; } /* Preprocessor */
|
|
code span.at { color: #7d9029; } /* Attribute */
|
|
code span.do { color: #ba2121; font-style: italic; } /* Documentation */
|
|
code span.an { color: #60a0b0; font-weight: bold; font-style: italic; } /* Annotation */
|
|
code span.cv { color: #60a0b0; font-weight: bold; font-style: italic; } /* CommentVar */
|
|
code span.in { color: #60a0b0; font-weight: bold; font-style: italic; } /* Information */
|
|
</style>
|
|
<!--[if lt IE 9]>
|
|
<script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.3/html5shiv-printshiv.min.js"></script>
|
|
<![endif]-->
|
|
</head>
|
|
<body>
|
|
<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 literate literatehaskell"><code class="sourceCode literatehaskell"><div class="sourceLine" id="1" href="#1" data-line-number="1"><span class="ot">> unsplit ::</span> (<span class="dt">Arrow</span> a) <span class="ot">=></span> (b <span class="ot">-></span> c <span class="ot">-></span> d) <span class="ot">-></span> a (b, c) d</div>
|
|
<div class="sourceLine" id="2" href="#2" data-line-number="2"><span class="ot">></span> unsplit <span class="fu">=</span> arr <span class="fu">.</span> uncurry</div>
|
|
<div class="sourceLine" id="3" href="#3" data-line-number="3"><span class="ot">></span> <span class="co">-- arr (\op (x,y) -> x `op` y)</span></div></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</code></pre>
|
|
<p>Block quote:</p>
|
|
<blockquote>
|
|
<p>foo bar</p>
|
|
</blockquote>
|
|
</body>
|
|
</html>
|