source: trunk/abcl/doc/design/streams/pprint-solution.dia

Last change on this file was 12410, checked in by vvoutilainen, 15 years ago

Add documentation for the streams.

File size: 57.2 KB
Line 
1<?xml version="1.0" encoding="UTF-8"?>
2<dia:diagram xmlns:dia="http://www.lysator.liu.se/~alla/dia/">
3  <dia:diagramdata>
4    <dia:attribute name="background">
5      <dia:color val="#ffffff"/>
6    </dia:attribute>
7    <dia:attribute name="pagebreak">
8      <dia:color val="#000099"/>
9    </dia:attribute>
10    <dia:attribute name="paper">
11      <dia:composite type="paper">
12        <dia:attribute name="name">
13          <dia:string>#Letter#</dia:string>
14        </dia:attribute>
15        <dia:attribute name="tmargin">
16          <dia:real val="2.5399999618530273"/>
17        </dia:attribute>
18        <dia:attribute name="bmargin">
19          <dia:real val="2.5399999618530273"/>
20        </dia:attribute>
21        <dia:attribute name="lmargin">
22          <dia:real val="2.5399999618530273"/>
23        </dia:attribute>
24        <dia:attribute name="rmargin">
25          <dia:real val="2.5399999618530273"/>
26        </dia:attribute>
27        <dia:attribute name="is_portrait">
28          <dia:boolean val="true"/>
29        </dia:attribute>
30        <dia:attribute name="scaling">
31          <dia:real val="1"/>
32        </dia:attribute>
33        <dia:attribute name="fitto">
34          <dia:boolean val="false"/>
35        </dia:attribute>
36      </dia:composite>
37    </dia:attribute>
38    <dia:attribute name="grid">
39      <dia:composite type="grid">
40        <dia:attribute name="width_x">
41          <dia:real val="1"/>
42        </dia:attribute>
43        <dia:attribute name="width_y">
44          <dia:real val="1"/>
45        </dia:attribute>
46        <dia:attribute name="visible_x">
47          <dia:int val="1"/>
48        </dia:attribute>
49        <dia:attribute name="visible_y">
50          <dia:int val="1"/>
51        </dia:attribute>
52        <dia:composite type="color"/>
53      </dia:composite>
54    </dia:attribute>
55    <dia:attribute name="color">
56      <dia:color val="#d8e5e5"/>
57    </dia:attribute>
58    <dia:attribute name="guides">
59      <dia:composite type="guides">
60        <dia:attribute name="hguides"/>
61        <dia:attribute name="vguides"/>
62      </dia:composite>
63    </dia:attribute>
64  </dia:diagramdata>
65  <dia:layer name="Background" visible="true" active="true">
66    <dia:object type="UML - Note" version="0" id="O0">
67      <dia:attribute name="obj_pos">
68        <dia:point val="17.15,1.1"/>
69      </dia:attribute>
70      <dia:attribute name="obj_bb">
71        <dia:rectangle val="17.1,1.05;34.655,2.85"/>
72      </dia:attribute>
73      <dia:attribute name="meta">
74        <dia:composite type="dict"/>
75      </dia:attribute>
76      <dia:attribute name="elem_corner">
77        <dia:point val="17.15,1.1"/>
78      </dia:attribute>
79      <dia:attribute name="elem_width">
80        <dia:real val="17.454999999999998"/>
81      </dia:attribute>
82      <dia:attribute name="elem_height">
83        <dia:real val="1.7"/>
84      </dia:attribute>
85      <dia:attribute name="line_width">
86        <dia:real val="0.10000000000000001"/>
87      </dia:attribute>
88      <dia:attribute name="line_colour">
89        <dia:color val="#000000"/>
90      </dia:attribute>
91      <dia:attribute name="fill_colour">
92        <dia:color val="#ffffff"/>
93      </dia:attribute>
94      <dia:attribute name="text">
95        <dia:composite type="text">
96          <dia:attribute name="string">
97            <dia:string>#solution to the pprint/gray-streams problem#</dia:string>
98          </dia:attribute>
99          <dia:attribute name="font">
100            <dia:font family="monospace" style="0" name="Courier"/>
101          </dia:attribute>
102          <dia:attribute name="height">
103            <dia:real val="0.80000000000000004"/>
104          </dia:attribute>
105          <dia:attribute name="pos">
106            <dia:point val="17.5,2.345"/>
107          </dia:attribute>
108          <dia:attribute name="color">
109            <dia:color val="#000000"/>
110          </dia:attribute>
111          <dia:attribute name="alignment">
112            <dia:enum val="0"/>
113          </dia:attribute>
114        </dia:composite>
115      </dia:attribute>
116    </dia:object>
117    <dia:object type="UML - Class" version="0" id="O1">
118      <dia:attribute name="obj_pos">
119        <dia:point val="1.55,8.3"/>
120      </dia:attribute>
121      <dia:attribute name="obj_bb">
122        <dia:rectangle val="1.5,8.25;8.125,9.75"/>
123      </dia:attribute>
124      <dia:attribute name="elem_corner">
125        <dia:point val="1.55,8.3"/>
126      </dia:attribute>
127      <dia:attribute name="elem_width">
128        <dia:real val="6.5250000000000004"/>
129      </dia:attribute>
130      <dia:attribute name="elem_height">
131        <dia:real val="1.3999999999999999"/>
132      </dia:attribute>
133      <dia:attribute name="name">
134        <dia:string>#usercode.lisp#</dia:string>
135      </dia:attribute>
136      <dia:attribute name="stereotype">
137        <dia:string>##</dia:string>
138      </dia:attribute>
139      <dia:attribute name="comment">
140        <dia:string>##</dia:string>
141      </dia:attribute>
142      <dia:attribute name="abstract">
143        <dia:boolean val="false"/>
144      </dia:attribute>
145      <dia:attribute name="suppress_attributes">
146        <dia:boolean val="false"/>
147      </dia:attribute>
148      <dia:attribute name="suppress_operations">
149        <dia:boolean val="false"/>
150      </dia:attribute>
151      <dia:attribute name="visible_attributes">
152        <dia:boolean val="false"/>
153      </dia:attribute>
154      <dia:attribute name="visible_operations">
155        <dia:boolean val="false"/>
156      </dia:attribute>
157      <dia:attribute name="visible_comments">
158        <dia:boolean val="false"/>
159      </dia:attribute>
160      <dia:attribute name="wrap_operations">
161        <dia:boolean val="true"/>
162      </dia:attribute>
163      <dia:attribute name="wrap_after_char">
164        <dia:int val="40"/>
165      </dia:attribute>
166      <dia:attribute name="comment_line_length">
167        <dia:int val="17"/>
168      </dia:attribute>
169      <dia:attribute name="comment_tagging">
170        <dia:boolean val="false"/>
171      </dia:attribute>
172      <dia:attribute name="line_width">
173        <dia:real val="0.10000000000000001"/>
174      </dia:attribute>
175      <dia:attribute name="line_color">
176        <dia:color val="#000000"/>
177      </dia:attribute>
178      <dia:attribute name="fill_color">
179        <dia:color val="#ffffff"/>
180      </dia:attribute>
181      <dia:attribute name="text_color">
182        <dia:color val="#000000"/>
183      </dia:attribute>
184      <dia:attribute name="normal_font">
185        <dia:font family="monospace" style="0" name="Courier"/>
186      </dia:attribute>
187      <dia:attribute name="abstract_font">
188        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
189      </dia:attribute>
190      <dia:attribute name="polymorphic_font">
191        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
192      </dia:attribute>
193      <dia:attribute name="classname_font">
194        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
195      </dia:attribute>
196      <dia:attribute name="abstract_classname_font">
197        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
198      </dia:attribute>
199      <dia:attribute name="comment_font">
200        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
201      </dia:attribute>
202      <dia:attribute name="normal_font_height">
203        <dia:real val="0.80000000000000004"/>
204      </dia:attribute>
205      <dia:attribute name="polymorphic_font_height">
206        <dia:real val="0.80000000000000004"/>
207      </dia:attribute>
208      <dia:attribute name="abstract_font_height">
209        <dia:real val="0.80000000000000004"/>
210      </dia:attribute>
211      <dia:attribute name="classname_font_height">
212        <dia:real val="1"/>
213      </dia:attribute>
214      <dia:attribute name="abstract_classname_font_height">
215        <dia:real val="1"/>
216      </dia:attribute>
217      <dia:attribute name="comment_font_height">
218        <dia:real val="0.69999999999999996"/>
219      </dia:attribute>
220      <dia:attribute name="attributes"/>
221      <dia:attribute name="operations"/>
222      <dia:attribute name="template">
223        <dia:boolean val="false"/>
224      </dia:attribute>
225      <dia:attribute name="templates"/>
226    </dia:object>
227    <dia:object type="UML - Class" version="0" id="O2">
228      <dia:attribute name="obj_pos">
229        <dia:point val="16.155,14.67"/>
230      </dia:attribute>
231      <dia:attribute name="obj_bb">
232        <dia:rectangle val="16.105,14.62;24.5875,16.12"/>
233      </dia:attribute>
234      <dia:attribute name="elem_corner">
235        <dia:point val="16.155,14.67"/>
236      </dia:attribute>
237      <dia:attribute name="elem_width">
238        <dia:real val="8.3825000000000003"/>
239      </dia:attribute>
240      <dia:attribute name="elem_height">
241        <dia:real val="1.3999999999999999"/>
242      </dia:attribute>
243      <dia:attribute name="name">
244        <dia:string>#gray-streams.lisp#</dia:string>
245      </dia:attribute>
246      <dia:attribute name="stereotype">
247        <dia:string>##</dia:string>
248      </dia:attribute>
249      <dia:attribute name="comment">
250        <dia:string>##</dia:string>
251      </dia:attribute>
252      <dia:attribute name="abstract">
253        <dia:boolean val="false"/>
254      </dia:attribute>
255      <dia:attribute name="suppress_attributes">
256        <dia:boolean val="false"/>
257      </dia:attribute>
258      <dia:attribute name="suppress_operations">
259        <dia:boolean val="false"/>
260      </dia:attribute>
261      <dia:attribute name="visible_attributes">
262        <dia:boolean val="false"/>
263      </dia:attribute>
264      <dia:attribute name="visible_operations">
265        <dia:boolean val="false"/>
266      </dia:attribute>
267      <dia:attribute name="visible_comments">
268        <dia:boolean val="false"/>
269      </dia:attribute>
270      <dia:attribute name="wrap_operations">
271        <dia:boolean val="true"/>
272      </dia:attribute>
273      <dia:attribute name="wrap_after_char">
274        <dia:int val="40"/>
275      </dia:attribute>
276      <dia:attribute name="comment_line_length">
277        <dia:int val="17"/>
278      </dia:attribute>
279      <dia:attribute name="comment_tagging">
280        <dia:boolean val="false"/>
281      </dia:attribute>
282      <dia:attribute name="line_width">
283        <dia:real val="0.10000000000000001"/>
284      </dia:attribute>
285      <dia:attribute name="line_color">
286        <dia:color val="#000000"/>
287      </dia:attribute>
288      <dia:attribute name="fill_color">
289        <dia:color val="#ffffff"/>
290      </dia:attribute>
291      <dia:attribute name="text_color">
292        <dia:color val="#000000"/>
293      </dia:attribute>
294      <dia:attribute name="normal_font">
295        <dia:font family="monospace" style="0" name="Courier"/>
296      </dia:attribute>
297      <dia:attribute name="abstract_font">
298        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
299      </dia:attribute>
300      <dia:attribute name="polymorphic_font">
301        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
302      </dia:attribute>
303      <dia:attribute name="classname_font">
304        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
305      </dia:attribute>
306      <dia:attribute name="abstract_classname_font">
307        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
308      </dia:attribute>
309      <dia:attribute name="comment_font">
310        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
311      </dia:attribute>
312      <dia:attribute name="normal_font_height">
313        <dia:real val="0.80000000000000004"/>
314      </dia:attribute>
315      <dia:attribute name="polymorphic_font_height">
316        <dia:real val="0.80000000000000004"/>
317      </dia:attribute>
318      <dia:attribute name="abstract_font_height">
319        <dia:real val="0.80000000000000004"/>
320      </dia:attribute>
321      <dia:attribute name="classname_font_height">
322        <dia:real val="1"/>
323      </dia:attribute>
324      <dia:attribute name="abstract_classname_font_height">
325        <dia:real val="1"/>
326      </dia:attribute>
327      <dia:attribute name="comment_font_height">
328        <dia:real val="0.69999999999999996"/>
329      </dia:attribute>
330      <dia:attribute name="attributes"/>
331      <dia:attribute name="operations"/>
332      <dia:attribute name="template">
333        <dia:boolean val="false"/>
334      </dia:attribute>
335      <dia:attribute name="templates"/>
336    </dia:object>
337    <dia:object type="UML - Class" version="0" id="O3">
338      <dia:attribute name="obj_pos">
339        <dia:point val="16.96,7.99"/>
340      </dia:attribute>
341      <dia:attribute name="obj_bb">
342        <dia:rectangle val="16.91,7.94;24.8925,9.44"/>
343      </dia:attribute>
344      <dia:attribute name="elem_corner">
345        <dia:point val="16.96,7.99"/>
346      </dia:attribute>
347      <dia:attribute name="elem_width">
348        <dia:real val="7.8825000000000003"/>
349      </dia:attribute>
350      <dia:attribute name="elem_height">
351        <dia:real val="1.3999999999999999"/>
352      </dia:attribute>
353      <dia:attribute name="name">
354        <dia:string>#streamfunctions#</dia:string>
355      </dia:attribute>
356      <dia:attribute name="stereotype">
357        <dia:string>##</dia:string>
358      </dia:attribute>
359      <dia:attribute name="comment">
360        <dia:string>##</dia:string>
361      </dia:attribute>
362      <dia:attribute name="abstract">
363        <dia:boolean val="false"/>
364      </dia:attribute>
365      <dia:attribute name="suppress_attributes">
366        <dia:boolean val="false"/>
367      </dia:attribute>
368      <dia:attribute name="suppress_operations">
369        <dia:boolean val="false"/>
370      </dia:attribute>
371      <dia:attribute name="visible_attributes">
372        <dia:boolean val="false"/>
373      </dia:attribute>
374      <dia:attribute name="visible_operations">
375        <dia:boolean val="false"/>
376      </dia:attribute>
377      <dia:attribute name="visible_comments">
378        <dia:boolean val="false"/>
379      </dia:attribute>
380      <dia:attribute name="wrap_operations">
381        <dia:boolean val="true"/>
382      </dia:attribute>
383      <dia:attribute name="wrap_after_char">
384        <dia:int val="40"/>
385      </dia:attribute>
386      <dia:attribute name="comment_line_length">
387        <dia:int val="17"/>
388      </dia:attribute>
389      <dia:attribute name="comment_tagging">
390        <dia:boolean val="false"/>
391      </dia:attribute>
392      <dia:attribute name="line_width">
393        <dia:real val="0.10000000000000001"/>
394      </dia:attribute>
395      <dia:attribute name="line_color">
396        <dia:color val="#000000"/>
397      </dia:attribute>
398      <dia:attribute name="fill_color">
399        <dia:color val="#ffffff"/>
400      </dia:attribute>
401      <dia:attribute name="text_color">
402        <dia:color val="#000000"/>
403      </dia:attribute>
404      <dia:attribute name="normal_font">
405        <dia:font family="monospace" style="0" name="Courier"/>
406      </dia:attribute>
407      <dia:attribute name="abstract_font">
408        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
409      </dia:attribute>
410      <dia:attribute name="polymorphic_font">
411        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
412      </dia:attribute>
413      <dia:attribute name="classname_font">
414        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
415      </dia:attribute>
416      <dia:attribute name="abstract_classname_font">
417        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
418      </dia:attribute>
419      <dia:attribute name="comment_font">
420        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
421      </dia:attribute>
422      <dia:attribute name="normal_font_height">
423        <dia:real val="0.80000000000000004"/>
424      </dia:attribute>
425      <dia:attribute name="polymorphic_font_height">
426        <dia:real val="0.80000000000000004"/>
427      </dia:attribute>
428      <dia:attribute name="abstract_font_height">
429        <dia:real val="0.80000000000000004"/>
430      </dia:attribute>
431      <dia:attribute name="classname_font_height">
432        <dia:real val="1"/>
433      </dia:attribute>
434      <dia:attribute name="abstract_classname_font_height">
435        <dia:real val="1"/>
436      </dia:attribute>
437      <dia:attribute name="comment_font_height">
438        <dia:real val="0.69999999999999996"/>
439      </dia:attribute>
440      <dia:attribute name="attributes"/>
441      <dia:attribute name="operations"/>
442      <dia:attribute name="template">
443        <dia:boolean val="false"/>
444      </dia:attribute>
445      <dia:attribute name="templates"/>
446    </dia:object>
447    <dia:object type="UML - Class" version="0" id="O4">
448      <dia:attribute name="obj_pos">
449        <dia:point val="48.315,27.71"/>
450      </dia:attribute>
451      <dia:attribute name="obj_bb">
452        <dia:rectangle val="48.265,27.66;54.315,29.16"/>
453      </dia:attribute>
454      <dia:attribute name="elem_corner">
455        <dia:point val="48.315,27.71"/>
456      </dia:attribute>
457      <dia:attribute name="elem_width">
458        <dia:real val="5.9500000000000002"/>
459      </dia:attribute>
460      <dia:attribute name="elem_height">
461        <dia:real val="1.3999999999999999"/>
462      </dia:attribute>
463      <dia:attribute name="name">
464        <dia:string>#Stream.java#</dia:string>
465      </dia:attribute>
466      <dia:attribute name="stereotype">
467        <dia:string>##</dia:string>
468      </dia:attribute>
469      <dia:attribute name="comment">
470        <dia:string>##</dia:string>
471      </dia:attribute>
472      <dia:attribute name="abstract">
473        <dia:boolean val="false"/>
474      </dia:attribute>
475      <dia:attribute name="suppress_attributes">
476        <dia:boolean val="false"/>
477      </dia:attribute>
478      <dia:attribute name="suppress_operations">
479        <dia:boolean val="false"/>
480      </dia:attribute>
481      <dia:attribute name="visible_attributes">
482        <dia:boolean val="false"/>
483      </dia:attribute>
484      <dia:attribute name="visible_operations">
485        <dia:boolean val="false"/>
486      </dia:attribute>
487      <dia:attribute name="visible_comments">
488        <dia:boolean val="false"/>
489      </dia:attribute>
490      <dia:attribute name="wrap_operations">
491        <dia:boolean val="true"/>
492      </dia:attribute>
493      <dia:attribute name="wrap_after_char">
494        <dia:int val="40"/>
495      </dia:attribute>
496      <dia:attribute name="comment_line_length">
497        <dia:int val="17"/>
498      </dia:attribute>
499      <dia:attribute name="comment_tagging">
500        <dia:boolean val="false"/>
501      </dia:attribute>
502      <dia:attribute name="line_width">
503        <dia:real val="0.10000000000000001"/>
504      </dia:attribute>
505      <dia:attribute name="line_color">
506        <dia:color val="#000000"/>
507      </dia:attribute>
508      <dia:attribute name="fill_color">
509        <dia:color val="#ffffff"/>
510      </dia:attribute>
511      <dia:attribute name="text_color">
512        <dia:color val="#000000"/>
513      </dia:attribute>
514      <dia:attribute name="normal_font">
515        <dia:font family="monospace" style="0" name="Courier"/>
516      </dia:attribute>
517      <dia:attribute name="abstract_font">
518        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
519      </dia:attribute>
520      <dia:attribute name="polymorphic_font">
521        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
522      </dia:attribute>
523      <dia:attribute name="classname_font">
524        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
525      </dia:attribute>
526      <dia:attribute name="abstract_classname_font">
527        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
528      </dia:attribute>
529      <dia:attribute name="comment_font">
530        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
531      </dia:attribute>
532      <dia:attribute name="normal_font_height">
533        <dia:real val="0.80000000000000004"/>
534      </dia:attribute>
535      <dia:attribute name="polymorphic_font_height">
536        <dia:real val="0.80000000000000004"/>
537      </dia:attribute>
538      <dia:attribute name="abstract_font_height">
539        <dia:real val="0.80000000000000004"/>
540      </dia:attribute>
541      <dia:attribute name="classname_font_height">
542        <dia:real val="1"/>
543      </dia:attribute>
544      <dia:attribute name="abstract_classname_font_height">
545        <dia:real val="1"/>
546      </dia:attribute>
547      <dia:attribute name="comment_font_height">
548        <dia:real val="0.69999999999999996"/>
549      </dia:attribute>
550      <dia:attribute name="attributes"/>
551      <dia:attribute name="operations"/>
552      <dia:attribute name="template">
553        <dia:boolean val="false"/>
554      </dia:attribute>
555      <dia:attribute name="templates"/>
556    </dia:object>
557    <dia:object type="UML - Class" version="0" id="O5">
558      <dia:attribute name="obj_pos">
559        <dia:point val="4.505,24.77"/>
560      </dia:attribute>
561      <dia:attribute name="obj_bb">
562        <dia:rectangle val="4.455,24.72;33.9875,26.22"/>
563      </dia:attribute>
564      <dia:attribute name="elem_corner">
565        <dia:point val="4.505,24.77"/>
566      </dia:attribute>
567      <dia:attribute name="elem_width">
568        <dia:real val="29.432500000000001"/>
569      </dia:attribute>
570      <dia:attribute name="elem_height">
571        <dia:real val="1.3999999999999999"/>
572      </dia:attribute>
573      <dia:attribute name="name">
574        <dia:string>#methods for stream-write-char etc., as allowed by Gray streams#</dia:string>
575      </dia:attribute>
576      <dia:attribute name="stereotype">
577        <dia:string>##</dia:string>
578      </dia:attribute>
579      <dia:attribute name="comment">
580        <dia:string>##</dia:string>
581      </dia:attribute>
582      <dia:attribute name="abstract">
583        <dia:boolean val="false"/>
584      </dia:attribute>
585      <dia:attribute name="suppress_attributes">
586        <dia:boolean val="false"/>
587      </dia:attribute>
588      <dia:attribute name="suppress_operations">
589        <dia:boolean val="false"/>
590      </dia:attribute>
591      <dia:attribute name="visible_attributes">
592        <dia:boolean val="false"/>
593      </dia:attribute>
594      <dia:attribute name="visible_operations">
595        <dia:boolean val="false"/>
596      </dia:attribute>
597      <dia:attribute name="visible_comments">
598        <dia:boolean val="false"/>
599      </dia:attribute>
600      <dia:attribute name="wrap_operations">
601        <dia:boolean val="true"/>
602      </dia:attribute>
603      <dia:attribute name="wrap_after_char">
604        <dia:int val="40"/>
605      </dia:attribute>
606      <dia:attribute name="comment_line_length">
607        <dia:int val="17"/>
608      </dia:attribute>
609      <dia:attribute name="comment_tagging">
610        <dia:boolean val="false"/>
611      </dia:attribute>
612      <dia:attribute name="line_width">
613        <dia:real val="0.10000000000000001"/>
614      </dia:attribute>
615      <dia:attribute name="line_color">
616        <dia:color val="#000000"/>
617      </dia:attribute>
618      <dia:attribute name="fill_color">
619        <dia:color val="#ffffff"/>
620      </dia:attribute>
621      <dia:attribute name="text_color">
622        <dia:color val="#000000"/>
623      </dia:attribute>
624      <dia:attribute name="normal_font">
625        <dia:font family="monospace" style="0" name="Courier"/>
626      </dia:attribute>
627      <dia:attribute name="abstract_font">
628        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
629      </dia:attribute>
630      <dia:attribute name="polymorphic_font">
631        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
632      </dia:attribute>
633      <dia:attribute name="classname_font">
634        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
635      </dia:attribute>
636      <dia:attribute name="abstract_classname_font">
637        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
638      </dia:attribute>
639      <dia:attribute name="comment_font">
640        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
641      </dia:attribute>
642      <dia:attribute name="normal_font_height">
643        <dia:real val="0.80000000000000004"/>
644      </dia:attribute>
645      <dia:attribute name="polymorphic_font_height">
646        <dia:real val="0.80000000000000004"/>
647      </dia:attribute>
648      <dia:attribute name="abstract_font_height">
649        <dia:real val="0.80000000000000004"/>
650      </dia:attribute>
651      <dia:attribute name="classname_font_height">
652        <dia:real val="1"/>
653      </dia:attribute>
654      <dia:attribute name="abstract_classname_font_height">
655        <dia:real val="1"/>
656      </dia:attribute>
657      <dia:attribute name="comment_font_height">
658        <dia:real val="0.69999999999999996"/>
659      </dia:attribute>
660      <dia:attribute name="attributes"/>
661      <dia:attribute name="operations"/>
662      <dia:attribute name="template">
663        <dia:boolean val="false"/>
664      </dia:attribute>
665      <dia:attribute name="templates"/>
666    </dia:object>
667    <dia:object type="UML - Class" version="0" id="O6">
668      <dia:attribute name="obj_pos">
669        <dia:point val="32.45,8.8"/>
670      </dia:attribute>
671      <dia:attribute name="obj_bb">
672        <dia:rectangle val="32.4,8.75;47.42,10.25"/>
673      </dia:attribute>
674      <dia:attribute name="elem_corner">
675        <dia:point val="32.45,8.8"/>
676      </dia:attribute>
677      <dia:attribute name="elem_width">
678        <dia:real val="14.92"/>
679      </dia:attribute>
680      <dia:attribute name="elem_height">
681        <dia:real val="1.3999999999999999"/>
682      </dia:attribute>
683      <dia:attribute name="name">
684        <dia:string>#slots in Stream structure-object#</dia:string>
685      </dia:attribute>
686      <dia:attribute name="stereotype">
687        <dia:string>##</dia:string>
688      </dia:attribute>
689      <dia:attribute name="comment">
690        <dia:string>##</dia:string>
691      </dia:attribute>
692      <dia:attribute name="abstract">
693        <dia:boolean val="false"/>
694      </dia:attribute>
695      <dia:attribute name="suppress_attributes">
696        <dia:boolean val="false"/>
697      </dia:attribute>
698      <dia:attribute name="suppress_operations">
699        <dia:boolean val="false"/>
700      </dia:attribute>
701      <dia:attribute name="visible_attributes">
702        <dia:boolean val="false"/>
703      </dia:attribute>
704      <dia:attribute name="visible_operations">
705        <dia:boolean val="false"/>
706      </dia:attribute>
707      <dia:attribute name="visible_comments">
708        <dia:boolean val="false"/>
709      </dia:attribute>
710      <dia:attribute name="wrap_operations">
711        <dia:boolean val="true"/>
712      </dia:attribute>
713      <dia:attribute name="wrap_after_char">
714        <dia:int val="40"/>
715      </dia:attribute>
716      <dia:attribute name="comment_line_length">
717        <dia:int val="17"/>
718      </dia:attribute>
719      <dia:attribute name="comment_tagging">
720        <dia:boolean val="false"/>
721      </dia:attribute>
722      <dia:attribute name="line_width">
723        <dia:real val="0.10000000000000001"/>
724      </dia:attribute>
725      <dia:attribute name="line_color">
726        <dia:color val="#000000"/>
727      </dia:attribute>
728      <dia:attribute name="fill_color">
729        <dia:color val="#ffffff"/>
730      </dia:attribute>
731      <dia:attribute name="text_color">
732        <dia:color val="#000000"/>
733      </dia:attribute>
734      <dia:attribute name="normal_font">
735        <dia:font family="monospace" style="0" name="Courier"/>
736      </dia:attribute>
737      <dia:attribute name="abstract_font">
738        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
739      </dia:attribute>
740      <dia:attribute name="polymorphic_font">
741        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
742      </dia:attribute>
743      <dia:attribute name="classname_font">
744        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
745      </dia:attribute>
746      <dia:attribute name="abstract_classname_font">
747        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
748      </dia:attribute>
749      <dia:attribute name="comment_font">
750        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
751      </dia:attribute>
752      <dia:attribute name="normal_font_height">
753        <dia:real val="0.80000000000000004"/>
754      </dia:attribute>
755      <dia:attribute name="polymorphic_font_height">
756        <dia:real val="0.80000000000000004"/>
757      </dia:attribute>
758      <dia:attribute name="abstract_font_height">
759        <dia:real val="0.80000000000000004"/>
760      </dia:attribute>
761      <dia:attribute name="classname_font_height">
762        <dia:real val="1"/>
763      </dia:attribute>
764      <dia:attribute name="abstract_classname_font_height">
765        <dia:real val="1"/>
766      </dia:attribute>
767      <dia:attribute name="comment_font_height">
768        <dia:real val="0.69999999999999996"/>
769      </dia:attribute>
770      <dia:attribute name="attributes"/>
771      <dia:attribute name="operations"/>
772      <dia:attribute name="template">
773        <dia:boolean val="false"/>
774      </dia:attribute>
775      <dia:attribute name="templates"/>
776    </dia:object>
777    <dia:object type="UML - Class" version="0" id="O7">
778      <dia:attribute name="obj_pos">
779        <dia:point val="41.205,15.57"/>
780      </dia:attribute>
781      <dia:attribute name="obj_bb">
782        <dia:rectangle val="41.155,15.52;46.425,17.02"/>
783      </dia:attribute>
784      <dia:attribute name="elem_corner">
785        <dia:point val="41.205,15.57"/>
786      </dia:attribute>
787      <dia:attribute name="elem_width">
788        <dia:real val="5.1699999999999999"/>
789      </dia:attribute>
790      <dia:attribute name="elem_height">
791        <dia:real val="1.3999999999999999"/>
792      </dia:attribute>
793      <dia:attribute name="name">
794        <dia:string>#pprint.lisp#</dia:string>
795      </dia:attribute>
796      <dia:attribute name="stereotype">
797        <dia:string>##</dia:string>
798      </dia:attribute>
799      <dia:attribute name="comment">
800        <dia:string>##</dia:string>
801      </dia:attribute>
802      <dia:attribute name="abstract">
803        <dia:boolean val="false"/>
804      </dia:attribute>
805      <dia:attribute name="suppress_attributes">
806        <dia:boolean val="false"/>
807      </dia:attribute>
808      <dia:attribute name="suppress_operations">
809        <dia:boolean val="false"/>
810      </dia:attribute>
811      <dia:attribute name="visible_attributes">
812        <dia:boolean val="false"/>
813      </dia:attribute>
814      <dia:attribute name="visible_operations">
815        <dia:boolean val="false"/>
816      </dia:attribute>
817      <dia:attribute name="visible_comments">
818        <dia:boolean val="false"/>
819      </dia:attribute>
820      <dia:attribute name="wrap_operations">
821        <dia:boolean val="true"/>
822      </dia:attribute>
823      <dia:attribute name="wrap_after_char">
824        <dia:int val="40"/>
825      </dia:attribute>
826      <dia:attribute name="comment_line_length">
827        <dia:int val="17"/>
828      </dia:attribute>
829      <dia:attribute name="comment_tagging">
830        <dia:boolean val="false"/>
831      </dia:attribute>
832      <dia:attribute name="line_width">
833        <dia:real val="0.10000000000000001"/>
834      </dia:attribute>
835      <dia:attribute name="line_color">
836        <dia:color val="#000000"/>
837      </dia:attribute>
838      <dia:attribute name="fill_color">
839        <dia:color val="#ffffff"/>
840      </dia:attribute>
841      <dia:attribute name="text_color">
842        <dia:color val="#000000"/>
843      </dia:attribute>
844      <dia:attribute name="normal_font">
845        <dia:font family="monospace" style="0" name="Courier"/>
846      </dia:attribute>
847      <dia:attribute name="abstract_font">
848        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
849      </dia:attribute>
850      <dia:attribute name="polymorphic_font">
851        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
852      </dia:attribute>
853      <dia:attribute name="classname_font">
854        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
855      </dia:attribute>
856      <dia:attribute name="abstract_classname_font">
857        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
858      </dia:attribute>
859      <dia:attribute name="comment_font">
860        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
861      </dia:attribute>
862      <dia:attribute name="normal_font_height">
863        <dia:real val="0.80000000000000004"/>
864      </dia:attribute>
865      <dia:attribute name="polymorphic_font_height">
866        <dia:real val="0.80000000000000004"/>
867      </dia:attribute>
868      <dia:attribute name="abstract_font_height">
869        <dia:real val="0.80000000000000004"/>
870      </dia:attribute>
871      <dia:attribute name="classname_font_height">
872        <dia:real val="1"/>
873      </dia:attribute>
874      <dia:attribute name="abstract_classname_font_height">
875        <dia:real val="1"/>
876      </dia:attribute>
877      <dia:attribute name="comment_font_height">
878        <dia:real val="0.69999999999999996"/>
879      </dia:attribute>
880      <dia:attribute name="attributes"/>
881      <dia:attribute name="operations"/>
882      <dia:attribute name="template">
883        <dia:boolean val="false"/>
884      </dia:attribute>
885      <dia:attribute name="templates"/>
886    </dia:object>
887    <dia:object type="UML - Class" version="0" id="O8">
888      <dia:attribute name="obj_pos">
889        <dia:point val="33.15,22.05"/>
890      </dia:attribute>
891      <dia:attribute name="obj_bb">
892        <dia:rectangle val="33.1,22;42.81,23.5"/>
893      </dia:attribute>
894      <dia:attribute name="elem_corner">
895        <dia:point val="33.15,22.05"/>
896      </dia:attribute>
897      <dia:attribute name="elem_width">
898        <dia:real val="9.6099999999999994"/>
899      </dia:attribute>
900      <dia:attribute name="elem_height">
901        <dia:real val="1.3999999999999999"/>
902      </dia:attribute>
903      <dia:attribute name="name">
904        <dia:string>#system stream slots#</dia:string>
905      </dia:attribute>
906      <dia:attribute name="stereotype">
907        <dia:string>##</dia:string>
908      </dia:attribute>
909      <dia:attribute name="comment">
910        <dia:string>##</dia:string>
911      </dia:attribute>
912      <dia:attribute name="abstract">
913        <dia:boolean val="false"/>
914      </dia:attribute>
915      <dia:attribute name="suppress_attributes">
916        <dia:boolean val="false"/>
917      </dia:attribute>
918      <dia:attribute name="suppress_operations">
919        <dia:boolean val="false"/>
920      </dia:attribute>
921      <dia:attribute name="visible_attributes">
922        <dia:boolean val="false"/>
923      </dia:attribute>
924      <dia:attribute name="visible_operations">
925        <dia:boolean val="false"/>
926      </dia:attribute>
927      <dia:attribute name="visible_comments">
928        <dia:boolean val="false"/>
929      </dia:attribute>
930      <dia:attribute name="wrap_operations">
931        <dia:boolean val="true"/>
932      </dia:attribute>
933      <dia:attribute name="wrap_after_char">
934        <dia:int val="40"/>
935      </dia:attribute>
936      <dia:attribute name="comment_line_length">
937        <dia:int val="17"/>
938      </dia:attribute>
939      <dia:attribute name="comment_tagging">
940        <dia:boolean val="false"/>
941      </dia:attribute>
942      <dia:attribute name="line_width">
943        <dia:real val="0.10000000000000001"/>
944      </dia:attribute>
945      <dia:attribute name="line_color">
946        <dia:color val="#000000"/>
947      </dia:attribute>
948      <dia:attribute name="fill_color">
949        <dia:color val="#ffffff"/>
950      </dia:attribute>
951      <dia:attribute name="text_color">
952        <dia:color val="#000000"/>
953      </dia:attribute>
954      <dia:attribute name="normal_font">
955        <dia:font family="monospace" style="0" name="Courier"/>
956      </dia:attribute>
957      <dia:attribute name="abstract_font">
958        <dia:font family="monospace" style="88" name="Courier-BoldOblique"/>
959      </dia:attribute>
960      <dia:attribute name="polymorphic_font">
961        <dia:font family="monospace" style="8" name="Courier-Oblique"/>
962      </dia:attribute>
963      <dia:attribute name="classname_font">
964        <dia:font family="sans" style="80" name="Helvetica-Bold"/>
965      </dia:attribute>
966      <dia:attribute name="abstract_classname_font">
967        <dia:font family="sans" style="88" name="Helvetica-BoldOblique"/>
968      </dia:attribute>
969      <dia:attribute name="comment_font">
970        <dia:font family="sans" style="8" name="Helvetica-Oblique"/>
971      </dia:attribute>
972      <dia:attribute name="normal_font_height">
973        <dia:real val="0.80000000000000004"/>
974      </dia:attribute>
975      <dia:attribute name="polymorphic_font_height">
976        <dia:real val="0.80000000000000004"/>
977      </dia:attribute>
978      <dia:attribute name="abstract_font_height">
979        <dia:real val="0.80000000000000004"/>
980      </dia:attribute>
981      <dia:attribute name="classname_font_height">
982        <dia:real val="1"/>
983      </dia:attribute>
984      <dia:attribute name="abstract_classname_font_height">
985        <dia:real val="1"/>
986      </dia:attribute>
987      <dia:attribute name="comment_font_height">
988        <dia:real val="0.69999999999999996"/>
989      </dia:attribute>
990      <dia:attribute name="attributes"/>
991      <dia:attribute name="operations"/>
992      <dia:attribute name="template">
993        <dia:boolean val="false"/>
994      </dia:attribute>
995      <dia:attribute name="templates"/>
996    </dia:object>
997    <dia:object type="UML - Message" version="0" id="O9">
998      <dia:attribute name="obj_pos">
999        <dia:point val="8.12472,8.93618"/>
1000      </dia:attribute>
1001      <dia:attribute name="obj_bb">
1002        <dia:rectangle val="8.07376,7.85;16.9677,9.16779"/>
1003      </dia:attribute>
1004      <dia:attribute name="meta">
1005        <dia:composite type="dict"/>
1006      </dia:attribute>
1007      <dia:attribute name="conn_endpoints">
1008        <dia:point val="8.12472,8.93618"/>
1009        <dia:point val="16.91,8.7669"/>
1010      </dia:attribute>
1011      <dia:attribute name="text_colour">
1012        <dia:color val="#000000"/>
1013      </dia:attribute>
1014      <dia:attribute name="line_colour">
1015        <dia:color val="#000000"/>
1016      </dia:attribute>
1017      <dia:attribute name="text">
1018        <dia:string>#write-char#</dia:string>
1019      </dia:attribute>
1020      <dia:attribute name="type">
1021        <dia:enum val="0"/>
1022      </dia:attribute>
1023      <dia:attribute name="text_pos">
1024        <dia:point val="11.9,8.45"/>
1025      </dia:attribute>
1026      <dia:connections>
1027        <dia:connection handle="0" to="O1" connection="8"/>
1028        <dia:connection handle="1" to="O3" connection="8"/>
1029      </dia:connections>
1030    </dia:object>
1031    <dia:object type="UML - Message" version="0" id="O10">
1032      <dia:attribute name="obj_pos">
1033        <dia:point val="20.4083,14.6231"/>
1034      </dia:attribute>
1035      <dia:attribute name="obj_bb">
1036        <dia:rectangle val="20.3543,9.35399;25.3287,14.677"/>
1037      </dia:attribute>
1038      <dia:attribute name="meta">
1039        <dia:composite type="dict"/>
1040      </dia:attribute>
1041      <dia:attribute name="conn_endpoints">
1042        <dia:point val="20.4083,14.6231"/>
1043        <dia:point val="20.8392,9.43693"/>
1044      </dia:attribute>
1045      <dia:attribute name="text_colour">
1046        <dia:color val="#000000"/>
1047      </dia:attribute>
1048      <dia:attribute name="line_colour">
1049        <dia:color val="#000000"/>
1050      </dia:attribute>
1051      <dia:attribute name="text">
1052        <dia:string>#old-write-char#</dia:string>
1053      </dia:attribute>
1054      <dia:attribute name="type">
1055        <dia:enum val="0"/>
1056      </dia:attribute>
1057      <dia:attribute name="text_pos">
1058        <dia:point val="23.1,12.95"/>
1059      </dia:attribute>
1060      <dia:connections>
1061        <dia:connection handle="0" to="O2" connection="8"/>
1062        <dia:connection handle="1" to="O3" connection="8"/>
1063      </dia:connections>
1064    </dia:object>
1065    <dia:object type="UML - Message" version="0" id="O11">
1066      <dia:attribute name="obj_pos">
1067        <dia:point val="20.2627,16.1202"/>
1068      </dia:attribute>
1069      <dia:attribute name="obj_bb">
1070        <dia:rectangle val="12.79,16.065;20.3179,24.8137"/>
1071      </dia:attribute>
1072      <dia:attribute name="meta">
1073        <dia:composite type="dict"/>
1074      </dia:attribute>
1075      <dia:attribute name="conn_endpoints">
1076        <dia:point val="20.2627,16.1202"/>
1077        <dia:point val="19.3048,24.7198"/>
1078      </dia:attribute>
1079      <dia:attribute name="text_colour">
1080        <dia:color val="#000000"/>
1081      </dia:attribute>
1082      <dia:attribute name="line_colour">
1083        <dia:color val="#000000"/>
1084      </dia:attribute>
1085      <dia:attribute name="text">
1086        <dia:string>#stream-write-char#</dia:string>
1087      </dia:attribute>
1088      <dia:attribute name="type">
1089        <dia:enum val="0"/>
1090      </dia:attribute>
1091      <dia:attribute name="text_pos">
1092        <dia:point val="15.65,22.75"/>
1093      </dia:attribute>
1094      <dia:connections>
1095        <dia:connection handle="0" to="O2" connection="8"/>
1096        <dia:connection handle="1" to="O5" connection="8"/>
1097      </dia:connections>
1098    </dia:object>
1099    <dia:object type="UML - Message" version="0" id="O12">
1100      <dia:attribute name="obj_pos">
1101        <dia:point val="24.8926,8.86008"/>
1102      </dia:attribute>
1103      <dia:attribute name="obj_bb">
1104        <dia:rectangle val="24.8406,7.75;32.4667,9.58174"/>
1105      </dia:attribute>
1106      <dia:attribute name="meta">
1107        <dia:composite type="dict"/>
1108      </dia:attribute>
1109      <dia:attribute name="conn_endpoints">
1110        <dia:point val="24.8926,8.86008"/>
1111        <dia:point val="32.3997,9.17997"/>
1112      </dia:attribute>
1113      <dia:attribute name="text_colour">
1114        <dia:color val="#000000"/>
1115      </dia:attribute>
1116      <dia:attribute name="line_colour">
1117        <dia:color val="#000000"/>
1118      </dia:attribute>
1119      <dia:attribute name="text">
1120        <dia:string>#binary-output#</dia:string>
1121      </dia:attribute>
1122      <dia:attribute name="type">
1123        <dia:enum val="0"/>
1124      </dia:attribute>
1125      <dia:attribute name="text_pos">
1126        <dia:point val="28.75,8.35"/>
1127      </dia:attribute>
1128      <dia:connections>
1129        <dia:connection handle="0" to="O3" connection="8"/>
1130        <dia:connection handle="1" to="O6" connection="8"/>
1131      </dia:connections>
1132    </dia:object>
1133    <dia:object type="UML - Message" version="0" id="O13">
1134      <dia:attribute name="obj_pos">
1135        <dia:point val="39.8012,10.2375"/>
1136      </dia:attribute>
1137      <dia:attribute name="obj_bb">
1138        <dia:rectangle val="33.9412,10.1808;39.8579,22.1203"/>
1139      </dia:attribute>
1140      <dia:attribute name="meta">
1141        <dia:composite type="dict"/>
1142      </dia:attribute>
1143      <dia:attribute name="conn_endpoints">
1144        <dia:point val="39.8012,10.2375"/>
1145        <dia:point val="38.0638,22.0125"/>
1146      </dia:attribute>
1147      <dia:attribute name="text_colour">
1148        <dia:color val="#000000"/>
1149      </dia:attribute>
1150      <dia:attribute name="line_colour">
1151        <dia:color val="#000000"/>
1152      </dia:attribute>
1153      <dia:attribute name="text">
1154        <dia:string>#binary-output#</dia:string>
1155      </dia:attribute>
1156      <dia:attribute name="type">
1157        <dia:enum val="0"/>
1158      </dia:attribute>
1159      <dia:attribute name="text_pos">
1160        <dia:point val="36.125,16.325"/>
1161      </dia:attribute>
1162      <dia:connections>
1163        <dia:connection handle="0" to="O6" connection="8"/>
1164        <dia:connection handle="1" to="O8" connection="8"/>
1165      </dia:connections>
1166    </dia:object>
1167    <dia:object type="UML - Message" version="0" id="O14">
1168      <dia:attribute name="obj_pos">
1169        <dia:point val="40.3391,10.2487"/>
1170      </dia:attribute>
1171      <dia:attribute name="obj_bb">
1172        <dia:rectangle val="40.2709,10.1805;47.1838,15.7635"/>
1173      </dia:attribute>
1174      <dia:attribute name="meta">
1175        <dia:composite type="dict"/>
1176      </dia:attribute>
1177      <dia:attribute name="conn_endpoints">
1178        <dia:point val="40.3391,10.2487"/>
1179        <dia:point val="43.3609,15.5213"/>
1180      </dia:attribute>
1181      <dia:attribute name="text_colour">
1182        <dia:color val="#000000"/>
1183      </dia:attribute>
1184      <dia:attribute name="line_colour">
1185        <dia:color val="#000000"/>
1186      </dia:attribute>
1187      <dia:attribute name="text">
1188        <dia:string>#binary-output#</dia:string>
1189      </dia:attribute>
1190      <dia:attribute name="type">
1191        <dia:enum val="0"/>
1192      </dia:attribute>
1193      <dia:attribute name="text_pos">
1194        <dia:point val="45,13.35"/>
1195      </dia:attribute>
1196      <dia:connections>
1197        <dia:connection handle="0" to="O6" connection="8"/>
1198        <dia:connection handle="1" to="O7" connection="8"/>
1199      </dia:connections>
1200    </dia:object>
1201    <dia:object type="UML - Message" version="0" id="O15">
1202      <dia:attribute name="obj_pos">
1203        <dia:point val="39.7212,23.4996"/>
1204      </dia:attribute>
1205      <dia:attribute name="obj_bb">
1206        <dia:rectangle val="39.6556,23.4341;49.7261,28.0481"/>
1207      </dia:attribute>
1208      <dia:attribute name="meta">
1209        <dia:composite type="dict"/>
1210      </dia:attribute>
1211      <dia:attribute name="conn_endpoints">
1212        <dia:point val="39.7212,23.4996"/>
1213        <dia:point val="49.5238,27.6604"/>
1214      </dia:attribute>
1215      <dia:attribute name="text_colour">
1216        <dia:color val="#000000"/>
1217      </dia:attribute>
1218      <dia:attribute name="line_colour">
1219        <dia:color val="#000000"/>
1220      </dia:attribute>
1221      <dia:attribute name="text">
1222        <dia:string>#binary-output#</dia:string>
1223      </dia:attribute>
1224      <dia:attribute name="type">
1225        <dia:enum val="0"/>
1226      </dia:attribute>
1227      <dia:attribute name="text_pos">
1228        <dia:point val="42.525,26.3"/>
1229      </dia:attribute>
1230      <dia:connections>
1231        <dia:connection handle="0" to="O8" connection="8"/>
1232        <dia:connection handle="1" to="O4" connection="8"/>
1233      </dia:connections>
1234    </dia:object>
1235    <dia:object type="UML - Message" version="0" id="O16">
1236      <dia:attribute name="obj_pos">
1237        <dia:point val="6.64139,9.74998"/>
1238      </dia:attribute>
1239      <dia:attribute name="obj_bb">
1240        <dia:rectangle val="6.57616,9.68475;18.7154,15.0091"/>
1241      </dia:attribute>
1242      <dia:attribute name="meta">
1243        <dia:composite type="dict"/>
1244      </dia:attribute>
1245      <dia:attribute name="conn_endpoints">
1246        <dia:point val="6.64139,9.74998"/>
1247        <dia:point val="18.5174,14.62"/>
1248      </dia:attribute>
1249      <dia:attribute name="text_colour">
1250        <dia:color val="#000000"/>
1251      </dia:attribute>
1252      <dia:attribute name="line_colour">
1253        <dia:color val="#000000"/>
1254      </dia:attribute>
1255      <dia:attribute name="text">
1256        <dia:string>#write-char#</dia:string>
1257      </dia:attribute>
1258      <dia:attribute name="type">
1259        <dia:enum val="0"/>
1260      </dia:attribute>
1261      <dia:attribute name="text_pos">
1262        <dia:point val="12.45,13.5"/>
1263      </dia:attribute>
1264      <dia:connections>
1265        <dia:connection handle="0" to="O1" connection="8"/>
1266        <dia:connection handle="1" to="O2" connection="8"/>
1267      </dia:connections>
1268    </dia:object>
1269    <dia:object type="UML - Message" version="0" id="O17">
1270      <dia:attribute name="obj_pos">
1271        <dia:point val="44.2535,17.0202"/>
1272      </dia:attribute>
1273      <dia:attribute name="obj_bb">
1274        <dia:rectangle val="44.1847,16.9514;52.1338,27.9125"/>
1275      </dia:attribute>
1276      <dia:attribute name="meta">
1277        <dia:composite type="dict"/>
1278      </dia:attribute>
1279      <dia:attribute name="conn_endpoints">
1280        <dia:point val="44.2535,17.0202"/>
1281        <dia:point val="50.8265,27.6598"/>
1282      </dia:attribute>
1283      <dia:attribute name="text_colour">
1284        <dia:color val="#000000"/>
1285      </dia:attribute>
1286      <dia:attribute name="line_colour">
1287        <dia:color val="#000000"/>
1288      </dia:attribute>
1289      <dia:attribute name="text">
1290        <dia:string>#binary-output#</dia:string>
1291      </dia:attribute>
1292      <dia:attribute name="type">
1293        <dia:enum val="0"/>
1294      </dia:attribute>
1295      <dia:attribute name="text_pos">
1296        <dia:point val="49.95,23.075"/>
1297      </dia:attribute>
1298      <dia:connections>
1299        <dia:connection handle="0" to="O7" connection="8"/>
1300        <dia:connection handle="1" to="O4" connection="8"/>
1301      </dia:connections>
1302    </dia:object>
1303    <dia:object type="UML - Note" version="0" id="O18">
1304      <dia:attribute name="obj_pos">
1305        <dia:point val="15.7,5.95"/>
1306      </dia:attribute>
1307      <dia:attribute name="obj_bb">
1308        <dia:rectangle val="15.65,5.9;32.05,7.7"/>
1309      </dia:attribute>
1310      <dia:attribute name="meta">
1311        <dia:composite type="dict"/>
1312      </dia:attribute>
1313      <dia:attribute name="elem_corner">
1314        <dia:point val="15.7,5.95"/>
1315      </dia:attribute>
1316      <dia:attribute name="elem_width">
1317        <dia:real val="16.300000000000001"/>
1318      </dia:attribute>
1319      <dia:attribute name="elem_height">
1320        <dia:real val="1.7"/>
1321      </dia:attribute>
1322      <dia:attribute name="line_width">
1323        <dia:real val="0.10000000000000001"/>
1324      </dia:attribute>
1325      <dia:attribute name="line_colour">
1326        <dia:color val="#000000"/>
1327      </dia:attribute>
1328      <dia:attribute name="fill_colour">
1329        <dia:color val="#ffffff"/>
1330      </dia:attribute>
1331      <dia:attribute name="text">
1332        <dia:composite type="text">
1333          <dia:attribute name="string">
1334            <dia:string>#primitives move to here from Stream.java#</dia:string>
1335          </dia:attribute>
1336          <dia:attribute name="font">
1337            <dia:font family="monospace" style="0" name="Courier"/>
1338          </dia:attribute>
1339          <dia:attribute name="height">
1340            <dia:real val="0.80000000000000004"/>
1341          </dia:attribute>
1342          <dia:attribute name="pos">
1343            <dia:point val="16.05,7.195"/>
1344          </dia:attribute>
1345          <dia:attribute name="color">
1346            <dia:color val="#000000"/>
1347          </dia:attribute>
1348          <dia:attribute name="alignment">
1349            <dia:enum val="0"/>
1350          </dia:attribute>
1351        </dia:composite>
1352      </dia:attribute>
1353    </dia:object>
1354    <dia:object type="UML - Note" version="0" id="O19">
1355      <dia:attribute name="obj_pos">
1356        <dia:point val="0.85,14.65"/>
1357      </dia:attribute>
1358      <dia:attribute name="obj_bb">
1359        <dia:rectangle val="0.8,14.6;15.275,17.2"/>
1360      </dia:attribute>
1361      <dia:attribute name="meta">
1362        <dia:composite type="dict"/>
1363      </dia:attribute>
1364      <dia:attribute name="elem_corner">
1365        <dia:point val="0.85,14.65"/>
1366      </dia:attribute>
1367      <dia:attribute name="elem_width">
1368        <dia:real val="14.375"/>
1369      </dia:attribute>
1370      <dia:attribute name="elem_height">
1371        <dia:real val="2.5"/>
1372      </dia:attribute>
1373      <dia:attribute name="line_width">
1374        <dia:real val="0.10000000000000001"/>
1375      </dia:attribute>
1376      <dia:attribute name="line_colour">
1377        <dia:color val="#000000"/>
1378      </dia:attribute>
1379      <dia:attribute name="fill_colour">
1380        <dia:color val="#ffffff"/>
1381      </dia:attribute>
1382      <dia:attribute name="text">
1383        <dia:composite type="text">
1384          <dia:attribute name="string">
1385            <dia:string>#gray-streams either calls a method
1386or a saved streamfunction#</dia:string>
1387          </dia:attribute>
1388          <dia:attribute name="font">
1389            <dia:font family="monospace" style="0" name="Courier"/>
1390          </dia:attribute>
1391          <dia:attribute name="height">
1392            <dia:real val="0.80000000000000004"/>
1393          </dia:attribute>
1394          <dia:attribute name="pos">
1395            <dia:point val="1.2,15.895"/>
1396          </dia:attribute>
1397          <dia:attribute name="color">
1398            <dia:color val="#000000"/>
1399          </dia:attribute>
1400          <dia:attribute name="alignment">
1401            <dia:enum val="0"/>
1402          </dia:attribute>
1403        </dia:composite>
1404      </dia:attribute>
1405    </dia:object>
1406    <dia:object type="UML - Note" version="0" id="O20">
1407      <dia:attribute name="obj_pos">
1408        <dia:point val="39.6701,6.6"/>
1409      </dia:attribute>
1410      <dia:attribute name="obj_bb">
1411        <dia:rectangle val="39.6201,6.55;51.0151,8.35"/>
1412      </dia:attribute>
1413      <dia:attribute name="meta">
1414        <dia:composite type="dict"/>
1415      </dia:attribute>
1416      <dia:attribute name="elem_corner">
1417        <dia:point val="39.6701,6.6"/>
1418      </dia:attribute>
1419      <dia:attribute name="elem_width">
1420        <dia:real val="11.295"/>
1421      </dia:attribute>
1422      <dia:attribute name="elem_height">
1423        <dia:real val="1.7"/>
1424      </dia:attribute>
1425      <dia:attribute name="line_width">
1426        <dia:real val="0.10000000000000001"/>
1427      </dia:attribute>
1428      <dia:attribute name="line_colour">
1429        <dia:color val="#000000"/>
1430      </dia:attribute>
1431      <dia:attribute name="fill_colour">
1432        <dia:color val="#ffffff"/>
1433      </dia:attribute>
1434      <dia:attribute name="text">
1435        <dia:composite type="text">
1436          <dia:attribute name="string">
1437            <dia:string>#slots allow for dispatching#</dia:string>
1438          </dia:attribute>
1439          <dia:attribute name="font">
1440            <dia:font family="monospace" style="0" name="Courier"/>
1441          </dia:attribute>
1442          <dia:attribute name="height">
1443            <dia:real val="0.80000000000000004"/>
1444          </dia:attribute>
1445          <dia:attribute name="pos">
1446            <dia:point val="40.0201,7.845"/>
1447          </dia:attribute>
1448          <dia:attribute name="color">
1449            <dia:color val="#000000"/>
1450          </dia:attribute>
1451          <dia:attribute name="alignment">
1452            <dia:enum val="0"/>
1453          </dia:attribute>
1454        </dia:composite>
1455      </dia:attribute>
1456    </dia:object>
1457    <dia:object type="UML - Note" version="0" id="O21">
1458      <dia:attribute name="obj_pos">
1459        <dia:point val="47.6202,14.7"/>
1460      </dia:attribute>
1461      <dia:attribute name="obj_bb">
1462        <dia:rectangle val="47.5702,14.65;67.0502,18.05"/>
1463      </dia:attribute>
1464      <dia:attribute name="meta">
1465        <dia:composite type="dict"/>
1466      </dia:attribute>
1467      <dia:attribute name="elem_corner">
1468        <dia:point val="47.6202,14.7"/>
1469      </dia:attribute>
1470      <dia:attribute name="elem_width">
1471        <dia:real val="19.379999999999999"/>
1472      </dia:attribute>
1473      <dia:attribute name="elem_height">
1474        <dia:real val="3.3000000000000003"/>
1475      </dia:attribute>
1476      <dia:attribute name="line_width">
1477        <dia:real val="0.10000000000000001"/>
1478      </dia:attribute>
1479      <dia:attribute name="line_colour">
1480        <dia:color val="#000000"/>
1481      </dia:attribute>
1482      <dia:attribute name="fill_colour">
1483        <dia:color val="#ffffff"/>
1484      </dia:attribute>
1485      <dia:attribute name="text">
1486        <dia:composite type="text">
1487          <dia:attribute name="string">
1488            <dia:string>#pprint creates wrapped streams, and sets slots
1489to contain closures that extract the underlying
1490stream and invoke Stream.java#</dia:string>
1491          </dia:attribute>
1492          <dia:attribute name="font">
1493            <dia:font family="monospace" style="0" name="Courier"/>
1494          </dia:attribute>
1495          <dia:attribute name="height">
1496            <dia:real val="0.80000000000000004"/>
1497          </dia:attribute>
1498          <dia:attribute name="pos">
1499            <dia:point val="47.9702,15.945"/>
1500          </dia:attribute>
1501          <dia:attribute name="color">
1502            <dia:color val="#000000"/>
1503          </dia:attribute>
1504          <dia:attribute name="alignment">
1505            <dia:enum val="0"/>
1506          </dia:attribute>
1507        </dia:composite>
1508      </dia:attribute>
1509    </dia:object>
1510    <dia:object type="UML - Note" version="0" id="O22">
1511      <dia:attribute name="obj_pos">
1512        <dia:point val="24.6831,20.05"/>
1513      </dia:attribute>
1514      <dia:attribute name="obj_bb">
1515        <dia:rectangle val="24.6331,20;37.5681,21.8"/>
1516      </dia:attribute>
1517      <dia:attribute name="meta">
1518        <dia:composite type="dict"/>
1519      </dia:attribute>
1520      <dia:attribute name="elem_corner">
1521        <dia:point val="24.6831,20.05"/>
1522      </dia:attribute>
1523      <dia:attribute name="elem_width">
1524        <dia:real val="12.835000000000001"/>
1525      </dia:attribute>
1526      <dia:attribute name="elem_height">
1527        <dia:real val="1.7"/>
1528      </dia:attribute>
1529      <dia:attribute name="line_width">
1530        <dia:real val="0.10000000000000001"/>
1531      </dia:attribute>
1532      <dia:attribute name="line_colour">
1533        <dia:color val="#000000"/>
1534      </dia:attribute>
1535      <dia:attribute name="fill_colour">
1536        <dia:color val="#ffffff"/>
1537      </dia:attribute>
1538      <dia:attribute name="text">
1539        <dia:composite type="text">
1540          <dia:attribute name="string">
1541            <dia:string>#system slots invoke Stream.java#</dia:string>
1542          </dia:attribute>
1543          <dia:attribute name="font">
1544            <dia:font family="monospace" style="0" name="Courier"/>
1545          </dia:attribute>
1546          <dia:attribute name="height">
1547            <dia:real val="0.80000000000000004"/>
1548          </dia:attribute>
1549          <dia:attribute name="pos">
1550            <dia:point val="25.0331,21.295"/>
1551          </dia:attribute>
1552          <dia:attribute name="color">
1553            <dia:color val="#000000"/>
1554          </dia:attribute>
1555          <dia:attribute name="alignment">
1556            <dia:enum val="0"/>
1557          </dia:attribute>
1558        </dia:composite>
1559      </dia:attribute>
1560    </dia:object>
1561    <dia:object type="UML - Note" version="0" id="O23">
1562      <dia:attribute name="obj_pos">
1563        <dia:point val="39.5685,30.05"/>
1564      </dia:attribute>
1565      <dia:attribute name="obj_bb">
1566        <dia:rectangle val="39.5185,30;58.6135,32.6"/>
1567      </dia:attribute>
1568      <dia:attribute name="meta">
1569        <dia:composite type="dict"/>
1570      </dia:attribute>
1571      <dia:attribute name="elem_corner">
1572        <dia:point val="39.5685,30.05"/>
1573      </dia:attribute>
1574      <dia:attribute name="elem_width">
1575        <dia:real val="18.994999999999997"/>
1576      </dia:attribute>
1577      <dia:attribute name="elem_height">
1578        <dia:real val="2.5"/>
1579      </dia:attribute>
1580      <dia:attribute name="line_width">
1581        <dia:real val="0.10000000000000001"/>
1582      </dia:attribute>
1583      <dia:attribute name="line_colour">
1584        <dia:color val="#000000"/>
1585      </dia:attribute>
1586      <dia:attribute name="fill_colour">
1587        <dia:color val="#ffffff"/>
1588      </dia:attribute>
1589      <dia:attribute name="text">
1590        <dia:composite type="text">
1591          <dia:attribute name="string">
1592            <dia:string>#Stream.java contains functions that are
1593overridden in extending Java classes, as before#</dia:string>
1594          </dia:attribute>
1595          <dia:attribute name="font">
1596            <dia:font family="monospace" style="0" name="Courier"/>
1597          </dia:attribute>
1598          <dia:attribute name="height">
1599            <dia:real val="0.80000000000000004"/>
1600          </dia:attribute>
1601          <dia:attribute name="pos">
1602            <dia:point val="39.9185,31.295"/>
1603          </dia:attribute>
1604          <dia:attribute name="color">
1605            <dia:color val="#000000"/>
1606          </dia:attribute>
1607          <dia:attribute name="alignment">
1608            <dia:enum val="0"/>
1609          </dia:attribute>
1610        </dia:composite>
1611      </dia:attribute>
1612    </dia:object>
1613  </dia:layer>
1614</dia:diagram>
Note: See TracBrowser for help on using the repository browser.