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/HashCons/hash-cons-sig.sml
ViewVC logotype

Annotation of /sml/trunk/src/smlnj-lib/HashCons/hash-cons-sig.sml

Parent Directory Parent Directory | Revision Log Revision Log


Revision 967 - (view) (download)

1 : jhr 967 (* hash-cons-sig.sml
2 :     *
3 :     * COPYRIGHT (c) 2001 Bell Labs, Lucent Technologies.
4 :     *)
5 :    
6 :     signature HASH_CONS =
7 :     sig
8 :    
9 :     (* hash table for consing *)
10 :     type 'a tbl
11 :     val new : {eq : 'a * 'a -> bool} -> 'a tbl
12 :     val clear : 'a tbl -> unit
13 :    
14 :     type 'a obj = {nd : 'a, tag : word, hash : word}
15 :    
16 :     val node : 'a obj -> 'a
17 :     val tag : 'a obj -> word
18 :    
19 :     val same : ('a obj * 'a obj) -> bool
20 :     val compare : ('a obj * 'a obj) -> order
21 :    
22 :     val cons0 : 'a tbl -> (word * 'a) -> 'a obj
23 :     val cons1 : 'a tbl -> (word * ('b obj -> 'a))
24 :     -> 'b obj -> 'a obj
25 :     val cons2 : 'a tbl -> (word * ('b obj * 'c obj -> 'a))
26 :     -> 'b obj * 'c obj -> 'a obj
27 :     val cons3 : 'a tbl -> (word * ('b obj * 'c obj * 'd obj -> 'a))
28 :     -> 'b obj * 'c obj * 'd obj -> 'a obj
29 :     val cons4 : 'a tbl -> (word * ('b obj * 'c obj * 'd obj * 'e obj -> 'a))
30 :     -> 'b obj * 'c obj * 'd obj * 'e obj -> 'a obj
31 :     val cons5 : 'a tbl -> (word * ('b obj * 'c obj * 'd obj * 'e obj * 'f obj -> 'a))
32 :     -> 'b obj * 'c obj * 'd obj * 'e obj * 'f obj -> 'a obj
33 :     val consList : 'a tbl -> (word * ('b obj list -> 'a)) -> 'b obj list -> 'a obj
34 :    
35 :     end
36 :    

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