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/branches/SMLNJ/src/compiler/PervEnv/Unsafe/unsafe.sig
ViewVC logotype

Annotation of /sml/branches/SMLNJ/src/compiler/PervEnv/Unsafe/unsafe.sig

Parent Directory Parent Directory | Revision Log Revision Log


Revision 143 - (view) (download) (as text)

1 : monnier 93 (* unsafe.sig
2 : monnier 16 *
3 :     * Copyright (c) 1997 Bell Labs, Lucent Technologies.
4 :     *
5 :     * Unsafe operations on ML values.
6 :     *)
7 :    
8 :     signature UNSAFE =
9 :     sig
10 :    
11 :     structure CInterface : CINTERFACE
12 :     structure Object : UNSAFE_OBJECT
13 :     structure Poll : POLL
14 :    
15 :     structure Vector : UNSAFE_VECTOR
16 :     structure Array : UNSAFE_ARRAY
17 :    
18 :     structure CharVector : UNSAFE_MONO_VECTOR
19 :     where type vector = CharVector.vector
20 :     where type elem = CharVector.elem
21 :     structure CharArray : UNSAFE_MONO_ARRAY
22 :     where type array = CharArray.array
23 :     where type elem = CharArray.elem
24 :    
25 :     structure Word8Vector : UNSAFE_MONO_VECTOR
26 :     where type vector = Word8Vector.vector
27 :     where type elem = Word8Vector.elem
28 :     structure Word8Array : UNSAFE_MONO_ARRAY
29 :     where type array = Word8Array.array
30 :     where type elem = Word8Array.elem
31 :    
32 :     (** once we have flat real vectors, we can include this substructure
33 :     structure Real64Vector : UNSAFE_MONO_VECTOR
34 :     where type vector = Real64Vector.vector
35 :     where type elem = Real64Vector.elem
36 :     **)
37 :     structure Real64Array : UNSAFE_MONO_ARRAY
38 :     where type array = Real64Array.array
39 :     where type elem = Real64Array.elem
40 :    
41 :     val getHdlr : unit -> 'a cont
42 :     val setHdlr : 'a cont -> unit
43 :    
44 :     val getVar : unit -> 'a
45 :     val setVar : 'a -> unit
46 :    
47 :     val getPseudo : int -> 'a
48 :     val setPseudo : ('a * int) -> unit
49 :    
50 :     val blastRead : Word8Vector.vector -> 'a
51 :     val blastWrite : 'a -> Word8Vector.vector
52 :    
53 :     val boxed : 'a -> bool
54 :    
55 :     val cast : 'a -> 'b
56 :    
57 :     (** NOTE: we may want to move the actual representation from build/boot.sml to
58 :     ** here.
59 :     **)
60 : monnier 143 (** I have done just that. -M.Blume (6/1998)
61 :     **)
62 :     datatype runDynEnv =
63 :     NILrde
64 :     | CONSrde of Word8Vector.vector * Object.object * runDynEnv
65 : monnier 16
66 : monnier 143 val pStruct : runDynEnv ref
67 :    
68 : monnier 16 val topLevelCont : unit cont ref
69 :    
70 :     val sigHandler : ((int * int * unit cont) -> unit cont) ref
71 :    
72 :     end;
73 :    
74 : monnier 93

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