| author | Christian Urban <urbanc@in.tum.de> | 
| Tue, 30 Jul 2019 11:21:32 +0100 | |
| changeset 585 | 9f1f8b6510a3 | 
| parent 415 | f1be8028a4a9 | 
| permissions | -rw-r--r-- | 
| 
415
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
1  | 
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
2  | 
<html>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
3  | 
<head>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
4  | 
<title>Snippets</title>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
5  | 
<style type="text/css">  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
6  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
7  | 
code {
 | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
8  | 
font-family: Courier New, Courier, monospace;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
9  | 
font-size: 100%  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
10  | 
white-space: nowrap; /* pre would be better, but it doesn't work with IE */  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
11  | 
}  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
12  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
13  | 
.codedisplay {
 | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
14  | 
font-family: Courier New, Courier, monospace;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
15  | 
margin: 10px;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
16  | 
padding: 10px;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
17  | 
border-width: 20px;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
18  | 
text-style: center;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
19  | 
white-space: pre;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
20  | 
color: black;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
21  | 
border-color: #A9A9A9;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
22  | 
border-width: thin;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
23  | 
border-style: solid;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
24  | 
background-color: #D3D3D3;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
25  | 
background-repeat: no-repeat;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
26  | 
background-position: 0 0;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
27  | 
background-attachment: fixed;  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
28  | 
}  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
29  | 
</style>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
30  | 
</head>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
31  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
32  | 
<body>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
33  | 
<h3>How to silence the output produced by other tools?</h3>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
34  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
35  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
36  | 
Jasmin Blanchette wrote: When writing Nitpick, I found the need to silence  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
37  | 
the other tools upon which Nitpick relies, because their output interfered  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
38  | 
in bad ways with Nitpick's own output. So I used code like the following:  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
39  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
40  | 
<div class="codedisplay">(* (string -> unit) ref -> ('a -> 'b) -> 'a -> 'b *)
 | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
41  | 
fun silence_one out_fn f x =  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
42  | 
let  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
43  | 
val old_out_fn = !out_fn  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
44  | 
val _ = out_fn := K ()  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
45  | 
val y = f x  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
46  | 
val _ = out_fn := old_out_fn  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
47  | 
in y end  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
48  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
49  | 
(* ('a -> 'b) -> 'a -> 'b *)
 | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
50  | 
fun silence f =  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
51  | 
fold silence_one  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
52  | 
[Output.writeln_fn, Output.priority_fn, Output.tracing_fn,  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
53  | 
Output.warning_fn, Output.error_fn, Output.debug_fn,  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
54  | 
Output.prompt_fn, Output.status_fn] f  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
55  | 
</div>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
56  | 
|
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
57  | 
<hr>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
58  | 
<!-- Created: Thu May 21 21:17:59 CEST 2009 -->  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
59  | 
<!-- hhmts start -->  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
60  | 
Last modified: Thu May 21 21:43:15 CEST 2009  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
61  | 
<!-- hhmts end -->  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
62  | 
<a href="http://validator.w3.org/check/referer">[Validate this page.]</a>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
63  | 
</body>  | 
| 
 
f1be8028a4a9
updated
 
Christian Urban <christian dot urban at kcl dot ac dot uk> 
parents:  
diff
changeset
 | 
64  | 
</html>  |