Home My Page Projects Code Snippets Project Openings SML/NJ
Summary Activity Forums Tracker Lists Tasks Docs Surveys News SCM Files

SCM Repository

[smlnj] Annotation of /sml/trunk/src/smlnj-lib/Doc/ML-Doc/Util/atom.mldoc
ViewVC logotype

Annotation of /sml/trunk/src/smlnj-lib/Doc/ML-Doc/Util/atom.mldoc

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1817 - (view) (download)

1 : jhr 751 <!-- atom.mldoc -->
2 :    
3 :     <!DOCTYPE ML-DOC SYSTEM>
4 :    
5 :     <COPYRIGHT OWNER="Bell Labs, Lucent Technologies" YEAR=2000>
6 :     <VERSION VERID="1.0" YEAR=2000 MONTH=11 DAY=21>
7 :     <TITLE>The Atom structure</TITLE>
8 :    
9 :     <INTERFACE>
10 :     <HEAD>The <CD/ATOM/ signature</HEAD>
11 :     <SEEALSO>
12 :     <STRREF TOPID>AtomMap</STRREF>
13 :     <STRREF TOPID>AtomSet</STRREF>
14 :     <STRREF TOPID>AtomTable</STRREF>
15 :     <STRREF TOPID>AtomBinaryMap</STRREF>
16 :     <STRREF TOPID>AtomBinarySet</STRREF>
17 :     <STRREF TOPID>AtomRedBlackMap</STRREF>
18 :     <STRREF TOPID>AtomRedBlackSet</STRREF>
19 :     </SEEALSO>
20 :    
21 :     <PP>
22 :     Atoms are uniquely represented strings that support fast equality/inequality
23 :     tests, as well as hashing and ordered comparisons.
24 :    
25 :     <STRUCTURE STRID="Atom">
26 :     <SIGBODY SIGID="ATOM" FILE=ATOM>
27 :     <SPEC>
28 :     <TYPE><ID>atom
29 : jhr 1817 <COMMENT>
30 :     <PP>
31 :     Atoms are uniquely represented strings that support fast
32 :     equality/inequality tests.
33 : jhr 751 <SPEC>
34 :     <VAL>atom<TY>string -> atom
35 :     <COMMENT>
36 :     <PROTOTY>
37 :     atom <ARG/s/
38 :     </PROTOTY>
39 :     <PP>
40 :     maps the string <ARG>s</ARG> to the corresponding unique atom.
41 :     </COMMENT>
42 :     <SPEC>
43 :     <VAL>atom'<TY>substring -> atom
44 :     <COMMENT>
45 :     <PROTOTY>
46 :     atom' <ARG/ss/
47 :     </PROTOTY>
48 :     <PP>
49 :     maps the substring <ARG>ss</ARG> to the corresponding unique atom.
50 :     </COMMENT>
51 :     <SPEC>
52 :     <VAL>toString<TY>atom -> string
53 :     <COMMENT>
54 :     <PROTOTY>
55 :     toString <ARG/a/
56 :     </PROTOTY>
57 :     <PP>
58 :     returns the string representation of the atom <ARG>a</ARG>.
59 :     </COMMENT>
60 :     <SPEC>
61 :     <VAL>sameAtom<TY>(atom * atom) -> bool
62 :     <COMMENT>
63 :     <PROTOTY>
64 :     sameAtom (<ARG/a1/, <ARG/a2/)
65 :     </PROTOTY>
66 :     <PP>
67 :     returns true if the atoms <ARG>a1</ARG> and <ARG>a2</ARG> are the same.
68 :     This test is constant-time.
69 :     </COMMENT>
70 :     <SPEC>
71 :     <VAL>compare<TY>(atom * atom) -> order
72 :     <COMMENT>
73 :     <PROTOTY>
74 :     compare (<ARG/a1/, <ARG/a2/)
75 :     </PROTOTY>
76 :     <PP>
77 :     compares the atoms the atoms <ARG>a1</ARG> and <ARG>a2</ARG>
78 :     for their relative order.
79 :     <EM>Note that this is not the lexical order of their underlying
80 :     strings.</EM>
81 :     </COMMENT>
82 :     <SPEC>
83 :     <VAL>hash<TY>atom -> word
84 :     <COMMENT>
85 :     <PROTOTY>
86 :     hash <ARG/a/
87 :     </PROTOTY>
88 :     <PP>
89 :     returns a hash key for the atom <ARG>a</ARG>.
90 :     </COMMENT>
91 :     </SIGBODY>
92 :     </STRUCTURE>
93 :    
94 :     </INTERFACE>

root@smlnj-gforge.cs.uchicago.edu
ViewVC Help
Powered by ViewVC 1.0.0