diff --git a/docs/array/docs/docs/Data.Buffer.Core.html b/docs/array/docs/docs/Data.Buffer.Core.html index fa373ad3f..24b3336eb 100644 --- a/docs/array/docs/docs/Data.Buffer.Core.html +++ b/docs/array/docs/docs/Data.Buffer.Core.html @@ -61,4 +61,4 @@ -

Data.Buffer.Core

(source)

Reexports

importpublic Data.Fin
importpublic Data.Nat

Definitions

prim__getByte : Buffer->Bits32->Bits8
prim__setByte : Buffer->Bits32->Bits8->PrimIO ()
prim__newBuf : Bits32->PrimIOBuffer
prim__getString : Buffer->Bits32->Bits32->String
prim__fromString : String->Buffer
prim__copy : Buffer->Bits32->Bits32->Buffer->Bits32->PrimIO ()
recordIBuffer : Nat->Type
  An immutable byte array of size `n`.

Totality: total
Visibility: export
Constructor: 
IB : Buffer->IBuffern

Projection: 
.buf : IBuffern->Buffer
at : IBuffern->Finn->Bits8
  Safely access a value in an byte array at the given position.

Totality: total
Visibility: export
take : (0m : Nat) ->IBuffern-> {auto0_ : LTEmn} ->IBufferm
  We can wrap a prefix of a byte array in O(1) simply by giving it
a new size index.

Note: If you only need a small portion of a potentially large
byte array the rest of which you no longer need, consider to
releasing the large byte array from memory by invoking `force`.

Totality: total
Visibility: export
fromString : (s : String) ->IBuffer (cast (stringByteLengths))
  Convert an UTF-8 string to a buffer

Totality: total
Visibility: export
toString : IBuffern-> (off : Nat) -> (len : Nat) -> {auto0_ : LTE (off+len) n} ->String
  Convert a section of a byte array to an UTF-8 string.

Totality: total
Visibility: export
unsafeGetBuffer : IBuffern->Buffer
  Extracts the inner buffer held by a byte array without copying.

This allows us to write efficiently write the data to a file
without copying it first. This is a highly unsafe operation,
and client code must make sure never ever to mutate the buffer!

Totality: total
Visibility: export
unsafeMakeBuffer : Buffer->IBufferk
  Wrapps a bare mutable buffer in an `IBuffer`.

Client code is responsible to make sure the original buffer is no longer
used.

Totality: total
Visibility: export
dataMBuffer' : RTag->Nat->Type
  A mutable byte array.

Totality: total
Visibility: export
Constructor: 
MB : Buffer->MBuffer'tn

Hint: 
InIO (MBuffer'RIOn)
0MBuffer : Nat->Type
  Convenience alias for `MBuffer' RPure`

Totality: total
Visibility: public export
0IOBuffer : Nat->Type
  Convenience alias for `MBuffer' RIO`

Totality: total
Visibility: public export
newMBuffer : (n : Nat) -> (1_ : T1rs) ->A1rs (MBuffern)
  Creates a new mutable bound to linear computation `s`.

Totality: total
Visibility: export
bufferIO : (n : Nat) ->a->F1 [World] (IOBuffern)
  Creates a new mutable buffer in `T1 [Wrold]`

Totality: total
Visibility: export
newIOBuffer : HasIOio=> (n : Nat) ->io (IOBuffern)
  Creates a new mutable buffer in `IO`.

Totality: total
Visibility: export
set : (r : MBuffer'tn) -> {auto0_ : Resrrs} ->Finn->Bits8->F1'rs
  Safely write a value to a mutable byte vector.

Totality: total
Visibility: export
get : (r : MBuffer'tn) -> {auto0_ : Resrrs} ->Finn->F1rsBits8
  Safely read a value from a mutable byte array.

Totality: total
Visibility: export
modify : (r : MBuffer'tn) -> {auto0_ : Resrrs} ->Finn-> (Bits8->Bits8) ->F1'rs
  Safely modify a value in a mutable byte array.

Totality: total
Visibility: export
release : (0r : MBuffern) -> {auto0p : Resrrs} ->C1'rs (Droprsp)
  Release a byte array.

Afterwards, it can no longer be use with the given linear token.

Totality: total
Visibility: export
bufString : (r : MBuffer'tn) -> {auto0_ : Resrrs} -> (m : Nat) -> {auto0_ : LTEmn} ->F1rsString
  Extracts a string from a (possibly partially) filled byte array.

Totality: total
Visibility: export
0WithMBuffer : Nat->Type->Type
Totality: total
Visibility: public export
0FromMBuffer : Nat->Type->Type
Totality: total
Visibility: public export
create : (n : Nat) ->FromMBufferna->a
  Allocate and potentially freeze a mutable byte array in a linear context.

Note: In case you don't need to freeze the array in the end, using `alloc`
might be more convenient.

Totality: total
Visibility: export
alloc : (n : Nat) ->WithMBufferna->a
  Allocate, use, and release a mutable byte array in a linear computation.

Note: In case you want to freeze the buffer and return it in the
result, use `create`.

Totality: total
Visibility: export
copy : IBufferm-> (srcOffset : Nat) -> (dstOffset : Nat) -> (len : Nat) -> {auto0_ : LTE (srcOffset+len) m} -> {auto0_ : LTE (dstOffset+len) n} -> (r : MBuffern) -> {auto0_ : Resrrs} ->F1'rs
Totality: total
Visibility: export
thaw : IBuffern->FromMBuffernb->b
  Copy the content of an immutable buffer to a new buffer.

Totality: total
Visibility: export
freezeLTE : {auto0_ : LTEmn} -> (r : MBuffern) -> {auto0p : Resrrs} -> (0m : Nat) -> (1_ : T1rs) ->R1 (Droprsp) (IBufferm)
  Wrap a mutable buffer in an `IBuffer` without copying.

In order to make this safe, the associated linear token has to
be discarded.

It is safe to only use a prefix of a properly constructed array,
therefore we are free to give the resulting array a smaller size.
Most of the time, we'd like to use the whole buffer, in which case
we can just use `freezeBufAt`.

Totality: total
Visibility: export
freeze : (r : MBuffern) -> {auto0p : Resrrs} -> (1_ : T1rs) ->R1 (Droprsp) (IBuffern)
Totality: total
Visibility: export
toIO : (r : MBuffern) -> {auto0p : Resrrs} -> (1_ : T1rs) ->R1 (Droprsp) (IOBuffer)
  Release a mutable linear buffer to `IO`, thus making it freely
shareable.

Totality: total
Visibility: export
readIBuffer : HasIOio=>Nat->File->io (EitherFileError (n : Nat**IBuffern))
  Read up to `n` bytes from a file into an immutable buffer.

Totality: total
Visibility: export
writeIBuffer : HasIOio=>File-> (offset : Nat) -> (len : Nat) ->IBuffern-> {auto0_ : LTE (offset+len) n} ->io (Either (FileError, Int) ())
  Write up to `len` bytes from a buffer to a file, starting
at the given offset.

Totality: total
Visibility: export
writeMBuffer : HasIOio=>File-> (offset : Nat) -> (len : Nat) -> {auto0_ : LTE (offset+len) n} -> (r : MBuffern) -> {auto0p : Resrrs} ->T1rs->R1 (Droprsp) (io (Either (FileError, Int) ()))
  Write up to `len` bytes from a buffer to a file, starting
at the given offset.

Totality: total
Visibility: export
+

Data.Buffer.Core

(source)

Reexports

importpublic Data.Fin
importpublic Data.Nat

Definitions

prim__getByte : Buffer->Bits32->Bits8
prim__setByte : Buffer->Bits32->Bits8->PrimIO ()
prim__newBuf : Bits32->PrimIOBuffer
prim__getString : Buffer->Bits32->Bits32->String
prim__fromString : String->Buffer
prim__copy : Buffer->Bits32->Bits32->Buffer->Bits32->PrimIO ()
recordIBuffer : Nat->Type
  An immutable byte array of size `n`.

Totality: total
Visibility: export
Constructor: 
IB : Buffer->IBuffern

Projection: 
.buf : IBuffern->Buffer
at : IBuffern->Finn->Bits8
  Safely access a value in an byte array at the given position.

Totality: total
Visibility: export
take : (0m : Nat) ->IBuffern-> {auto0_ : LTEmn} ->IBufferm
  We can wrap a prefix of a byte array in O(1) simply by giving it
a new size index.

Note: If you only need a small portion of a potentially large
byte array the rest of which you no longer need, consider to
releasing the large byte array from memory by invoking `force`.

Totality: total
Visibility: export
fromString : (s : String) ->IBuffer (cast (stringByteLengths))
  Convert an UTF-8 string to a buffer

Totality: total
Visibility: export
toString : IBuffern-> (off : Nat) -> (len : Nat) -> {auto0_ : LTE (off+len) n} ->String
  Convert a section of a byte array to an UTF-8 string.

Totality: total
Visibility: export
unsafeGetBuffer : IBuffern->Buffer
  Extracts the inner buffer held by a byte array without copying.

This allows us to write efficiently write the data to a file
without copying it first. This is a highly unsafe operation,
and client code must make sure never ever to mutate the buffer!

Totality: total
Visibility: export
unsafeMakeBuffer : Buffer->IBufferk
  Wrapps a bare mutable buffer in an `IBuffer`.

Client code is responsible to make sure the original buffer is no longer
used.

Totality: total
Visibility: export
dataMBuffer' : RTag->Nat->Type
  A mutable byte array.

Totality: total
Visibility: export
Constructor: 
MB : Buffer->MBuffer'tn

Hint: 
InIO (MBuffer'RIOn)
0MBuffer : Nat->Type
  Convenience alias for `MBuffer' RPure`

Totality: total
Visibility: public export
0IOBuffer : Nat->Type
  Convenience alias for `MBuffer' RIO`

Totality: total
Visibility: public export
unsafeWrapBuffer : Buffer->IOBuffern
  Wraps a `Buffer` in an `IOBuffer`. Use at your own risk.

Totality: total
Visibility: export
newMBuffer : (n : Nat) -> (1_ : T1rs) ->A1rs (MBuffern)
  Creates a new mutable bound to linear computation `s`.

Totality: total
Visibility: export
bufferIO : (n : Nat) ->a->F1 [World] (IOBuffern)
  Creates a new mutable buffer in `T1 [Wrold]`

Totality: total
Visibility: export
newIOBuffer : HasIOio=> (n : Nat) ->io (IOBuffern)
  Creates a new mutable buffer in `IO`.

Totality: total
Visibility: export
set : (r : MBuffer'tn) -> {auto0_ : Resrrs} ->Finn->Bits8->F1'rs
  Safely write a value to a mutable byte vector.

Totality: total
Visibility: export
get : (r : MBuffer'tn) -> {auto0_ : Resrrs} ->Finn->F1rsBits8
  Safely read a value from a mutable byte array.

Totality: total
Visibility: export
modify : (r : MBuffer'tn) -> {auto0_ : Resrrs} ->Finn-> (Bits8->Bits8) ->F1'rs
  Safely modify a value in a mutable byte array.

Totality: total
Visibility: export
release : (0r : MBuffern) -> {auto0p : Resrrs} ->C1'rs (Droprsp)
  Release a byte array.

Afterwards, it can no longer be use with the given linear token.

Totality: total
Visibility: export
bufString : (r : MBuffer'tn) -> {auto0_ : Resrrs} -> (m : Nat) -> {auto0_ : LTEmn} ->F1rsString
  Extracts a string from a (possibly partially) filled byte array.

Totality: total
Visibility: export
0WithMBuffer : Nat->Type->Type
Totality: total
Visibility: public export
0FromMBuffer : Nat->Type->Type
Totality: total
Visibility: public export
create : (n : Nat) ->FromMBufferna->a
  Allocate and potentially freeze a mutable byte array in a linear context.

Note: In case you don't need to freeze the array in the end, using `alloc`
might be more convenient.

Totality: total
Visibility: export
alloc : (n : Nat) ->WithMBufferna->a
  Allocate, use, and release a mutable byte array in a linear computation.

Note: In case you want to freeze the buffer and return it in the
result, use `create`.

Totality: total
Visibility: export
copy : IBufferm-> (srcOffset : Nat) -> (dstOffset : Nat) -> (len : Nat) -> {auto0_ : LTE (srcOffset+len) m} -> {auto0_ : LTE (dstOffset+len) n} -> (r : MBuffern) -> {auto0_ : Resrrs} ->F1'rs
Totality: total
Visibility: export
thaw : IBuffern->FromMBuffernb->b
  Copy the content of an immutable buffer to a new buffer.

Totality: total
Visibility: export
freezeLTE : {auto0_ : LTEmn} -> (r : MBuffern) -> {auto0p : Resrrs} -> (0m : Nat) -> (1_ : T1rs) ->R1 (Droprsp) (IBufferm)
  Wrap a mutable buffer in an `IBuffer` without copying.

In order to make this safe, the associated linear token has to
be discarded.

It is safe to only use a prefix of a properly constructed array,
therefore we are free to give the resulting array a smaller size.
Most of the time, we'd like to use the whole buffer, in which case
we can just use `freezeBufAt`.

Totality: total
Visibility: export
freeze : (r : MBuffern) -> {auto0p : Resrrs} -> (1_ : T1rs) ->R1 (Droprsp) (IBuffern)
Totality: total
Visibility: export
toIO : (r : MBuffern) -> {auto0p : Resrrs} -> (1_ : T1rs) ->R1 (Droprsp) (IOBuffer)
  Release a mutable linear buffer to `IO`, thus making it freely
shareable.

Totality: total
Visibility: export
readIBuffer : HasIOio=>Nat->File->io (EitherFileError (n : Nat**IBuffern))
  Read up to `n` bytes from a file into an immutable buffer.

Totality: total
Visibility: export
writeIBuffer : HasIOio=>File-> (offset : Nat) -> (len : Nat) ->IBuffern-> {auto0_ : LTE (offset+len) n} ->io (Either (FileError, Int) ())
  Write up to `len` bytes from a buffer to a file, starting
at the given offset.

Totality: total
Visibility: export
writeMBuffer : HasIOio=>File-> (offset : Nat) -> (len : Nat) -> {auto0_ : LTE (offset+len) n} -> (r : MBuffern) -> {auto0p : Resrrs} ->T1rs->R1 (Droprsp) (io (Either (FileError, Int) ()))
  Write up to `len` bytes from a buffer to a file, starting
at the given offset.

Totality: total
Visibility: export
diff --git a/docs/array/docs/docs/Data.Buffer.Core.src.html b/docs/array/docs/docs/Data.Buffer.Core.src.html index 24b44311f..8132d2a85 100644 --- a/docs/array/docs/docs/Data.Buffer.Core.src.html +++ b/docs/array/docs/docs/Data.Buffer.Core.src.html @@ -238,206 +238,211 @@
117 | public export
118 | InIO (MBuffer' RIO n) where
119 |
-
120 | --------------------------------------------------------------------------------
-
121 | -- Utilities
-
122 | --------------------------------------------------------------------------------
-
123 |
-
124 | ||| Creates a new mutable bound to linear computation `s`.
-
125 | export %inline
-
126 | newMBuffer : (n : Nat) -> (1 t : T1 rs) -> A1 rs (MBuffer n)
-
127 | newMBuffer n t =
-
128 |   let MkIORes b _ := prim__newBuf (cast n) %MkWorld
-
129 |    in MB b # unsafeBind t
-
130 |
-
131 | ||| Creates a new mutable buffer in `T1 [Wrold]`
-
132 | export %inline
-
133 | bufferIO : (n : Nat) -> a -> F1 [World] (IOBuffer n)
-
134 | bufferIO n v t = let m # t := ffi (prim__newBuf (cast n)) t in MB m # t
+
120 | ||| Wraps a `Buffer` in an `IOBuffer`. Use at your own risk.
+
121 | export %inline
+
122 | unsafeWrapBuffer : Buffer -> IOBuffer n
+
123 | unsafeWrapBuffer = MB
+
124 |
+
125 | --------------------------------------------------------------------------------
+
126 | -- Utilities
+
127 | --------------------------------------------------------------------------------
+
128 |
+
129 | ||| Creates a new mutable bound to linear computation `s`.
+
130 | export %inline
+
131 | newMBuffer : (n : Nat) -> (1 t : T1 rs) -> A1 rs (MBuffer n)
+
132 | newMBuffer n t =
+
133 |   let MkIORes b _ := prim__newBuf (cast n) %MkWorld
+
134 |    in MB b # unsafeBind t
135 |
-
136 | ||| Creates a new mutable buffer in `IO`.
+
136 | ||| Creates a new mutable buffer in `T1 [Wrold]`
137 | export %inline
-
138 | newIOBuffer : HasIO io => (n : Nat) -> io (IOBuffer n)
-
139 | newIOBuffer n =
-
140 |   primIO $ \w =>
-
141 |     let MkIORes m w := prim__newBuf (cast n) w
-
142 |      in MkIORes (MB m) w
-
143 |
-
144 | ||| Safely write a value to a mutable byte vector.
-
145 | export %inline
-
146 | set : (r : MBuffer' t n) -> (0 p : Res r rs) => Fin n -> Bits8 -> F1' rs
-
147 | set (MB buf) ix v = ffi (prim__setByte buf (cast $ finToNat ix) v)
+
138 | bufferIO : (n : Nat) -> a -> F1 [World] (IOBuffer n)
+
139 | bufferIO n v t = let m # t := ffi (prim__newBuf (cast n)) t in MB m # t
+
140 |
+
141 | ||| Creates a new mutable buffer in `IO`.
+
142 | export %inline
+
143 | newIOBuffer : HasIO io => (n : Nat) -> io (IOBuffer n)
+
144 | newIOBuffer n =
+
145 |   primIO $ \w =>
+
146 |     let MkIORes m w := prim__newBuf (cast n) w
+
147 |      in MkIORes (MB m) w
148 |
-
149 | ||| Safely read a value from a mutable byte array.
+
149 | ||| Safely write a value to a mutable byte vector.
150 | export %inline
-
151 | get : (r : MBuffer' t n) -> (0 p : Res r rs) => Fin n -> F1 rs Bits8
-
152 | get (MB buf) ix t = prim__getByte buf (cast $ finToNat ix) # t
+
151 | set : (r : MBuffer' t n) -> (0 p : Res r rs) => Fin n -> Bits8 -> F1' rs
+
152 | set (MB buf) ix v = ffi (prim__setByte buf (cast $ finToNat ix) v)
153 |
-
154 | ||| Safely modify a value in a mutable byte array.
-
155 | export
-
156 | modify :
-
157 |      (r : MBuffer' t n)
-
158 |   -> {auto 0 p : Res r rs}
-
159 |   -> Fin n
-
160 |   -> (Bits8 -> Bits8)
-
161 |   -> F1' rs
-
162 | modify r m f t = let v # t := get r m t in set r m (f v) t
-
163 |
-
164 | ||| Release a byte array.
-
165 | |||
-
166 | ||| Afterwards, it can no longer be use with the given linear token.
-
167 | export %inline
-
168 | release : (0 r : MBuffer n) -> (0 p : Res r rs) => C1' rs (Drop rs p)
-
169 | release _ = unsafeRelease p
-
170 |
-
171 | ||| Extracts a string from a (possibly partially) filled byte array.
+
154 | ||| Safely read a value from a mutable byte array.
+
155 | export %inline
+
156 | get : (r : MBuffer' t n) -> (0 p : Res r rs) => Fin n -> F1 rs Bits8
+
157 | get (MB buf) ix t = prim__getByte buf (cast $ finToNat ix) # t
+
158 |
+
159 | ||| Safely modify a value in a mutable byte array.
+
160 | export
+
161 | modify :
+
162 |      (r : MBuffer' t n)
+
163 |   -> {auto 0 p : Res r rs}
+
164 |   -> Fin n
+
165 |   -> (Bits8 -> Bits8)
+
166 |   -> F1' rs
+
167 | modify r m f t = let v # t := get r m t in set r m (f v) t
+
168 |
+
169 | ||| Release a byte array.
+
170 | |||
+
171 | ||| Afterwards, it can no longer be use with the given linear token.
172 | export %inline
-
173 | bufString :
-
174 |      (r : MBuffer' t n)
-
175 |   -> {auto 0 p : Res r rs}
-
176 |   -> (m : Nat)
-
177 |   -> {auto 0 lte : LTE m n}
-
178 |   -> F1 rs String
-
179 | bufString (MB buf) m t = prim__getString buf 0 (cast m) # t
-
180 |
-
181 | --------------------------------------------------------------------------------
-
182 | -- Allocating Byte Vectors
-
183 | --------------------------------------------------------------------------------
-
184 |
-
185 | public export
-
186 | 0 WithMBuffer : Nat -> (a : Type) -> Type
-
187 | WithMBuffer n a = (r : MBuffer n) -> F1 [r] a
-
188 |
-
189 | public export
-
190 | 0 FromMBuffer : Nat -> (a : Type) -> Type
-
191 | FromMBuffer n a = (r : MBuffer n) -> C1 [r] [] a
-
192 |
-
193 | ||| Allocate and potentially freeze a mutable byte array in a linear context.
-
194 | |||
-
195 | ||| Note: In case you don't need to freeze the array in the end, using `alloc`
-
196 | |||       might be more convenient.
-
197 | export
-
198 | create : (n : Nat) -> (fun : FromMBuffer n a) -> a
-
199 | create n f = run1 $ \t => let r # t := newMBuffer n t in f r t
-
200 |
-
201 | ||| Allocate, use, and release a mutable byte array in a linear computation.
-
202 | |||
-
203 | ||| Note: In case you want to freeze the buffer and return it in the
-
204 | |||       result, use `create`.
-
205 | export
-
206 | alloc : (n : Nat) -> (fun : WithMBuffer n a) -> a
-
207 | alloc n f =
-
208 |   create n $ \r,t =>
-
209 |     let v # t := f r t
-
210 |         _ # t := release r t
-
211 |      in v # t
-
212 |
-
213 | --------------------------------------------------------------------------------
-
214 | -- Utilities
-
215 | --------------------------------------------------------------------------------
-
216 |
-
217 | export %noinline
-
218 | copy :
-
219 |      IBuffer m
-
220 |   -> (srcOffset,dstOffset : Nat)
-
221 |   -> (len : Nat)
-
222 |   -> {auto 0 p1 : LTE (srcOffset + len) m}
-
223 |   -> {auto 0 p2 : LTE (dstOffset + len) n}
-
224 |   -> (r         : MBuffer n)
-
225 |   -> {auto 0 p  : Res r rs}
-
226 |   -> F1' rs
-
227 | copy (IB src) srcOffset dstOffset len (MB dst) =
-
228 |   ffi (prim__copy src (cast srcOffset) (cast len) dst (cast dstOffset))
-
229 |
-
230 | ||| Copy the content of an immutable buffer to a new buffer.
-
231 | export
-
232 | thaw : {n : _} -> IBuffer n -> (fun : FromMBuffer n b) -> b
-
233 | thaw src f =
-
234 |   create n $ \r,t =>
-
235 |     let _ # t := copy src 0 0 n @{reflexive} @{reflexive} r t
-
236 |      in f r t
-
237 |
-
238 | ||| Wrap a mutable buffer in an `IBuffer` without copying.
-
239 | |||
-
240 | ||| In order to make this safe, the associated linear token has to
-
241 | ||| be discarded.
-
242 | |||
-
243 | ||| It is safe to only use a prefix of a properly constructed array,
-
244 | ||| therefore we are free to give the resulting array a smaller size.
-
245 | ||| Most of the time, we'd like to use the whole buffer, in which case
-
246 | ||| we can just use `freezeBufAt`.
-
247 | export %inline
-
248 | freezeLTE :
-
249 |      {auto 0 _ : LTE m n}
-
250 |   -> (r        : MBuffer n)
-
251 |   -> {auto 0 p : Res r rs}
-
252 |   -> (0 m : Nat)
-
253 |   -> (1 t : T1 rs)
-
254 |   -> R1 (Drop rs p) (IBuffer m)
-
255 | freezeLTE (MB buf) _ t = let _ # t := unsafeRelease p t in IB buf # t
-
256 |
-
257 | export %inline
-
258 | freeze :
-
259 |      (r : MBuffer n)
-
260 |   -> {auto 0 p : Res r rs}
-
261 |   -> (1 t : T1 rs)
-
262 |   -> R1 (Drop rs p) (IBuffer n)
-
263 | freeze r = freezeLTE @{reflexive} r n
-
264 |
-
265 | ||| Release a mutable linear buffer to `IO`, thus making it freely
-
266 | ||| shareable.
-
267 | export %inline
-
268 | toIO :
-
269 |      (r : MBuffer n)
-
270 |   -> {auto 0 p : Res r rs}
-
271 |   -> (1 t : T1 rs)
-
272 |   -> R1 (Drop rs p) (IO Buffer)
-
273 | toIO (MB buf) t = let _ # t := unsafeRelease p t in pure buf # t
-
274 |
-
275 | --------------------------------------------------------------------------------
-
276 | --          Reading and Writing Files
-
277 | --------------------------------------------------------------------------------
-
278 |
-
279 | ||| Read up to `n` bytes from a file into an immutable buffer.
-
280 | export
-
281 | readIBuffer :
-
282 |      {auto has : HasIO io}
-
283 |   -> Nat
-
284 |   -> File
-
285 |   -> io (Either FileError (n ** IBuffer n))
-
286 | readIBuffer max f = do
-
287 |   buf <- primIO (prim__newBuf (cast max))
-
288 |   Right r <- readBufferData f buf 0 (cast max) | Left x => pure (Left x)
-
289 |   if r >= 0
-
290 |      then pure (Right (cast r ** IB buf))
-
291 |      else pure (Left FileReadError)
-
292 |
-
293 | ||| Write up to `len` bytes from a buffer to a file, starting
-
294 | ||| at the given offset.
-
295 | export
-
296 | writeIBuffer :
-
297 |      {auto has : HasIO io}
-
298 |   -> File
-
299 |   -> (offset,len : Nat)
-
300 |   -> IBuffer n
-
301 |   -> {auto 0 prf : LTE (offset + len) n}
-
302 |   -> io (Either (FileError,Int) ())
-
303 | writeIBuffer h o s (IB buf) = writeBufferData h buf (cast o) (cast s)
-
304 |
-
305 | ||| Write up to `len` bytes from a buffer to a file, starting
-
306 | ||| at the given offset.
-
307 | export
-
308 | writeMBuffer :
-
309 |      {auto has : HasIO io}
-
310 |   -> File
-
311 |   -> (offset,len : Nat)
-
312 |   -> {auto 0 prf : LTE (offset + len) n}
-
313 |   -> (r : MBuffer n)
-
314 |   -> {auto 0 p : Res r rs}
-
315 |   -> T1 rs
-
316 |   -> R1 (Drop rs p) (io (Either (FileError,Int) ()))
-
317 | writeMBuffer h o s (MB b) t =
-
318 |   let _ # t := unsafeRelease p t in writeBufferData h b (cast o) (cast s) # t
-
319 |
+
173 | release : (0 r : MBuffer n) -> (0 p : Res r rs) => C1' rs (Drop rs p)
+
174 | release _ = unsafeRelease p
+
175 |
+
176 | ||| Extracts a string from a (possibly partially) filled byte array.
+
177 | export %inline
+
178 | bufString :
+
179 |      (r : MBuffer' t n)
+
180 |   -> {auto 0 p : Res r rs}
+
181 |   -> (m : Nat)
+
182 |   -> {auto 0 lte : LTE m n}
+
183 |   -> F1 rs String
+
184 | bufString (MB buf) m t = prim__getString buf 0 (cast m) # t
+
185 |
+
186 | --------------------------------------------------------------------------------
+
187 | -- Allocating Byte Vectors
+
188 | --------------------------------------------------------------------------------
+
189 |
+
190 | public export
+
191 | 0 WithMBuffer : Nat -> (a : Type) -> Type
+
192 | WithMBuffer n a = (r : MBuffer n) -> F1 [r] a
+
193 |
+
194 | public export
+
195 | 0 FromMBuffer : Nat -> (a : Type) -> Type
+
196 | FromMBuffer n a = (r : MBuffer n) -> C1 [r] [] a
+
197 |
+
198 | ||| Allocate and potentially freeze a mutable byte array in a linear context.
+
199 | |||
+
200 | ||| Note: In case you don't need to freeze the array in the end, using `alloc`
+
201 | |||       might be more convenient.
+
202 | export
+
203 | create : (n : Nat) -> (fun : FromMBuffer n a) -> a
+
204 | create n f = run1 $ \t => let r # t := newMBuffer n t in f r t
+
205 |
+
206 | ||| Allocate, use, and release a mutable byte array in a linear computation.
+
207 | |||
+
208 | ||| Note: In case you want to freeze the buffer and return it in the
+
209 | |||       result, use `create`.
+
210 | export
+
211 | alloc : (n : Nat) -> (fun : WithMBuffer n a) -> a
+
212 | alloc n f =
+
213 |   create n $ \r,t =>
+
214 |     let v # t := f r t
+
215 |         _ # t := release r t
+
216 |      in v # t
+
217 |
+
218 | --------------------------------------------------------------------------------
+
219 | -- Utilities
+
220 | --------------------------------------------------------------------------------
+
221 |
+
222 | export %noinline
+
223 | copy :
+
224 |      IBuffer m
+
225 |   -> (srcOffset,dstOffset : Nat)
+
226 |   -> (len : Nat)
+
227 |   -> {auto 0 p1 : LTE (srcOffset + len) m}
+
228 |   -> {auto 0 p2 : LTE (dstOffset + len) n}
+
229 |   -> (r         : MBuffer n)
+
230 |   -> {auto 0 p  : Res r rs}
+
231 |   -> F1' rs
+
232 | copy (IB src) srcOffset dstOffset len (MB dst) =
+
233 |   ffi (prim__copy src (cast srcOffset) (cast len) dst (cast dstOffset))
+
234 |
+
235 | ||| Copy the content of an immutable buffer to a new buffer.
+
236 | export
+
237 | thaw : {n : _} -> IBuffer n -> (fun : FromMBuffer n b) -> b
+
238 | thaw src f =
+
239 |   create n $ \r,t =>
+
240 |     let _ # t := copy src 0 0 n @{reflexive} @{reflexive} r t
+
241 |      in f r t
+
242 |
+
243 | ||| Wrap a mutable buffer in an `IBuffer` without copying.
+
244 | |||
+
245 | ||| In order to make this safe, the associated linear token has to
+
246 | ||| be discarded.
+
247 | |||
+
248 | ||| It is safe to only use a prefix of a properly constructed array,
+
249 | ||| therefore we are free to give the resulting array a smaller size.
+
250 | ||| Most of the time, we'd like to use the whole buffer, in which case
+
251 | ||| we can just use `freezeBufAt`.
+
252 | export %inline
+
253 | freezeLTE :
+
254 |      {auto 0 _ : LTE m n}
+
255 |   -> (r        : MBuffer n)
+
256 |   -> {auto 0 p : Res r rs}
+
257 |   -> (0 m : Nat)
+
258 |   -> (1 t : T1 rs)
+
259 |   -> R1 (Drop rs p) (IBuffer m)
+
260 | freezeLTE (MB buf) _ t = let _ # t := unsafeRelease p t in IB buf # t
+
261 |
+
262 | export %inline
+
263 | freeze :
+
264 |      (r : MBuffer n)
+
265 |   -> {auto 0 p : Res r rs}
+
266 |   -> (1 t : T1 rs)
+
267 |   -> R1 (Drop rs p) (IBuffer n)
+
268 | freeze r = freezeLTE @{reflexive} r n
+
269 |
+
270 | ||| Release a mutable linear buffer to `IO`, thus making it freely
+
271 | ||| shareable.
+
272 | export %inline
+
273 | toIO :
+
274 |      (r : MBuffer n)
+
275 |   -> {auto 0 p : Res r rs}
+
276 |   -> (1 t : T1 rs)
+
277 |   -> R1 (Drop rs p) (IO Buffer)
+
278 | toIO (MB buf) t = let _ # t := unsafeRelease p t in pure buf # t
+
279 |
+
280 | --------------------------------------------------------------------------------
+
281 | --          Reading and Writing Files
+
282 | --------------------------------------------------------------------------------
+
283 |
+
284 | ||| Read up to `n` bytes from a file into an immutable buffer.
+
285 | export
+
286 | readIBuffer :
+
287 |      {auto has : HasIO io}
+
288 |   -> Nat
+
289 |   -> File
+
290 |   -> io (Either FileError (n ** IBuffer n))
+
291 | readIBuffer max f = do
+
292 |   buf <- primIO (prim__newBuf (cast max))
+
293 |   Right r <- readBufferData f buf 0 (cast max) | Left x => pure (Left x)
+
294 |   if r >= 0
+
295 |      then pure (Right (cast r ** IB buf))
+
296 |      else pure (Left FileReadError)
+
297 |
+
298 | ||| Write up to `len` bytes from a buffer to a file, starting
+
299 | ||| at the given offset.
+
300 | export
+
301 | writeIBuffer :
+
302 |      {auto has : HasIO io}
+
303 |   -> File
+
304 |   -> (offset,len : Nat)
+
305 |   -> IBuffer n
+
306 |   -> {auto 0 prf : LTE (offset + len) n}
+
307 |   -> io (Either (FileError,Int) ())
+
308 | writeIBuffer h o s (IB buf) = writeBufferData h buf (cast o) (cast s)
+
309 |
+
310 | ||| Write up to `len` bytes from a buffer to a file, starting
+
311 | ||| at the given offset.
+
312 | export
+
313 | writeMBuffer :
+
314 |      {auto has : HasIO io}
+
315 |   -> File
+
316 |   -> (offset,len : Nat)
+
317 |   -> {auto 0 prf : LTE (offset + len) n}
+
318 |   -> (r : MBuffer n)
+
319 |   -> {auto 0 p : Res r rs}
+
320 |   -> T1 rs
+
321 |   -> R1 (Drop rs p) (io (Either (FileError,Int) ()))
+
322 | writeMBuffer h o s (MB b) t =
+
323 |   let _ # t := unsafeRelease p t in writeBufferData h b (cast o) (cast s) # t
+
324 |
diff --git a/docs/chem/docs/docs/Chem.Rings.html b/docs/chem/docs/docs/Chem.Rings.html index 23406550a..fecb42b0d 100644 --- a/docs/chem/docs/docs/Chem.Rings.html +++ b/docs/chem/docs/docs/Chem.Rings.html @@ -61,4 +61,4 @@ -

Chem.Rings

(source)

Definitions

recordRing : Nat->Type
Totality: total
Visibility: public export
Constructor: 
R : Integer->Ringk

Projection: 
.value : Ringk->Integer

Hints:
Eq (Ringk)
Monoid (Ringk)
Semigroup (Ringk)
Show (Ringk)
.value : Ringk->Integer
Totality: total
Visibility: public export
value : Ringk->Integer
Totality: total
Visibility: public export
popCountInteger : Integer->Nat
Totality: total
Visibility: export
ringSize : Ringk->Nat
Totality: total
Visibility: export
inRing : Fink->Ringk->Bool
Totality: total
Visibility: export
members : Ringk->List (Fink)
Totality: total
Visibility: export
rings : IGraphken->List (Bool, Ringk)
Totality: total
Visibility: export
+

Chem.Rings

(source)

Definitions

recordRing : Nat->Type
Totality: total
Visibility: public export
Constructor: 
R : Integer->Ringk

Projection: 
.value : Ringk->Integer

Hints:
Eq (Ringk)
Monoid (Ringk)
Semigroup (Ringk)
Show (Ringk)
.value : Ringk->Integer
Totality: total
Visibility: public export
value : Ringk->Integer
Totality: total
Visibility: public export
popCountInteger : Integer->Nat
Totality: total
Visibility: export
ringSize : Ringk->Nat
Totality: total
Visibility: export
inRing : Fink->Ringk->Bool
Totality: total
Visibility: export
members : Ringk->List (Fink)
Totality: total
Visibility: export
rings : IGraphken->List (Bool, Ringk)
Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Chem.Types.html b/docs/chem/docs/docs/Chem.Types.html index 3e35381f9..97084be4f 100644 --- a/docs/chem/docs/docs/Chem.Types.html +++ b/docs/chem/docs/docs/Chem.Types.html @@ -61,4 +61,4 @@ -

Chem.Types

(source)

Reexports

importpublic Data.List.Quantifiers.Extra
importpublic Data.Refined
importpublic Data.Refined.Bits16
importpublic Data.Refined.Bits8
importpublic Data.Refined.Int8

Definitions

0IsAtomicNr : Bits8->Type
  Proof that a number is in the range [1,118]

Totality: total
Visibility: public export
recordAtomicNr : Type
  A refined integer in the range [1,118]

Totality: total
Visibility: public export
Constructor: 
MkAtomicNr : (value : Bits8) -> {auto0_ : IsAtomicNrvalue} ->AtomicNr

Projections:
0.prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
.value : AtomicNr->Bits8

Hints:
EqAtomicNr
OrdAtomicNr
ShowAtomicNr
.value : AtomicNr->Bits8
Totality: total
Visibility: public export
value : AtomicNr->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
Totality: total
Visibility: public export
recordMassNr : Type
Totality: total
Visibility: public export
Constructor: 
MkMassNr : (value : Bits16) -> {auto0_ : FromTo1511value} ->MassNr

Projections:
0.prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
.value : MassNr->Bits16

Hints:
EqMassNr
InterpolationMassNr
OrdMassNr
ShowMassNr
.value : MassNr->Bits16
Totality: total
Visibility: public export
value : MassNr->Bits16
Totality: total
Visibility: public export
0.prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
Totality: total
Visibility: public export
MinAbundanceValue : Double
Totality: total
Visibility: public export
IsAbundance : Double->Bool
Totality: total
Visibility: public export
recordAbundance : Type
Totality: total
Visibility: public export
Constructor: 
MkAbundance : (value : Double) -> {auto0_ : HoldsIsAbundancevalue} ->Abundance

Projections:
0.prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
.value : Abundance->Double

Hints:
EqAbundance
InterpolationAbundance
MonoidAbundance
OrdAbundance
SemigroupAbundance
ShowAbundance
.value : Abundance->Double
Totality: total
Visibility: public export
value : Abundance->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
Totality: total
Visibility: public export
multAbundance : Abundance->Abundance->Abundance
Totality: total
Visibility: public export
MaxMolecularMass : Double
  Molecular mass in g/mol

The total mass of ordinary matter of the universe is assumed to be
approximately 1.5 * 10^50 kg, so we probably shouldn't exceed that by too
much.

Totality: total
Visibility: public export
IsMolecularMass : Double->Bool
Totality: total
Visibility: public export
recordMolecularMass : Type
  Molecular mass (or molecular weight) in g/mol

Totality: total
Visibility: public export
Constructor: 
MkMolecularMass : (value : Double) -> {auto0_ : HoldsIsMolecularMassvalue} ->MolecularMass

Projections:
0.prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
.value : MolecularMass->Double

Hints:
CastMolecularMassMolarMass
CastMolarMassMolecularMass
EqMolecularMass
InterpolationMolecularMass
MonoidMolecularMass
OrdMolecularMass
SemigroupMolecularMass
ShowMolecularMass
.value : MolecularMass->Double
Totality: total
Visibility: public export
value : MolecularMass->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
addMolecularMass : MolecularMass->MolecularMass->MolecularMass
Totality: total
Visibility: public export
multMolecularMass : Nat->MolecularMass->MolecularMass
Totality: total
Visibility: public export
recordMolarMass : Type
  Molar mass in Da

Totality: total
Visibility: public export
Constructor: 
MkMolarMass : (value : Double) -> {auto0_ : HoldsIsMolecularMassvalue} ->MolarMass

Projections:
0.prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
.value : MolarMass->Double

Hints:
CastMolecularMassMolarMass
CastMolarMassMolecularMass
EqMolarMass
InterpolationMolarMass
MonoidMolarMass
OrdMolarMass
SemigroupMolarMass
ShowMolarMass
.value : MolarMass->Double
Totality: total
Visibility: public export
value : MolarMass->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
molarMass : Double->MolarMass
Totality: total
Visibility: export
addMolarMass : MolarMass->MolarMass->MolarMass
Totality: total
Visibility: export
interfaceHasMolarMass : Type->Type
Parameters: a
Methods:
mass : a->MolarMass
  Extract the molecular mass of an element or isotope.
In case of an element, this returns the average molar mass
in case of an isotope, it's the same as `exactMass`.
exactMass : a->MolarMass
  Extract the exact molecular mass of an element or isotope.
In case of an `Elem`, this returns the exact mass of the most
abundant isotope.

Implementations:
HasMolarMassElem
HasMolarMassIsotope
HasMolarMassAromIsotope
mass : HasMolarMassa=>a->MolarMass
  Extract the molecular mass of an element or isotope.
In case of an element, this returns the average molar mass
in case of an isotope, it's the same as `exactMass`.

Totality: total
Visibility: public export
exactMass : HasMolarMassa=>a->MolarMass
  Extract the exact molecular mass of an element or isotope.
In case of an `Elem`, this returns the exact mass of the most
abundant isotope.

Totality: total
Visibility: public export
multByAbundance : Abundance->MolarMass->MolarMass
Totality: total
Visibility: export
recordCharge : Type
Totality: total
Visibility: public export
Constructor: 
MkCharge : (value : Int8) -> {auto0_ : FromTo-1515value} ->Charge

Projections:
0.prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
.value : Charge->Int8

Hints:
EqCharge
InterpolationCharge
OrdCharge
ShowCharge
.value : Charge->Int8
Totality: total
Visibility: public export
value : Charge->Int8
Totality: total
Visibility: public export
0.prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
Totality: total
Visibility: public export
incCharge : Charge->Charge
  Increase a charge value by one.

Returns the unmodified input if it is already the maximal valid value.

Totality: total
Visibility: export
decCharge : Charge->Charge
  Decrease a charge value by one.

Returns the unmodified input if it is already the minimal valid value.

Totality: total
Visibility: export
recordHCount : Type
Totality: total
Visibility: public export
Constructor: 
MkHCount : (value : Bits8) -> {auto0_ : value<10} ->HCount

Projections:
0.prf : ({rec:0} : HCount) ->value{rec:0}<10
.value : HCount->Bits8

Hints:
CasteElem=>Cast (AtomecprHCounttchl) Formula
EqHCount
HasMolecularMassHCount
InterpolationHCount
OrdHCount
ShowHCount
.value : HCount->Bits8
Totality: total
Visibility: public export
value : HCount->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : HCount) ->value{rec:0}<10
Totality: total
Visibility: public export
0prf : ({rec:0} : HCount) ->value{rec:0}<10
Totality: total
Visibility: public export
dataNoH : Type
  Placeholder for atoms without implicit hydrogens.

We can use this instead of `Unit` (`()`), to signal that an atom
does not have any implicit hydrogens, as oppsed to the implicit
H-count not having been determined yet.

For instance, we can have an implementation of
`Cast (Atom Elem c p r NoH t ch l) Formula`, because here we
do not have to add any implicit hydrogens to such an atom,
while no such implementation should be written for
`Cast (Atom Elem c p r () t ch l) Formula`, because in this case,
the `Unit` tag implies that implicit hydrogens have not been
determined yet.

Totality: total
Visibility: public export
Constructor: 
HasNoH : NoH

Hints:
CasteElem=>Cast (AtomecprNoHtchl) Formula
EqNoH
HasMolecularMassNoH
OrdNoH
ShowNoH
dataRadical : Type
  Type of radical if any.

Totality: total
Visibility: public export
Constructors:
NoRadical : Radical
Singlet : Radical
Doublet : Radical
Triplet : Radical

Hints:
EqRadical
OrdRadical
ShowRadical
dataHybridization : Type
  Kinds of hybridization

Totality: total
Visibility: public export
Constructors:
None : Hybridization
Planar : Hybridization
S : Hybridization
SP : Hybridization
SP2 : Hybridization
SP3 : Hybridization
SP3D1 : Hybridization
SP3D2 : Hybridization
Tetrahedral : Hybridization
Octahedral : Hybridization

Hints:
EqHybridization
FiniteHybridization
OrdHybridization
ShowHybridization
dataBondOrder : Type
Totality: total
Visibility: public export
Constructors:
Single : BondOrder
Dbl : BondOrder
Triple : BondOrder

Hints:
CastSmilesBondBondOrder
CastMolBondBondOrder
CastBondOrderMolBond
CastaBondOrder=>Cast (AromBonda) BondOrder
EqBondOrder
InterpolationBondOrder
OrdBondOrder
ShowBondOrder
0ChemRes : ListType->Type->Type
Totality: total
Visibility: public export
+

Chem.Types

(source)

Reexports

importpublic Data.List.Quantifiers.Extra
importpublic Data.Refined
importpublic Data.Refined.Bits16
importpublic Data.Refined.Bits8
importpublic Data.Refined.Int8

Definitions

0IsAtomicNr : Bits8->Type
  Proof that a number is in the range [1,118]

Totality: total
Visibility: public export
recordAtomicNr : Type
  A refined integer in the range [1,118]

Totality: total
Visibility: public export
Constructor: 
MkAtomicNr : (value : Bits8) -> {auto0_ : IsAtomicNrvalue} ->AtomicNr

Projections:
0.prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
.value : AtomicNr->Bits8

Hints:
EqAtomicNr
OrdAtomicNr
ShowAtomicNr
.value : AtomicNr->Bits8
Totality: total
Visibility: public export
value : AtomicNr->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : AtomicNr) ->IsAtomicNr (value{rec:0})
Totality: total
Visibility: public export
recordMassNr : Type
Totality: total
Visibility: public export
Constructor: 
MkMassNr : (value : Bits16) -> {auto0_ : FromTo1511value} ->MassNr

Projections:
0.prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
.value : MassNr->Bits16

Hints:
EqMassNr
InterpolationMassNr
OrdMassNr
ShowMassNr
.value : MassNr->Bits16
Totality: total
Visibility: public export
value : MassNr->Bits16
Totality: total
Visibility: public export
0.prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MassNr) ->FromTo1511 (value{rec:0})
Totality: total
Visibility: public export
MinAbundanceValue : Double
Totality: total
Visibility: public export
IsAbundance : Double->Bool
Totality: total
Visibility: public export
recordAbundance : Type
Totality: total
Visibility: public export
Constructor: 
MkAbundance : (value : Double) -> {auto0_ : HoldsIsAbundancevalue} ->Abundance

Projections:
0.prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
.value : Abundance->Double

Hints:
EqAbundance
InterpolationAbundance
MonoidAbundance
OrdAbundance
SemigroupAbundance
ShowAbundance
.value : Abundance->Double
Totality: total
Visibility: public export
value : Abundance->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Abundance) ->HoldsIsAbundance (value{rec:0})
Totality: total
Visibility: public export
multAbundance : Abundance->Abundance->Abundance
Totality: total
Visibility: public export
MaxMolecularMass : Double
  Molecular mass in g/mol

The total mass of ordinary matter of the universe is assumed to be
approximately 1.5 * 10^50 kg, so we probably shouldn't exceed that by too
much.

Totality: total
Visibility: public export
IsMolecularMass : Double->Bool
Totality: total
Visibility: public export
recordMolecularMass : Type
  Molecular mass (or molecular weight) in g/mol

Totality: total
Visibility: public export
Constructor: 
MkMolecularMass : (value : Double) -> {auto0_ : HoldsIsMolecularMassvalue} ->MolecularMass

Projections:
0.prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
.value : MolecularMass->Double

Hints:
CastMolecularMassMolarMass
CastMolarMassMolecularMass
EqMolecularMass
InterpolationMolecularMass
MonoidMolecularMass
OrdMolecularMass
SemigroupMolecularMass
ShowMolecularMass
.value : MolecularMass->Double
Totality: total
Visibility: public export
value : MolecularMass->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolecularMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
addMolecularMass : MolecularMass->MolecularMass->MolecularMass
Totality: total
Visibility: public export
multMolecularMass : Nat->MolecularMass->MolecularMass
Totality: total
Visibility: public export
recordMolarMass : Type
  Molar mass in Da

Totality: total
Visibility: public export
Constructor: 
MkMolarMass : (value : Double) -> {auto0_ : HoldsIsMolecularMassvalue} ->MolarMass

Projections:
0.prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
.value : MolarMass->Double

Hints:
CastMolecularMassMolarMass
CastMolarMassMolecularMass
EqMolarMass
InterpolationMolarMass
MonoidMolarMass
OrdMolarMass
SemigroupMolarMass
ShowMolarMass
.value : MolarMass->Double
Totality: total
Visibility: public export
value : MolarMass->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolarMass) ->HoldsIsMolecularMass (value{rec:0})
Totality: total
Visibility: public export
molarMass : Double->MolarMass
Totality: total
Visibility: export
addMolarMass : MolarMass->MolarMass->MolarMass
Totality: total
Visibility: export
interfaceHasMolarMass : Type->Type
Parameters: a
Methods:
mass : a->MolarMass
  Extract the molecular mass of an element or isotope.
In case of an element, this returns the average molar mass
in case of an isotope, it's the same as `exactMass`.
exactMass : a->MolarMass
  Extract the exact molecular mass of an element or isotope.
In case of an `Elem`, this returns the exact mass of the most
abundant isotope.

Implementations:
HasMolarMassElem
HasMolarMassIsotope
HasMolarMassAromIsotope
mass : HasMolarMassa=>a->MolarMass
  Extract the molecular mass of an element or isotope.
In case of an element, this returns the average molar mass
in case of an isotope, it's the same as `exactMass`.

Totality: total
Visibility: public export
exactMass : HasMolarMassa=>a->MolarMass
  Extract the exact molecular mass of an element or isotope.
In case of an `Elem`, this returns the exact mass of the most
abundant isotope.

Totality: total
Visibility: public export
multByAbundance : Abundance->MolarMass->MolarMass
Totality: total
Visibility: export
recordCharge : Type
Totality: total
Visibility: public export
Constructor: 
MkCharge : (value : Int8) -> {auto0_ : FromTo-1515value} ->Charge

Projections:
0.prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
.value : Charge->Int8

Hints:
EqCharge
InterpolationCharge
OrdCharge
ShowCharge
.value : Charge->Int8
Totality: total
Visibility: public export
value : Charge->Int8
Totality: total
Visibility: public export
0.prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Charge) ->FromTo-1515 (value{rec:0})
Totality: total
Visibility: public export
incCharge : Charge->Charge
  Increase a charge value by one.

Returns the unmodified input if it is already the maximal valid value.

Totality: total
Visibility: export
decCharge : Charge->Charge
  Decrease a charge value by one.

Returns the unmodified input if it is already the minimal valid value.

Totality: total
Visibility: export
recordHCount : Type
Totality: total
Visibility: public export
Constructor: 
MkHCount : (value : Bits8) -> {auto0_ : value<10} ->HCount

Projections:
0.prf : ({rec:0} : HCount) ->value{rec:0}<10
.value : HCount->Bits8

Hints:
CasteElem=>Cast (AtomecprHCounttchl) Formula
EqHCount
HasMolecularMassHCount
InterpolationHCount
OrdHCount
ShowHCount
.value : HCount->Bits8
Totality: total
Visibility: public export
value : HCount->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : HCount) ->value{rec:0}<10
Totality: total
Visibility: public export
0prf : ({rec:0} : HCount) ->value{rec:0}<10
Totality: total
Visibility: public export
dataNoH : Type
  Placeholder for atoms without implicit hydrogens.

We can use this instead of `Unit` (`()`), to signal that an atom
does not have any implicit hydrogens, as oppsed to the implicit
H-count not having been determined yet.

For instance, we can have an implementation of
`Cast (Atom Elem c p r NoH t ch l) Formula`, because here we
do not have to add any implicit hydrogens to such an atom,
while no such implementation should be written for
`Cast (Atom Elem c p r () t ch l) Formula`, because in this case,
the `Unit` tag implies that implicit hydrogens have not been
determined yet.

Totality: total
Visibility: public export
Constructor: 
HasNoH : NoH

Hints:
CasteElem=>Cast (AtomecprNoHtchl) Formula
EqNoH
HasMolecularMassNoH
OrdNoH
ShowNoH
dataRadical : Type
  Type of radical if any.

Totality: total
Visibility: public export
Constructors:
NoRadical : Radical
Singlet : Radical
Doublet : Radical
Triplet : Radical

Hints:
EqRadical
OrdRadical
ShowRadical
dataHybridization : Type
  Kinds of hybridization

Totality: total
Visibility: public export
Constructors:
None : Hybridization
Planar : Hybridization
S : Hybridization
SP : Hybridization
SP2 : Hybridization
SP3 : Hybridization
SP3D1 : Hybridization
SP3D2 : Hybridization
Tetrahedral : Hybridization
Octahedral : Hybridization

Hints:
EqHybridization
FiniteHybridization
OrdHybridization
ShowHybridization
dataBondOrder : Type
Totality: total
Visibility: public export
Constructors:
Single : BondOrder
Dbl : BondOrder
Triple : BondOrder

Hints:
CastSmilesBondBondOrder
CastMolBondBondOrder
CastBondOrderMolBond
CastaBondOrder=>Cast (AromBonda) BondOrder
EqBondOrder
InterpolationBondOrder
OrdBondOrder
ShowBondOrder
0ChemRes : ListType->Type->Type
Totality: total
Visibility: public export
diff --git a/docs/chem/docs/docs/Geom.Angle.html b/docs/chem/docs/docs/Geom.Angle.html index 68c82587a..363bd667e 100644 --- a/docs/chem/docs/docs/Geom.Angle.html +++ b/docs/chem/docs/docs/Geom.Angle.html @@ -61,4 +61,4 @@ -

Geom.Angle

(source)

Definitions

TwoPi : Double
Totality: total
Visibility: export
normalize : Double->Double
  Convert a floating point number to an angle
in the interval [0, 2 * pi).

Totality: total
Visibility: export
recordAngle : Type
  A normalized angle in the range [0,2 * pi).

Totality: total
Visibility: public export
Constructor: 
A : (value : Double) -> (0org : Double) -> {auto0_ : value=normalizeorg} ->Angle

Projections:
0.org : Angle->Double
  The original floating point number from which the angle
was created.
0.prf : ({rec:0} : Angle) ->value{rec:0}=normalize (org{rec:0})
  Proof that we did not forget the normalization step.
.value : Angle->Double
  The normalized value

Hints:
EqAngle
OrdAngle
ShowAngle
.value : Angle->Double
  The normalized value

Totality: total
Visibility: public export
value : Angle->Double
  The normalized value

Totality: total
Visibility: public export
0.org : Angle->Double
  The original floating point number from which the angle
was created.

Totality: total
Visibility: public export
0org : Angle->Double
  The original floating point number from which the angle
was created.

Totality: total
Visibility: public export
0.prf : ({rec:0} : Angle) ->value{rec:0}=normalize (org{rec:0})
  Proof that we did not forget the normalization step.

Totality: total
Visibility: public export
0prf : ({rec:0} : Angle) ->value{rec:0}=normalize (org{rec:0})
  Proof that we did not forget the normalization step.

Totality: total
Visibility: public export
angle : Double->Angle
  Convenience constructor for angles.

It is safe to invoke `A` directly, but one has to deal
with the proofing stuff.

Totality: total
Visibility: export
halfPi : Angle
Totality: total
Visibility: export
twoThirdPi : Angle
Totality: total
Visibility: export
threeHalfPi : Angle
Totality: total
Visibility: export
pi : Angle
Totality: total
Visibility: export
zero : Angle
Totality: total
Visibility: export
delta : Angle->Angle->Angle
  Returns the absolute distance between two angles

Totality: total
Visibility: export
closestAngle : Angle->ListAngle->MaybeAngle
  From a list of angles, returns the one closest to the given angle

Totality: total
Visibility: export
(+) : Angle->Angle->Angle
  Addition of two angles

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 8
negate : Negty=>ty->ty
  The underlying of unary minus. `-5` desugars to `negate (fromInteger 5)`.

Totality: total
Visibility: public export
Fixity Declaration: prefix operator, level 10
(-) : Angle->Angle->Angle
  Difference between two angles

Totality: total
Visibility: export
Fixity Declarations:
infixl operator, level 8
prefix operator, level 10
negate : Angle->Angle
  The inverse of an angle so that `x + negate x == 0`
(modulo rounding errors).

Totality: total
Visibility: export
Fixity Declaration: prefix operator, level 10
(*) : Double->Angle->Angle
  Multiplication of an angle with a constant factor

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 9
toDegree : Angle->Double
  Convert and angle to centigrees

Totality: total
Visibility: export
fromDegree : Double->Angle
  Convert an angle in centigrees to one in radians

Totality: total
Visibility: export
bisector : Angle->Angle->Angle
  Angle bisector counterclockwise

Totality: total
Visibility: export
largestBisector : ListAngle->Angle
Totality: total
Visibility: export
+

Geom.Angle

(source)

Definitions

TwoPi : Double
Totality: total
Visibility: export
normalize : Double->Double
  Convert a floating point number to an angle
in the interval [0, 2 * pi).

Totality: total
Visibility: export
recordAngle : Type
  A normalized angle in the range [0,2 * pi).

Totality: total
Visibility: public export
Constructor: 
A : (value : Double) -> (0org : Double) -> {auto0_ : value=normalizeorg} ->Angle

Projections:
0.org : Angle->Double
  The original floating point number from which the angle
was created.
0.prf : ({rec:0} : Angle) ->value{rec:0}=normalize (org{rec:0})
  Proof that we did not forget the normalization step.
.value : Angle->Double
  The normalized value

Hints:
EqAngle
OrdAngle
ShowAngle
.value : Angle->Double
  The normalized value

Totality: total
Visibility: public export
value : Angle->Double
  The normalized value

Totality: total
Visibility: public export
0.org : Angle->Double
  The original floating point number from which the angle
was created.

Totality: total
Visibility: public export
0org : Angle->Double
  The original floating point number from which the angle
was created.

Totality: total
Visibility: public export
0.prf : ({rec:0} : Angle) ->value{rec:0}=normalize (org{rec:0})
  Proof that we did not forget the normalization step.

Totality: total
Visibility: public export
0prf : ({rec:0} : Angle) ->value{rec:0}=normalize (org{rec:0})
  Proof that we did not forget the normalization step.

Totality: total
Visibility: public export
angle : Double->Angle
  Convenience constructor for angles.

It is safe to invoke `A` directly, but one has to deal
with the proofing stuff.

Totality: total
Visibility: export
halfPi : Angle
Totality: total
Visibility: export
twoThirdPi : Angle
Totality: total
Visibility: export
threeHalfPi : Angle
Totality: total
Visibility: export
pi : Angle
Totality: total
Visibility: export
zero : Angle
Totality: total
Visibility: export
delta : Angle->Angle->Angle
  Returns the absolute distance between two angles

Totality: total
Visibility: export
closestAngle : Angle->ListAngle->MaybeAngle
  From a list of angles, returns the one closest to the given angle

Totality: total
Visibility: export
(+) : Angle->Angle->Angle
  Addition of two angles

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 8
negate : Negty=>ty->ty
  The underlying of unary minus. `-5` desugars to `negate (fromInteger 5)`.

Totality: total
Visibility: public export
Fixity Declaration: prefix operator, level 10
(-) : Angle->Angle->Angle
  Difference between two angles

Totality: total
Visibility: export
Fixity Declarations:
infixl operator, level 8
prefix operator, level 10
negate : Angle->Angle
  The inverse of an angle so that `x + negate x == 0`
(modulo rounding errors).

Totality: total
Visibility: export
Fixity Declaration: prefix operator, level 10
(*) : Double->Angle->Angle
  Multiplication of an angle with a constant factor

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 9
toDegree : Angle->Double
  Convert and angle to centigrees

Totality: total
Visibility: export
fromDegree : Double->Angle
  Convert an angle in centigrees to one in radians

Totality: total
Visibility: export
bisector : Angle->Angle->Angle
  Angle bisector counterclockwise

Totality: total
Visibility: export
largestBisector : ListAngle->Angle
Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Geom.Bounds.html b/docs/chem/docs/docs/Geom.Bounds.html index 785673b81..2036e8f6f 100644 --- a/docs/chem/docs/docs/Geom.Bounds.html +++ b/docs/chem/docs/docs/Geom.Bounds.html @@ -61,4 +61,4 @@ -

Geom.Bounds

(source)

Definitions

dataBounds : Type
  Bounds along one axis in an affine space

Totality: total
Visibility: export
Constructors:
Empty : Bounds
  Bounds without extent. Contains no points.
Rng : Double->Double->Bounds
  Concrete bounds.

Hints:
MonoidBounds
SemigroupBounds
empty : Bounds
  The empty bounds.

Totality: total
Visibility: export
val : Double->Bounds
  A single point on an axis.

Totality: total
Visibility: export
range : Double->Double->Bounds
  the range between two points on a line

Totality: total
Visibility: export
expand : Bounds->Bounds->Bounds
  Return the smallest `Bounds` containing all points in both
argument bounds.

Totality: total
Visibility: export
inBounds1D : Double->Bounds->Bool
  Checks if a value is within the given bounds.

Totality: total
Visibility: export
middle : Bounds->MaybeDouble
  Computes the middle (center) of a range. Returns `Nothing` if the `Bounds`
are empty.

Totality: total
Visibility: export
width : Bounds->Double
  Computes the width of some bounds. Returns `0` if the `Bounds` are empty

Totality: total
Visibility: export
halfWidth : Bounds->Double
  Computes half of the width of some bounds.
Returns `0` if the `Bounds` are empty

Totality: total
Visibility: export
recordBounds2D : AffineTransformation->Type
  Bounds in two dimensions.

Totality: total
Visibility: public export
Constructor: 
BS : Bounds->Bounds->Bounds2Dt

Projections:
.x : Bounds2Dt->Bounds
.y : Bounds2Dt->Bounds

Hints:
Bounded (Bounds2Dt)
Monoid (Bounds2Dt)
Semigroup (Bounds2Dt)
.x : Bounds2Dt->Bounds
Totality: total
Visibility: public export
x : Bounds2Dt->Bounds
Totality: total
Visibility: public export
.y : Bounds2Dt->Bounds
Totality: total
Visibility: public export
y : Bounds2Dt->Bounds
Totality: total
Visibility: public export
width : Bounds2Dt->Double
Totality: total
Visibility: export
height : Bounds2Dt->Double
Totality: total
Visibility: export
inBounds : Pointt->Bounds2Dt->Bool
  Checks, if the point is in within some bounds in its affine space
by two points.

Totality: total
Visibility: export
corners : Bounds2Dt->Maybe (Pointt, Pointt)
  Return the corners of a bounding rectangle (if any)

Totality: total
Visibility: export
interfaceBounded : Type->Type
Parameters: a
Constructor: 
BD

Methods:
btrans : AffineTransformation
bounds : a->Bounds2Dbtrans

Implementations:
Bounded (Bounds2Dt)
Foldablef=>Boundeda=>Bounded (fa)
GetPointa=>Boundeda
btrans : Boundeda=>AffineTransformation
Totality: total
Visibility: public export
bounds : {auto__con : Boundeda} ->a->Bounds2Dbtrans
Totality: total
Visibility: public export
convertBounds : Bounds2Ds->Bounds2Dt
Totality: total
Visibility: export
center : {autob : Boundeda} ->a->Pointbtrans
  Calculates the center in a collection of bounded values.

Returns the origin in case of an object with empty bounds.

Totality: total
Visibility: export
inRectangle : Pointt->Pointt->Pointt->Bool
  Checks, if the point is in or on the line of a rectangel defined
by two points.

Totality: total
Visibility: export
distanceToLineSegment : Pointt->Pointt->Pointt->Double
  Computes the distance of a point `p` from the line segment
between points `pl1` and `pl2`.

Totality: total
Visibility: export
+

Geom.Bounds

(source)

Definitions

dataBounds : Type
  Bounds along one axis in an affine space

Totality: total
Visibility: export
Constructors:
Empty : Bounds
  Bounds without extent. Contains no points.
Rng : Double->Double->Bounds
  Concrete bounds.

Hints:
MonoidBounds
SemigroupBounds
empty : Bounds
  The empty bounds.

Totality: total
Visibility: export
val : Double->Bounds
  A single point on an axis.

Totality: total
Visibility: export
range : Double->Double->Bounds
  the range between two points on a line

Totality: total
Visibility: export
expand : Bounds->Bounds->Bounds
  Return the smallest `Bounds` containing all points in both
argument bounds.

Totality: total
Visibility: export
inBounds1D : Double->Bounds->Bool
  Checks if a value is within the given bounds.

Totality: total
Visibility: export
middle : Bounds->MaybeDouble
  Computes the middle (center) of a range. Returns `Nothing` if the `Bounds`
are empty.

Totality: total
Visibility: export
width : Bounds->Double
  Computes the width of some bounds. Returns `0` if the `Bounds` are empty

Totality: total
Visibility: export
halfWidth : Bounds->Double
  Computes half of the width of some bounds.
Returns `0` if the `Bounds` are empty

Totality: total
Visibility: export
recordBounds2D : AffineTransformation->Type
  Bounds in two dimensions.

Totality: total
Visibility: public export
Constructor: 
BS : Bounds->Bounds->Bounds2Dt

Projections:
.x : Bounds2Dt->Bounds
.y : Bounds2Dt->Bounds

Hints:
Bounded (Bounds2Dt)
Monoid (Bounds2Dt)
Semigroup (Bounds2Dt)
.x : Bounds2Dt->Bounds
Totality: total
Visibility: public export
x : Bounds2Dt->Bounds
Totality: total
Visibility: public export
.y : Bounds2Dt->Bounds
Totality: total
Visibility: public export
y : Bounds2Dt->Bounds
Totality: total
Visibility: public export
width : Bounds2Dt->Double
Totality: total
Visibility: export
height : Bounds2Dt->Double
Totality: total
Visibility: export
inBounds : Pointt->Bounds2Dt->Bool
  Checks, if the point is in within some bounds in its affine space
by two points.

Totality: total
Visibility: export
corners : Bounds2Dt->Maybe (Pointt, Pointt)
  Return the corners of a bounding rectangle (if any)

Totality: total
Visibility: export
interfaceBounded : Type->Type
Parameters: a
Constructor: 
BD

Methods:
btrans : AffineTransformation
bounds : a->Bounds2Dbtrans

Implementations:
Bounded (Bounds2Dt)
Foldablef=>Boundeda=>Bounded (fa)
GetPointa=>Boundeda
btrans : Boundeda=>AffineTransformation
Totality: total
Visibility: public export
bounds : {auto__con : Boundeda} ->a->Bounds2Dbtrans
Totality: total
Visibility: public export
convertBounds : Bounds2Ds->Bounds2Dt
Totality: total
Visibility: export
center : {autob : Boundeda} ->a->Pointbtrans
  Calculates the center in a collection of bounded values.

Returns the origin in case of an object with empty bounds.

Totality: total
Visibility: export
inRectangle : Pointt->Pointt->Pointt->Bool
  Checks, if the point is in or on the line of a rectangel defined
by two points.

Totality: total
Visibility: export
distanceToLineSegment : Pointt->Pointt->Pointt->Double
  Computes the distance of a point `p` from the line segment
between points `pl1` and `pl2`.

Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Geom.Point.html b/docs/chem/docs/docs/Geom.Point.html index 29ccaea9b..73af63d14 100644 --- a/docs/chem/docs/docs/Geom.Point.html +++ b/docs/chem/docs/docs/Geom.Point.html @@ -61,4 +61,4 @@ -

Geom.Point

(source)

Definitions

recordAffineTransformation : Type
  An affine transformation is a linear transformation (currently, a rotation
or scaling) followed by a translation in the new coordinate system.

We use affine transformations to keep track of the coordinate system
we are currently in. In the UI, if a user zooms in or moves the canvas,
the coordinates we get from the UI must be adjusted by reversing these
transformations in order to get the correct canvas coordinates. These
need then again be adjusted (by a scaling factor) to get the coordinates
of the molecule.

In order to make sure these transformations and adjustments are not
forgotten, we index all `Point`s we work with the the affine transformation
of the coordinate system they come from. Via function `convert`, points
from one coordinate system can be converted to the corresponding points in
another one.

Totality: total
Visibility: public export
Constructor: 
AT : LinearTransformation->VectorId->AffineTransformation

Projections:
.transform : AffineTransformation->LinearTransformation
.translate : AffineTransformation->VectorId

Hints:
Bounded (Bounds2Dt)
Cast (Points) (Pointt)
Eq (Pointt)
GetPoint (Pointt)
ModPoint (Pointt)
Monoid (Bounds2Dt)
MonoidAffineTransformation
Ord (Pointt)
Semigroup (Bounds2Dt)
SemigroupAffineTransformation
Show (Pointt)
.transform : AffineTransformation->LinearTransformation
Totality: total
Visibility: public export
transform : AffineTransformation->LinearTransformation
Totality: total
Visibility: public export
.translate : AffineTransformation->VectorId
Totality: total
Visibility: public export
translate : AffineTransformation->VectorId
Totality: total
Visibility: public export
Id : AffineTransformation
  The identity transformation

Totality: total
Visibility: public export
scaling : Scale->AffineTransformation
  An affine transformation consisting only of a scaling by the given factor.

Totality: total
Visibility: export
inverse : AffineTransformation->AffineTransformation
  Computes the inverse of an affine transformation so that
`t <+> inverse t` is the identity (`Id`; modulo rounding errors)

Totality: total
Visibility: export
translate : VectorId->AffineTransformation
  Creates an affine transformation corresponding to a translation
by the given vector.

Totality: total
Visibility: export
recordPoint : AffineTransformation->Type
  A point in an affine space such as the user interface or the
coordinate system of the molecule.

Unlike `Vector`, a `Point` is somewhat of an abstract entity.
We can compute a vector for connecting two points, but we cannot
add two points together (that does not make sense). Likewise, the
difference between two points results in the vector connecting
the two.

A point is indexed by the `AffineTransformation` corresponding to its
coordinate system. See @AffineTransformation for some more details.

Totality: total
Visibility: public export
Constructor: 
P : Double->Double->Pointt

Projections:
.x : Pointt->Double
.y : Pointt->Double

Hints:
Cast (Points) (Pointt)
Eq (Pointt)
GetPoint (Pointt)
ModPoint (Pointt)
Ord (Pointt)
Show (Pointt)
.x : Pointt->Double
Totality: total
Visibility: public export
x : Pointt->Double
Totality: total
Visibility: public export
.y : Pointt->Double
Totality: total
Visibility: public export
y : Pointt->Double
Totality: total
Visibility: public export
origin : Pointt
  The origin at `(0,0)`.

Totality: total
Visibility: export
negate : Negty=>ty->ty
  The underlying of unary minus. `-5` desugars to `negate (fromInteger 5)`.

Totality: total
Visibility: public export
Fixity Declaration: prefix operator, level 10
(-) : Pointt->Pointt->Vector (t.transform)
  The difference between two points is the vector connecting
the points.

Totality: total
Visibility: export
Fixity Declarations:
infixl operator, level 8
prefix operator, level 10
convert : Points->Pointt
  Convert a point from one affine space to its image in another
affine space.

Totality: total
Visibility: export
interfaceGetPoint : Type->Type
  Interface for converting a value to a point in the affine space
represented by transformation `t`.

Parameters: a
Methods:
gtrans : AffineTransformation
point : a->Pointgtrans

Implementations:
GetPoint (Vect3Coordinate)
GetPointMolAtom
GetPointMolAtomAT
GetPoint (Pointt)
gtrans : GetPointa=>AffineTransformation
Totality: total
Visibility: public export
point : {auto__con : GetPointa} ->a->Pointgtrans
Totality: total
Visibility: public export
interfaceModPoint : Type->Type
  Interface for modification of a value `a` by modifying its points in the
affine space.

Parameters: a
Methods:
mtrans : AffineTransformation
modPoint : (Pointmtrans->Pointmtrans) ->a->a

Implementations:
ModPoint (Vect3Coordinate)
ModPointMolAtom
ModPointMolAtomAT
ModPointa=>ModPoint (Graphba)
ModPointa=>ModPoint (IGraphkba)
ModPoint (Pointt)
mtrans : ModPointa=>AffineTransformation
Totality: total
Visibility: public export
modPoint : {auto__con : ModPointa} -> (Pointmtrans->Pointmtrans) ->a->a
Totality: total
Visibility: public export
setPoint : {autom : ModPointa} ->Pointmtrans->a->a
  Places an object at a new point in space.

Totality: total
Visibility: export
pointId : GetPointa=>a->PointId
  Return the coordinates of a point in the reference affine space.

Totality: total
Visibility: export
translate : {autom : ModPointa} ->Vector (transformmtrans) ->a->a
  Translate an object in 2D space by the given vector.

Totality: total
Visibility: export
scale : ModPointa=>Scale->a->a
  Scale an object in 2D space by the given factor.

Totality: total
Visibility: export
rotateAt : {autom : ModPointa} ->Pointmtrans->Angle->a->a
  Rotates an object by the given angle around the given poin

Totality: total
Visibility: export
rotate : ModPointa=>Angle->a->a
  Rotates an object by the given angle around the origin

Totality: total
Visibility: export
distance : GetPointa=>a->a->Double
  Calculate the distance between two objects.

Totality: total
Visibility: export
distanceFromZero : GetPointa=>a->Double
  Calculate the distance of an object from zero.

Totality: total
Visibility: export
near : GetPointa=>a->a->Double->Bool
  Checks, if two objects are no further apart than `delta`.

Totality: total
Visibility: export
apply : Matrix->Pointt->Pointt
  Transform a point by applying a transformation patrix.

Totality: total
Visibility: export
perpendicularPoint : Pointk->Pointk->Double->Bool->Pointk
  Calculates a perpendicual point to the line from the first line point
with a certain distance. The `positive` flag is to choose the direction
from the line (positive -> right top, negative -> left bottom).

Totality: total
Visibility: export
intersect : Pointt->Pointt->Pointt->Pointt->Maybe (Pointt)
  Tries to compute the intersection of two lines
from points p11 to p12 and p21 to p22.

This tries to solve the following system of equations:

(I) : `x11 + r * (x12 - x11) = x21 + s * (x22 - x21)`
(II) : `y11 + r * (y12 - y11) = y21 + s * (y22 - y21)`

Totality: total
Visibility: export
distanceToLine : Pointt->Pointt->Pointt->MaybeDouble
  Computes the distance of a point `p` from a line defined
by two of its points (`pl1` and `pl2`).

Totality: total
Visibility: export
+

Geom.Point

(source)

Definitions

recordAffineTransformation : Type
  An affine transformation is a linear transformation (currently, a rotation
or scaling) followed by a translation in the new coordinate system.

We use affine transformations to keep track of the coordinate system
we are currently in. In the UI, if a user zooms in or moves the canvas,
the coordinates we get from the UI must be adjusted by reversing these
transformations in order to get the correct canvas coordinates. These
need then again be adjusted (by a scaling factor) to get the coordinates
of the molecule.

In order to make sure these transformations and adjustments are not
forgotten, we index all `Point`s we work with the the affine transformation
of the coordinate system they come from. Via function `convert`, points
from one coordinate system can be converted to the corresponding points in
another one.

Totality: total
Visibility: public export
Constructor: 
AT : LinearTransformation->VectorId->AffineTransformation

Projections:
.transform : AffineTransformation->LinearTransformation
.translate : AffineTransformation->VectorId

Hints:
Bounded (Bounds2Dt)
Cast (Points) (Pointt)
Eq (Pointt)
GetPoint (Pointt)
ModPoint (Pointt)
Monoid (Bounds2Dt)
MonoidAffineTransformation
Ord (Pointt)
Semigroup (Bounds2Dt)
SemigroupAffineTransformation
Show (Pointt)
.transform : AffineTransformation->LinearTransformation
Totality: total
Visibility: public export
transform : AffineTransformation->LinearTransformation
Totality: total
Visibility: public export
.translate : AffineTransformation->VectorId
Totality: total
Visibility: public export
translate : AffineTransformation->VectorId
Totality: total
Visibility: public export
Id : AffineTransformation
  The identity transformation

Totality: total
Visibility: public export
scaling : Scale->AffineTransformation
  An affine transformation consisting only of a scaling by the given factor.

Totality: total
Visibility: export
inverse : AffineTransformation->AffineTransformation
  Computes the inverse of an affine transformation so that
`t <+> inverse t` is the identity (`Id`; modulo rounding errors)

Totality: total
Visibility: export
translate : VectorId->AffineTransformation
  Creates an affine transformation corresponding to a translation
by the given vector.

Totality: total
Visibility: export
recordPoint : AffineTransformation->Type
  A point in an affine space such as the user interface or the
coordinate system of the molecule.

Unlike `Vector`, a `Point` is somewhat of an abstract entity.
We can compute a vector for connecting two points, but we cannot
add two points together (that does not make sense). Likewise, the
difference between two points results in the vector connecting
the two.

A point is indexed by the `AffineTransformation` corresponding to its
coordinate system. See @AffineTransformation for some more details.

Totality: total
Visibility: public export
Constructor: 
P : Double->Double->Pointt

Projections:
.x : Pointt->Double
.y : Pointt->Double

Hints:
Cast (Points) (Pointt)
Eq (Pointt)
GetPoint (Pointt)
ModPoint (Pointt)
Ord (Pointt)
Show (Pointt)
.x : Pointt->Double
Totality: total
Visibility: public export
x : Pointt->Double
Totality: total
Visibility: public export
.y : Pointt->Double
Totality: total
Visibility: public export
y : Pointt->Double
Totality: total
Visibility: public export
origin : Pointt
  The origin at `(0,0)`.

Totality: total
Visibility: export
negate : Negty=>ty->ty
  The underlying of unary minus. `-5` desugars to `negate (fromInteger 5)`.

Totality: total
Visibility: public export
Fixity Declaration: prefix operator, level 10
(-) : Pointt->Pointt->Vector (t.transform)
  The difference between two points is the vector connecting
the points.

Totality: total
Visibility: export
Fixity Declarations:
infixl operator, level 8
prefix operator, level 10
convert : Points->Pointt
  Convert a point from one affine space to its image in another
affine space.

Totality: total
Visibility: export
interfaceGetPoint : Type->Type
  Interface for converting a value to a point in the affine space
represented by transformation `t`.

Parameters: a
Methods:
gtrans : AffineTransformation
point : a->Pointgtrans

Implementations:
GetPoint (Vect3Coordinate)
GetPointMolAtom
GetPointMolAtomAT
GetPoint (Pointt)
gtrans : GetPointa=>AffineTransformation
Totality: total
Visibility: public export
point : {auto__con : GetPointa} ->a->Pointgtrans
Totality: total
Visibility: public export
interfaceModPoint : Type->Type
  Interface for modification of a value `a` by modifying its points in the
affine space.

Parameters: a
Methods:
mtrans : AffineTransformation
modPoint : (Pointmtrans->Pointmtrans) ->a->a

Implementations:
ModPoint (Vect3Coordinate)
ModPointMolAtom
ModPointMolAtomAT
ModPointa=>ModPoint (Graphba)
ModPointa=>ModPoint (IGraphkba)
ModPoint (Pointt)
mtrans : ModPointa=>AffineTransformation
Totality: total
Visibility: public export
modPoint : {auto__con : ModPointa} -> (Pointmtrans->Pointmtrans) ->a->a
Totality: total
Visibility: public export
setPoint : {autom : ModPointa} ->Pointmtrans->a->a
  Places an object at a new point in space.

Totality: total
Visibility: export
pointId : GetPointa=>a->PointId
  Return the coordinates of a point in the reference affine space.

Totality: total
Visibility: export
translate : {autom : ModPointa} ->Vector (transformmtrans) ->a->a
  Translate an object in 2D space by the given vector.

Totality: total
Visibility: export
scale : ModPointa=>Scale->a->a
  Scale an object in 2D space by the given factor.

Totality: total
Visibility: export
rotateAt : {autom : ModPointa} ->Pointmtrans->Angle->a->a
  Rotates an object by the given angle around the given poin

Totality: total
Visibility: export
rotate : ModPointa=>Angle->a->a
  Rotates an object by the given angle around the origin

Totality: total
Visibility: export
distance : GetPointa=>a->a->Double
  Calculate the distance between two objects.

Totality: total
Visibility: export
distanceFromZero : GetPointa=>a->Double
  Calculate the distance of an object from zero.

Totality: total
Visibility: export
near : GetPointa=>a->a->Double->Bool
  Checks, if two objects are no further apart than `delta`.

Totality: total
Visibility: export
apply : Matrix->Pointt->Pointt
  Transform a point by applying a transformation patrix.

Totality: total
Visibility: export
perpendicularPoint : Pointk->Pointk->Double->Bool->Pointk
  Calculates a perpendicual point to the line from the first line point
with a certain distance. The `positive` flag is to choose the direction
from the line (positive -> right top, negative -> left bottom).

Totality: total
Visibility: export
intersect : Pointt->Pointt->Pointt->Pointt->Maybe (Pointt)
  Tries to compute the intersection of two lines
from points p11 to p12 and p21 to p22.

This tries to solve the following system of equations:

(I) : `x11 + r * (x12 - x11) = x21 + s * (x22 - x21)`
(II) : `y11 + r * (y12 - y11) = y21 + s * (y22 - y21)`

Totality: total
Visibility: export
distanceToLine : Pointt->Pointt->Pointt->MaybeDouble
  Computes the distance of a point `p` from a line defined
by two of its points (`pl1` and `pl2`).

Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Geom.Scale.html b/docs/chem/docs/docs/Geom.Scale.html index 800142ff3..5003a0f0e 100644 --- a/docs/chem/docs/docs/Geom.Scale.html +++ b/docs/chem/docs/docs/Geom.Scale.html @@ -61,4 +61,4 @@ -

Geom.Scale

(source)

Definitions

ValidScale : Double->Bool
  Scaling factor in the range [1.0e-6,1.0e6].

Totality: total
Visibility: public export
recordScale : Type
  A scaling factor

Totality: total
Visibility: public export
Constructor: 
S : (value : Double) -> {auto0_ : HoldsValidScalevalue} ->Scale

Projections:
0.prf : ({rec:0} : Scale) ->HoldsValidScale (value{rec:0})
.value : Scale->Double

Hints:
EqScale
OrdScale
ShowScale
.value : Scale->Double
Totality: total
Visibility: public export
value : Scale->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : Scale) ->HoldsValidScale (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Scale) ->HoldsValidScale (value{rec:0})
Totality: total
Visibility: public export
scale : Double->Scale
  Safely convert a floating point number to a `Scale`

Totality: total
Visibility: export
inverse : Scale->Scale
  Invert the scaling factor so that `x * inverse x == 1`
(modulo rounding errors).

Totality: total
Visibility: export
(*) : Scale->Scale->Scale
  Multiply two scaling factors.

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 9
(/) : Scale->Scale->Scale
  Divide a scaling factor by another one

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 9
+

Geom.Scale

(source)

Definitions

ValidScale : Double->Bool
  Scaling factor in the range [1.0e-6,1.0e6].

Totality: total
Visibility: public export
recordScale : Type
  A scaling factor

Totality: total
Visibility: public export
Constructor: 
S : (value : Double) -> {auto0_ : HoldsValidScalevalue} ->Scale

Projections:
0.prf : ({rec:0} : Scale) ->HoldsValidScale (value{rec:0})
.value : Scale->Double

Hints:
EqScale
OrdScale
ShowScale
.value : Scale->Double
Totality: total
Visibility: public export
value : Scale->Double
Totality: total
Visibility: public export
0.prf : ({rec:0} : Scale) ->HoldsValidScale (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Scale) ->HoldsValidScale (value{rec:0})
Totality: total
Visibility: public export
scale : Double->Scale
  Safely convert a floating point number to a `Scale`

Totality: total
Visibility: export
inverse : Scale->Scale
  Invert the scaling factor so that `x * inverse x == 1`
(modulo rounding errors).

Totality: total
Visibility: export
(*) : Scale->Scale->Scale
  Multiply two scaling factors.

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 9
(/) : Scale->Scale->Scale
  Divide a scaling factor by another one

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 9
diff --git a/docs/chem/docs/docs/Geom.Vector.html b/docs/chem/docs/docs/Geom.Vector.html index 77998f580..2f6ee2c07 100644 --- a/docs/chem/docs/docs/Geom.Vector.html +++ b/docs/chem/docs/docs/Geom.Vector.html @@ -61,4 +61,4 @@ -

Geom.Vector

(source)

Definitions

solveQuadratic : Double->Double->Double->Maybe (Double, Double)
  Tries to find solutions to the quadratic equation
`ax^2 + bx + c = 0`.

Totality: total
Visibility: export
recordLinearTransformation : Type
  A linear transformation in a two-dimensional vector space
is a sequence of scalings and rotations.

By not using a matrix here we make sure that a transformation
is invertible, without the risk of a division by zero.
This might be a performance issue, but only if we create large
trees of wild mixtures of linear transformations. However,
in a UI we often work with sequences of the same type of
transformations such as a sequence of scalings or a sequence of
rotations. These are merged automatically in the `Semigroup`
implementation.

Totality: total
Visibility: public export
Constructor: 
LT : Scale->Angle->LinearTransformation

Projections:
.rotate : LinearTransformation->Angle
.scale : LinearTransformation->Scale

Hints:
Eq (Vectort)
MonoidLinearTransformation
Ord (Vectort)
SemigroupLinearTransformation
Show (Vectort)
.scale : LinearTransformation->Scale
Totality: total
Visibility: public export
scale : LinearTransformation->Scale
Totality: total
Visibility: public export
.rotate : LinearTransformation->Angle
Totality: total
Visibility: public export
rotate : LinearTransformation->Angle
Totality: total
Visibility: public export
Id : LinearTransformation
  The identity transformation

Totality: total
Visibility: public export
rotation : Angle->LinearTransformation
  A clockwise rotation by the given angle.

Totality: total
Visibility: public export
scaling : Scale->LinearTransformation
  A scaling by the given factor.

Totality: total
Visibility: public export
inverse : LinearTransformation->LinearTransformation
  Computes the inverse of a linear transformation, so
`x <+> inverse x` corresponse to the identity (modulo rounding
errors).

Totality: total
Visibility: export
recordVector : LinearTransformation->Type
  A two-dimensional vector.

Totality: total
Visibility: public export
Constructor: 
V : Double->Double->Vectort

Projections:
.x : Vectort->Double
.y : Vectort->Double

Hints:
Eq (Vectort)
Ord (Vectort)
Show (Vectort)
.x : Vectort->Double
Totality: total
Visibility: public export
x : Vectort->Double
Totality: total
Visibility: public export
.y : Vectort->Double
Totality: total
Visibility: public export
y : Vectort->Double
Totality: total
Visibility: public export
vzero : Vectort
  The zero vector.

Totality: total
Visibility: export
vone : Vectort
  Unity vector along the x axis

Totality: total
Visibility: export
vid : Double->Double->VectorId
  Utility to help with type inference when using vectors in `Id`

Totality: total
Visibility: export
length : Vectort->Double
  Computes the length of a vector.

Totality: total
Visibility: export
(+) : Vectort->Vectort->Vectort
  Vector addition.

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 8
negate : Negty=>ty->ty
  The underlying of unary minus. `-5` desugars to `negate (fromInteger 5)`.

Totality: total
Visibility: public export
Fixity Declaration: prefix operator, level 10
(-) : Vectort->Vectort->Vectort
  Vector subtraction.

Totality: total
Visibility: export
Fixity Declarations:
infixl operator, level 8
prefix operator, level 10
negate : Vectort->Vectort
  Inverts the given vector by negating its coordinates.

Totality: total
Visibility: export
Fixity Declaration: prefix operator, level 10
scale : Double->Vectort->Vectort
  Multiply a vector with a scalar.

Totality: total
Visibility: export
scaleTo : Double->Vectort->Vectort
  Scales the vector to the given length.

Totality: total
Visibility: export
normalize : Vectort->Vectort
  Normalize a vector to length 1.

Totality: total
Visibility: export
transform : LinearTransformation->Vectort->Vectort
  Apply a linear transformation to a vector

Totality: total
Visibility: export
polar : Scale->Angle->Vectort
  Define a vector by giving its length and its angle

Totality: total
Visibility: export
rotate : Angle->Vectort->Vectort
  Rotate a vector by the specified number of degrees

Totality: total
Visibility: export
angle : Vectort->MaybeAngle
  Tries to calculate the angle of the given vector.
Fails in case this is the zero vector.

Totality: total
Visibility: export
+

Geom.Vector

(source)

Definitions

solveQuadratic : Double->Double->Double->Maybe (Double, Double)
  Tries to find solutions to the quadratic equation
`ax^2 + bx + c = 0`.

Totality: total
Visibility: export
recordLinearTransformation : Type
  A linear transformation in a two-dimensional vector space
is a sequence of scalings and rotations.

By not using a matrix here we make sure that a transformation
is invertible, without the risk of a division by zero.
This might be a performance issue, but only if we create large
trees of wild mixtures of linear transformations. However,
in a UI we often work with sequences of the same type of
transformations such as a sequence of scalings or a sequence of
rotations. These are merged automatically in the `Semigroup`
implementation.

Totality: total
Visibility: public export
Constructor: 
LT : Scale->Angle->LinearTransformation

Projections:
.rotate : LinearTransformation->Angle
.scale : LinearTransformation->Scale

Hints:
Eq (Vectort)
MonoidLinearTransformation
Ord (Vectort)
SemigroupLinearTransformation
Show (Vectort)
.scale : LinearTransformation->Scale
Totality: total
Visibility: public export
scale : LinearTransformation->Scale
Totality: total
Visibility: public export
.rotate : LinearTransformation->Angle
Totality: total
Visibility: public export
rotate : LinearTransformation->Angle
Totality: total
Visibility: public export
Id : LinearTransformation
  The identity transformation

Totality: total
Visibility: public export
rotation : Angle->LinearTransformation
  A clockwise rotation by the given angle.

Totality: total
Visibility: public export
scaling : Scale->LinearTransformation
  A scaling by the given factor.

Totality: total
Visibility: public export
inverse : LinearTransformation->LinearTransformation
  Computes the inverse of a linear transformation, so
`x <+> inverse x` corresponse to the identity (modulo rounding
errors).

Totality: total
Visibility: export
recordVector : LinearTransformation->Type
  A two-dimensional vector.

Totality: total
Visibility: public export
Constructor: 
V : Double->Double->Vectort

Projections:
.x : Vectort->Double
.y : Vectort->Double

Hints:
Eq (Vectort)
Ord (Vectort)
Show (Vectort)
.x : Vectort->Double
Totality: total
Visibility: public export
x : Vectort->Double
Totality: total
Visibility: public export
.y : Vectort->Double
Totality: total
Visibility: public export
y : Vectort->Double
Totality: total
Visibility: public export
vzero : Vectort
  The zero vector.

Totality: total
Visibility: export
vone : Vectort
  Unity vector along the x axis

Totality: total
Visibility: export
vid : Double->Double->VectorId
  Utility to help with type inference when using vectors in `Id`

Totality: total
Visibility: export
length : Vectort->Double
  Computes the length of a vector.

Totality: total
Visibility: export
(+) : Vectort->Vectort->Vectort
  Vector addition.

Totality: total
Visibility: export
Fixity Declaration: infixl operator, level 8
negate : Negty=>ty->ty
  The underlying of unary minus. `-5` desugars to `negate (fromInteger 5)`.

Totality: total
Visibility: public export
Fixity Declaration: prefix operator, level 10
(-) : Vectort->Vectort->Vectort
  Vector subtraction.

Totality: total
Visibility: export
Fixity Declarations:
infixl operator, level 8
prefix operator, level 10
negate : Vectort->Vectort
  Inverts the given vector by negating its coordinates.

Totality: total
Visibility: export
Fixity Declaration: prefix operator, level 10
scale : Double->Vectort->Vectort
  Multiply a vector with a scalar.

Totality: total
Visibility: export
scaleTo : Double->Vectort->Vectort
  Scales the vector to the given length.

Totality: total
Visibility: export
normalize : Vectort->Vectort
  Normalize a vector to length 1.

Totality: total
Visibility: export
transform : LinearTransformation->Vectort->Vectort
  Apply a linear transformation to a vector

Totality: total
Visibility: export
polar : Scale->Angle->Vectort
  Define a vector by giving its length and its angle

Totality: total
Visibility: export
rotate : Angle->Vectort->Vectort
  Rotate a vector by the specified number of degrees

Totality: total
Visibility: export
angle : Vectort->MaybeAngle
  Tries to calculate the angle of the given vector.
Fails in case this is the zero vector.

Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Text.Lex.Formula.html b/docs/chem/docs/docs/Text.Lex.Formula.html index b1ce84444..b169950d6 100644 --- a/docs/chem/docs/docs/Text.Lex.Formula.html +++ b/docs/chem/docs/docs/Text.Lex.Formula.html @@ -61,4 +61,4 @@ -

Text.Lex.Formula

(source)

Definitions

recordFormulaErr : Type
Totality: total
Visibility: public export
Constructor: 
FE : String->FileContext->ParseErrorVoidVoid->FormulaErr

Projections:
.context : FormulaErr->FileContext
.error : FormulaErr->ParseErrorVoidVoid
.formula : FormulaErr->String

Hints:
EqFormulaErr
InterpolationFormulaErr
ShowFormulaErr
.formula : FormulaErr->String
Totality: total
Visibility: public export
formula : FormulaErr->String
Totality: total
Visibility: public export
.context : FormulaErr->FileContext
Totality: total
Visibility: public export
context : FormulaErr->FileContext
Totality: total
Visibility: public export
.error : FormulaErr->ParseErrorVoidVoid
Totality: total
Visibility: public export
error : FormulaErr->ParseErrorVoidVoid
Totality: total
Visibility: public export
readFormula : HasFormulaErres=>String->ChemResesFormula
Totality: total
Visibility: export
readFormula' : String->EitherStringFormula
Totality: total
Visibility: export
+

Text.Lex.Formula

(source)

Definitions

recordFormulaErr : Type
Totality: total
Visibility: public export
Constructor: 
FE : String->FileContext->ParseErrorVoidVoid->FormulaErr

Projections:
.context : FormulaErr->FileContext
.error : FormulaErr->ParseErrorVoidVoid
.formula : FormulaErr->String

Hints:
EqFormulaErr
InterpolationFormulaErr
ShowFormulaErr
.formula : FormulaErr->String
Totality: total
Visibility: public export
formula : FormulaErr->String
Totality: total
Visibility: public export
.context : FormulaErr->FileContext
Totality: total
Visibility: public export
context : FormulaErr->FileContext
Totality: total
Visibility: public export
.error : FormulaErr->ParseErrorVoidVoid
Totality: total
Visibility: public export
error : FormulaErr->ParseErrorVoidVoid
Totality: total
Visibility: public export
readFormula : HasFormulaErres=>String->ChemResesFormula
Totality: total
Visibility: export
readFormula' : String->EitherStringFormula
Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Text.Molfile.Reader.Error.html b/docs/chem/docs/docs/Text.Molfile.Reader.Error.html index 23713fcae..8ad312c7c 100644 --- a/docs/chem/docs/docs/Text.Molfile.Reader.Error.html +++ b/docs/chem/docs/docs/Text.Molfile.Reader.Error.html @@ -61,4 +61,4 @@ -

Text.Molfile.Reader.Error

(source)

Definitions

dataMolErr : Type
Totality: total
Visibility: public export
Constructors:
EEdge : MolErr
EHeader : MolErr
EChiralFlag : String->MolErr
EDot : Char->MolErr
EVersion : String->MolErr
ESymbol : String->MolErr
ERadical : String->MolErr
EStereoParity : String->MolErr
EStereoCareBox : String->MolErr
EH0Designator : String->MolErr
EBondType : String->MolErr
EBondStereo : String->MolErr
EBondTopo : String->MolErr
EOutOfBounds : Nat->MolErr
EInvalid : String->MolErr
ECoordinate : String->MolErr
EOI : MolErr

Hints:
EqMolErr
InterpolationMolErr
ShowMolErr
packError : SnocListChar-> (String->MolErr) ->EitherMolErra
Totality: total
Visibility: export
recordMolParseErr : Type
Totality: total
Visibility: public export
Constructor: 
MPE : Nat->MolErr->MolParseErr

Projections:
.error : MolParseErr->MolErr
.line : MolParseErr->Nat

Hints:
EqMolParseErr
InterpolationMolParseErr
ShowMolParseErr
.line : MolParseErr->Nat
Totality: total
Visibility: public export
line : MolParseErr->Nat
Totality: total
Visibility: public export
.error : MolParseErr->MolErr
Totality: total
Visibility: public export
error : MolParseErr->MolErr
Totality: total
Visibility: public export
+

Text.Molfile.Reader.Error

(source)

Definitions

dataMolErr : Type
Totality: total
Visibility: public export
Constructors:
EEdge : MolErr
EHeader : MolErr
EChiralFlag : String->MolErr
EDot : Char->MolErr
EVersion : String->MolErr
ESymbol : String->MolErr
ERadical : String->MolErr
EStereoParity : String->MolErr
EStereoCareBox : String->MolErr
EH0Designator : String->MolErr
EBondType : String->MolErr
EBondStereo : String->MolErr
EBondTopo : String->MolErr
EOutOfBounds : Nat->MolErr
EInvalid : String->MolErr
ECoordinate : String->MolErr
EOI : MolErr

Hints:
EqMolErr
InterpolationMolErr
ShowMolErr
packError : SnocListChar-> (String->MolErr) ->EitherMolErra
Totality: total
Visibility: export
recordMolParseErr : Type
Totality: total
Visibility: public export
Constructor: 
MPE : Nat->MolErr->MolParseErr

Projections:
.error : MolParseErr->MolErr
.line : MolParseErr->Nat

Hints:
EqMolParseErr
InterpolationMolParseErr
ShowMolParseErr
.line : MolParseErr->Nat
Totality: total
Visibility: public export
line : MolParseErr->Nat
Totality: total
Visibility: public export
.error : MolParseErr->MolErr
Totality: total
Visibility: public export
error : MolParseErr->MolErr
Totality: total
Visibility: public export
diff --git a/docs/chem/docs/docs/Text.Molfile.SDF.html b/docs/chem/docs/docs/Text.Molfile.SDF.html index f425ddc7a..73d655c57 100644 --- a/docs/chem/docs/docs/Text.Molfile.SDF.html +++ b/docs/chem/docs/docs/Text.Molfile.SDF.html @@ -61,4 +61,4 @@ -

Text.Molfile.SDF

(source)

Definitions

0IsHeader : String->Type
Totality: total
Visibility: public export
recordSDHeader : Type
  Header of a SDF data entry. This is put in angles (`<>`) in an SD file.

Totality: total
Visibility: public export
Constructor: 
SDH : (value : String) -> {auto0_ : IsHeadervalue} ->SDHeader

Projections:
0.prf : ({rec:0} : SDHeader) ->IsHeader (value{rec:0})
.value : SDHeader->String

Hints:
EqSDHeader
InterpolationSDHeader
OrdSDHeader
ShowSDHeader
.value : SDHeader->String
Totality: total
Visibility: public export
value : SDHeader->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : SDHeader) ->IsHeader (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : SDHeader) ->IsHeader (value{rec:0})
Totality: total
Visibility: public export
encodeHeader : String->MaybeSDHeader
  Encodes a value header by replacing spaces with underscores and
dropping some other invalid characters such as angles.

Totality: total
Visibility: export
0IsValue : String->Type
Totality: total
Visibility: public export
recordSDValue : Type
  Value of an SDF data entry. This follows after the header (see
`SDHeader`) and may span across several lines, each of which must not
be longer than 200 characters.

Totality: total
Visibility: public export
Constructor: 
SDV : (value : String) -> {auto0_ : IsValuevalue} ->SDValue

Projections:
0.prf : ({rec:0} : SDValue) ->IsValue (value{rec:0})
.value : SDValue->String

Hints:
EqSDValue
InterpolationSDValue
OrdSDValue
ShowSDValue
.value : SDValue->String
Totality: total
Visibility: public export
value : SDValue->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : SDValue) ->IsValue (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : SDValue) ->IsValue (value{rec:0})
Totality: total
Visibility: public export
recordStructureData : Type
  A data entry in an SD file consisting of the data header and value.

Totality: total
Visibility: public export
Constructor: 
SD : SDHeader->SDValue->StructureData

Projections:
.header : StructureData->SDHeader
.value : StructureData->SDValue

Hints:
EqStructureData
ShowStructureData
.header : StructureData->SDHeader
Totality: total
Visibility: public export
header : StructureData->SDHeader
Totality: total
Visibility: public export
.value : StructureData->SDValue
Totality: total
Visibility: public export
value : StructureData->SDValue
Totality: total
Visibility: public export
encodeStructureData : String->String->MaybeStructureData
  Tries to convert a name-value pair to a piece of
SD-data.

While the values is refined as it is, we try to encode the
header in such a way that it does not contain any invalid
characters.

Totality: total
Visibility: export
recordSDFile' : Type->Type->Type->Type
  A single structure in an SD file consisting of a mol-file entry followed
by an arbitrary number of data entries.

Totality: total
Visibility: public export
Constructor: 
SDF : Molfile'htc->ListStructureData->SDFile'htc

Projections:
.dat : SDFile'htc->ListStructureData
.mol : SDFile'htc->Molfile'htc

Hints:
Eqh=>Eqt=>Eqc=>Eq (SDFile'htc)
Showh=>Showt=>Showc=>Show (SDFile'htc)
.mol : SDFile'htc->Molfile'htc
Totality: total
Visibility: public export
mol : SDFile'htc->Molfile'htc
Totality: total
Visibility: public export
.dat : SDFile'htc->ListStructureData
Totality: total
Visibility: public export
dat : SDFile'htc->ListStructureData
Totality: total
Visibility: public export
0SDFile : Type
Totality: total
Visibility: public export
0SDFileAT : Type
Totality: total
Visibility: public export
sdfDelimiter : String
Totality: total
Visibility: export
writeSDF : List (SDFile'htc) ->String
Totality: total
Visibility: export
readSDF : HasMolParseErres=>String->ChemReses (ListSDFile)
  Reads the SD file entries from a string.

Totality: total
Visibility: export
+

Text.Molfile.SDF

(source)

Definitions

0IsHeader : String->Type
Totality: total
Visibility: public export
recordSDHeader : Type
  Header of a SDF data entry. This is put in angles (`<>`) in an SD file.

Totality: total
Visibility: public export
Constructor: 
SDH : (value : String) -> {auto0_ : IsHeadervalue} ->SDHeader

Projections:
0.prf : ({rec:0} : SDHeader) ->IsHeader (value{rec:0})
.value : SDHeader->String

Hints:
EqSDHeader
InterpolationSDHeader
OrdSDHeader
ShowSDHeader
.value : SDHeader->String
Totality: total
Visibility: public export
value : SDHeader->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : SDHeader) ->IsHeader (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : SDHeader) ->IsHeader (value{rec:0})
Totality: total
Visibility: public export
encodeHeader : String->MaybeSDHeader
  Encodes a value header by replacing spaces with underscores and
dropping some other invalid characters such as angles.

Totality: total
Visibility: export
0IsValue : String->Type
Totality: total
Visibility: public export
recordSDValue : Type
  Value of an SDF data entry. This follows after the header (see
`SDHeader`) and may span across several lines, each of which must not
be longer than 200 characters.

Totality: total
Visibility: public export
Constructor: 
SDV : (value : String) -> {auto0_ : IsValuevalue} ->SDValue

Projections:
0.prf : ({rec:0} : SDValue) ->IsValue (value{rec:0})
.value : SDValue->String

Hints:
EqSDValue
InterpolationSDValue
OrdSDValue
ShowSDValue
.value : SDValue->String
Totality: total
Visibility: public export
value : SDValue->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : SDValue) ->IsValue (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : SDValue) ->IsValue (value{rec:0})
Totality: total
Visibility: public export
recordStructureData : Type
  A data entry in an SD file consisting of the data header and value.

Totality: total
Visibility: public export
Constructor: 
SD : SDHeader->SDValue->StructureData

Projections:
.header : StructureData->SDHeader
.value : StructureData->SDValue

Hints:
EqStructureData
ShowStructureData
.header : StructureData->SDHeader
Totality: total
Visibility: public export
header : StructureData->SDHeader
Totality: total
Visibility: public export
.value : StructureData->SDValue
Totality: total
Visibility: public export
value : StructureData->SDValue
Totality: total
Visibility: public export
encodeStructureData : String->String->MaybeStructureData
  Tries to convert a name-value pair to a piece of
SD-data.

While the values is refined as it is, we try to encode the
header in such a way that it does not contain any invalid
characters.

Totality: total
Visibility: export
recordSDFile' : Type->Type->Type->Type
  A single structure in an SD file consisting of a mol-file entry followed
by an arbitrary number of data entries.

Totality: total
Visibility: public export
Constructor: 
SDF : Molfile'htc->ListStructureData->SDFile'htc

Projections:
.dat : SDFile'htc->ListStructureData
.mol : SDFile'htc->Molfile'htc

Hints:
Eqh=>Eqt=>Eqc=>Eq (SDFile'htc)
Showh=>Showt=>Showc=>Show (SDFile'htc)
.mol : SDFile'htc->Molfile'htc
Totality: total
Visibility: public export
mol : SDFile'htc->Molfile'htc
Totality: total
Visibility: public export
.dat : SDFile'htc->ListStructureData
Totality: total
Visibility: public export
dat : SDFile'htc->ListStructureData
Totality: total
Visibility: public export
0SDFile : Type
Totality: total
Visibility: public export
0SDFileAT : Type
Totality: total
Visibility: public export
sdfDelimiter : String
Totality: total
Visibility: export
writeSDF : List (SDFile'htc) ->String
Totality: total
Visibility: export
readSDF : HasMolParseErres=>String->ChemReses (ListSDFile)
  Reads the SD file entries from a string.

Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Text.Molfile.Types.html b/docs/chem/docs/docs/Text.Molfile.Types.html index 7a43deb75..3107ba5b0 100644 --- a/docs/chem/docs/docs/Text.Molfile.Types.html +++ b/docs/chem/docs/docs/Text.Molfile.Types.html @@ -63,4 +63,4 @@

Text.Molfile.Types

(source)
Some of the refined types in here should probably
 go to their own dedicated module
-

Reexports

importpublic Data.Refined.String
importpublic Data.Refined.Integer
importpublic Chem
importpublic Data.Nat
importpublic Data.String
importpublic Data.Vect

Definitions

0IsMolLine : String->Type
Totality: total
Visibility: public export
recordMolLine : Type
  An uninterpreted line in a v2000 mol file

Totality: total
Visibility: public export
Constructor: 
MkMolLine : (value : String) -> {auto0_ : IsMolLinevalue} ->MolLine

Projections:
0.prf : ({rec:0} : MolLine) ->IsMolLine (value{rec:0})
.value : MolLine->String

Hints:
EqMolLine
InterpolationMolLine
OrdMolLine
ShowMolLine
.value : MolLine->String
Totality: total
Visibility: public export
value : MolLine->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolLine) ->IsMolLine (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolLine) ->IsMolLine (value{rec:0})
Totality: total
Visibility: public export
dataMolVersion : Type
Totality: total
Visibility: public export
Constructors:
V2000 : MolVersion
V3000 : MolVersion

Hints:
EqMolVersion
InterpolationMolVersion
OrdMolVersion
ShowMolVersion
dataChiralFlag : Type
Totality: total
Visibility: public export
Constructors:
NonChiral : ChiralFlag
Chiral : ChiralFlag

Hints:
EqChiralFlag
InterpolationChiralFlag
OrdChiralFlag
ShowChiralFlag
recordCounts : Type
Totality: total
Visibility: public export
Constructor: 
MkCounts : Nat->Nat->ChiralFlag->MolVersion->Counts

Projections:
.atoms : Counts->Nat
.bonds : Counts->Nat
.chiral : Counts->ChiralFlag
.version : Counts->MolVersion

Hints:
EqCounts
ShowCounts
.atoms : Counts->Nat
Totality: total
Visibility: public export
atoms : Counts->Nat
Totality: total
Visibility: public export
.bonds : Counts->Nat
Totality: total
Visibility: public export
bonds : Counts->Nat
Totality: total
Visibility: public export
.chiral : Counts->ChiralFlag
Totality: total
Visibility: public export
chiral : Counts->ChiralFlag
Totality: total
Visibility: public export
.version : Counts->MolVersion
Totality: total
Visibility: public export
version : Counts->MolVersion
Totality: total
Visibility: public export
dataAtomSymbol : Type
  Ast    -> Asterisk
RSharp -> R# (RGroupLabel)

Totality: total
Visibility: public export
Constructors:
L : AtomSymbol
A : AtomSymbol
Q : AtomSymbol
Ast : AtomSymbol
LP : AtomSymbol
RSharp : AtomSymbol
El : Elem->AtomSymbol

Hints:
CastElemAtomSymbol
EqAtomSymbol
InterpolationAtomSymbol
ShowAtomSymbol
dataStereoParity : Type
  Atom Stereo parity encoded in V2000 CTAB

Totality: total
Visibility: public export
Constructors:
NoStereo : StereoParity
OddStereo : StereoParity
EvenStereo : StereoParity
AnyStereo : StereoParity

Hints:
EqStereoParity
InterpolationStereoParity
OrdStereoParity
ShowStereoParity
dataStereoCareBox : Type
  Stereo care box encoded in V2000

Totality: total
Visibility: public export
Constructors:
IgnoreStereo : StereoCareBox
MatchStereo : StereoCareBox

Hints:
EqStereoCareBox
InterpolationStereoCareBox
OrdStereoCareBox
ShowStereoCareBox
recordValence : Type
  Valence of atoms

NOTE: In a V2000 molfile 15 is zero valence,
while 0 means no marking

Totality: total
Visibility: public export
Constructor: 
MkValence : (value : Bits8) -> {auto0_ : value<=15} ->Valence

Projections:
0.prf : ({rec:0} : Valence) ->value{rec:0}<=15
.value : Valence->Bits8

Hints:
EqValence
InterpolationValence
OrdValence
ShowValence
.value : Valence->Bits8
Totality: total
Visibility: public export
value : Valence->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : Valence) ->value{rec:0}<=15
Totality: total
Visibility: public export
0prf : ({rec:0} : Valence) ->value{rec:0}<=15
Totality: total
Visibility: public export
dataH0Designator : Type
  Reduntant hydrogen count flag

Totality: total
Visibility: public export
Constructors:
H0NotSpecified : H0Designator
NoHAllowed : H0Designator

Hints:
EqH0Designator
InterpolationH0Designator
OrdH0Designator
ShowH0Designator
recordHydrogenCount : Type
  HCount plus 1: 0 means "not explicitly given"
1 means "explicitly 0" and so on.

Totality: total
Visibility: public export
Constructor: 
MkHC : (value : Bits8) -> {auto0_ : value<=5} ->HydrogenCount

Projections:
0.prf : ({rec:0} : HydrogenCount) ->value{rec:0}<=5
.value : HydrogenCount->Bits8

Hints:
EqHydrogenCount
InterpolationHydrogenCount
OrdHydrogenCount
ShowHydrogenCount
.value : HydrogenCount->Bits8
Totality: total
Visibility: public export
value : HydrogenCount->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : HydrogenCount) ->value{rec:0}<=5
Totality: total
Visibility: public export
0prf : ({rec:0} : HydrogenCount) ->value{rec:0}<=5
Totality: total
Visibility: public export
recordCoordinate : Type
  We encode coordinates as a sufficiently precise integer
to prevent loss of precision during parsing.

Totality: total
Visibility: public export
Constructor: 
MkCoordinate : (value : Integer) -> {auto0_ : FromTo-99999999999999999value} ->Coordinate

Projections:
0.prf : ({rec:0} : Coordinate) ->FromTo-99999999999999999 (value{rec:0})
.value : Coordinate->Integer

Hints:
CastCoordinateDouble
EqCoordinate
GetPoint (Vect3Coordinate)
InterpolationCoordinate
ModPoint (Vect3Coordinate)
OrdCoordinate
ShowCoordinate
.value : Coordinate->Integer
Totality: total
Visibility: public export
value : Coordinate->Integer
Totality: total
Visibility: public export
0.prf : ({rec:0} : Coordinate) ->FromTo-99999999999999999 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Coordinate) ->FromTo-99999999999999999 (value{rec:0})
Totality: total
Visibility: public export
Precision : Integer
Totality: total
Visibility: public export
0Coordinates : Type
  Convenience alias for `Vect 3 Coordinates`

Totality: total
Visibility: public export
recordAtomGroup : Type
Totality: total
Visibility: public export
Constructor: 
G : Nat->String->AtomGroup

Projections:
.lbl : AtomGroup->String
.nr : AtomGroup->Nat

Hints:
EqAtomGroup
ShowAtomGroup
.nr : AtomGroup->Nat
Totality: total
Visibility: public export
nr : AtomGroup->Nat
Totality: total
Visibility: public export
.lbl : AtomGroup->String
Totality: total
Visibility: public export
lbl : AtomGroup->String
Totality: total
Visibility: public export
0MolAtom' : Type->Type->Type->Type
  Regular atom loaded from a .mol file.

Note: .mol files support additional atom symbols
(for instance, for queries), but for real-world molecules,
this is the type to use.

The type parameters are used for implicit hydrogens and atom types,
which are `()` for freshly loaded `MolAtom`s but more specific after
atom type perception.

Totality: total
Visibility: public export
0MolAtom : Type
  Regular atom loaded from a .mol file.

Note: .mol files support additional atom symbols
(for instance, for queries), but for real-world molecules,
this is the type to use.

Totality: total
Visibility: public export
0MolAtomAT : Type
  .mol-file atom with perceived atom type and computed
implicit hydrogen count

Totality: total
Visibility: public export
dataQueryBondType : Type
Totality: total
Visibility: public export
Constructors:
BT : BondOrder->QueryBondType
Arom : QueryBondType
SngOrDbl : QueryBondType
SngOrAromatic : QueryBondType
DblOrAromatic : QueryBondType
AnyBond : QueryBondType

Hints:
EqQueryBondType
InterpolationQueryBondType
OrdQueryBondType
ShowQueryBondType
dataBondStereo : Type
  Stereoinformation represented in molfiles

Totality: total
Visibility: public export
Constructors:
NoBondStereo : BondStereo
Up : BondStereo
CisOrTrans : BondStereo
UpOrDown : BondStereo
Down : BondStereo

Hints:
CastMolBondBondStereo
CastBondStereoMolBond
EqBondStereo
InterpolationBondStereo
OrdBondStereo
ShowBondStereo
dataBondTopo : Type
  Bond topology encoded in CTAB V2000

Totality: total
Visibility: public export
Constructors:
AnyTopology : BondTopo
Ring : BondTopo
Chain : BondTopo

Hints:
EqBondTopo
InterpolationBondTopo
OrdBondTopo
ShowBondTopo
recordMolBond : Type
Totality: total
Visibility: public export
Constructor: 
MkBond : Bool->BondOrder->BondStereo->MolBond

Projections:
.firstSmaller : MolBond->Bool
  Flag indicating whether the bond goes from the
atom with the smaller index to the one with the larger index
or vice versa.

We need this to figure out in which direction wedged bonds should
point.
.stereo : MolBond->BondStereo
.type : MolBond->BondOrder

Hints:
CastMolBondBondOrder
CastBondOrderMolBond
CastMolBondBondStereo
CastBondStereoMolBond
EqMolBond
ShowMolBond
.firstSmaller : MolBond->Bool
  Flag indicating whether the bond goes from the
atom with the smaller index to the one with the larger index
or vice versa.

We need this to figure out in which direction wedged bonds should
point.

Totality: total
Visibility: public export
firstSmaller : MolBond->Bool
  Flag indicating whether the bond goes from the
atom with the smaller index to the one with the larger index
or vice versa.

We need this to figure out in which direction wedged bonds should
point.

Totality: total
Visibility: public export
.type : MolBond->BondOrder
Totality: total
Visibility: public export
type : MolBond->BondOrder
Totality: total
Visibility: public export
.stereo : MolBond->BondStereo
Totality: total
Visibility: public export
stereo : MolBond->BondStereo
Totality: total
Visibility: public export
dataSGroupType : Type
Totality: total
Visibility: public export
Constructors:
SUP : SGroupType
Other : SGroupType

Hints:
EqSGroupType
ShowSGroupType
0MolGraph' : Type->Type->Type->Type
Totality: total
Visibility: public export
0MolGraph : Type
Totality: total
Visibility: public export
0MolGraphAT : Type
  .mol-file graph with perceived atom types and computed
implicit hydrogen counts

Totality: total
Visibility: public export
recordMolfile' : Type->Type->Type->Type
Totality: total
Visibility: public export
Constructor: 
MkMolfile : MolLine->MolLine->MolLine->MolGraph'htc->Molfile'htc

Projections:
.comment : Molfile'htc->MolLine
.graph : Molfile'htc->MolGraph'htc
.info : Molfile'htc->MolLine
.name : Molfile'htc->MolLine

Hints:
Eqh=>Eqt=>Eqc=>Eq (Molfile'htc)
Showh=>Showt=>Showc=>Show (Molfile'htc)
.name : Molfile'htc->MolLine
Totality: total
Visibility: public export
name : Molfile'htc->MolLine
Totality: total
Visibility: public export
.info : Molfile'htc->MolLine
Totality: total
Visibility: public export
info : Molfile'htc->MolLine
Totality: total
Visibility: public export
.comment : Molfile'htc->MolLine
Totality: total
Visibility: public export
comment : Molfile'htc->MolLine
Totality: total
Visibility: public export
.graph : Molfile'htc->MolGraph'htc
Totality: total
Visibility: public export
graph : Molfile'htc->MolGraph'htc
Totality: total
Visibility: public export
emptyMolFile : Molfile'htc
Totality: total
Visibility: export
0Molfile : Type
Totality: total
Visibility: public export
0MolfileAT : Type
Totality: total
Visibility: public export
+

Reexports

importpublic Data.Refined.String
importpublic Data.Refined.Integer
importpublic Chem
importpublic Data.Nat
importpublic Data.String
importpublic Data.Vect

Definitions

0IsMolLine : String->Type
Totality: total
Visibility: public export
recordMolLine : Type
  An uninterpreted line in a v2000 mol file

Totality: total
Visibility: public export
Constructor: 
MkMolLine : (value : String) -> {auto0_ : IsMolLinevalue} ->MolLine

Projections:
0.prf : ({rec:0} : MolLine) ->IsMolLine (value{rec:0})
.value : MolLine->String

Hints:
EqMolLine
InterpolationMolLine
OrdMolLine
ShowMolLine
.value : MolLine->String
Totality: total
Visibility: public export
value : MolLine->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : MolLine) ->IsMolLine (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : MolLine) ->IsMolLine (value{rec:0})
Totality: total
Visibility: public export
dataMolVersion : Type
Totality: total
Visibility: public export
Constructors:
V2000 : MolVersion
V3000 : MolVersion

Hints:
EqMolVersion
InterpolationMolVersion
OrdMolVersion
ShowMolVersion
dataChiralFlag : Type
Totality: total
Visibility: public export
Constructors:
NonChiral : ChiralFlag
Chiral : ChiralFlag

Hints:
EqChiralFlag
InterpolationChiralFlag
OrdChiralFlag
ShowChiralFlag
recordCounts : Type
Totality: total
Visibility: public export
Constructor: 
MkCounts : Nat->Nat->ChiralFlag->MolVersion->Counts

Projections:
.atoms : Counts->Nat
.bonds : Counts->Nat
.chiral : Counts->ChiralFlag
.version : Counts->MolVersion

Hints:
EqCounts
ShowCounts
.atoms : Counts->Nat
Totality: total
Visibility: public export
atoms : Counts->Nat
Totality: total
Visibility: public export
.bonds : Counts->Nat
Totality: total
Visibility: public export
bonds : Counts->Nat
Totality: total
Visibility: public export
.chiral : Counts->ChiralFlag
Totality: total
Visibility: public export
chiral : Counts->ChiralFlag
Totality: total
Visibility: public export
.version : Counts->MolVersion
Totality: total
Visibility: public export
version : Counts->MolVersion
Totality: total
Visibility: public export
dataAtomSymbol : Type
  Ast    -> Asterisk
RSharp -> R# (RGroupLabel)

Totality: total
Visibility: public export
Constructors:
L : AtomSymbol
A : AtomSymbol
Q : AtomSymbol
Ast : AtomSymbol
LP : AtomSymbol
RSharp : AtomSymbol
El : Elem->AtomSymbol

Hints:
CastElemAtomSymbol
EqAtomSymbol
InterpolationAtomSymbol
ShowAtomSymbol
dataStereoParity : Type
  Atom Stereo parity encoded in V2000 CTAB

Totality: total
Visibility: public export
Constructors:
NoStereo : StereoParity
OddStereo : StereoParity
EvenStereo : StereoParity
AnyStereo : StereoParity

Hints:
EqStereoParity
InterpolationStereoParity
OrdStereoParity
ShowStereoParity
dataStereoCareBox : Type
  Stereo care box encoded in V2000

Totality: total
Visibility: public export
Constructors:
IgnoreStereo : StereoCareBox
MatchStereo : StereoCareBox

Hints:
EqStereoCareBox
InterpolationStereoCareBox
OrdStereoCareBox
ShowStereoCareBox
recordValence : Type
  Valence of atoms

NOTE: In a V2000 molfile 15 is zero valence,
while 0 means no marking

Totality: total
Visibility: public export
Constructor: 
MkValence : (value : Bits8) -> {auto0_ : value<=15} ->Valence

Projections:
0.prf : ({rec:0} : Valence) ->value{rec:0}<=15
.value : Valence->Bits8

Hints:
EqValence
InterpolationValence
OrdValence
ShowValence
.value : Valence->Bits8
Totality: total
Visibility: public export
value : Valence->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : Valence) ->value{rec:0}<=15
Totality: total
Visibility: public export
0prf : ({rec:0} : Valence) ->value{rec:0}<=15
Totality: total
Visibility: public export
dataH0Designator : Type
  Reduntant hydrogen count flag

Totality: total
Visibility: public export
Constructors:
H0NotSpecified : H0Designator
NoHAllowed : H0Designator

Hints:
EqH0Designator
InterpolationH0Designator
OrdH0Designator
ShowH0Designator
recordHydrogenCount : Type
  HCount plus 1: 0 means "not explicitly given"
1 means "explicitly 0" and so on.

Totality: total
Visibility: public export
Constructor: 
MkHC : (value : Bits8) -> {auto0_ : value<=5} ->HydrogenCount

Projections:
0.prf : ({rec:0} : HydrogenCount) ->value{rec:0}<=5
.value : HydrogenCount->Bits8

Hints:
EqHydrogenCount
InterpolationHydrogenCount
OrdHydrogenCount
ShowHydrogenCount
.value : HydrogenCount->Bits8
Totality: total
Visibility: public export
value : HydrogenCount->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : HydrogenCount) ->value{rec:0}<=5
Totality: total
Visibility: public export
0prf : ({rec:0} : HydrogenCount) ->value{rec:0}<=5
Totality: total
Visibility: public export
recordCoordinate : Type
  We encode coordinates as a sufficiently precise integer
to prevent loss of precision during parsing.

Totality: total
Visibility: public export
Constructor: 
MkCoordinate : (value : Integer) -> {auto0_ : FromTo-99999999999999999value} ->Coordinate

Projections:
0.prf : ({rec:0} : Coordinate) ->FromTo-99999999999999999 (value{rec:0})
.value : Coordinate->Integer

Hints:
CastCoordinateDouble
EqCoordinate
GetPoint (Vect3Coordinate)
InterpolationCoordinate
ModPoint (Vect3Coordinate)
OrdCoordinate
ShowCoordinate
.value : Coordinate->Integer
Totality: total
Visibility: public export
value : Coordinate->Integer
Totality: total
Visibility: public export
0.prf : ({rec:0} : Coordinate) ->FromTo-99999999999999999 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : Coordinate) ->FromTo-99999999999999999 (value{rec:0})
Totality: total
Visibility: public export
Precision : Integer
Totality: total
Visibility: public export
0Coordinates : Type
  Convenience alias for `Vect 3 Coordinates`

Totality: total
Visibility: public export
recordAtomGroup : Type
Totality: total
Visibility: public export
Constructor: 
G : Nat->String->AtomGroup

Projections:
.lbl : AtomGroup->String
.nr : AtomGroup->Nat

Hints:
EqAtomGroup
ShowAtomGroup
.nr : AtomGroup->Nat
Totality: total
Visibility: public export
nr : AtomGroup->Nat
Totality: total
Visibility: public export
.lbl : AtomGroup->String
Totality: total
Visibility: public export
lbl : AtomGroup->String
Totality: total
Visibility: public export
0MolAtom' : Type->Type->Type->Type
  Regular atom loaded from a .mol file.

Note: .mol files support additional atom symbols
(for instance, for queries), but for real-world molecules,
this is the type to use.

The type parameters are used for implicit hydrogens and atom types,
which are `()` for freshly loaded `MolAtom`s but more specific after
atom type perception.

Totality: total
Visibility: public export
0MolAtom : Type
  Regular atom loaded from a .mol file.

Note: .mol files support additional atom symbols
(for instance, for queries), but for real-world molecules,
this is the type to use.

Totality: total
Visibility: public export
0MolAtomAT : Type
  .mol-file atom with perceived atom type and computed
implicit hydrogen count

Totality: total
Visibility: public export
dataQueryBondType : Type
Totality: total
Visibility: public export
Constructors:
BT : BondOrder->QueryBondType
Arom : QueryBondType
SngOrDbl : QueryBondType
SngOrAromatic : QueryBondType
DblOrAromatic : QueryBondType
AnyBond : QueryBondType

Hints:
EqQueryBondType
InterpolationQueryBondType
OrdQueryBondType
ShowQueryBondType
dataBondStereo : Type
  Stereoinformation represented in molfiles

Totality: total
Visibility: public export
Constructors:
NoBondStereo : BondStereo
Up : BondStereo
CisOrTrans : BondStereo
UpOrDown : BondStereo
Down : BondStereo

Hints:
CastMolBondBondStereo
CastBondStereoMolBond
EqBondStereo
InterpolationBondStereo
OrdBondStereo
ShowBondStereo
dataBondTopo : Type
  Bond topology encoded in CTAB V2000

Totality: total
Visibility: public export
Constructors:
AnyTopology : BondTopo
Ring : BondTopo
Chain : BondTopo

Hints:
EqBondTopo
InterpolationBondTopo
OrdBondTopo
ShowBondTopo
recordMolBond : Type
Totality: total
Visibility: public export
Constructor: 
MkBond : Bool->BondOrder->BondStereo->MolBond

Projections:
.firstSmaller : MolBond->Bool
  Flag indicating whether the bond goes from the
atom with the smaller index to the one with the larger index
or vice versa.

We need this to figure out in which direction wedged bonds should
point.
.stereo : MolBond->BondStereo
.type : MolBond->BondOrder

Hints:
CastMolBondBondOrder
CastBondOrderMolBond
CastMolBondBondStereo
CastBondStereoMolBond
EqMolBond
ShowMolBond
.firstSmaller : MolBond->Bool
  Flag indicating whether the bond goes from the
atom with the smaller index to the one with the larger index
or vice versa.

We need this to figure out in which direction wedged bonds should
point.

Totality: total
Visibility: public export
firstSmaller : MolBond->Bool
  Flag indicating whether the bond goes from the
atom with the smaller index to the one with the larger index
or vice versa.

We need this to figure out in which direction wedged bonds should
point.

Totality: total
Visibility: public export
.type : MolBond->BondOrder
Totality: total
Visibility: public export
type : MolBond->BondOrder
Totality: total
Visibility: public export
.stereo : MolBond->BondStereo
Totality: total
Visibility: public export
stereo : MolBond->BondStereo
Totality: total
Visibility: public export
dataSGroupType : Type
Totality: total
Visibility: public export
Constructors:
SUP : SGroupType
Other : SGroupType

Hints:
EqSGroupType
ShowSGroupType
0MolGraph' : Type->Type->Type->Type
Totality: total
Visibility: public export
0MolGraph : Type
Totality: total
Visibility: public export
0MolGraphAT : Type
  .mol-file graph with perceived atom types and computed
implicit hydrogen counts

Totality: total
Visibility: public export
recordMolfile' : Type->Type->Type->Type
Totality: total
Visibility: public export
Constructor: 
MkMolfile : MolLine->MolLine->MolLine->MolGraph'htc->Molfile'htc

Projections:
.comment : Molfile'htc->MolLine
.graph : Molfile'htc->MolGraph'htc
.info : Molfile'htc->MolLine
.name : Molfile'htc->MolLine

Hints:
Eqh=>Eqt=>Eqc=>Eq (Molfile'htc)
Showh=>Showt=>Showc=>Show (Molfile'htc)
.name : Molfile'htc->MolLine
Totality: total
Visibility: public export
name : Molfile'htc->MolLine
Totality: total
Visibility: public export
.info : Molfile'htc->MolLine
Totality: total
Visibility: public export
info : Molfile'htc->MolLine
Totality: total
Visibility: public export
.comment : Molfile'htc->MolLine
Totality: total
Visibility: public export
comment : Molfile'htc->MolLine
Totality: total
Visibility: public export
.graph : Molfile'htc->MolGraph'htc
Totality: total
Visibility: public export
graph : Molfile'htc->MolGraph'htc
Totality: total
Visibility: public export
emptyMolFile : Molfile'htc
Totality: total
Visibility: export
0Molfile : Type
Totality: total
Visibility: public export
0MolfileAT : Type
Totality: total
Visibility: public export
diff --git a/docs/chem/docs/docs/Text.Smiles.Lexer.html b/docs/chem/docs/docs/Text.Smiles.Lexer.html index 3bc98a20d..a4a57196a 100644 --- a/docs/chem/docs/docs/Text.Smiles.Lexer.html +++ b/docs/chem/docs/docs/Text.Smiles.Lexer.html @@ -61,4 +61,4 @@ -

Text.Smiles.Lexer

(source)

Definitions

dataSmilesErr : Type
Totality: total
Visibility: public export
Constructors:
ExpectedAtom : SmilesErr
ExpectedAtomOrRing : SmilesErr
ExpectedAtomOrBond : SmilesErr
EmptyParen : SmilesErr
UnexpectedRing : SmilesErr
RingBondMismatch : SmilesErr
UnclosedRing : SmilesErr

Hints:
EqSmilesErr
InterpolationSmilesErr
ShowSmilesErr
recordRing : Type
Totality: total
Visibility: public export
Constructor: 
R : RingNr->MaybeSmilesBond->Ring

Projections:
.bond : Ring->MaybeSmilesBond
.ring : Ring->RingNr

Hints:
EqRing
InterpolationRing
ShowRing
.ring : Ring->RingNr
Totality: total
Visibility: public export
ring : Ring->RingNr
Totality: total
Visibility: public export
.bond : Ring->MaybeSmilesBond
Totality: total
Visibility: public export
bond : Ring->MaybeSmilesBond
Totality: total
Visibility: public export
rnChars : RingNr->Nat
Totality: total
Visibility: export
ringChars : Ring->Nat
Totality: total
Visibility: export
dataSmilesToken : Type
Totality: total
Visibility: public export
Constructors:
PO : SmilesToken
PC : SmilesToken
Dot : SmilesToken
TB : SmilesBond->SmilesToken
TA : SmilesAtom->SnocListRing->SmilesToken

Hints:
EqSmilesToken
InterpolationSmilesToken
ShowSmilesToken
0LexErr : Type
Totality: total
Visibility: public export
0Err : Type
Totality: total
Visibility: public export
ringBounds : Nat->RingNr->Bounds
Totality: total
Visibility: export
bounds : SmilesToken->Nat->Bounds
Totality: total
Visibility: export
bracket : AutoTokeSmilesAtom
Totality: total
Visibility: export
lexSmiles : String->Either (BoundedLexErr) (List (SmilesToken, Nat))
Totality: total
Visibility: export
+

Text.Smiles.Lexer

(source)

Definitions

dataSmilesErr : Type
Totality: total
Visibility: public export
Constructors:
ExpectedAtom : SmilesErr
ExpectedAtomOrRing : SmilesErr
ExpectedAtomOrBond : SmilesErr
EmptyParen : SmilesErr
UnexpectedRing : SmilesErr
RingBondMismatch : SmilesErr
UnclosedRing : SmilesErr

Hints:
EqSmilesErr
InterpolationSmilesErr
ShowSmilesErr
recordRing : Type
Totality: total
Visibility: public export
Constructor: 
R : RingNr->MaybeSmilesBond->Ring

Projections:
.bond : Ring->MaybeSmilesBond
.ring : Ring->RingNr

Hints:
EqRing
InterpolationRing
ShowRing
.ring : Ring->RingNr
Totality: total
Visibility: public export
ring : Ring->RingNr
Totality: total
Visibility: public export
.bond : Ring->MaybeSmilesBond
Totality: total
Visibility: public export
bond : Ring->MaybeSmilesBond
Totality: total
Visibility: public export
rnChars : RingNr->Nat
Totality: total
Visibility: export
ringChars : Ring->Nat
Totality: total
Visibility: export
dataSmilesToken : Type
Totality: total
Visibility: public export
Constructors:
PO : SmilesToken
PC : SmilesToken
Dot : SmilesToken
TB : SmilesBond->SmilesToken
TA : SmilesAtom->SnocListRing->SmilesToken

Hints:
EqSmilesToken
InterpolationSmilesToken
ShowSmilesToken
0LexErr : Type
Totality: total
Visibility: public export
0Err : Type
Totality: total
Visibility: public export
ringBounds : Nat->RingNr->Bounds
Totality: total
Visibility: export
bounds : SmilesToken->Nat->Bounds
Totality: total
Visibility: export
bracket : AutoTokeSmilesAtom
Totality: total
Visibility: export
lexSmiles : String->Either (BoundedLexErr) (List (SmilesToken, Nat))
Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Text.Smiles.Parser.html b/docs/chem/docs/docs/Text.Smiles.Parser.html index f421d47ea..ee9219a12 100644 --- a/docs/chem/docs/docs/Text.Smiles.Parser.html +++ b/docs/chem/docs/docs/Text.Smiles.Parser.html @@ -61,4 +61,4 @@ -

Text.Smiles.Parser

(source)

Definitions

recordSmilesParseErr : Type
Totality: total
Visibility: public export
Constructor: 
SPE : String->FileContext->Err->SmilesParseErr

Projections:
.context : SmilesParseErr->FileContext
.error : SmilesParseErr->Err
.smiles : SmilesParseErr->String

Hints:
EqSmilesParseErr
InterpolationSmilesParseErr
ShowSmilesParseErr
.smiles : SmilesParseErr->String
Totality: total
Visibility: public export
smiles : SmilesParseErr->String
Totality: total
Visibility: public export
.context : SmilesParseErr->FileContext
Totality: total
Visibility: public export
context : SmilesParseErr->FileContext
Totality: total
Visibility: public export
.error : SmilesParseErr->Err
Totality: total
Visibility: public export
error : SmilesParseErr->Err
Totality: total
Visibility: public export
fromBounded : String->Origin->BoundedErr->SmilesParseErr
Totality: total
Visibility: export
readSmilesFrom : HasSmilesParseErres=>Origin->String->ChemResesSmilesGraph
Totality: total
Visibility: export
readSmiles : HasSmilesParseErres=>String->ChemResesSmilesGraph
Totality: total
Visibility: export
readSmiles' : String->EitherStringSmilesGraph
  This is a convenience alias `readSmiles`, which can be used
to quickly come up with fairly complex molecular graphs.

All errors are converted to pretty printed error messages.

Totality: total
Visibility: export
+

Text.Smiles.Parser

(source)

Definitions

recordSmilesParseErr : Type
Totality: total
Visibility: public export
Constructor: 
SPE : String->FileContext->Err->SmilesParseErr

Projections:
.context : SmilesParseErr->FileContext
.error : SmilesParseErr->Err
.smiles : SmilesParseErr->String

Hints:
EqSmilesParseErr
InterpolationSmilesParseErr
ShowSmilesParseErr
.smiles : SmilesParseErr->String
Totality: total
Visibility: public export
smiles : SmilesParseErr->String
Totality: total
Visibility: public export
.context : SmilesParseErr->FileContext
Totality: total
Visibility: public export
context : SmilesParseErr->FileContext
Totality: total
Visibility: public export
.error : SmilesParseErr->Err
Totality: total
Visibility: public export
error : SmilesParseErr->Err
Totality: total
Visibility: public export
fromBounded : String->Origin->BoundedErr->SmilesParseErr
Totality: total
Visibility: export
readSmilesFrom : HasSmilesParseErres=>Origin->String->ChemResesSmilesGraph
Totality: total
Visibility: export
readSmiles : HasSmilesParseErres=>String->ChemResesSmilesGraph
Totality: total
Visibility: export
readSmiles' : String->EitherStringSmilesGraph
  This is a convenience alias `readSmiles`, which can be used
to quickly come up with fairly complex molecular graphs.

All errors are converted to pretty printed error messages.

Totality: total
Visibility: export
diff --git a/docs/chem/docs/docs/Text.Smiles.Types.html b/docs/chem/docs/docs/Text.Smiles.Types.html index 13f23fa36..365018b75 100644 --- a/docs/chem/docs/docs/Text.Smiles.Types.html +++ b/docs/chem/docs/docs/Text.Smiles.Types.html @@ -61,4 +61,4 @@ -

Text.Smiles.Types

(source)

Definitions

recordTBIx : Type
  Index for tetrahedral chirality flags as given in the
OpenSMILES specification

Totality: total
Visibility: public export
Constructor: 
MkTBIx : (value : Bits8) -> {auto0_ : FromTo120value} ->TBIx

Projections:
0.prf : ({rec:0} : TBIx) ->FromTo120 (value{rec:0})
.value : TBIx->Bits8

Hints:
EqTBIx
InterpolationTBIx
OrdTBIx
ShowTBIx
.value : TBIx->Bits8
Totality: total
Visibility: public export
value : TBIx->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : TBIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : TBIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
recordOHIx : Type
  Index for octahedral chirality flags as given in the
OpenSMILES specification

Totality: total
Visibility: public export
Constructor: 
MkOHIx : (value : Bits8) -> {auto0_ : FromTo120value} ->OHIx

Projections:
0.prf : ({rec:0} : OHIx) ->FromTo120 (value{rec:0})
.value : OHIx->Bits8

Hints:
EqOHIx
InterpolationOHIx
OrdOHIx
ShowOHIx
.value : OHIx->Bits8
Totality: total
Visibility: public export
value : OHIx->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : OHIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : OHIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
dataChirality : Type
  Chirality flag of a bracket atom

Totality: total
Visibility: public export
Constructors:
None : Chirality
CW : Chirality
CCW : Chirality
TH1 : Chirality
TH2 : Chirality
AL1 : Chirality
AL2 : Chirality
SP1 : Chirality
SP2 : Chirality
SP3 : Chirality
TB : TBIx->Chirality
OH : OHIx->Chirality

Hints:
EqChirality
InterpolationChirality
OrdChirality
ShowChirality
dataValidSubset : Elem->Bool->Type
  Proof that an element (plus aromaticity flag) is a valid subset
element that can appear without being wrapped in a pair of
brackets.

Totality: total
Visibility: public export
Constructors:
VB : ValidSubsetBb
VC : ValidSubsetCb
VN : ValidSubsetNb
VO : ValidSubsetOb
VF : ValidSubsetFFalse
VP : ValidSubsetPb
VS : ValidSubsetSb
VCl : ValidSubsetClFalse
VBr : ValidSubsetBrFalse
VI : ValidSubsetIFalse

Hint: 
ValidSubseteb=>ValidAromaticeb
0toValidArom : ValidSubseteb=>ValidAromaticeb
Totality: total
Visibility: export
dataSmilesAtom : Type
Totality: total
Visibility: public export
Constructors:
SubsetAtom : (elem : Elem) -> (arom : Bool) -> {auto0_ : ValidSubsetelemarom} ->SmilesAtom
Bracket : AtomAromIsotopeCharge () () HCount () Chirality () ->SmilesAtom

Hints:
CastSmilesAtomElem
CastSmilesAtomIsotope
CastSmilesAtomAromIsotope
CastSmilesAtomAromElem
EqSmilesAtom
InterpolationSmilesAtom
ShowSmilesAtom
bracket : AromIsotope->Chirality->HCount->Charge->SmilesAtom
Totality: total
Visibility: export
isArom : SmilesAtom->Bool
Totality: total
Visibility: export
recordRingNr : Type
  An natural number in the range [0,99] representing a ring opening
or -closure in a SMILES string

Totality: total
Visibility: public export
Constructor: 
MkRingNr : (value : Bits8) -> (0_ : value<=99) ->RingNr

Projections:
0.prf : ({rec:0} : RingNr) ->value{rec:0}<=99
.value : RingNr->Bits8

Hints:
EqRingNr
InterpolationRingNr
OrdRingNr
ShowRingNr
.value : RingNr->Bits8
Totality: total
Visibility: public export
value : RingNr->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : RingNr) ->value{rec:0}<=99
Totality: total
Visibility: public export
0prf : ({rec:0} : RingNr) ->value{rec:0}<=99
Totality: total
Visibility: public export
dataSmilesBond : Type
  A bond in a SMILES string

Totality: total
Visibility: public export
Constructors:
Sngl : SmilesBond
Arom : SmilesBond
Dbl : SmilesBond
Trpl : SmilesBond
Quad : SmilesBond
FW : SmilesBond
BW : SmilesBond

Hints:
CastSmilesBondBondOrder
EqSmilesBond
InterpolationSmilesBond
OrdSmilesBond
ShowSmilesBond
0SmilesGraph : Type
Totality: total
Visibility: public export
+

Text.Smiles.Types

(source)

Definitions

recordTBIx : Type
  Index for tetrahedral chirality flags as given in the
OpenSMILES specification

Totality: total
Visibility: public export
Constructor: 
MkTBIx : (value : Bits8) -> {auto0_ : FromTo120value} ->TBIx

Projections:
0.prf : ({rec:0} : TBIx) ->FromTo120 (value{rec:0})
.value : TBIx->Bits8

Hints:
EqTBIx
InterpolationTBIx
OrdTBIx
ShowTBIx
.value : TBIx->Bits8
Totality: total
Visibility: public export
value : TBIx->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : TBIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : TBIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
recordOHIx : Type
  Index for octahedral chirality flags as given in the
OpenSMILES specification

Totality: total
Visibility: public export
Constructor: 
MkOHIx : (value : Bits8) -> {auto0_ : FromTo120value} ->OHIx

Projections:
0.prf : ({rec:0} : OHIx) ->FromTo120 (value{rec:0})
.value : OHIx->Bits8

Hints:
EqOHIx
InterpolationOHIx
OrdOHIx
ShowOHIx
.value : OHIx->Bits8
Totality: total
Visibility: public export
value : OHIx->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : OHIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
0prf : ({rec:0} : OHIx) ->FromTo120 (value{rec:0})
Totality: total
Visibility: public export
dataChirality : Type
  Chirality flag of a bracket atom

Totality: total
Visibility: public export
Constructors:
None : Chirality
CW : Chirality
CCW : Chirality
TH1 : Chirality
TH2 : Chirality
AL1 : Chirality
AL2 : Chirality
SP1 : Chirality
SP2 : Chirality
SP3 : Chirality
TB : TBIx->Chirality
OH : OHIx->Chirality

Hints:
EqChirality
InterpolationChirality
OrdChirality
ShowChirality
dataValidSubset : Elem->Bool->Type
  Proof that an element (plus aromaticity flag) is a valid subset
element that can appear without being wrapped in a pair of
brackets.

Totality: total
Visibility: public export
Constructors:
VB : ValidSubsetBb
VC : ValidSubsetCb
VN : ValidSubsetNb
VO : ValidSubsetOb
VF : ValidSubsetFFalse
VP : ValidSubsetPb
VS : ValidSubsetSb
VCl : ValidSubsetClFalse
VBr : ValidSubsetBrFalse
VI : ValidSubsetIFalse

Hint: 
ValidSubseteb=>ValidAromaticeb
0toValidArom : ValidSubseteb=>ValidAromaticeb
Totality: total
Visibility: export
dataSmilesAtom : Type
Totality: total
Visibility: public export
Constructors:
SubsetAtom : (elem : Elem) -> (arom : Bool) -> {auto0_ : ValidSubsetelemarom} ->SmilesAtom
Bracket : AtomAromIsotopeCharge () () HCount () Chirality () ->SmilesAtom

Hints:
CastSmilesAtomElem
CastSmilesAtomIsotope
CastSmilesAtomAromIsotope
CastSmilesAtomAromElem
EqSmilesAtom
InterpolationSmilesAtom
ShowSmilesAtom
bracket : AromIsotope->Chirality->HCount->Charge->SmilesAtom
Totality: total
Visibility: export
isArom : SmilesAtom->Bool
Totality: total
Visibility: export
recordRingNr : Type
  An natural number in the range [0,99] representing a ring opening
or -closure in a SMILES string

Totality: total
Visibility: public export
Constructor: 
MkRingNr : (value : Bits8) -> (0_ : value<=99) ->RingNr

Projections:
0.prf : ({rec:0} : RingNr) ->value{rec:0}<=99
.value : RingNr->Bits8

Hints:
EqRingNr
InterpolationRingNr
OrdRingNr
ShowRingNr
.value : RingNr->Bits8
Totality: total
Visibility: public export
value : RingNr->Bits8
Totality: total
Visibility: public export
0.prf : ({rec:0} : RingNr) ->value{rec:0}<=99
Totality: total
Visibility: public export
0prf : ({rec:0} : RingNr) ->value{rec:0}<=99
Totality: total
Visibility: public export
dataSmilesBond : Type
  A bond in a SMILES string

Totality: total
Visibility: public export
Constructors:
Sngl : SmilesBond
Arom : SmilesBond
Dbl : SmilesBond
Trpl : SmilesBond
Quad : SmilesBond
FW : SmilesBond
BW : SmilesBond

Hints:
CastSmilesBondBondOrder
EqSmilesBond
InterpolationSmilesBond
OrdSmilesBond
ShowSmilesBond
0SmilesGraph : Type
Totality: total
Visibility: public export
diff --git a/docs/cyby-draw/docs/docs/CyBy.Draw.Event.html b/docs/cyby-draw/docs/docs/CyBy.Draw.Event.html index 2622eb98c..3e3efdcc3 100644 --- a/docs/cyby-draw/docs/docs/CyBy.Draw.Event.html +++ b/docs/cyby-draw/docs/docs/CyBy.Draw.Event.html @@ -61,4 +61,4 @@ -

CyBy.Draw.Event

(source)

Definitions

dataModifier : Type
  Modifier key such as "Shift" or "Ctrl" currently being pressed.

Totality: total
Visibility: public export
Constructors:
NoMod : Modifier
Ctrl : Modifier
Shift : Modifier

Hints:
EqModifier
ShowModifier
reset : Modifier->Modifier->Modifier
  Resets the pressed modifier key if it matches the keyboard key being
lifted.

Totality: total
Visibility: export
dataDrawMsg : Type
  A data type for logging messages.

Typically, these will not be handled by cyby-draw directly but
by applications embedding our drawing canvas into their own
UI.

Totality: total
Visibility: public export
Constructors:
Copied : DrawMsg
  Data was copied to clipboard
ReadErr : String->DrawMsg
  Invalid data was read from clipboard

Hints:
EqDrawMsg
ShowDrawMsg
dataDrawEvent : Type
Totality: total
Visibility: public export
Constructors:
ZoomIn : Bool->DrawEvent
ZoomOut : Bool->DrawEvent
Undo : DrawEvent
Redo : DrawEvent
SetElem : Elem->DrawEvent
ChgElem : Elem->DrawEvent
ChgCharge : Charge->DrawEvent
ChgMass : MaybeMassNr->DrawEvent
SelAbbr : Abbreviation->DrawEvent
EnableAbbr : DrawEvent
SetBond : MolBond->DrawEvent
Move : Double->Double->DrawEvent
LeftDown : DrawEvent
LeftUp : DrawEvent
MiddleDown : DrawEvent
MiddleUp : DrawEvent
SetTempl : CDGraph->DrawEvent
SelectMode : DrawEvent
KeyDown : String->DrawEvent
KeyUp : String->DrawEvent
EraseMode : DrawEvent
Focus : DrawEvent
Blur : DrawEvent
Clear : DrawEvent
Expand : DrawEvent
Center : DrawEvent
Msg : DrawMsg->DrawEvent
EndResize : DrawEvent
EndResizeHW : Double->Double->DrawEvent
StartPSE : DrawEvent

Hints:
EqDrawEvent
ShowDrawEvent
+

CyBy.Draw.Event

(source)

Definitions

dataModifier : Type
  Modifier key such as "Shift" or "Ctrl" currently being pressed.

Totality: total
Visibility: public export
Constructors:
NoMod : Modifier
Ctrl : Modifier
Shift : Modifier

Hints:
EqModifier
ShowModifier
reset : Modifier->Modifier->Modifier
  Resets the pressed modifier key if it matches the keyboard key being
lifted.

Totality: total
Visibility: export
dataDrawMsg : Type
  A data type for logging messages.

Typically, these will not be handled by cyby-draw directly but
by applications embedding our drawing canvas into their own
UI.

Totality: total
Visibility: public export
Constructors:
Copied : DrawMsg
  Data was copied to clipboard
ReadErr : String->DrawMsg
  Invalid data was read from clipboard

Hints:
EqDrawMsg
ShowDrawMsg
dataDrawEvent : Type
Totality: total
Visibility: public export
Constructors:
ZoomIn : Bool->DrawEvent
ZoomOut : Bool->DrawEvent
Undo : DrawEvent
Redo : DrawEvent
SetElem : Elem->DrawEvent
ChgElem : Elem->DrawEvent
ChgCharge : Charge->DrawEvent
ChgMass : MaybeMassNr->DrawEvent
SelAbbr : Abbreviation->DrawEvent
EnableAbbr : DrawEvent
SetBond : MolBond->DrawEvent
Move : Double->Double->DrawEvent
LeftDown : DrawEvent
LeftUp : DrawEvent
MiddleDown : DrawEvent
MiddleUp : DrawEvent
SetTempl : CDGraph->DrawEvent
SelectMode : DrawEvent
KeyDown : String->DrawEvent
KeyUp : String->DrawEvent
EraseMode : DrawEvent
Focus : DrawEvent
Blur : DrawEvent
Clear : DrawEvent
Expand : DrawEvent
Center : DrawEvent
Msg : DrawMsg->DrawEvent
EndResize : DrawEvent
EndResizeHW : Double->Double->DrawEvent
StartPSE : DrawEvent

Hints:
EqDrawEvent
ShowDrawEvent
diff --git a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Atom.html b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Atom.html index 4a793215b..8988321cb 100644 --- a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Atom.html +++ b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Atom.html @@ -61,4 +61,4 @@ -

CyBy.Draw.Internal.Atom

(source)

Definitions

recordCDAtom : Type
  Atom type used in the application state of cyby-draw.

This is a mol-file atom with perceived atom type paired with a role
used for drawing.

Totality: total
Visibility: public export
Constructor: 
CA : Role->MolAtomAT->CDAtom

Projections:
.atom : CDAtom->MolAtomAT
.role : CDAtom->Role

Hints:
CastCDAtomRole
Cast (AdjkbCDAtom) Role
Cast (ContextkbCDAtom) Role
CastCDAtomElem
EqCDAtom
GetPointCDAtom
ModPointCDAtom
ModRoleCDAtom
ShowCDAtom
.role : CDAtom->Role
Totality: total
Visibility: public export
role : CDAtom->Role
Totality: total
Visibility: public export
.atom : CDAtom->MolAtomAT
Totality: total
Visibility: public export
atom : CDAtom->MolAtomAT
Totality: total
Visibility: public export
group : CDAtom->MaybeAtomGroup
Totality: total
Visibility: export
inAnyGroup : CDAtom->Bool
Totality: total
Visibility: export
setGroup : AtomGroup->CDAtom->CDAtom
  Sets the given `AtomGroup` (abbreviation) at an atom

Totality: total
Visibility: export
clearGroup : Nat->CDAtom->CDAtom
  Unsets the abbreviation label of an atom if it belongs to
the given group.

Totality: total
Visibility: export
inGroup : Nat->CDAtom->Bool
  True, if the given atom is part of the abbreviation with the given ID.

Totality: total
Visibility: export
+

CyBy.Draw.Internal.Atom

(source)

Definitions

recordCDAtom : Type
  Atom type used in the application state of cyby-draw.

This is a mol-file atom with perceived atom type paired with a role
used for drawing.

Totality: total
Visibility: public export
Constructor: 
CA : Role->MolAtomAT->CDAtom

Projections:
.atom : CDAtom->MolAtomAT
.role : CDAtom->Role

Hints:
CastCDAtomRole
Cast (AdjkbCDAtom) Role
Cast (ContextkbCDAtom) Role
CastCDAtomElem
EqCDAtom
GetPointCDAtom
ModPointCDAtom
ModRoleCDAtom
ShowCDAtom
.role : CDAtom->Role
Totality: total
Visibility: public export
role : CDAtom->Role
Totality: total
Visibility: public export
.atom : CDAtom->MolAtomAT
Totality: total
Visibility: public export
atom : CDAtom->MolAtomAT
Totality: total
Visibility: public export
group : CDAtom->MaybeAtomGroup
Totality: total
Visibility: export
inAnyGroup : CDAtom->Bool
Totality: total
Visibility: export
setGroup : AtomGroup->CDAtom->CDAtom
  Sets the given `AtomGroup` (abbreviation) at an atom

Totality: total
Visibility: export
clearGroup : Nat->CDAtom->CDAtom
  Unsets the abbreviation label of an atom if it belongs to
the given group.

Totality: total
Visibility: export
inGroup : Nat->CDAtom->Bool
  True, if the given atom is part of the abbreviation with the given ID.

Totality: total
Visibility: export
diff --git a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.CoreDims.html b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.CoreDims.html index f1aca8433..0d3f72e6d 100644 --- a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.CoreDims.html +++ b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.CoreDims.html @@ -61,4 +61,4 @@ -

CyBy.Draw.Internal.CoreDims

(source)

Definitions

recordCoreDims : Type
  Core drawing settings used for computing the geometric properties of
drawn molecules.

Totality: total
Visibility: public export
Constructor: 
CD : Double->Double->Double->Double-> (angleSteps : Nat) ->String->Nat->Nat->Double->Double->Double->Double->Double->Measure-> (0_ : IsSuccangleSteps) ->CoreDims

Projections:
.angleSteps : CoreDims->Nat
.bondBGWidth : CoreDims->Double
.bondWidth : CoreDims->Double
.downWedgeGap : CoreDims->Double
  Gap between two bars of a downward facing wedge
.font : CoreDims->String
.fontSize : CoreDims->Nat
.halfWaveLength : CoreDims->Double
  Half the wavelength of a wavy bond
.measure : CoreDims->Measure
  Utility used for measuring text
.radiusAtom : CoreDims->Double
.selectBufferSize : CoreDims->Double
0.stepsPrf : ({rec:0} : CoreDims) ->IsSucc (angleSteps{rec:0})
.subscriptSize : CoreDims->Nat
.waveAmplitude : CoreDims->Double
  Amplitude of a wavy bond
.wedgeNarrowEnd : CoreDims->Double
  Width of the narrow end of a wedge
.wedgeWideEnd : CoreDims->Double
  Width of the wide end of a wedge

Hints:
CoreDims=>BoundedLabel
DrawSettings=>CoreDims
.radiusAtom : CoreDims->Double
Totality: total
Visibility: public export
radiusAtom : CoreDims->Double
Totality: total
Visibility: public export
.bondWidth : CoreDims->Double
Totality: total
Visibility: public export
bondWidth : CoreDims->Double
Totality: total
Visibility: public export
.bondBGWidth : CoreDims->Double
Totality: total
Visibility: public export
bondBGWidth : CoreDims->Double
Totality: total
Visibility: public export
.selectBufferSize : CoreDims->Double
Totality: total
Visibility: public export
selectBufferSize : CoreDims->Double
Totality: total
Visibility: public export
.angleSteps : CoreDims->Nat
Totality: total
Visibility: public export
angleSteps : CoreDims->Nat
Totality: total
Visibility: public export
.font : CoreDims->String
Totality: total
Visibility: public export
font : CoreDims->String
Totality: total
Visibility: public export
.fontSize : CoreDims->Nat
Totality: total
Visibility: public export
fontSize : CoreDims->Nat
Totality: total
Visibility: public export
.subscriptSize : CoreDims->Nat
Totality: total
Visibility: public export
subscriptSize : CoreDims->Nat
Totality: total
Visibility: public export
.downWedgeGap : CoreDims->Double
  Gap between two bars of a downward facing wedge

Totality: total
Visibility: public export
downWedgeGap : CoreDims->Double
  Gap between two bars of a downward facing wedge

Totality: total
Visibility: public export
.wedgeNarrowEnd : CoreDims->Double
  Width of the narrow end of a wedge

Totality: total
Visibility: public export
wedgeNarrowEnd : CoreDims->Double
  Width of the narrow end of a wedge

Totality: total
Visibility: public export
.wedgeWideEnd : CoreDims->Double
  Width of the wide end of a wedge

Totality: total
Visibility: public export
wedgeWideEnd : CoreDims->Double
  Width of the wide end of a wedge

Totality: total
Visibility: public export
.halfWaveLength : CoreDims->Double
  Half the wavelength of a wavy bond

Totality: total
Visibility: public export
halfWaveLength : CoreDims->Double
  Half the wavelength of a wavy bond

Totality: total
Visibility: public export
.waveAmplitude : CoreDims->Double
  Amplitude of a wavy bond

Totality: total
Visibility: public export
waveAmplitude : CoreDims->Double
  Amplitude of a wavy bond

Totality: total
Visibility: public export
.measure : CoreDims->Measure
  Utility used for measuring text

Totality: total
Visibility: public export
measure : CoreDims->Measure
  Utility used for measuring text

Totality: total
Visibility: public export
0.stepsPrf : ({rec:0} : CoreDims) ->IsSucc (angleSteps{rec:0})
Totality: total
Visibility: public export
0stepsPrf : ({rec:0} : CoreDims) ->IsSucc (angleSteps{rec:0})
Totality: total
Visibility: public export
defaultCore : CoreDims
Totality: total
Visibility: export
+

CyBy.Draw.Internal.CoreDims

(source)

Definitions

recordCoreDims : Type
  Core drawing settings used for computing the geometric properties of
drawn molecules.

Totality: total
Visibility: public export
Constructor: 
CD : Double->Double->Double->Double-> (angleSteps : Nat) ->String->Nat->Nat->Double->Double->Double->Double->Double->Measure-> (0_ : IsSuccangleSteps) ->CoreDims

Projections:
.angleSteps : CoreDims->Nat
.bondBGWidth : CoreDims->Double
.bondWidth : CoreDims->Double
.downWedgeGap : CoreDims->Double
  Gap between two bars of a downward facing wedge
.font : CoreDims->String
.fontSize : CoreDims->Nat
.halfWaveLength : CoreDims->Double
  Half the wavelength of a wavy bond
.measure : CoreDims->Measure
  Utility used for measuring text
.radiusAtom : CoreDims->Double
.selectBufferSize : CoreDims->Double
0.stepsPrf : ({rec:0} : CoreDims) ->IsSucc (angleSteps{rec:0})
.subscriptSize : CoreDims->Nat
.waveAmplitude : CoreDims->Double
  Amplitude of a wavy bond
.wedgeNarrowEnd : CoreDims->Double
  Width of the narrow end of a wedge
.wedgeWideEnd : CoreDims->Double
  Width of the wide end of a wedge

Hints:
CoreDims=>BoundedLabel
DrawSettings=>CoreDims
.radiusAtom : CoreDims->Double
Totality: total
Visibility: public export
radiusAtom : CoreDims->Double
Totality: total
Visibility: public export
.bondWidth : CoreDims->Double
Totality: total
Visibility: public export
bondWidth : CoreDims->Double
Totality: total
Visibility: public export
.bondBGWidth : CoreDims->Double
Totality: total
Visibility: public export
bondBGWidth : CoreDims->Double
Totality: total
Visibility: public export
.selectBufferSize : CoreDims->Double
Totality: total
Visibility: public export
selectBufferSize : CoreDims->Double
Totality: total
Visibility: public export
.angleSteps : CoreDims->Nat
Totality: total
Visibility: public export
angleSteps : CoreDims->Nat
Totality: total
Visibility: public export
.font : CoreDims->String
Totality: total
Visibility: public export
font : CoreDims->String
Totality: total
Visibility: public export
.fontSize : CoreDims->Nat
Totality: total
Visibility: public export
fontSize : CoreDims->Nat
Totality: total
Visibility: public export
.subscriptSize : CoreDims->Nat
Totality: total
Visibility: public export
subscriptSize : CoreDims->Nat
Totality: total
Visibility: public export
.downWedgeGap : CoreDims->Double
  Gap between two bars of a downward facing wedge

Totality: total
Visibility: public export
downWedgeGap : CoreDims->Double
  Gap between two bars of a downward facing wedge

Totality: total
Visibility: public export
.wedgeNarrowEnd : CoreDims->Double
  Width of the narrow end of a wedge

Totality: total
Visibility: public export
wedgeNarrowEnd : CoreDims->Double
  Width of the narrow end of a wedge

Totality: total
Visibility: public export
.wedgeWideEnd : CoreDims->Double
  Width of the wide end of a wedge

Totality: total
Visibility: public export
wedgeWideEnd : CoreDims->Double
  Width of the wide end of a wedge

Totality: total
Visibility: public export
.halfWaveLength : CoreDims->Double
  Half the wavelength of a wavy bond

Totality: total
Visibility: public export
halfWaveLength : CoreDims->Double
  Half the wavelength of a wavy bond

Totality: total
Visibility: public export
.waveAmplitude : CoreDims->Double
  Amplitude of a wavy bond

Totality: total
Visibility: public export
waveAmplitude : CoreDims->Double
  Amplitude of a wavy bond

Totality: total
Visibility: public export
.measure : CoreDims->Measure
  Utility used for measuring text

Totality: total
Visibility: public export
measure : CoreDims->Measure
  Utility used for measuring text

Totality: total
Visibility: public export
0.stepsPrf : ({rec:0} : CoreDims) ->IsSucc (angleSteps{rec:0})
Totality: total
Visibility: public export
0stepsPrf : ({rec:0} : CoreDims) ->IsSucc (angleSteps{rec:0})
Totality: total
Visibility: public export
defaultCore : CoreDims
Totality: total
Visibility: export
diff --git a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Label.html b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Label.html index 07480538f..e6a75617d 100644 --- a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Label.html +++ b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Label.html @@ -61,4 +61,4 @@ -

CyBy.Draw.Internal.Label

(source)

Definitions

lineEndRadius : Double
Totality: total
Visibility: export
dataHPos : Type
  Position of implicit hydrogen label.
These are placed in such a way that they interfere as little as
possible with the bonds leading to an atom's neighbours

Totality: total
Visibility: public export
Constructors:
NoH : HPos
N : HPos
W : HPos
S : HPos
E : HPos
recordText : Type->Type
  A text label together with the text metrics we need to properly
center it around its position `pos`

Totality: total
Visibility: public export
Constructor: 
T : Nat->String->a->TextDims->Texta

Projections:
.dims : Texta->TextDims
.fsize : Texta->Nat
.pos : Texta->a
.text : Texta->String

Hint: 
Bounded (Text (PointId))
.fsize : Texta->Nat
Totality: total
Visibility: public export
fsize : Texta->Nat
Totality: total
Visibility: public export
.text : Texta->String
Totality: total
Visibility: public export
text : Texta->String
Totality: total
Visibility: public export
.pos : Texta->a
Totality: total
Visibility: public export
pos : Texta->a
Totality: total
Visibility: public export
.dims : Texta->TextDims
Totality: total
Visibility: public export
dims : Texta->TextDims
Totality: total
Visibility: public export
.h : Texta->Double
Totality: total
Visibility: export
.lh : Texta->Double
Totality: total
Visibility: export
.w : Texta->Double
Totality: total
Visibility: export
noLbl : Text ()
  The empty text label

Totality: total
Visibility: export
text : CoreDims=>Bool->String->Text ()
  Returns a `Label` for a string together with its `TextDims`

Totality: total
Visibility: export
radius : Texta->MaybeDouble
  Computes the radius of the background circle of a text label.

Totality: total
Visibility: export
adjEndPoints : PointId->PointId->MaybeDouble->MaybeDouble->Maybe (PointId, PointId)
  Adjusts the end point of an edge based on the radius of
their background labels.

Totality: total
Visibility: export
.textPos : Text (PointId) ->PointId
  Position where the text label should be placed in the canvas
to correctly center it around the point given in its `pos` field

Totality: total
Visibility: export
recordAtomLabels : Type->Type
  Text labels for an atom's symbol, charge, mass number,
implicit hydrogen, and implicit hydrogen count

Totality: total
Visibility: public export
Constructor: 
AL : Texta->Texta->Texta->Texta->Texta->AtomLabelsa

Projections:
.charge : AtomLabelsa->Texta
.hcount : AtomLabelsa->Texta
.hydrogen : AtomLabelsa->Texta
.mass : AtomLabelsa->Texta
.symbol : AtomLabelsa->Texta

Hint: 
Bounded (AtomLabels (PointId))
.symbol : AtomLabelsa->Texta
Totality: total
Visibility: public export
symbol : AtomLabelsa->Texta
Totality: total
Visibility: public export
.charge : AtomLabelsa->Texta
Totality: total
Visibility: public export
charge : AtomLabelsa->Texta
Totality: total
Visibility: public export
.mass : AtomLabelsa->Texta
Totality: total
Visibility: public export
mass : AtomLabelsa->Texta
Totality: total
Visibility: public export
.hydrogen : AtomLabelsa->Texta
Totality: total
Visibility: public export
hydrogen : AtomLabelsa->Texta
Totality: total
Visibility: public export
.hcount : AtomLabelsa->Texta
Totality: total
Visibility: public export
hcount : AtomLabelsa->Texta
Totality: total
Visibility: public export
labels : AtomLabelsa->List (Texta)
Totality: total
Visibility: export
chargeLabel : Charge->String
Totality: total
Visibility: export
massLabel : MaybeMassNr->String
Totality: total
Visibility: export
hlabel : HCount->String
Totality: total
Visibility: export
hsubscript : HCount->String
Totality: total
Visibility: export
setPositions : HPos->PointId->AtomLabels () ->AtomLabels (PointId)
  Compute the exact positions of all parts of an atom's labels based
on the determined position of the hydrogen label (`HPos`), the position
of the atom in the molecule, and the metrics of all labels we want
to display.

Totality: total
Visibility: export
dataAbbrPos : Type
Totality: total
Visibility: public export
Constructors:
AE : AbbrPos
AW : AbbrPos
abbrTextPos : CoreDims=>AbbrPos->PointId->Text () ->Text (PointId)
Totality: total
Visibility: export
updateElem : String->Elem->Elem
  Based on a string input (currently, a single character) and the current
element, selects the next element from all elements the symbol of which
starts with the input character.

This allows us to use keyboard shortcuts to change the element of the
atom over which we currently hover.

Totality: total
Visibility: export
updateIsotope : String->Isotope->Isotope
  Uses `updateElem` to change the element of an isotope.

Totality: total
Visibility: export
masses : Elem->List (MaybeMassNr)
Totality: total
Visibility: export
incIso : Isotope->Isotope
Totality: total
Visibility: export
decIso : Isotope->Isotope
Totality: total
Visibility: export
dataLabel : Type
Totality: total
Visibility: public export
Constructors:
Hidden : Label
NoLabel : PointId->Label
Abbreviation : PointId->Text (PointId) ->Label
Explicit : AtomLabels (PointId) ->Label

Hint: 
CoreDims=>BoundedLabel
0Labels : Nat->Type
Totality: total
Visibility: public export
trimToCircle : Pointt->Vector (transformt) ->Pointt->Double->Double
  Given a starting point and a vector, tries to find the
first intersection of the resulting line segment with a
circle given by its center and radius.

Totality: total
Visibility: export
endpoints : CoreDims=>PointId->PointId->Label->Label->Maybe (PointId, PointId)
  Computes the end points of a bond based on the atom positions and
atom labels so that the bonds do not overlap with the labels.

Totality: total
Visibility: export
abbrPos : CDIGraphk->Fink->AbbrPos
  Relative position, where the label of an abbreviated group will be
placed.

Totality: total
Visibility: export
bestHPos : ListAngle->HPos
  Determines the position of the "H"-label depending on the angles of
bonds leading to neighbours

Totality: total
Visibility: export
hpos : CDIGraphk->Fink->HPos
  Determines the position of the "H" label (if any)
relative to an atom's symbol. To do this, this computes the angles
of all bonds leading to an atom's neighbours and tries to find
a direction (north, west, south, or east) without any neighbouring bonds

Totality: total
Visibility: export
+

CyBy.Draw.Internal.Label

(source)

Definitions

lineEndRadius : Double
Totality: total
Visibility: export
dataHPos : Type
  Position of implicit hydrogen label.
These are placed in such a way that they interfere as little as
possible with the bonds leading to an atom's neighbours

Totality: total
Visibility: public export
Constructors:
NoH : HPos
N : HPos
W : HPos
S : HPos
E : HPos
recordText : Type->Type
  A text label together with the text metrics we need to properly
center it around its position `pos`

Totality: total
Visibility: public export
Constructor: 
T : Nat->String->a->TextDims->Texta

Projections:
.dims : Texta->TextDims
.fsize : Texta->Nat
.pos : Texta->a
.text : Texta->String

Hint: 
Bounded (Text (PointId))
.fsize : Texta->Nat
Totality: total
Visibility: public export
fsize : Texta->Nat
Totality: total
Visibility: public export
.text : Texta->String
Totality: total
Visibility: public export
text : Texta->String
Totality: total
Visibility: public export
.pos : Texta->a
Totality: total
Visibility: public export
pos : Texta->a
Totality: total
Visibility: public export
.dims : Texta->TextDims
Totality: total
Visibility: public export
dims : Texta->TextDims
Totality: total
Visibility: public export
.h : Texta->Double
Totality: total
Visibility: export
.lh : Texta->Double
Totality: total
Visibility: export
.w : Texta->Double
Totality: total
Visibility: export
noLbl : Text ()
  The empty text label

Totality: total
Visibility: export
text : CoreDims=>Bool->String->Text ()
  Returns a `Label` for a string together with its `TextDims`

Totality: total
Visibility: export
radius : Texta->MaybeDouble
  Computes the radius of the background circle of a text label.

Totality: total
Visibility: export
adjEndPoints : PointId->PointId->MaybeDouble->MaybeDouble->Maybe (PointId, PointId)
  Adjusts the end point of an edge based on the radius of
their background labels.

Totality: total
Visibility: export
.textPos : Text (PointId) ->PointId
  Position where the text label should be placed in the canvas
to correctly center it around the point given in its `pos` field

Totality: total
Visibility: export
recordAtomLabels : Type->Type
  Text labels for an atom's symbol, charge, mass number,
implicit hydrogen, and implicit hydrogen count

Totality: total
Visibility: public export
Constructor: 
AL : Texta->Texta->Texta->Texta->Texta->AtomLabelsa

Projections:
.charge : AtomLabelsa->Texta
.hcount : AtomLabelsa->Texta
.hydrogen : AtomLabelsa->Texta
.mass : AtomLabelsa->Texta
.symbol : AtomLabelsa->Texta

Hint: 
Bounded (AtomLabels (PointId))
.symbol : AtomLabelsa->Texta
Totality: total
Visibility: public export
symbol : AtomLabelsa->Texta
Totality: total
Visibility: public export
.charge : AtomLabelsa->Texta
Totality: total
Visibility: public export
charge : AtomLabelsa->Texta
Totality: total
Visibility: public export
.mass : AtomLabelsa->Texta
Totality: total
Visibility: public export
mass : AtomLabelsa->Texta
Totality: total
Visibility: public export
.hydrogen : AtomLabelsa->Texta
Totality: total
Visibility: public export
hydrogen : AtomLabelsa->Texta
Totality: total
Visibility: public export
.hcount : AtomLabelsa->Texta
Totality: total
Visibility: public export
hcount : AtomLabelsa->Texta
Totality: total
Visibility: public export
labels : AtomLabelsa->List (Texta)
Totality: total
Visibility: export
chargeLabel : Charge->String
Totality: total
Visibility: export
massLabel : MaybeMassNr->String
Totality: total
Visibility: export
hlabel : HCount->String
Totality: total
Visibility: export
hsubscript : HCount->String
Totality: total
Visibility: export
setPositions : HPos->PointId->AtomLabels () ->AtomLabels (PointId)
  Compute the exact positions of all parts of an atom's labels based
on the determined position of the hydrogen label (`HPos`), the position
of the atom in the molecule, and the metrics of all labels we want
to display.

Totality: total
Visibility: export
dataAbbrPos : Type
Totality: total
Visibility: public export
Constructors:
AE : AbbrPos
AW : AbbrPos
abbrTextPos : CoreDims=>AbbrPos->PointId->Text () ->Text (PointId)
Totality: total
Visibility: export
updateElem : String->Elem->Elem
  Based on a string input (currently, a single character) and the current
element, selects the next element from all elements the symbol of which
starts with the input character.

This allows us to use keyboard shortcuts to change the element of the
atom over which we currently hover.

Totality: total
Visibility: export
updateIsotope : String->Isotope->Isotope
  Uses `updateElem` to change the element of an isotope.

Totality: total
Visibility: export
masses : Elem->List (MaybeMassNr)
Totality: total
Visibility: export
incIso : Isotope->Isotope
Totality: total
Visibility: export
decIso : Isotope->Isotope
Totality: total
Visibility: export
dataLabel : Type
Totality: total
Visibility: public export
Constructors:
Hidden : Label
NoLabel : PointId->Label
Abbreviation : PointId->Text (PointId) ->Label
Explicit : AtomLabels (PointId) ->Label

Hint: 
CoreDims=>BoundedLabel
0Labels : Nat->Type
Totality: total
Visibility: public export
trimToCircle : Pointt->Vector (transformt) ->Pointt->Double->Double
  Given a starting point and a vector, tries to find the
first intersection of the resulting line segment with a
circle given by its center and radius.

Totality: total
Visibility: export
endpoints : CoreDims=>PointId->PointId->Label->Label->Maybe (PointId, PointId)
  Computes the end points of a bond based on the atom positions and
atom labels so that the bonds do not overlap with the labels.

Totality: total
Visibility: export
abbrPos : CDIGraphk->Fink->AbbrPos
  Relative position, where the label of an abbreviated group will be
placed.

Totality: total
Visibility: export
bestHPos : ListAngle->HPos
  Determines the position of the "H"-label depending on the angles of
bonds leading to neighbours

Totality: total
Visibility: export
hpos : CDIGraphk->Fink->HPos
  Determines the position of the "H" label (if any)
relative to an atom's symbol. To do this, this computes the angles
of all bonds leading to an atom's neighbours and tries to find
a direction (north, west, south, or east) without any neighbouring bonds

Totality: total
Visibility: export
diff --git a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Role.html b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Role.html index 3dfc5ea78..9b652eb9f 100644 --- a/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Role.html +++ b/docs/cyby-draw/docs/docs/CyBy.Draw.Internal.Role.html @@ -61,4 +61,4 @@ -

CyBy.Draw.Internal.Role

(source)

Definitions

recordRole : Type
  The role(s) an object (typically an atom or bond) in the
drawing currently has (for instance, it is selected, or
the mouse hovers over it, or it is currently being drawn).

We encode this as a bit pattern to facilitate adding new roles and
having several roles set simultaneously.

`Role` is a semigroup (using bitwise "or", `(.|.)`, for append) and
a monoid, with 0 as the neutral element.

Totality: total
Visibility: public export
Constructor: 
R : Bits8->Role

Projection: 
.role : Role->Bits8

Hints:
CastCDAtomRole
Cast (AdjkbCDAtom) Role
Cast (ContextkbCDAtom) Role
CastCDBondRole
EqRole
ModRoleRole
MonoidRole
OrdRole
SemigroupRole
ShowRole
.role : Role->Bits8
Totality: total
Visibility: public export
role : Role->Bits8
Totality: total
Visibility: public export
Selected : Role
Totality: total
Visibility: public export
Persistent : Role
Totality: total
Visibility: public export
Origin : Role
Totality: total
Visibility: public export
None : Role
Totality: total
Visibility: public export
New : Role
Totality: total
Visibility: public export
HoverNew : Role
Totality: total
Visibility: public export
Hover : Role
Totality: total
Visibility: public export
Highlight : Role
Totality: total
Visibility: public export
interfaceModRole : Type->Type
  Interface for objects with a `Role` we can modify

Parameters: a
Methods:
modRole : (Role->Role) ->a->a

Implementations:
ModRoleCDAtom
ModRoleRole
ModRoleCDBond
modRole : ModRolea=> (Role->Role) ->a->a
Totality: total
Visibility: public export
setIf : ModRolea=>Role->Bool->a->a
  Sets the given role at an object in the drawing

Totality: total
Visibility: export
set : ModRolea=>Role->a->a
  Sets the given role at an object in the drawing

Totality: total
Visibility: export
unset : ModRolea=>Role->a->a
  Sets the given role at an object in the drawing

Totality: total
Visibility: export
keep : ModRolea=>Role->a->a
  Keep only the given roles and unset all others

Totality: total
Visibility: export
clear : ModRolea=>a->a
  Completely remove all roles

Totality: total
Visibility: export
is : CastaRole=>Role->a->Bool
  Tests if the given role(s) is/are set at the given object
in the drawing

Totality: total
Visibility: export
dataSelectMode : Type
  Selection mode we are currently in.

`Ignore` means that we are currently not selecting this type of item.
`One` means "single-select" mode (SHIFT is not down)
`Many` means "multi-select" mode (SHIFT is down)

Totality: total
Visibility: public export
Constructors:
Ignore : SelectMode
One : SelectMode
Many : SelectMode
selectIfHovered : ModRolea=>SelectMode->a->a
  Selects a hovered node or edge.

The boolean flag indicates, if we want to keep already selected
node or not (as indicated by the `Shift` key being down).

Totality: total
Visibility: export
+

CyBy.Draw.Internal.Role

(source)

Definitions

recordRole : Type
  The role(s) an object (typically an atom or bond) in the
drawing currently has (for instance, it is selected, or
the mouse hovers over it, or it is currently being drawn).

We encode this as a bit pattern to facilitate adding new roles and
having several roles set simultaneously.

`Role` is a semigroup (using bitwise "or", `(.|.)`, for append) and
a monoid, with 0 as the neutral element.

Totality: total
Visibility: public export
Constructor: 
R : Bits8->Role

Projection: 
.role : Role->Bits8

Hints:
CastCDAtomRole
Cast (AdjkbCDAtom) Role
Cast (ContextkbCDAtom) Role
CastCDBondRole
EqRole
ModRoleRole
MonoidRole
OrdRole
SemigroupRole
ShowRole
.role : Role->Bits8
Totality: total
Visibility: public export
role : Role->Bits8
Totality: total
Visibility: public export
Selected : Role
Totality: total
Visibility: public export
Persistent : Role
Totality: total
Visibility: public export
Origin : Role
Totality: total
Visibility: public export
None : Role
Totality: total
Visibility: public export
New : Role
Totality: total
Visibility: public export
HoverNew : Role
Totality: total
Visibility: public export
Hover : Role
Totality: total
Visibility: public export
Highlight : Role
Totality: total
Visibility: public export
interfaceModRole : Type->Type
  Interface for objects with a `Role` we can modify

Parameters: a
Methods:
modRole : (Role->Role) ->a->a

Implementations:
ModRoleCDAtom
ModRoleRole
ModRoleCDBond
modRole : ModRolea=> (Role->Role) ->a->a
Totality: total
Visibility: public export
setIf : ModRolea=>Role->Bool->a->a
  Sets the given role at an object in the drawing

Totality: total
Visibility: export
set : ModRolea=>Role->a->a
  Sets the given role at an object in the drawing

Totality: total
Visibility: export
unset : ModRolea=>Role->a->a
  Sets the given role at an object in the drawing

Totality: total
Visibility: export
keep : ModRolea=>Role->a->a
  Keep only the given roles and unset all others

Totality: total
Visibility: export
clear : ModRolea=>a->a
  Completely remove all roles

Totality: total
Visibility: export
is : CastaRole=>Role->a->Bool
  Tests if the given role(s) is/are set at the given object
in the drawing

Totality: total
Visibility: export
dataSelectMode : Type
  Selection mode we are currently in.

`Ignore` means that we are currently not selecting this type of item.
`One` means "single-select" mode (SHIFT is not down)
`Many` means "multi-select" mode (SHIFT is down)

Totality: total
Visibility: public export
Constructors:
Ignore : SelectMode
One : SelectMode
Many : SelectMode
selectIfHovered : ModRolea=>SelectMode->a->a
  Selects a hovered node or edge.

The boolean flag indicates, if we want to keep already selected
node or not (as indicated by the `Shift` key being down).

Totality: total
Visibility: export
diff --git a/docs/cyby-draw/docs/docs/CyBy.Draw.MoleculeCanvas.html b/docs/cyby-draw/docs/docs/CyBy.Draw.MoleculeCanvas.html index 8d085dd32..d39721f24 100644 --- a/docs/cyby-draw/docs/docs/CyBy.Draw.MoleculeCanvas.html +++ b/docs/cyby-draw/docs/docs/CyBy.Draw.MoleculeCanvas.html @@ -61,4 +61,4 @@ -

CyBy.Draw.MoleculeCanvas

(source)

Definitions

dataMode : Type
Totality: total
Visibility: public export
Constructors:
Select : Mode
Erase : Mode
Draw : Mode
SetAtom : Isotope->Mode
SetAbbr : Abbreviation->Mode
SetTempl : CDGraph->Mode
RotTempl : PointMol->CDGraph->Mode
Selecting : PointId->Mode
Erasing : PointId->Mode
Dragging : PointMol->Mode
Rotating : PointMol->Mode
Translating : Mode->Mode
Drawing : MaybeAbbreviation->Mode
PTable : MaybeElem->Mode

Hints:
EqMode
ShowMode
recordDrawState : Type
Totality: total
Visibility: public export
Constructor: 
ST : SceneDims-> (transform : AffineTransformation) ->Pointtransform->CDGraph->ListCDGraph->ListCDGraph->Mode->Modifier->MolBond->MaybeAbbreviation->Bool->MaybeElem->String->String->DrawState

Projections:
.abbr : DrawState->MaybeAbbreviation
.bond : DrawState->MolBond
.curPos : ({rec:0} : DrawState) ->Point (transform{rec:0})
.curSVG : DrawState->String
  Current SVG scene rendered to a string
We keep track of this and the previous one to easily
decide when to redraw the scene.
.dims : DrawState->SceneDims
.hasFocus : DrawState->Bool
.mode : DrawState->Mode
.modifier : DrawState->Modifier
.mol : DrawState->CDGraph
.prevSVG : DrawState->String
  Previous SVG scene rendered to a string
.ptable : DrawState->MaybeElem
.redos : DrawState->ListCDGraph
.transform : DrawState->AffineTransformation
.undos : DrawState->ListCDGraph
.dims : DrawState->SceneDims
Totality: total
Visibility: public export
dims : DrawState->SceneDims
Totality: total
Visibility: public export
.transform : DrawState->AffineTransformation
Totality: total
Visibility: public export
transform : DrawState->AffineTransformation
Totality: total
Visibility: public export
.curPos : ({rec:0} : DrawState) ->Point (transform{rec:0})
Totality: total
Visibility: public export
curPos : ({rec:0} : DrawState) ->Point (transform{rec:0})
Totality: total
Visibility: public export
.mol : DrawState->CDGraph
Totality: total
Visibility: public export
mol : DrawState->CDGraph
Totality: total
Visibility: public export
.undos : DrawState->ListCDGraph
Totality: total
Visibility: public export
undos : DrawState->ListCDGraph
Totality: total
Visibility: public export
.redos : DrawState->ListCDGraph
Totality: total
Visibility: public export
redos : DrawState->ListCDGraph
Totality: total
Visibility: public export
.mode : DrawState->Mode
Totality: total
Visibility: public export
mode : DrawState->Mode
Totality: total
Visibility: public export
.modifier : DrawState->Modifier
Totality: total
Visibility: public export
modifier : DrawState->Modifier
Totality: total
Visibility: public export
.bond : DrawState->MolBond
Totality: total
Visibility: public export
bond : DrawState->MolBond
Totality: total
Visibility: public export
.abbr : DrawState->MaybeAbbreviation
Totality: total
Visibility: public export
abbr : DrawState->MaybeAbbreviation
Totality: total
Visibility: public export
.hasFocus : DrawState->Bool
Totality: total
Visibility: public export
hasFocus : DrawState->Bool
Totality: total
Visibility: public export
.ptable : DrawState->MaybeElem
Totality: total
Visibility: public export
ptable : DrawState->MaybeElem
Totality: total
Visibility: public export
.curSVG : DrawState->String
  Current SVG scene rendered to a string
We keep track of this and the previous one to easily
decide when to redraw the scene.

Totality: total
Visibility: public export
curSVG : DrawState->String
  Current SVG scene rendered to a string
We keep track of this and the previous one to easily
decide when to redraw the scene.

Totality: total
Visibility: public export
.prevSVG : DrawState->String
  Previous SVG scene rendered to a string

Totality: total
Visibility: public export
prevSVG : DrawState->String
  Previous SVG scene rendered to a string

Totality: total
Visibility: public export
toMol : DrawState->MolfileAT
Totality: total
Visibility: export
toMolStr : DrawState->String
Totality: total
Visibility: export
.imol : (s : DrawState) ->CDIGraph ((s.mol) .order)
Totality: total
Visibility: export
dataScaleMode : Type
  Mode used to scale a molecule.

This is used when centering a molecule, for instance, when we begin
drawing, or when we just display a molecule and want to zoom in for it
to fill the whole scene.

Totality: total
Visibility: public export
Constructors:
Init : ScaleMode
  Scale mode used when initializing a scene for drawing
Reset : ScaleMode
  Scale mode used when centering the molecule (by pressing the "reset" button)
Fill : ScaleMode
  Scale mode used when displaying a molecule so that it fills the whole
scene
scaleAt : DrawSettings=>PointId->Scale->DrawState->DrawState
Totality: total
Visibility: export
scaleAtPos : DrawSettings=>Scale->DrawState->DrawState
  Scales the molecule at the current mouse position.

Totality: total
Visibility: export
scaleAtCenter : DrawSettings=>Scale->DrawState->DrawState
  Scales the molecule at the center of the scene

Totality: total
Visibility: export
.posId : DrawState->PointId
Totality: total
Visibility: export
.posMol : DrawState->PointMol
Totality: total
Visibility: export
applyWhenSel : DrawSettings=>DrawState-> Lazy a-> Lazy a-> Lazy a->a
Totality: total
Visibility: export
toTransform : AffineTransformation->Transform
  Convert an `AffineTransformation` to a transformation to be
used in an SVG element.

Totality: total
Visibility: export
update : DrawSettings=>DrawEvent->DrawState->DrawState
Totality: total
Visibility: export
initMol : DrawSettings=>SceneDims->ScaleMode->CDGraph->DrawState
  Initializes the drawing state for the given mol graph.

The `SceneDims` are used for centering the molecule, as well
as for scaling it to fill the scene in case the given bool is
set to `True`.

Totality: total
Visibility: export
init : DrawSettings=>SceneDims->ScaleMode->String->DrawState
Totality: total
Visibility: export
fromMol : DrawSettings=>SceneDims->ScaleMode->MolGraphAT->DrawState
Totality: total
Visibility: export
+

CyBy.Draw.MoleculeCanvas

(source)

Definitions

dataMode : Type
Totality: total
Visibility: public export
Constructors:
Select : Mode
Erase : Mode
Draw : Mode
SetAtom : Isotope->Mode
SetAbbr : Abbreviation->Mode
SetTempl : CDGraph->Mode
RotTempl : PointMol->CDGraph->Mode
Selecting : PointId->Mode
Erasing : PointId->Mode
Dragging : PointMol->Mode
Rotating : PointMol->Mode
Translating : Mode->Mode
Drawing : MaybeAbbreviation->Mode
PTable : MaybeElem->Mode

Hints:
EqMode
ShowMode
recordDrawState : Type
Totality: total
Visibility: public export
Constructor: 
ST : SceneDims-> (transform : AffineTransformation) ->Pointtransform->CDGraph->ListCDGraph->ListCDGraph->Mode->Modifier->MolBond->MaybeAbbreviation->Bool->MaybeElem->String->String->DrawState

Projections:
.abbr : DrawState->MaybeAbbreviation
.bond : DrawState->MolBond
.curPos : ({rec:0} : DrawState) ->Point (transform{rec:0})
.curSVG : DrawState->String
  Current SVG scene rendered to a string
We keep track of this and the previous one to easily
decide when to redraw the scene.
.dims : DrawState->SceneDims
.hasFocus : DrawState->Bool
.mode : DrawState->Mode
.modifier : DrawState->Modifier
.mol : DrawState->CDGraph
.prevSVG : DrawState->String
  Previous SVG scene rendered to a string
.ptable : DrawState->MaybeElem
.redos : DrawState->ListCDGraph
.transform : DrawState->AffineTransformation
.undos : DrawState->ListCDGraph
.dims : DrawState->SceneDims
Totality: total
Visibility: public export
dims : DrawState->SceneDims
Totality: total
Visibility: public export
.transform : DrawState->AffineTransformation
Totality: total
Visibility: public export
transform : DrawState->AffineTransformation
Totality: total
Visibility: public export
.curPos : ({rec:0} : DrawState) ->Point (transform{rec:0})
Totality: total
Visibility: public export
curPos : ({rec:0} : DrawState) ->Point (transform{rec:0})
Totality: total
Visibility: public export
.mol : DrawState->CDGraph
Totality: total
Visibility: public export
mol : DrawState->CDGraph
Totality: total
Visibility: public export
.undos : DrawState->ListCDGraph
Totality: total
Visibility: public export
undos : DrawState->ListCDGraph
Totality: total
Visibility: public export
.redos : DrawState->ListCDGraph
Totality: total
Visibility: public export
redos : DrawState->ListCDGraph
Totality: total
Visibility: public export
.mode : DrawState->Mode
Totality: total
Visibility: public export
mode : DrawState->Mode
Totality: total
Visibility: public export
.modifier : DrawState->Modifier
Totality: total
Visibility: public export
modifier : DrawState->Modifier
Totality: total
Visibility: public export
.bond : DrawState->MolBond
Totality: total
Visibility: public export
bond : DrawState->MolBond
Totality: total
Visibility: public export
.abbr : DrawState->MaybeAbbreviation
Totality: total
Visibility: public export
abbr : DrawState->MaybeAbbreviation
Totality: total
Visibility: public export
.hasFocus : DrawState->Bool
Totality: total
Visibility: public export
hasFocus : DrawState->Bool
Totality: total
Visibility: public export
.ptable : DrawState->MaybeElem
Totality: total
Visibility: public export
ptable : DrawState->MaybeElem
Totality: total
Visibility: public export
.curSVG : DrawState->String
  Current SVG scene rendered to a string
We keep track of this and the previous one to easily
decide when to redraw the scene.

Totality: total
Visibility: public export
curSVG : DrawState->String
  Current SVG scene rendered to a string
We keep track of this and the previous one to easily
decide when to redraw the scene.

Totality: total
Visibility: public export
.prevSVG : DrawState->String
  Previous SVG scene rendered to a string

Totality: total
Visibility: public export
prevSVG : DrawState->String
  Previous SVG scene rendered to a string

Totality: total
Visibility: public export
toMol : DrawState->MolfileAT
Totality: total
Visibility: export
toMolStr : DrawState->String
Totality: total
Visibility: export
.imol : (s : DrawState) ->CDIGraph ((s.mol) .order)
Totality: total
Visibility: export
dataScaleMode : Type
  Mode used to scale a molecule.

This is used when centering a molecule, for instance, when we begin
drawing, or when we just display a molecule and want to zoom in for it
to fill the whole scene.

Totality: total
Visibility: public export
Constructors:
Init : ScaleMode
  Scale mode used when initializing a scene for drawing
Reset : ScaleMode
  Scale mode used when centering the molecule (by pressing the "reset" button)
Fill : ScaleMode
  Scale mode used when displaying a molecule so that it fills the whole
scene
scaleAt : DrawSettings=>PointId->Scale->DrawState->DrawState
Totality: total
Visibility: export
scaleAtPos : DrawSettings=>Scale->DrawState->DrawState
  Scales the molecule at the current mouse position.

Totality: total
Visibility: export
scaleAtCenter : DrawSettings=>Scale->DrawState->DrawState
  Scales the molecule at the center of the scene

Totality: total
Visibility: export
.posId : DrawState->PointId
Totality: total
Visibility: export
.posMol : DrawState->PointMol
Totality: total
Visibility: export
applyWhenSel : DrawSettings=>DrawState-> Lazy a-> Lazy a-> Lazy a->a
Totality: total
Visibility: export
toTransform : AffineTransformation->Transform
  Convert an `AffineTransformation` to a transformation to be
used in an SVG element.

Totality: total
Visibility: export
update : DrawSettings=>DrawEvent->DrawState->DrawState
Totality: total
Visibility: export
initMol : DrawSettings=>SceneDims->ScaleMode->CDGraph->DrawState
  Initializes the drawing state for the given mol graph.

The `SceneDims` are used for centering the molecule, as well
as for scaling it to fill the scene in case the given bool is
set to `True`.

Totality: total
Visibility: export
init : DrawSettings=>SceneDims->ScaleMode->String->DrawState
Totality: total
Visibility: export
fromMol : DrawSettings=>SceneDims->ScaleMode->MolGraphAT->DrawState
Totality: total
Visibility: export
diff --git a/docs/epoll/docs/docs/System.Linux.EventFD.html b/docs/epoll/docs/docs/System.Linux.EventFD.html index 64eecf13c..1f6c3ee28 100644 --- a/docs/epoll/docs/docs/System.Linux.EventFD.html +++ b/docs/epoll/docs/docs/System.Linux.EventFD.html @@ -68,4 +68,4 @@ The file descriptor can work in `EFD_SEMAPHORE` mode, in which case it can indeed be used liked a `System.Concurrent.Semaphore` or a `System.Concurrent.Condition`. -

Definitions

recordFlags : Type
  Flags describing the behavior of an event file descriptor.

Several flags can be combined using `(<+>)`.

Totality: total
Visibility: export
Constructor: 
F : Bits32->Flags

Projection: 
.value : Flags->Bits32

Hints:
EqFlags
MonoidFlags
OrdFlags
SemigroupFlags
ShowFlags
flagCode : Flags->Bits32
Totality: total
Visibility: export
EFD_CLOEXEC : Flags
Totality: total
Visibility: export
EFD_NONBLOCK : Flags
  Sets the file descriptor to non-blocking: Reading from
an `EventFD` via `readEv` will usually block the calling thread
unless the file descriptor's stored value is greater than zero.

With this flag being set, `readEv` will never block but will return
`Left EAGAIN` in case of an empty file descriptor.

Totality: total
Visibility: export
EFD_SEMAPHORE : Flags
  Changes the file descriptor to work in "semaphore mode": Usually,
`readEv` will return the whole 64-bit value currently stored in the
file descriptor. In semaphore mode, `readEv` will always return 1
(unliss the file descriptor is empty) and likewise reduce the stored
value by 1.

Totality: total
Visibility: export
recordEventFD : Type
  An event file descriptor that can be monitored via `epoll`
and programmatically written to and read from.

Totality: total
Visibility: public export
Constructor: 
EFD : Bits32->EventFD

Projection: 
.file : EventFD->Bits32

Hint: 
FileDescEventFD
.file : EventFD->Bits32
Totality: total
Visibility: public export
file : EventFD->Bits32
Totality: total
Visibility: public export
eventfd : Bits64->Flags->PrimIOEventFD
  Creates a new `EventFD` with the given initial value a flags set.

Totality: total
Visibility: export
writeEv : EventFD->Bits64->PrimIO ()
  Writes (adds) the given 64-bit value to the value currently stored
in the given event file descriptor.

Totality: total
Visibility: export
readEv : EventFD->PrimIO (EitherEpollErrBits64)
  Reads the current value from an event file descriptor, setting the
stored value to 0.

If the `EFD_SEMAPHORE` flag was set when creating the file descriptor,
this will always return 1 in case the event file is non-empty. Likewise,
the value stored in the event file will be reduced by one.

Totality: total
Visibility: export
withEv : Bits64->Flags-> (EventFD->PrimIOa) ->PrimIOa
  Creates and finally closes and event file descriptor.

Totality: total
Visibility: export
+

Definitions

recordFlags : Type
  Flags describing the behavior of an event file descriptor.

Several flags can be combined using `(<+>)`.

Totality: total
Visibility: export
Constructor: 
F : Bits32->Flags

Projection: 
.value : Flags->Bits32

Hints:
EqFlags
MonoidFlags
OrdFlags
SemigroupFlags
ShowFlags
flagCode : Flags->Bits32
Totality: total
Visibility: export
EFD_CLOEXEC : Flags
Totality: total
Visibility: export
EFD_NONBLOCK : Flags
  Sets the file descriptor to non-blocking: Reading from
an `EventFD` via `readEv` will usually block the calling thread
unless the file descriptor's stored value is greater than zero.

With this flag being set, `readEv` will never block but will return
`Left EAGAIN` in case of an empty file descriptor.

Totality: total
Visibility: export
EFD_SEMAPHORE : Flags
  Changes the file descriptor to work in "semaphore mode": Usually,
`readEv` will return the whole 64-bit value currently stored in the
file descriptor. In semaphore mode, `readEv` will always return 1
(unliss the file descriptor is empty) and likewise reduce the stored
value by 1.

Totality: total
Visibility: export
recordEventFD : Type
  An event file descriptor that can be monitored via `epoll`
and programmatically written to and read from.

Totality: total
Visibility: public export
Constructor: 
EFD : Bits32->EventFD

Projection: 
.file : EventFD->Bits32

Hint: 
FileDescEventFD
.file : EventFD->Bits32
Totality: total
Visibility: public export
file : EventFD->Bits32
Totality: total
Visibility: public export
eventfd : Bits64->Flags->PrimIOEventFD
  Creates a new `EventFD` with the given initial value a flags set.

Totality: total
Visibility: export
writeEv : EventFD->Bits64->PrimIO ()
  Writes (adds) the given 64-bit value to the value currently stored
in the given event file descriptor.

Totality: total
Visibility: export
readEv : EventFD->PrimIO (EitherEpollErrBits64)
  Reads the current value from an event file descriptor, setting the
stored value to 0.

If the `EFD_SEMAPHORE` flag was set when creating the file descriptor,
this will always return 1 in case the event file is non-empty. Likewise,
the value stored in the event file will be reduced by one.

Totality: total
Visibility: export
withEv : Bits64->Flags-> (EventFD->PrimIOa) ->PrimIOa
  Creates and finally closes and event file descriptor.

Totality: total
Visibility: export
diff --git a/docs/epoll/docs/docs/System.Linux.File.html b/docs/epoll/docs/docs/System.Linux.File.html index 890f55af3..8c6ec4d17 100644 --- a/docs/epoll/docs/docs/System.Linux.File.html +++ b/docs/epoll/docs/docs/System.Linux.File.html @@ -61,4 +61,4 @@ -

System.Linux.File

(source)

Definitions

interfaceFileDesc : Type->Type
Parameters: a
Methods:
fileDesc : a->Bits32

Implementations:
FileDescEventFD
FileDescBits32
FileDescStdFile
fileDesc : FileDesca=>a->Bits32
Totality: total
Visibility: public export
dataReadRes : Type
  Result of reading from a file descriptor

Totality: total
Visibility: public export
Constructors:
EOF : ReadRes
  End of file has been reached
Again : ReadRes
  This occurs when reading from a file descriptor in non-blocking mode
and there is currently no data ready.
Bytes : (n : Nat) ->IBuffern->ReadRes
  The given numbers have been read into an immutable buffer
Err : EpollErr->ReadRes
  An error occured
close : FileDesca=>a->PrimIO ()
  Close a file descriptor.

Totality: total
Visibility: export
read : FileDesca=>a->Buffer->Nat->Nat->PrimIO (EitherEpollErrNat)
  Low-level reading of at most `max` bytes from a file into a buffer
starting at buffer offset `offset`.

See `readBytes` for a higher-level function that allocates a new buffer and
correctly interprets the result.

Totality: total
Visibility: export
write : FileDesca=>a->Buffer->Nat->Nat->PrimIO (EitherEpollErrNat)
Totality: total
Visibility: export
readBytes : FileDesca=>a->Nat->PrimIOReadRes
  A higher-level alternative to `read`: It allocates a new buffer of the
given size and returns it wrapped in a `ReadRes`.

Use `read` if you want to avoid allocating a new buffer for every
data package.

Totality: total
Visibility: export
setNonBlocking : FileDesca=>a->PrimIO ()
  Changes a file descriptor's mode to `O_NONBLOCK`.

This will not block when trying to read from a stream such as a pipe, socket, or
stdin. Instead, `readBytes` will return `Again` in case no data is currently
available. Use this in combination with `EPOLLET` to keep reading from a data
source until it is temporarily exhausted.

Totality: total
Visibility: export
dataStdFile : Type
Totality: total
Visibility: public export
Constructors:
StdIn : StdFile
StdOut : StdFile
StdErr : StdFile

Hints:
EqStdFile
FileDescStdFile
FiniteStdFile
OrdStdFile
ShowStdFile
+

System.Linux.File

(source)

Definitions

interfaceFileDesc : Type->Type
Parameters: a
Methods:
fileDesc : a->Bits32

Implementations:
FileDescEventFD
FileDescBits32
FileDescStdFile
fileDesc : FileDesca=>a->Bits32
Totality: total
Visibility: public export
dataReadRes : Type
  Result of reading from a file descriptor

Totality: total
Visibility: public export
Constructors:
EOF : ReadRes
  End of file has been reached
Again : ReadRes
  This occurs when reading from a file descriptor in non-blocking mode
and there is currently no data ready.
Bytes : (n : Nat) ->IBuffern->ReadRes
  The given numbers have been read into an immutable buffer
Err : EpollErr->ReadRes
  An error occured
close : FileDesca=>a->PrimIO ()
  Close a file descriptor.

Totality: total
Visibility: export
read : FileDesca=>a->Buffer->Nat->Nat->PrimIO (EitherEpollErrNat)
  Low-level reading of at most `max` bytes from a file into a buffer
starting at buffer offset `offset`.

See `readBytes` for a higher-level function that allocates a new buffer and
correctly interprets the result.

Totality: total
Visibility: export
write : FileDesca=>a->Buffer->Nat->Nat->PrimIO (EitherEpollErrNat)
Totality: total
Visibility: export
readBytes : FileDesca=>a->Nat->PrimIOReadRes
  A higher-level alternative to `read`: It allocates a new buffer of the
given size and returns it wrapped in a `ReadRes`.

Use `read` if you want to avoid allocating a new buffer for every
data package.

Totality: total
Visibility: export
setNonBlocking : FileDesca=>a->PrimIO ()
  Changes a file descriptor's mode to `O_NONBLOCK`.

This will not block when trying to read from a stream such as a pipe, socket, or
stdin. Instead, `readBytes` will return `Again` in case no data is currently
available. Use this in combination with `EPOLLET` to keep reading from a data
source until it is temporarily exhausted.

Totality: total
Visibility: export
dataStdFile : Type
Totality: total
Visibility: public export
Constructors:
StdIn : StdFile
StdOut : StdFile
StdErr : StdFile

Hints:
EqStdFile
FileDescStdFile
FiniteStdFile
OrdStdFile
ShowStdFile
diff --git a/docs/epoll/docs/docs/System.Linux.SignalFD.html b/docs/epoll/docs/docs/System.Linux.SignalFD.html index 44bb95427..2c2d9cb78 100644 --- a/docs/epoll/docs/docs/System.Linux.SignalFD.html +++ b/docs/epoll/docs/docs/System.Linux.SignalFD.html @@ -61,4 +61,4 @@ -

System.Linux.SignalFD

(source)

Reexports

importpublic System.Signal

Definitions

recordFlags : Type
  Flags describing the behavior of an signal file descriptor.

Several flags can be combined using `(<+>)`.

Totality: total
Visibility: export
Constructor: 
F : Bits32->Flags

Projection: 
.value : Flags->Bits32

Hints:
EqFlags
MonoidFlags
OrdFlags
SemigroupFlags
ShowFlags
flagCode : Flags->Bits32
Totality: total
Visibility: export
SFD_CLOEXEC : Flags
Totality: total
Visibility: export
SFD_NONBLOCK : Flags
  Sets the file descriptor to non-blocking: Reading from
a `SignalFD` via `readSignal` will usually block the calling thread
unless the file descriptor's signal has been caught.

With this flag being set, `readSignal` will never block but will return
`Left EAGAIN` in case of a still running signal.

Totality: total
Visibility: export
recordSignalFD : Type
  A signal file descriptor that can be monitored via `epoll`.

Totality: total
Visibility: public export
Constructor: 
SFD : Bits32->SignalFD

Projection: 
.file : SignalFD->Bits32

Hint: 
FileDescSignalFD
.file : SignalFD->Bits32
Totality: total
Visibility: public export
file : SignalFD->Bits32
Totality: total
Visibility: public export
signalCreate : ListSignal->Flags->PrimIOSignalFD
  Creates a new `SignalFD`, observing the given signals
with the given flags set.

Note: Make sure to block the given list of signals to prevent their
default behavior. The easiest way to do so is by using
`blockSignals` at the beginning of your application.

Totality: total
Visibility: export
blockSignals : ListSignal->PrimIO ()
  Block default handling for the given list of signals.

Totality: total
Visibility: export
readSignal : SignalFD->PrimIO (EitherEpollErrBits32)
  Reads the next caught signal from a signal file descriptor.

Totality: total
Visibility: export
withSignal : ListSignal->Flags-> (SignalFD->PrimIOa) ->PrimIOa
  Creates and finally closes and event file descriptor.

Totality: total
Visibility: export
raise : Signal->PrimIO ()
Totality: total
Visibility: export
+

System.Linux.SignalFD

(source)

Reexports

importpublic System.Signal

Definitions

recordFlags : Type
  Flags describing the behavior of an signal file descriptor.

Several flags can be combined using `(<+>)`.

Totality: total
Visibility: export
Constructor: 
F : Bits32->Flags

Projection: 
.value : Flags->Bits32

Hints:
EqFlags
MonoidFlags
OrdFlags
SemigroupFlags
ShowFlags
flagCode : Flags->Bits32
Totality: total
Visibility: export
SFD_CLOEXEC : Flags
Totality: total
Visibility: export
SFD_NONBLOCK : Flags
  Sets the file descriptor to non-blocking: Reading from
a `SignalFD` via `readSignal` will usually block the calling thread
unless the file descriptor's signal has been caught.

With this flag being set, `readSignal` will never block but will return
`Left EAGAIN` in case of a still running signal.

Totality: total
Visibility: export
recordSignalFD : Type
  A signal file descriptor that can be monitored via `epoll`.

Totality: total
Visibility: public export
Constructor: 
SFD : Bits32->SignalFD

Projection: 
.file : SignalFD->Bits32

Hint: 
FileDescSignalFD
.file : SignalFD->Bits32
Totality: total
Visibility: public export
file : SignalFD->Bits32
Totality: total
Visibility: public export
signalCreate : ListSignal->Flags->PrimIOSignalFD
  Creates a new `SignalFD`, observing the given signals
with the given flags set.

Note: Make sure to block the given list of signals to prevent their
default behavior. The easiest way to do so is by using
`blockSignals` at the beginning of your application.

Totality: total
Visibility: export
blockSignals : ListSignal->PrimIO ()
  Block default handling for the given list of signals.

Totality: total
Visibility: export
readSignal : SignalFD->PrimIO (EitherEpollErrBits32)
  Reads the next caught signal from a signal file descriptor.

Totality: total
Visibility: export
withSignal : ListSignal->Flags-> (SignalFD->PrimIOa) ->PrimIOa
  Creates and finally closes and event file descriptor.

Totality: total
Visibility: export
raise : Signal->PrimIO ()
Totality: total
Visibility: export
diff --git a/docs/epoll/docs/docs/System.Linux.TimerFD.html b/docs/epoll/docs/docs/System.Linux.TimerFD.html index 12864b1ac..df05b6b93 100644 --- a/docs/epoll/docs/docs/System.Linux.TimerFD.html +++ b/docs/epoll/docs/docs/System.Linux.TimerFD.html @@ -61,4 +61,4 @@ -

System.Linux.TimerFD

(source)

Reexports

importpublic System.Clock

Definitions

dataClockTpe : Type
Totality: total
Visibility: public export
Constructors:
REALTIME : ClockTpe
MONOTONIC : ClockTpe
BOOTTIME : ClockTpe
REALTIME_ALARM : ClockTpe
BOOTTIME_ALARM : ClockTpe

Hints:
EqClockTpe
FiniteClockTpe
ShowClockTpe
clockCode : ClockTpe->Bits32
Totality: total
Visibility: export
recordFlags : Type
  Flags describing the behavior of an timer file descriptor.

Several flags can be combined using `(<+>)`.

Totality: total
Visibility: export
Constructor: 
F : Bits32->Flags

Projection: 
.value : Flags->Bits32

Hints:
EqFlags
MonoidFlags
OrdFlags
SemigroupFlags
ShowFlags
flagCode : Flags->Bits32
Totality: total
Visibility: export
TFD_CLOEXEC : Flags
Totality: total
Visibility: export
TFD_NONBLOCK : Flags
  Sets the file descriptor to non-blocking: Reading from
an `TimerFD` via `readTimer` will usually block the calling thread
unless the file descriptor's timer has already expired at least
once.

With this flag being set, `readTimer` will never block but will return
`Left EAGAIN` in case of a still running timer.

Totality: total
Visibility: export
recordTimerFD : Type
  A timer file descriptor that can be monitored via `epoll`.

Totality: total
Visibility: public export
Constructor: 
TFD : Bits32->TimerFD

Projection: 
.file : TimerFD->Bits32

Hint: 
FileDescTimerFD
.file : TimerFD->Bits32
Totality: total
Visibility: public export
file : TimerFD->Bits32
Totality: total
Visibility: public export
timerCreate : ClockTpe->Flags->PrimIOTimerFD
  Creates a new `TimerFD` with the given initial value a flags set.

Totality: total
Visibility: export
readTimer : TimerFD->PrimIO (EitherEpollErrBits64)
  Reads the current value from a timer file descriptor, returning the
number of times the timer has expired since the last read.

This will block the calling thread unless the `TFD_NONBLOCK` flag
was set.

Totality: total
Visibility: export
setTime : TimerFD->ClockDuration->PrimIO ()
Totality: total
Visibility: export
withTimer : ClockTpe->Flags-> (TimerFD->PrimIOa) ->PrimIOa
  Creates and finally closes and event file descriptor.

Totality: total
Visibility: export
zero : ClockDuration
  The zero duration.

Totality: total
Visibility: export
.s : Nat->ClockDuration
  Creates a duration of `n` seconds

Totality: total
Visibility: export
.ns : Nat->ClockDuration
  Creates a duration of `n` nanoseconds

Totality: total
Visibility: export
.us : Nat->ClockDuration
  Creates a duration of `n` microseconds

Totality: total
Visibility: export
.ms : Nat->ClockDuration
  Creates a duration of `n` milliseconds

Totality: total
Visibility: export
+

System.Linux.TimerFD

(source)

Reexports

importpublic System.Clock

Definitions

dataClockTpe : Type
Totality: total
Visibility: public export
Constructors:
REALTIME : ClockTpe
MONOTONIC : ClockTpe
BOOTTIME : ClockTpe
REALTIME_ALARM : ClockTpe
BOOTTIME_ALARM : ClockTpe

Hints:
EqClockTpe
FiniteClockTpe
ShowClockTpe
clockCode : ClockTpe->Bits32
Totality: total
Visibility: export
recordFlags : Type
  Flags describing the behavior of an timer file descriptor.

Several flags can be combined using `(<+>)`.

Totality: total
Visibility: export
Constructor: 
F : Bits32->Flags

Projection: 
.value : Flags->Bits32

Hints:
EqFlags
MonoidFlags
OrdFlags
SemigroupFlags
ShowFlags
flagCode : Flags->Bits32
Totality: total
Visibility: export
TFD_CLOEXEC : Flags
Totality: total
Visibility: export
TFD_NONBLOCK : Flags
  Sets the file descriptor to non-blocking: Reading from
an `TimerFD` via `readTimer` will usually block the calling thread
unless the file descriptor's timer has already expired at least
once.

With this flag being set, `readTimer` will never block but will return
`Left EAGAIN` in case of a still running timer.

Totality: total
Visibility: export
recordTimerFD : Type
  A timer file descriptor that can be monitored via `epoll`.

Totality: total
Visibility: public export
Constructor: 
TFD : Bits32->TimerFD

Projection: 
.file : TimerFD->Bits32

Hint: 
FileDescTimerFD
.file : TimerFD->Bits32
Totality: total
Visibility: public export
file : TimerFD->Bits32
Totality: total
Visibility: public export
timerCreate : ClockTpe->Flags->PrimIOTimerFD
  Creates a new `TimerFD` with the given initial value a flags set.

Totality: total
Visibility: export
readTimer : TimerFD->PrimIO (EitherEpollErrBits64)
  Reads the current value from a timer file descriptor, returning the
number of times the timer has expired since the last read.

This will block the calling thread unless the `TFD_NONBLOCK` flag
was set.

Totality: total
Visibility: export
setTime : TimerFD->ClockDuration->PrimIO ()
Totality: total
Visibility: export
withTimer : ClockTpe->Flags-> (TimerFD->PrimIOa) ->PrimIOa
  Creates and finally closes and event file descriptor.

Totality: total
Visibility: export
zero : ClockDuration
  The zero duration.

Totality: total
Visibility: export
.s : Nat->ClockDuration
  Creates a duration of `n` seconds

Totality: total
Visibility: export
.ns : Nat->ClockDuration
  Creates a duration of `n` nanoseconds

Totality: total
Visibility: export
.us : Nat->ClockDuration
  Creates a duration of `n` microseconds

Totality: total
Visibility: export
.ms : Nat->ClockDuration
  Creates a duration of `n` milliseconds

Totality: total
Visibility: export
diff --git a/docs/linux/docs/docs/System.Linux.Epoll.Flags.html b/docs/linux/docs/docs/System.Linux.Epoll.Flags.html index 35088c307..b72cb8e3e 100644 --- a/docs/linux/docs/docs/System.Linux.Epoll.Flags.html +++ b/docs/linux/docs/docs/System.Linux.Epoll.Flags.html @@ -61,4 +61,4 @@ -

System.Linux.Epoll.Flags

(source)

Definitions

recordEvent : Type
Totality: total
Visibility: public export
Constructor: 
E : Bits32->Event

Projection: 
.event : Event->Bits32

Hints:
EqEvent
MonoidEvent
OrdEvent
SemigroupEvent
ShowEvent
.event : Event->Bits32
Totality: total
Visibility: public export
event : Event->Bits32
Totality: total
Visibility: public export
recordEpollFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->EpollFlags

Projection: 
.flags : EpollFlags->Bits32

Hints:
EqEpollFlags
MonoidEpollFlags
OrdEpollFlags
SemigroupEpollFlags
ShowEpollFlags
.flags : EpollFlags->Bits32
Totality: total
Visibility: public export
flags : EpollFlags->Bits32
Totality: total
Visibility: public export
dataEpollOp : Type
Totality: total
Visibility: public export
Constructors:
Add : EpollOp
Del : EpollOp
Mod : EpollOp

Hints:
EqEpollOp
OrdEpollOp
ShowEpollOp
opCode : EpollOp->Bits32
Totality: total
Visibility: public export
EPOLLIN : Event
Totality: total
Visibility: public export
EPOLLOUT : Event
Totality: total
Visibility: public export
EPOLLRDHUP : Event
Totality: total
Visibility: public export
EPOLLPRI : Event
Totality: total
Visibility: public export
EPOLLERR : Event
Totality: total
Visibility: public export
EPOLLHUP : Event
Totality: total
Visibility: public export
EPOLLET : Event
Totality: total
Visibility: public export
EPOLLONESHOT : Event
Totality: total
Visibility: public export
EPOLLWAKEUP : Event
Totality: total
Visibility: public export
EPOLLEXCLUSIVE : Event
Totality: total
Visibility: public export
EPOLL_CLOEXEC : EpollFlags
Totality: total
Visibility: public export
epoll_event_size : Bits32
Totality: total
Visibility: public export
+

System.Linux.Epoll.Flags

(source)

Definitions

recordEvent : Type
Totality: total
Visibility: public export
Constructor: 
E : Bits32->Event

Projection: 
.event : Event->Bits32

Hints:
EqEvent
MonoidEvent
OrdEvent
SemigroupEvent
ShowEvent
.event : Event->Bits32
Totality: total
Visibility: public export
event : Event->Bits32
Totality: total
Visibility: public export
recordEpollFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->EpollFlags

Projection: 
.flags : EpollFlags->Bits32

Hints:
EqEpollFlags
MonoidEpollFlags
OrdEpollFlags
SemigroupEpollFlags
ShowEpollFlags
.flags : EpollFlags->Bits32
Totality: total
Visibility: public export
flags : EpollFlags->Bits32
Totality: total
Visibility: public export
dataEpollOp : Type
Totality: total
Visibility: public export
Constructors:
Add : EpollOp
Del : EpollOp
Mod : EpollOp

Hints:
EqEpollOp
OrdEpollOp
ShowEpollOp
opCode : EpollOp->Bits32
Totality: total
Visibility: public export
EPOLLIN : Event
Totality: total
Visibility: public export
EPOLLOUT : Event
Totality: total
Visibility: public export
EPOLLRDHUP : Event
Totality: total
Visibility: public export
EPOLLPRI : Event
Totality: total
Visibility: public export
EPOLLERR : Event
Totality: total
Visibility: public export
EPOLLHUP : Event
Totality: total
Visibility: public export
EPOLLET : Event
Totality: total
Visibility: public export
EPOLLONESHOT : Event
Totality: total
Visibility: public export
EPOLLWAKEUP : Event
Totality: total
Visibility: public export
EPOLLEXCLUSIVE : Event
Totality: total
Visibility: public export
EPOLL_CLOEXEC : EpollFlags
Totality: total
Visibility: public export
epoll_event_size : Bits32
Totality: total
Visibility: public export
diff --git a/docs/linux/docs/docs/System.Linux.Eventfd.Flags.html b/docs/linux/docs/docs/System.Linux.Eventfd.Flags.html index 3681c18c4..22b53d7a0 100644 --- a/docs/linux/docs/docs/System.Linux.Eventfd.Flags.html +++ b/docs/linux/docs/docs/System.Linux.Eventfd.Flags.html @@ -61,4 +61,4 @@ -

System.Linux.Eventfd.Flags

(source)

Definitions

recordEventfdFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->EventfdFlags

Projection: 
.flags : EventfdFlags->Bits32

Hints:
EqEventfdFlags
MonoidEventfdFlags
OrdEventfdFlags
SemigroupEventfdFlags
ShowEventfdFlags
.flags : EventfdFlags->Bits32
Totality: total
Visibility: public export
flags : EventfdFlags->Bits32
Totality: total
Visibility: public export
EFD_CLOEXEC : EventfdFlags
Totality: total
Visibility: public export
EFD_NONBLOCK : EventfdFlags
Totality: total
Visibility: public export
EFD_SEMAPHORE : EventfdFlags
Totality: total
Visibility: public export
+

System.Linux.Eventfd.Flags

(source)

Definitions

recordEventfdFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->EventfdFlags

Projection: 
.flags : EventfdFlags->Bits32

Hints:
EqEventfdFlags
MonoidEventfdFlags
OrdEventfdFlags
SemigroupEventfdFlags
ShowEventfdFlags
.flags : EventfdFlags->Bits32
Totality: total
Visibility: public export
flags : EventfdFlags->Bits32
Totality: total
Visibility: public export
EFD_CLOEXEC : EventfdFlags
Totality: total
Visibility: public export
EFD_NONBLOCK : EventfdFlags
Totality: total
Visibility: public export
EFD_SEMAPHORE : EventfdFlags
Totality: total
Visibility: public export
diff --git a/docs/linux/docs/docs/System.Linux.Eventfd.html b/docs/linux/docs/docs/System.Linux.Eventfd.html index e4bc537f1..cc99131fc 100644 --- a/docs/linux/docs/docs/System.Linux.Eventfd.html +++ b/docs/linux/docs/docs/System.Linux.Eventfd.html @@ -61,4 +61,4 @@ -

System.Linux.Eventfd

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Linux.Eventfd.Flags
importpublic System.Posix.File

Definitions

recordEventfd : Type
  A file descriptor for basic file events.

This can be used as an event wait/notify mechanism similar to
a `Condition` variable.

Totality: total
Visibility: export
Constructor: 
EFD : Bits32->Eventfd

Projection: 
.fd : Eventfd->Bits32

Hint: 
CastEventfdFd
eventfd : ErrIOio=>Bits64->EventfdFlags->ioEventfd
  Opens a new `eventfd` file descriptor writing the given value
to it.

Notes:
* An `eventfd` should be closed using `close` just like other file
descriptors.
* In general, use `readEventfd` instead of the `read` functions
from `System.Posix.File` to read from an `eventfd`.
* Likewise, use `writeEventfd` instead of `System.Posix.File.write`

Totality: total
Visibility: export
writeEventfd : ErrIOio=>Eventfd->Bits64->io ()
  Writes a value to the given event file descriptor.

Totality: total
Visibility: export
readEventfd : ErrIOio=>Eventfd->ioBits64
  Reads the current value from an event file descriptor.

If the current value is 0, this will block until a non-zero value
is ready. If opened with the `EFD_NONBLOCK` flag, this fails with `EAGAIN`
if no value is ready. If opened with the `EFD_SEMAPHORE` flag, this will
return 1 if a value is ready and reduce the value by 1.

Totality: total
Visibility: export
+

System.Linux.Eventfd

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Linux.Eventfd.Flags
importpublic System.Posix.File

Definitions

recordEventfd : Type
  A file descriptor for basic file events.

This can be used as an event wait/notify mechanism similar to
a `Condition` variable.

Totality: total
Visibility: export
Constructor: 
EFD : Bits32->Eventfd

Projection: 
.fd : Eventfd->Bits32

Hint: 
CastEventfdFd
eventfd : ErrIOio=>Bits64->EventfdFlags->ioEventfd
  Opens a new `eventfd` file descriptor writing the given value
to it.

Notes:
* An `eventfd` should be closed using `close` just like other file
descriptors.
* In general, use `readEventfd` instead of the `read` functions
from `System.Posix.File` to read from an `eventfd`.
* Likewise, use `writeEventfd` instead of `System.Posix.File.write`

Totality: total
Visibility: export
writeEventfd : ErrIOio=>Eventfd->Bits64->io ()
  Writes a value to the given event file descriptor.

Totality: total
Visibility: export
readEventfd : ErrIOio=>Eventfd->ioBits64
  Reads the current value from an event file descriptor.

If the current value is 0, this will block until a non-zero value
is ready. If opened with the `EFD_NONBLOCK` flag, this fails with `EAGAIN`
if no value is ready. If opened with the `EFD_SEMAPHORE` flag, this will
return 1 if a value is ready and reduce the value by 1.

Totality: total
Visibility: export
diff --git a/docs/linux/docs/docs/System.Linux.Inotify.Flags.html b/docs/linux/docs/docs/System.Linux.Inotify.Flags.html index 9a3691ee5..cbc1e8f38 100644 --- a/docs/linux/docs/docs/System.Linux.Inotify.Flags.html +++ b/docs/linux/docs/docs/System.Linux.Inotify.Flags.html @@ -61,4 +61,4 @@ -

System.Linux.Inotify.Flags

(source)

Definitions

recordInotifyFlags : Type
Totality: total
Visibility: public export
Constructor: 
IF : Bits32->InotifyFlags

Projection: 
.flags : InotifyFlags->Bits32

Hints:
EqInotifyFlags
MonoidInotifyFlags
OrdInotifyFlags
SemigroupInotifyFlags
ShowInotifyFlags
.flags : InotifyFlags->Bits32
Totality: total
Visibility: public export
flags : InotifyFlags->Bits32
Totality: total
Visibility: public export
recordInotifyMask : Type
Totality: total
Visibility: public export
Constructor: 
IM : Bits32->InotifyMask

Projection: 
.mask : InotifyMask->Bits32

Hints:
EqInotifyMask
MonoidInotifyMask
OrdInotifyMask
SemigroupInotifyMask
ShowInotifyMask
.mask : InotifyMask->Bits32
Totality: total
Visibility: public export
mask : InotifyMask->Bits32
Totality: total
Visibility: public export
has : InotifyMask->InotifyMask->Bool
  Checks if an inotify event mask holds the given event.

Totality: total
Visibility: export
IN_NONBLOCK : InotifyFlags
Totality: total
Visibility: public export
IN_CLOEXEC : InotifyFlags
Totality: total
Visibility: public export
IN_ACCESS : InotifyMask
Totality: total
Visibility: public export
IN_ATTRIB : InotifyMask
Totality: total
Visibility: public export
IN_CLOSE_WRITE : InotifyMask
Totality: total
Visibility: public export
IN_CLOSE_NOWRITE : InotifyMask
Totality: total
Visibility: public export
IN_CREATE : InotifyMask
Totality: total
Visibility: public export
IN_DELETE : InotifyMask
Totality: total
Visibility: public export
IN_DELETE_SELF : InotifyMask
Totality: total
Visibility: public export
IN_MODIFY : InotifyMask
Totality: total
Visibility: public export
IN_MOVE_SELF : InotifyMask
Totality: total
Visibility: public export
IN_MOVED_FROM : InotifyMask
Totality: total
Visibility: public export
IN_MOVED_TO : InotifyMask
Totality: total
Visibility: public export
IN_OPEN : InotifyMask
Totality: total
Visibility: public export
IN_ALL_EVENTS : InotifyMask
Totality: total
Visibility: public export
IN_MOVE : InotifyMask
Totality: total
Visibility: public export
IN_CLOSE : InotifyMask
Totality: total
Visibility: public export
IN_DONT_FOLLOW : InotifyMask
Totality: total
Visibility: public export
Totality: total
Visibility: public export
IN_MASK_ADD : InotifyMask
Totality: total
Visibility: public export
IN_ONESHOT : InotifyMask
Totality: total
Visibility: public export
IN_ONLYDIR : InotifyMask
Totality: total
Visibility: public export
IN_MASK_CREATE : InotifyMask
Totality: total
Visibility: public export
IN_IGNORED : InotifyMask
Totality: total
Visibility: public export
IN_ISDIR : InotifyMask
Totality: total
Visibility: public export
IN_Q_OVERFLOW : InotifyMask
Totality: total
Visibility: public export
IN_UNMOUNT : InotifyMask
Totality: total
Visibility: public export
+

System.Linux.Inotify.Flags

(source)

Definitions

recordInotifyFlags : Type
Totality: total
Visibility: public export
Constructor: 
IF : Bits32->InotifyFlags

Projection: 
.flags : InotifyFlags->Bits32

Hints:
EqInotifyFlags
MonoidInotifyFlags
OrdInotifyFlags
SemigroupInotifyFlags
ShowInotifyFlags
.flags : InotifyFlags->Bits32
Totality: total
Visibility: public export
flags : InotifyFlags->Bits32
Totality: total
Visibility: public export
recordInotifyMask : Type
Totality: total
Visibility: public export
Constructor: 
IM : Bits32->InotifyMask

Projection: 
.mask : InotifyMask->Bits32

Hints:
EqInotifyMask
MonoidInotifyMask
OrdInotifyMask
SemigroupInotifyMask
ShowInotifyMask
.mask : InotifyMask->Bits32
Totality: total
Visibility: public export
mask : InotifyMask->Bits32
Totality: total
Visibility: public export
has : InotifyMask->InotifyMask->Bool
  Checks if an inotify event mask holds the given event.

Totality: total
Visibility: export
IN_NONBLOCK : InotifyFlags
Totality: total
Visibility: public export
IN_CLOEXEC : InotifyFlags
Totality: total
Visibility: public export
IN_ACCESS : InotifyMask
Totality: total
Visibility: public export
IN_ATTRIB : InotifyMask
Totality: total
Visibility: public export
IN_CLOSE_WRITE : InotifyMask
Totality: total
Visibility: public export
IN_CLOSE_NOWRITE : InotifyMask
Totality: total
Visibility: public export
IN_CREATE : InotifyMask
Totality: total
Visibility: public export
IN_DELETE : InotifyMask
Totality: total
Visibility: public export
IN_DELETE_SELF : InotifyMask
Totality: total
Visibility: public export
IN_MODIFY : InotifyMask
Totality: total
Visibility: public export
IN_MOVE_SELF : InotifyMask
Totality: total
Visibility: public export
IN_MOVED_FROM : InotifyMask
Totality: total
Visibility: public export
IN_MOVED_TO : InotifyMask
Totality: total
Visibility: public export
IN_OPEN : InotifyMask
Totality: total
Visibility: public export
IN_ALL_EVENTS : InotifyMask
Totality: total
Visibility: public export
IN_MOVE : InotifyMask
Totality: total
Visibility: public export
IN_CLOSE : InotifyMask
Totality: total
Visibility: public export
IN_DONT_FOLLOW : InotifyMask
Totality: total
Visibility: public export
Totality: total
Visibility: public export
IN_MASK_ADD : InotifyMask
Totality: total
Visibility: public export
IN_ONESHOT : InotifyMask
Totality: total
Visibility: public export
IN_ONLYDIR : InotifyMask
Totality: total
Visibility: public export
IN_MASK_CREATE : InotifyMask
Totality: total
Visibility: public export
IN_IGNORED : InotifyMask
Totality: total
Visibility: public export
IN_ISDIR : InotifyMask
Totality: total
Visibility: public export
IN_Q_OVERFLOW : InotifyMask
Totality: total
Visibility: public export
IN_UNMOUNT : InotifyMask
Totality: total
Visibility: public export
diff --git a/docs/linux/docs/docs/System.Linux.Inotify.html b/docs/linux/docs/docs/System.Linux.Inotify.html index 19c7992b3..1c3385745 100644 --- a/docs/linux/docs/docs/System.Linux.Inotify.html +++ b/docs/linux/docs/docs/System.Linux.Inotify.html @@ -61,4 +61,4 @@ -

System.Linux.Inotify

(source)

Reexports

importpublic System.Linux.Inotify.Flags
importpublic System.Posix.File

Definitions

recordInotify : Type
  An `inotify` file descriptor.

Totality: total
Visibility: export
Constructor: 
I : Bits32->Inotify

Projection: 
.fd : Inotify->Bits32

Hints:
CastInotifyFd
EqInotify
OrdInotify
ShowInotify
recordWatch : Type
  An `inotify` file descriptor.

Totality: total
Visibility: export
Constructor: 
W : Bits32->Watch

Projection: 
.wd : Watch->Bits32

Hints:
EqWatch
InterpolationWatch
OrdWatch
ShowWatch
recordInotifyRes : Type
Totality: total
Visibility: public export
Constructor: 
IR : Watch->InotifyMask->Bits32->String->InotifyRes

Projections:
.cookie : InotifyRes->Bits32
.mask : InotifyRes->InotifyMask
.name : InotifyRes->String
.watch : InotifyRes->Watch

Hints:
EqInotifyRes
ShowInotifyRes
.watch : InotifyRes->Watch
Totality: total
Visibility: public export
watch : InotifyRes->Watch
Totality: total
Visibility: public export
.mask : InotifyRes->InotifyMask
Totality: total
Visibility: public export
mask : InotifyRes->InotifyMask
Totality: total
Visibility: public export
.cookie : InotifyRes->Bits32
Totality: total
Visibility: public export
cookie : InotifyRes->Bits32
Totality: total
Visibility: public export
.name : InotifyRes->String
Totality: total
Visibility: public export
name : InotifyRes->String
Totality: total
Visibility: public export
inotifyInit : ErrIOio=>InotifyFlags->ioInotify
  Opens a new `inotify` file descriptor.

Totality: total
Visibility: export
inotifyAddWatch : ErrIOio=>Inotify->String->InotifyMask->ioWatch
  Watches a file for the given events.

Totality: total
Visibility: export
inotifyRm : ErrIOio=>Inotify->Watch->io ()
Totality: total
Visibility: export
inotifyRead : ErrIOio=>Bits32->Inotify->io (ListInotifyRes)
  Reads at most `buf` from an `inotify` file descriptor.

This will block the

Totality: total
Visibility: export
+

System.Linux.Inotify

(source)

Reexports

importpublic System.Linux.Inotify.Flags
importpublic System.Posix.File

Definitions

recordInotify : Type
  An `inotify` file descriptor.

Totality: total
Visibility: export
Constructor: 
I : Bits32->Inotify

Projection: 
.fd : Inotify->Bits32

Hints:
CastInotifyFd
EqInotify
OrdInotify
ShowInotify
recordWatch : Type
  An `inotify` file descriptor.

Totality: total
Visibility: export
Constructor: 
W : Bits32->Watch

Projection: 
.wd : Watch->Bits32

Hints:
EqWatch
InterpolationWatch
OrdWatch
ShowWatch
recordInotifyRes : Type
Totality: total
Visibility: public export
Constructor: 
IR : Watch->InotifyMask->Bits32->String->InotifyRes

Projections:
.cookie : InotifyRes->Bits32
.mask : InotifyRes->InotifyMask
.name : InotifyRes->String
.watch : InotifyRes->Watch

Hints:
EqInotifyRes
ShowInotifyRes
.watch : InotifyRes->Watch
Totality: total
Visibility: public export
watch : InotifyRes->Watch
Totality: total
Visibility: public export
.mask : InotifyRes->InotifyMask
Totality: total
Visibility: public export
mask : InotifyRes->InotifyMask
Totality: total
Visibility: public export
.cookie : InotifyRes->Bits32
Totality: total
Visibility: public export
cookie : InotifyRes->Bits32
Totality: total
Visibility: public export
.name : InotifyRes->String
Totality: total
Visibility: public export
name : InotifyRes->String
Totality: total
Visibility: public export
inotifyInit : ErrIOio=>InotifyFlags->ioInotify
  Opens a new `inotify` file descriptor.

Totality: total
Visibility: export
inotifyAddWatch : ErrIOio=>Inotify->String->InotifyMask->ioWatch
  Watches a file for the given events.

Totality: total
Visibility: export
inotifyRm : ErrIOio=>Inotify->Watch->io ()
Totality: total
Visibility: export
inotifyRead : ErrIOio=>Bits32->Inotify->io (ListInotifyRes)
  Reads at most `buf` from an `inotify` file descriptor.

This will block the

Totality: total
Visibility: export
diff --git a/docs/linux/docs/docs/System.Linux.Signalfd.Flags.html b/docs/linux/docs/docs/System.Linux.Signalfd.Flags.html index 0c3769386..9f1af6c49 100644 --- a/docs/linux/docs/docs/System.Linux.Signalfd.Flags.html +++ b/docs/linux/docs/docs/System.Linux.Signalfd.Flags.html @@ -61,4 +61,4 @@ -

System.Linux.Signalfd.Flags

(source)

Definitions

recordSignalfdFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->SignalfdFlags

Projection: 
.flags : SignalfdFlags->Bits32

Hints:
EqSignalfdFlags
MonoidSignalfdFlags
OrdSignalfdFlags
SemigroupSignalfdFlags
ShowSignalfdFlags
.flags : SignalfdFlags->Bits32
Totality: total
Visibility: public export
flags : SignalfdFlags->Bits32
Totality: total
Visibility: public export
SFD_CLOEXEC : SignalfdFlags
Totality: total
Visibility: public export
SFD_NONBLOCK : SignalfdFlags
Totality: total
Visibility: public export
signalfd_siginfo_size : Bits32
Totality: total
Visibility: public export
+

System.Linux.Signalfd.Flags

(source)

Definitions

recordSignalfdFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->SignalfdFlags

Projection: 
.flags : SignalfdFlags->Bits32

Hints:
EqSignalfdFlags
MonoidSignalfdFlags
OrdSignalfdFlags
SemigroupSignalfdFlags
ShowSignalfdFlags
.flags : SignalfdFlags->Bits32
Totality: total
Visibility: public export
flags : SignalfdFlags->Bits32
Totality: total
Visibility: public export
SFD_CLOEXEC : SignalfdFlags
Totality: total
Visibility: public export
SFD_NONBLOCK : SignalfdFlags
Totality: total
Visibility: public export
signalfd_siginfo_size : Bits32
Totality: total
Visibility: public export
diff --git a/docs/linux/docs/docs/System.Linux.Signalfd.html b/docs/linux/docs/docs/System.Linux.Signalfd.html index 723b00c98..869b30f20 100644 --- a/docs/linux/docs/docs/System.Linux.Signalfd.html +++ b/docs/linux/docs/docs/System.Linux.Signalfd.html @@ -61,4 +61,4 @@ -

System.Linux.Signalfd

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Linux.Signalfd.Flags
importpublic System.Posix.File
importpublic System.Posix.Signal

Definitions

recordSignalfd : Type
  A file descriptor for signal handling.

This can be used for synchronous signal handling using
(blocking) `readSignalfd` directly, or for asynchronous signal handling
using `epoll`.

Totality: total
Visibility: export
Constructor: 
SFD : Bits32->Signalfd

Projection: 
.fd : Signalfd->Bits32

Hint: 
CastSignalfdFd
signalfd : ErrIOio=>SigsetT->SignalfdFlags->ioSignalfd
  Opens a new `signalfd` file descriptor for observing the
signals specified in the given `SigsetT`.


Notes:
* Usually, the signals in `set` should first be blocked via `sigprocmask`.
* A `signalfd` should be closed using `close` just like other file
descriptors.
* In general, use `readSignalfd` instead of the `read` functions
from `System.Posix.File` to read from a `signalfd`.

Totality: total
Visibility: export
recordSiginfoFd : Type
  Result type when reading from a `Signalfd`.

Totality: total
Visibility: export
Constructor: 
SI : AnyPtr->SiginfoFd

Projection: 
.ptr : SiginfoFd->AnyPtr

Hints:
DerefSiginfoFd
SizeOfSiginfoFd
signal : HasIOio=>SiginfoFd->ioSignal
  The signal that was raised

Totality: total
Visibility: export
errno : HasIOio=>SiginfoFd->ioInt32
Totality: total
Visibility: export
code : HasIOio=>SiginfoFd->ioInt32
Totality: total
Visibility: export
pid : HasIOio=>SiginfoFd->ioPidT
  ID of the process that raised the signal.

Totality: total
Visibility: export
uid : HasIOio=>SiginfoFd->ioUidT
  Real user ID of the process that raised the signal.

Totality: total
Visibility: export
fd : HasIOio=>SiginfoFd->ioSignalfd
  File descriptor that caught the signal.

Totality: total
Visibility: export
tid : HasIOio=>SiginfoFd->ioBits32
  ID of the timer that raised the signal.

Totality: total
Visibility: export
band : HasIOio=>SiginfoFd->ioBits32
Totality: total
Visibility: export
overrun : HasIOio=>SiginfoFd->ioBits32
Totality: total
Visibility: export
trapno : HasIOio=>SiginfoFd->ioBits32
Totality: total
Visibility: export
status : HasIOio=>SiginfoFd->ioInt32
Totality: total
Visibility: export
int : HasIOio=>SiginfoFd->ioInt32
  Integer value of a realtime signal.

Totality: total
Visibility: export
ptr : HasIOio=>SiginfoFd->ioBits64
  Pointer value of a realtime signal

Totality: total
Visibility: export
utime : HasIOio=>SiginfoFd->ioBits64
Totality: total
Visibility: export
stime : HasIOio=>SiginfoFd->ioBits64
Totality: total
Visibility: export
addr : HasIOio=>SiginfoFd->ioBits64
Totality: total
Visibility: export
addrlsb : HasIOio=>SiginfoFd->ioBits16
Totality: total
Visibility: export
readSignalfd : ErrIOio=>Signalfd->CArrayIOnSiginfoFd->io (n : Nat**CArrayIOnSiginfoFd)
  Reads data from a `signalfd` into a pre-allocated array.

Note: This will overwrite the data stored in `arr` and the
result is a wrapper around the same pointer.

Totality: total
Visibility: export
+

System.Linux.Signalfd

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Linux.Signalfd.Flags
importpublic System.Posix.File
importpublic System.Posix.Signal

Definitions

recordSignalfd : Type
  A file descriptor for signal handling.

This can be used for synchronous signal handling using
(blocking) `readSignalfd` directly, or for asynchronous signal handling
using `epoll`.

Totality: total
Visibility: export
Constructor: 
SFD : Bits32->Signalfd

Projection: 
.fd : Signalfd->Bits32

Hint: 
CastSignalfdFd
signalfd : ErrIOio=>SigsetT->SignalfdFlags->ioSignalfd
  Opens a new `signalfd` file descriptor for observing the
signals specified in the given `SigsetT`.


Notes:
* Usually, the signals in `set` should first be blocked via `sigprocmask`.
* A `signalfd` should be closed using `close` just like other file
descriptors.
* In general, use `readSignalfd` instead of the `read` functions
from `System.Posix.File` to read from a `signalfd`.

Totality: total
Visibility: export
recordSiginfoFd : Type
  Result type when reading from a `Signalfd`.

Totality: total
Visibility: export
Constructor: 
SI : AnyPtr->SiginfoFd

Projection: 
.ptr : SiginfoFd->AnyPtr

Hints:
DerefSiginfoFd
SizeOfSiginfoFd
signal : HasIOio=>SiginfoFd->ioSignal
  The signal that was raised

Totality: total
Visibility: export
errno : HasIOio=>SiginfoFd->ioInt32
Totality: total
Visibility: export
code : HasIOio=>SiginfoFd->ioInt32
Totality: total
Visibility: export
pid : HasIOio=>SiginfoFd->ioPidT
  ID of the process that raised the signal.

Totality: total
Visibility: export
uid : HasIOio=>SiginfoFd->ioUidT
  Real user ID of the process that raised the signal.

Totality: total
Visibility: export
fd : HasIOio=>SiginfoFd->ioSignalfd
  File descriptor that caught the signal.

Totality: total
Visibility: export
tid : HasIOio=>SiginfoFd->ioBits32
  ID of the timer that raised the signal.

Totality: total
Visibility: export
band : HasIOio=>SiginfoFd->ioBits32
Totality: total
Visibility: export
overrun : HasIOio=>SiginfoFd->ioBits32
Totality: total
Visibility: export
trapno : HasIOio=>SiginfoFd->ioBits32
Totality: total
Visibility: export
status : HasIOio=>SiginfoFd->ioInt32
Totality: total
Visibility: export
int : HasIOio=>SiginfoFd->ioInt32
  Integer value of a realtime signal.

Totality: total
Visibility: export
ptr : HasIOio=>SiginfoFd->ioBits64
  Pointer value of a realtime signal

Totality: total
Visibility: export
utime : HasIOio=>SiginfoFd->ioBits64
Totality: total
Visibility: export
stime : HasIOio=>SiginfoFd->ioBits64
Totality: total
Visibility: export
addr : HasIOio=>SiginfoFd->ioBits64
Totality: total
Visibility: export
addrlsb : HasIOio=>SiginfoFd->ioBits16
Totality: total
Visibility: export
readSignalfd : ErrIOio=>Signalfd->CArrayIOnSiginfoFd->io (n : Nat**CArrayIOnSiginfoFd)
  Reads data from a `signalfd` into a pre-allocated array.

Note: This will overwrite the data stored in `arr` and the
result is a wrapper around the same pointer.

Totality: total
Visibility: export
diff --git a/docs/linux/docs/docs/System.Linux.Timerfd.Flags.html b/docs/linux/docs/docs/System.Linux.Timerfd.Flags.html index bdb137a5a..1574471fe 100644 --- a/docs/linux/docs/docs/System.Linux.Timerfd.Flags.html +++ b/docs/linux/docs/docs/System.Linux.Timerfd.Flags.html @@ -61,4 +61,4 @@ -

System.Linux.Timerfd.Flags

(source)

Definitions

recordTimerfdFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->TimerfdFlags

Projection: 
.flags : TimerfdFlags->Bits32

Hints:
EqTimerfdFlags
MonoidTimerfdFlags
OrdTimerfdFlags
SemigroupTimerfdFlags
ShowTimerfdFlags
.flags : TimerfdFlags->Bits32
Totality: total
Visibility: public export
flags : TimerfdFlags->Bits32
Totality: total
Visibility: public export
TFD_CLOEXEC : TimerfdFlags
Totality: total
Visibility: public export
TFD_NONBLOCK : TimerfdFlags
Totality: total
Visibility: public export
TFD_TIMER_ABSTIME : Bits32
Totality: total
Visibility: public export
+

System.Linux.Timerfd.Flags

(source)

Definitions

recordTimerfdFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->TimerfdFlags

Projection: 
.flags : TimerfdFlags->Bits32

Hints:
EqTimerfdFlags
MonoidTimerfdFlags
OrdTimerfdFlags
SemigroupTimerfdFlags
ShowTimerfdFlags
.flags : TimerfdFlags->Bits32
Totality: total
Visibility: public export
flags : TimerfdFlags->Bits32
Totality: total
Visibility: public export
TFD_CLOEXEC : TimerfdFlags
Totality: total
Visibility: public export
TFD_NONBLOCK : TimerfdFlags
Totality: total
Visibility: public export
TFD_TIMER_ABSTIME : Bits32
Totality: total
Visibility: public export
diff --git a/docs/linux/docs/docs/System.Linux.Timerfd.html b/docs/linux/docs/docs/System.Linux.Timerfd.html index 50a7e13b7..d30b3080b 100644 --- a/docs/linux/docs/docs/System.Linux.Timerfd.html +++ b/docs/linux/docs/docs/System.Linux.Timerfd.html @@ -61,4 +61,4 @@ -

System.Linux.Timerfd

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Linux.Timerfd.Flags
importpublic System.Posix.File
importpublic System.Posix.Timer

Definitions

recordTimerfd : Type
  A file descriptor for signal handling.

This can be used for synchronous signal handling using
(blocking) `readSignalfd` directly, or for asynchronous signal handling
using `epoll`.

Totality: total
Visibility: export
Constructor: 
TFD : Bits32->Timerfd

Projection: 
.fd : Timerfd->Bits32

Hint: 
CastTimerfdFd
timerfd : ErrIOio=>ClockId->TimerfdFlags->ioTimerfd
  Opens a new `timerfd` file descriptor for observing the given clock.


Notes:
* A `signalfd` should be closed using `close` just like other file
descriptors.
* In general, use `readTimerfd` instead of the `read` functions
from `System.Posix.File` to read from a `timerfd`.

Totality: total
Visibility: export
settime : ErrIOio=>Timerfd->Bits32->Itimerspec->Itimerspec->io ()
  Sets the time of a `timerfd`.

The currently set time will be stored in `old`.
Use the `TFD_TIMER_ABSTIME` flag if the time should be interpreted as
an absolute wall clock time.

Totality: total
Visibility: export
settime' : ErrIOio=>Timerfd->Bits32->Itimerspec->io ()
  Like `settime` but without storing the currently set `itimerspec`.

Totality: total
Visibility: export
gettime : ErrIOio=>Timerfd->Itimerspec->io ()
  Reads the currently set `itimerspec` of a `timerfd` and uses the given
pointer to place the data.

Totality: total
Visibility: export
readTimerfd : ErrIOio=>Timerfd->ioBits64
  Reads data from a `timerfd`.

This will block until the next time the timer expires unless `TFD_NONBLOCK`
was set when creating the timer.

The value returned is the number of times the timer expired since
the last read.

Totality: total
Visibility: export
+

System.Linux.Timerfd

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Linux.Timerfd.Flags
importpublic System.Posix.File
importpublic System.Posix.Timer

Definitions

recordTimerfd : Type
  A file descriptor for signal handling.

This can be used for synchronous signal handling using
(blocking) `readSignalfd` directly, or for asynchronous signal handling
using `epoll`.

Totality: total
Visibility: export
Constructor: 
TFD : Bits32->Timerfd

Projection: 
.fd : Timerfd->Bits32

Hint: 
CastTimerfdFd
timerfd : ErrIOio=>ClockId->TimerfdFlags->ioTimerfd
  Opens a new `timerfd` file descriptor for observing the given clock.


Notes:
* A `signalfd` should be closed using `close` just like other file
descriptors.
* In general, use `readTimerfd` instead of the `read` functions
from `System.Posix.File` to read from a `timerfd`.

Totality: total
Visibility: export
settime : ErrIOio=>Timerfd->Bits32->Itimerspec->Itimerspec->io ()
  Sets the time of a `timerfd`.

The currently set time will be stored in `old`.
Use the `TFD_TIMER_ABSTIME` flag if the time should be interpreted as
an absolute wall clock time.

Totality: total
Visibility: export
settime' : ErrIOio=>Timerfd->Bits32->Itimerspec->io ()
  Like `settime` but without storing the currently set `itimerspec`.

Totality: total
Visibility: export
gettime : ErrIOio=>Timerfd->Itimerspec->io ()
  Reads the currently set `itimerspec` of a `timerfd` and uses the given
pointer to place the data.

Totality: total
Visibility: export
readTimerfd : ErrIOio=>Timerfd->ioBits64
  Reads data from a `timerfd`.

This will block until the next time the timer expires unless `TFD_NONBLOCK`
was set when creating the timer.

The value returned is the number of times the timer expired since
the last read.

Totality: total
Visibility: export
diff --git a/docs/linux/docs/docs/System.Linux.User.Passwd.html b/docs/linux/docs/docs/System.Linux.User.Passwd.html index 81f9ced47..c8d3af871 100644 --- a/docs/linux/docs/docs/System.Linux.User.Passwd.html +++ b/docs/linux/docs/docs/System.Linux.User.Passwd.html @@ -61,4 +61,4 @@ -

System.Linux.User.Passwd

(source)

Definitions

recordPasswdEntry : Type
  An entry in the `/etc/passwd` file.

Totality: total
Visibility: public export
Constructor: 
PE : String->String->UidT->GidT->String->String->String->PasswdEntry

Projections:
.comment : PasswdEntry->String
.gid : PasswdEntry->GidT
.homedir : PasswdEntry->String
.loginName : PasswdEntry->String
.password : PasswdEntry->String
.shell : PasswdEntry->String
.uid : PasswdEntry->UidT

Hints:
EqPasswdEntry
ShowPasswdEntry
.loginName : PasswdEntry->String
Totality: total
Visibility: public export
loginName : PasswdEntry->String
Totality: total
Visibility: public export
.password : PasswdEntry->String
Totality: total
Visibility: public export
password : PasswdEntry->String
Totality: total
Visibility: public export
.uid : PasswdEntry->UidT
Totality: total
Visibility: public export
uid : PasswdEntry->UidT
Totality: total
Visibility: public export
.gid : PasswdEntry->GidT
Totality: total
Visibility: public export
gid : PasswdEntry->GidT
Totality: total
Visibility: public export
.comment : PasswdEntry->String
Totality: total
Visibility: public export
comment : PasswdEntry->String
Totality: total
Visibility: public export
.homedir : PasswdEntry->String
Totality: total
Visibility: public export
homedir : PasswdEntry->String
Totality: total
Visibility: public export
.shell : PasswdEntry->String
Totality: total
Visibility: public export
shell : PasswdEntry->String
Totality: total
Visibility: public export
readEntry : ByteString->MaybePasswdEntry
Totality: total
Visibility: export
+

System.Linux.User.Passwd

(source)

Definitions

recordPasswdEntry : Type
  An entry in the `/etc/passwd` file.

Totality: total
Visibility: public export
Constructor: 
PE : String->String->UidT->GidT->String->String->String->PasswdEntry

Projections:
.comment : PasswdEntry->String
.gid : PasswdEntry->GidT
.homedir : PasswdEntry->String
.loginName : PasswdEntry->String
.password : PasswdEntry->String
.shell : PasswdEntry->String
.uid : PasswdEntry->UidT

Hints:
EqPasswdEntry
ShowPasswdEntry
.loginName : PasswdEntry->String
Totality: total
Visibility: public export
loginName : PasswdEntry->String
Totality: total
Visibility: public export
.password : PasswdEntry->String
Totality: total
Visibility: public export
password : PasswdEntry->String
Totality: total
Visibility: public export
.uid : PasswdEntry->UidT
Totality: total
Visibility: public export
uid : PasswdEntry->UidT
Totality: total
Visibility: public export
.gid : PasswdEntry->GidT
Totality: total
Visibility: public export
gid : PasswdEntry->GidT
Totality: total
Visibility: public export
.comment : PasswdEntry->String
Totality: total
Visibility: public export
comment : PasswdEntry->String
Totality: total
Visibility: public export
.homedir : PasswdEntry->String
Totality: total
Visibility: public export
homedir : PasswdEntry->String
Totality: total
Visibility: public export
.shell : PasswdEntry->String
Totality: total
Visibility: public export
shell : PasswdEntry->String
Totality: total
Visibility: public export
readEntry : ByteString->MaybePasswdEntry
Totality: total
Visibility: export
diff --git a/docs/posix/docs/docs/System.Posix.File.Stats.html b/docs/posix/docs/docs/System.Posix.File.Stats.html index 26042f4c7..772c4ac84 100644 --- a/docs/posix/docs/docs/System.Posix.File.Stats.html +++ b/docs/posix/docs/docs/System.Posix.File.Stats.html @@ -61,4 +61,4 @@ -

System.Posix.File.Stats

(source)

Definitions

recordStatvfs : Type
Totality: total
Visibility: export
Constructor: 
SF : AnyPtr->Statvfs

Projection: 
.ptr : Statvfs->AnyPtr

Hints:
SizeOfStatvfs
StructStatvfs
blockSize : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
fundamentalBlockSize : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
blocks : HasIOio=>Statvfs->ioFsBlkCntT
Totality: total
Visibility: export
freeBlocks : HasIOio=>Statvfs->ioFsBlkCntT
Totality: total
Visibility: export
availableBlocks : HasIOio=>Statvfs->ioFsBlkCntT
Totality: total
Visibility: export
files : HasIOio=>Statvfs->ioFsFilCntT
Totality: total
Visibility: export
freeFiles : HasIOio=>Statvfs->ioFsFilCntT
Totality: total
Visibility: export
availableFiles : HasIOio=>Statvfs->ioFsFilCntT
Totality: total
Visibility: export
fsID : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
flags : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
namemax : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
recordFileStats : Type
Totality: total
Visibility: export
Constructor: 
FS : AnyPtr->FileStats

Projection: 
.ptr : FileStats->AnyPtr

Hints:
SizeOfFileStats
StructFileStats
dev : HasIOio=>FileStats->ioDevT
Totality: total
Visibility: export
ino : HasIOio=>FileStats->ioInoT
Totality: total
Visibility: export
mode : HasIOio=>FileStats->ioModeT
Totality: total
Visibility: export
Totality: total
Visibility: export
uid : HasIOio=>FileStats->ioUidT
Totality: total
Visibility: export
gid : HasIOio=>FileStats->ioGidT
Totality: total
Visibility: export
rdev : HasIOio=>FileStats->ioDevT
Totality: total
Visibility: export
size : HasIOio=>FileStats->ioSizeT
Totality: total
Visibility: export
blksize : HasIOio=>FileStats->ioBlkSizeT
Totality: total
Visibility: export
blocks : HasIOio=>FileStats->ioBlkCntT
Totality: total
Visibility: export
atime : HasIOio=>FileStats->ioAnyPtr
Totality: total
Visibility: export
mtime : HasIOio=>FileStats->ioAnyPtr
Totality: total
Visibility: export
ctime : HasIOio=>FileStats->ioAnyPtr
Totality: total
Visibility: export
statvfs : ErrIOio=>String->Statvfs->io ()
Totality: total
Visibility: export
fstatvfs : ErrIOio=>FileDesca=>a->Statvfs->io ()
Totality: total
Visibility: export
stat : ErrIOio=>String->FileStats->io ()
Totality: total
Visibility: export
lstat : ErrIOio=>String->FileStats->io ()
Totality: total
Visibility: export
fstat : ErrIOio=>FileDesca=>a->FileStats->io ()
Totality: total
Visibility: export
+

System.Posix.File.Stats

(source)

Definitions

recordStatvfs : Type
Totality: total
Visibility: export
Constructor: 
SF : AnyPtr->Statvfs

Projection: 
.ptr : Statvfs->AnyPtr

Hints:
SizeOfStatvfs
StructStatvfs
blockSize : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
fundamentalBlockSize : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
blocks : HasIOio=>Statvfs->ioFsBlkCntT
Totality: total
Visibility: export
freeBlocks : HasIOio=>Statvfs->ioFsBlkCntT
Totality: total
Visibility: export
availableBlocks : HasIOio=>Statvfs->ioFsBlkCntT
Totality: total
Visibility: export
files : HasIOio=>Statvfs->ioFsFilCntT
Totality: total
Visibility: export
freeFiles : HasIOio=>Statvfs->ioFsFilCntT
Totality: total
Visibility: export
availableFiles : HasIOio=>Statvfs->ioFsFilCntT
Totality: total
Visibility: export
fsID : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
flags : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
namemax : HasIOio=>Statvfs->ioULong
Totality: total
Visibility: export
recordFileStats : Type
Totality: total
Visibility: export
Constructor: 
FS : AnyPtr->FileStats

Projection: 
.ptr : FileStats->AnyPtr

Hints:
SizeOfFileStats
StructFileStats
dev : HasIOio=>FileStats->ioDevT
Totality: total
Visibility: export
ino : HasIOio=>FileStats->ioInoT
Totality: total
Visibility: export
mode : HasIOio=>FileStats->ioModeT
Totality: total
Visibility: export
Totality: total
Visibility: export
uid : HasIOio=>FileStats->ioUidT
Totality: total
Visibility: export
gid : HasIOio=>FileStats->ioGidT
Totality: total
Visibility: export
rdev : HasIOio=>FileStats->ioDevT
Totality: total
Visibility: export
size : HasIOio=>FileStats->ioSizeT
Totality: total
Visibility: export
blksize : HasIOio=>FileStats->ioBlkSizeT
Totality: total
Visibility: export
blocks : HasIOio=>FileStats->ioBlkCntT
Totality: total
Visibility: export
atime : HasIOio=>FileStats->ioAnyPtr
Totality: total
Visibility: export
mtime : HasIOio=>FileStats->ioAnyPtr
Totality: total
Visibility: export
ctime : HasIOio=>FileStats->ioAnyPtr
Totality: total
Visibility: export
statvfs : ErrIOio=>String->Statvfs->io ()
Totality: total
Visibility: export
fstatvfs : ErrIOio=>FileDesca=>a->Statvfs->io ()
Totality: total
Visibility: export
stat : ErrIOio=>String->FileStats->io ()
Totality: total
Visibility: export
lstat : ErrIOio=>String->FileStats->io ()
Totality: total
Visibility: export
fstat : ErrIOio=>FileDesca=>a->FileStats->io ()
Totality: total
Visibility: export
diff --git a/docs/posix/docs/docs/System.Posix.File.Type.html b/docs/posix/docs/docs/System.Posix.File.Type.html index fb48fbb52..78c17e98d 100644 --- a/docs/posix/docs/docs/System.Posix.File.Type.html +++ b/docs/posix/docs/docs/System.Posix.File.Type.html @@ -61,4 +61,4 @@ -

System.Posix.File.Type

(source)

Definitions

dataFileType : Type
Totality: total
Visibility: public export
Constructors:
Regular : FileType
Directory : FileType
CharDevice : FileType
BlockDevice : FileType
Pipe : FileType
Socket : FileType
Other : FileType

Hints:
EqFileType
FiniteFileType
OrdFileType
ShowFileType
fromMode : ModeT->FileType
Totality: total
Visibility: public export
statvfs_size : Bits32
Totality: total
Visibility: public export
stat_size : Bits32
Totality: total
Visibility: public export
+

System.Posix.File.Type

(source)

Definitions

dataFileType : Type
Totality: total
Visibility: public export
Constructors:
Regular : FileType
Directory : FileType
CharDevice : FileType
BlockDevice : FileType
Pipe : FileType
Socket : FileType
Other : FileType

Hints:
EqFileType
FiniteFileType
OrdFileType
ShowFileType
fromMode : ModeT->FileType
Totality: total
Visibility: public export
statvfs_size : Bits32
Totality: total
Visibility: public export
stat_size : Bits32
Totality: total
Visibility: public export
diff --git a/docs/posix/docs/docs/System.Posix.Process.Flags.html b/docs/posix/docs/docs/System.Posix.Process.Flags.html index 6c242849f..07f60cba7 100644 --- a/docs/posix/docs/docs/System.Posix.Process.Flags.html +++ b/docs/posix/docs/docs/System.Posix.Process.Flags.html @@ -61,4 +61,4 @@ -

System.Posix.Process.Flags

(source)

Definitions

recordWaitFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->WaitFlags

Projection: 
.flags : WaitFlags->Bits32

Hints:
EqWaitFlags
MonoidWaitFlags
OrdWaitFlags
SemigroupWaitFlags
ShowWaitFlags
.flags : WaitFlags->Bits32
Totality: total
Visibility: public export
flags : WaitFlags->Bits32
Totality: total
Visibility: public export
dataIdType : Type
Totality: total
Visibility: public export
Constructors:
P_ALL : IdType
P_PID : IdType
P_PGID : IdType

Hints:
EqIdType
OrdIdType
ShowIdType
WUNTRACED : WaitFlags
Totality: total
Visibility: public export
WCONTINUED : WaitFlags
Totality: total
Visibility: public export
WNOHANG : WaitFlags
Totality: total
Visibility: public export
WEXITED : WaitFlags
Totality: total
Visibility: public export
WSTOPPED : WaitFlags
Totality: total
Visibility: public export
WNOWAIT : WaitFlags
Totality: total
Visibility: public export
idtypeCode : IdType->Bits8
Totality: total
Visibility: public export
+

System.Posix.Process.Flags

(source)

Definitions

recordWaitFlags : Type
Totality: total
Visibility: public export
Constructor: 
F : Bits32->WaitFlags

Projection: 
.flags : WaitFlags->Bits32

Hints:
EqWaitFlags
MonoidWaitFlags
OrdWaitFlags
SemigroupWaitFlags
ShowWaitFlags
.flags : WaitFlags->Bits32
Totality: total
Visibility: public export
flags : WaitFlags->Bits32
Totality: total
Visibility: public export
dataIdType : Type
Totality: total
Visibility: public export
Constructors:
P_ALL : IdType
P_PID : IdType
P_PGID : IdType

Hints:
EqIdType
OrdIdType
ShowIdType
WUNTRACED : WaitFlags
Totality: total
Visibility: public export
WCONTINUED : WaitFlags
Totality: total
Visibility: public export
WNOHANG : WaitFlags
Totality: total
Visibility: public export
WEXITED : WaitFlags
Totality: total
Visibility: public export
WSTOPPED : WaitFlags
Totality: total
Visibility: public export
WNOWAIT : WaitFlags
Totality: total
Visibility: public export
idtypeCode : IdType->Bits8
Totality: total
Visibility: public export
diff --git a/docs/posix/docs/docs/System.Posix.Process.html b/docs/posix/docs/docs/System.Posix.Process.html index 6a455269d..0a2600209 100644 --- a/docs/posix/docs/docs/System.Posix.Process.html +++ b/docs/posix/docs/docs/System.Posix.Process.html @@ -61,4 +61,4 @@ -

System.Posix.Process

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Posix.Errno
importpublic System.Posix.Process.Flags

Definitions

getpid : HasIOio=>ioPidT
  Returns the process ID of the current process

Totality: total
Visibility: export
getppid : HasIOio=>ioPidT
  Returns the process ID of the current process' parent process

Totality: total
Visibility: export
getuid : HasIOio=>ioUidT
  Returns the real user ID of the current process

Totality: total
Visibility: export
geteuid : HasIOio=>ioUidT
  Returns the effective user ID of the current process

Totality: total
Visibility: export
getgid : HasIOio=>ioGidT
  Returns the real group ID of the current process

Totality: total
Visibility: export
getegid : HasIOio=>ioGidT
  Returns the effective group ID of the current process

Totality: total
Visibility: export
setuid : ErrIOio=>UidT->io ()
  Tries to set the real user ID of the current process

Totality: total
Visibility: export
seteuid : ErrIOio=>UidT->io ()
  Tries to set the effective user ID of the current process

Totality: total
Visibility: export
setgid : ErrIOio=>GidT->io ()
  Tries to set the real group ID of the current process

Totality: total
Visibility: export
setegid : ErrIOio=>GidT->io ()
  Tries to set the effective group ID of the current process

Totality: total
Visibility: export
recordProcStatus : Type
  Process status returned by a call to `wait` or `waitpid`.

Totality: total
Visibility: public export
Constructor: 
PS : CInt->ProcStatus

Projection: 
.status : ProcStatus->CInt

Hints:
DerefProcStatus
SetPtrProcStatus
SizeOfProcStatus
.status : ProcStatus->CInt
Totality: total
Visibility: public export
status : ProcStatus->CInt
Totality: total
Visibility: public export
fork : ErrIOio=>ioPidT
  Creates a new child process.

This creates a new process by copying the stack, head, and
data memory segment of the parent process. If successful,
the functions returns `0` for the child process and
the child's process ID for the parent.

Totality: total
Visibility: export
execve : ErrIOio=>String->CArrayIOm (MaybeString) ->CArrayIOn (MaybeString) ->io ()
  Loads a new program into this process's memory.

`path` : The path of the program to run
`args` : Command-line arguments (a `NULL` terminated array of strings)
`env ` : Environment (a `NULL` terminated array of strings of the for "a=b")

This only returns in case of an error.

Totality: total
Visibility: export
execle : ErrIOio=>String->ListString->List (String, String) ->io ()
  Convenience alias of `execve` that uses Idris lists for passing
the arguments list and environment.

Totality: total
Visibility: export
execv : ErrIOio=>String->CArrayIOm (MaybeString) ->io ()
  Like `execve` but uses the environment of the current process.

Totality: total
Visibility: export
execvp : ErrIOio=>String->CArrayIOm (MaybeString) ->io ()
  Like `execv` but allows us to just use a filename
and resolve in using the `$PATH` variable.

Totality: total
Visibility: export
execlp : ErrIOio=>String->ListString->io ()
  Convenience alias for `execvp` that uses an Idris list for
the list of arguments.

Totality: total
Visibility: export
system : ErrIOio=>String->ioProcStatus
  Runs the given shell command in a child process.

This has a slightly different type signature that the actual
`system` call in C, which allows us to use the same mechanism
as with `wait` to get the returned exit status.

Totality: total
Visibility: export
wait : ErrIOio=>IOBoxProcStatus->ioPidT
  Waits for one of the child processes of this process to
terminate.

On success, this returns the process ID of the child process
that terminated. In addition, the termination status of the child
is written into the given pointer.

Totality: total
Visibility: export
waitpid : ErrIOio=>PidT->BoxProcStatus->WaitFlags->ioPidT
  Waits for the given child processes of to terminate.

Unlike `wait`, this allows us to wait on a specific child process.
In addition, it is possible to be notified about child processes that have
been terminated by a signal.

Totality: total
Visibility: export
waitid : ErrIOio=>IdType->PidT->SiginfoT->WaitFlags->io ()
  More powerful version of `waitpid` supporting additional flags and
waiting on groups of children. Wait results are stored in the
provided `SiginfoT` pointer.

Totality: total
Visibility: export
exited : ProcStatus->Bool
  `True` if the process exited normally.

Totality: total
Visibility: export
exitstatus : ProcStatus->Bits8
  Returns the exit status with which the process exited.

Totality: total
Visibility: export
signaled : ProcStatus->Bool
  `True` if the process has been killed by a signal.

Totality: total
Visibility: export
termsig : ProcStatus->Signal
  Returns the signal the process was killed with.

Totality: total
Visibility: export
coredump : ProcStatus->Bool
  `True` if the process has dumped core.

Totality: total
Visibility: export
stopped : ProcStatus->Bool
  `True` if the process has been stopped by a signal.

Totality: total
Visibility: export
stopsig : ProcStatus->Signal
  Returns the signal the process was stopped with.

Totality: total
Visibility: export
continued : ProcStatus->Bool
  `True` if the process has been awakend with `SIGCONT`.

Totality: total
Visibility: export
+

System.Posix.Process

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Posix.Errno
importpublic System.Posix.Process.Flags

Definitions

getpid : HasIOio=>ioPidT
  Returns the process ID of the current process

Totality: total
Visibility: export
getppid : HasIOio=>ioPidT
  Returns the process ID of the current process' parent process

Totality: total
Visibility: export
getuid : HasIOio=>ioUidT
  Returns the real user ID of the current process

Totality: total
Visibility: export
geteuid : HasIOio=>ioUidT
  Returns the effective user ID of the current process

Totality: total
Visibility: export
getgid : HasIOio=>ioGidT
  Returns the real group ID of the current process

Totality: total
Visibility: export
getegid : HasIOio=>ioGidT
  Returns the effective group ID of the current process

Totality: total
Visibility: export
setuid : ErrIOio=>UidT->io ()
  Tries to set the real user ID of the current process

Totality: total
Visibility: export
seteuid : ErrIOio=>UidT->io ()
  Tries to set the effective user ID of the current process

Totality: total
Visibility: export
setgid : ErrIOio=>GidT->io ()
  Tries to set the real group ID of the current process

Totality: total
Visibility: export
setegid : ErrIOio=>GidT->io ()
  Tries to set the effective group ID of the current process

Totality: total
Visibility: export
recordProcStatus : Type
  Process status returned by a call to `wait` or `waitpid`.

Totality: total
Visibility: public export
Constructor: 
PS : CInt->ProcStatus

Projection: 
.status : ProcStatus->CInt

Hints:
DerefProcStatus
SetPtrProcStatus
SizeOfProcStatus
.status : ProcStatus->CInt
Totality: total
Visibility: public export
status : ProcStatus->CInt
Totality: total
Visibility: public export
fork : ErrIOio=>ioPidT
  Creates a new child process.

This creates a new process by copying the stack, head, and
data memory segment of the parent process. If successful,
the functions returns `0` for the child process and
the child's process ID for the parent.

Totality: total
Visibility: export
execve : ErrIOio=>String->CArrayIOm (MaybeString) ->CArrayIOn (MaybeString) ->io ()
  Loads a new program into this process's memory.

`path` : The path of the program to run
`args` : Command-line arguments (a `NULL` terminated array of strings)
`env ` : Environment (a `NULL` terminated array of strings of the for "a=b")

This only returns in case of an error.

Totality: total
Visibility: export
execle : ErrIOio=>String->ListString->List (String, String) ->io ()
  Convenience alias of `execve` that uses Idris lists for passing
the arguments list and environment.

Totality: total
Visibility: export
execv : ErrIOio=>String->CArrayIOm (MaybeString) ->io ()
  Like `execve` but uses the environment of the current process.

Totality: total
Visibility: export
execvp : ErrIOio=>String->CArrayIOm (MaybeString) ->io ()
  Like `execv` but allows us to just use a filename
and resolve in using the `$PATH` variable.

Totality: total
Visibility: export
execlp : ErrIOio=>String->ListString->io ()
  Convenience alias for `execvp` that uses an Idris list for
the list of arguments.

Totality: total
Visibility: export
system : ErrIOio=>String->ioProcStatus
  Runs the given shell command in a child process.

This has a slightly different type signature that the actual
`system` call in C, which allows us to use the same mechanism
as with `wait` to get the returned exit status.

Totality: total
Visibility: export
wait : ErrIOio=>IOBoxProcStatus->ioPidT
  Waits for one of the child processes of this process to
terminate.

On success, this returns the process ID of the child process
that terminated. In addition, the termination status of the child
is written into the given pointer.

Totality: total
Visibility: export
waitpid : ErrIOio=>PidT->BoxProcStatus->WaitFlags->ioPidT
  Waits for the given child processes of to terminate.

Unlike `wait`, this allows us to wait on a specific child process.
In addition, it is possible to be notified about child processes that have
been terminated by a signal.

Totality: total
Visibility: export
waitid : ErrIOio=>IdType->PidT->SiginfoT->WaitFlags->io ()
  More powerful version of `waitpid` supporting additional flags and
waiting on groups of children. Wait results are stored in the
provided `SiginfoT` pointer.

Totality: total
Visibility: export
exited : ProcStatus->Bool
  `True` if the process exited normally.

Totality: total
Visibility: export
exitstatus : ProcStatus->Bits8
  Returns the exit status with which the process exited.

Totality: total
Visibility: export
signaled : ProcStatus->Bool
  `True` if the process has been killed by a signal.

Totality: total
Visibility: export
termsig : ProcStatus->Signal
  Returns the signal the process was killed with.

Totality: total
Visibility: export
coredump : ProcStatus->Bool
  `True` if the process has dumped core.

Totality: total
Visibility: export
stopped : ProcStatus->Bool
  `True` if the process has been stopped by a signal.

Totality: total
Visibility: export
stopsig : ProcStatus->Signal
  Returns the signal the process was stopped with.

Totality: total
Visibility: export
continued : ProcStatus->Bool
  `True` if the process has been awakend with `SIGCONT`.

Totality: total
Visibility: export
diff --git a/docs/posix/docs/docs/System.Posix.Pthreads.Types.html b/docs/posix/docs/docs/System.Posix.Pthreads.Types.html index f99d507b3..7e2f9f3fb 100644 --- a/docs/posix/docs/docs/System.Posix.Pthreads.Types.html +++ b/docs/posix/docs/docs/System.Posix.Pthreads.Types.html @@ -61,4 +61,4 @@ -

System.Posix.Pthreads.Types

(source)

Definitions

dataMutexType : Type
Totality: total
Visibility: public export
Constructors:
MUTEX_NORMAL : MutexType
MUTEX_RECURSIVE : MutexType
MUTEX_ERRORCHECK : MutexType

Hints:
EqMutexType
FiniteMutexType
OrdMutexType
ShowMutexType
dataCancelType : Type
Totality: total
Visibility: public export
Constructors:
CANCEL_DEFERRED : CancelType
CANCEL_ASYNCHRONOUS : CancelType

Hints:
EqCancelType
FiniteCancelType
OrdCancelType
ShowCancelType
dataCancelState : Type
Totality: total
Visibility: public export
Constructors:
CANCEL_ENABLE : CancelState
CANCEL_DISABLE : CancelState

Hints:
EqCancelState
FiniteCancelState
OrdCancelState
ShowCancelState
mutexCode : MutexType->Bits8
Totality: total
Visibility: public export
cancelType : CancelType->Bits8
Totality: total
Visibility: public export
cancelState : CancelState->Bits8
Totality: total
Visibility: public export
pthread_t_size : Bits32
Totality: total
Visibility: public export
mutex_t_size : Bits32
Totality: total
Visibility: public export
cond_t_size : Bits32
Totality: total
Visibility: public export
+

System.Posix.Pthreads.Types

(source)

Definitions

dataMutexType : Type
Totality: total
Visibility: public export
Constructors:
MUTEX_NORMAL : MutexType
MUTEX_RECURSIVE : MutexType
MUTEX_ERRORCHECK : MutexType

Hints:
EqMutexType
FiniteMutexType
OrdMutexType
ShowMutexType
dataCancelType : Type
Totality: total
Visibility: public export
Constructors:
CANCEL_DEFERRED : CancelType
CANCEL_ASYNCHRONOUS : CancelType

Hints:
EqCancelType
FiniteCancelType
OrdCancelType
ShowCancelType
dataCancelState : Type
Totality: total
Visibility: public export
Constructors:
CANCEL_ENABLE : CancelState
CANCEL_DISABLE : CancelState

Hints:
EqCancelState
FiniteCancelState
OrdCancelState
ShowCancelState
mutexCode : MutexType->Bits8
Totality: total
Visibility: public export
cancelType : CancelType->Bits8
Totality: total
Visibility: public export
cancelState : CancelState->Bits8
Totality: total
Visibility: public export
pthread_t_size : Bits32
Totality: total
Visibility: public export
mutex_t_size : Bits32
Totality: total
Visibility: public export
cond_t_size : Bits32
Totality: total
Visibility: public export
diff --git a/docs/posix/docs/docs/System.Posix.Pthreads.html b/docs/posix/docs/docs/System.Posix.Pthreads.html index f793055e1..8954bb41a 100644 --- a/docs/posix/docs/docs/System.Posix.Pthreads.html +++ b/docs/posix/docs/docs/System.Posix.Pthreads.html @@ -61,4 +61,4 @@ -

System.Posix.Pthreads

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Posix.Errno
importpublic System.Posix.Pthreads.Types

Definitions

recordPthreadT : Type
  Wrapper around an identifier for a POSIX thread.

Totality: total
Visibility: export
Constructor: 
P : AnyPtr->PthreadT

Projection: 
.ptr : PthreadT->AnyPtr

Hints:
EqPthreadT
ShowPthreadT
unwrapPthreadT : PthreadT->AnyPtr
Totality: total
Visibility: export
pthreadSelf : HasIOio=>ioPthreadT
  Returns the thread ID of the current thread.

Totality: total
Visibility: export
pthreadJoin : ErrIOio=>PthreadT->io ()
  Blocks the current thread and waits for the given thread to terminate.

Totality: total
Visibility: export
recordMutexT : Type
  Wrapper around a `pthread_mutex_t` pointer.

Noted: While this provides additional flexibility over the type of mutex
we use (see `mkmutex`) and how we acquire a lock on a mutex, it is less
convenient to use than the garbage-collected version from
`System.Concurrency`.

Totality: total
Visibility: export
Constructor: 
M : AnyPtr->MutexT

Projection: 
.ptr : MutexT->AnyPtr

Hints:
SizeOfMutexT
StructMutexT
mkmutex : ErrIOio=>MutexType->ioMutexT
  Allocates and initializes a new mutex of the given type.

This must be freed with `destroyMutex`.

Totality: total
Visibility: export
destroyMutex : HasIOio=>MutexT->io ()
  Destroys a mutex and frees the memory allocated for it.

Totality: total
Visibility: export
lockMutex : ErrIOio=>MutexT->io ()
  Tries to lock the given mutex, blocking the calling thread
in case it is already locked.

Totality: total
Visibility: export
timedlockMutex : ErrIOio=>MutexT->Timespec->io ()
Totality: total
Visibility: export
trylockMutex : ErrIOio=>MutexT->io ()
  Like `lockMutex` but fails with `EBUSY` in case the mutex is
already locked.

Totality: total
Visibility: export
unlockMutex : ErrIOio=>MutexT->io ()
  Unlocks the given mutex.

This is an error if the calling thread is not the one holding
the mutex's lock.

Totality: total
Visibility: export
recordCondT : Type
  Wrapper around a `pthread_cond_t` pointer.

Noted: While this provides additional flexibility over the type of condition
we use (see `mkcond`) convenient to use than the garbage-collected version from
`System.Concurrency`.

Totality: total
Visibility: export
Constructor: 
C : AnyPtr->CondT

Projection: 
.ptr : CondT->AnyPtr

Hints:
SizeOfCondT
StructCondT
mkcond : ErrIOio=>ioCondT
  Allocates and initializes a new condition variable.

This must be freed with `destroyCond`.

Totality: total
Visibility: export
destroyCond : HasIOio=>CondT->io ()
  Destroys a condition variable and frees the memory allocated for it.

Totality: total
Visibility: export
condSignal : ErrIOio=>CondT->io ()
  Signals the given `pthread_cond_t`.

If several threads are waiting on the condition, it is unspecified
which of them will be signalled. We are only guaranteed that at least
of them will be woken up.

Totality: total
Visibility: export
condBroadcast : ErrIOio=>CondT->io ()
  Broadcasts the given `pthread_cond_t`.

This will wake up all threads waiting on the given condition.

Totality: total
Visibility: export
condWait : ErrIOio=>CondT->MutexT->io ()
  Blocks the given thread and waits for the given condition to
be signalled.

Note: The mutex must have been locked by the calling thread. The
lock is automatically released upon calling `condWait`, and when
the thread is woken up, the mutex will automatically be locked again.

Totality: total
Visibility: export
condTimedwait : ErrIOio=>CondT->MutexT->Timespec->io ()
  Like `condWait` but will return with `ETIMEDOUT` after the given
time interval expires.

Totality: total
Visibility: export
pthreadCancel : ErrIOio=>PthreadT->io ()
  Sends a cancelation request to the given thread.

Totality: total
Visibility: export
pthreadTestCancel : HasIOio=>io ()
  Tests for thread cancelation in the absence of other cancelation
points.

Totality: total
Visibility: export
setCancelType : HasIOio=>CancelType->ioCancelType
  Sets the current thread's cancel type returning the previous cancel type.

Totality: total
Visibility: export
setCancelState : HasIOio=>CancelState->ioCancelState
  Sets the current thread's cancel state returning the previous cancel state.

Totality: total
Visibility: export
pthreadSigmask : HasIOio=>How->SigsetT->ioSigsetT
  Adjust the thread's signal mask according to the given `How`
and signal set.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.
See also `pthreadSigmask'` for a version that does not return
the previous signal mask.

Totality: total
Visibility: export
pthreadSigmask' : HasIOio=>How->SigsetT->io ()
  Like `sigprocmask` but does not allocate a pointer for the
previous `sigset_t`.

Totality: total
Visibility: export
pthreadSiggetmask : HasIOio=>ioSigsetT
  Returns the current signal mask of the thread.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.

Totality: total
Visibility: export
pthreadKill : ErrIOio=>PthreadT->Signal->io ()
  Sends the given signal to the given thread.

Totality: total
Visibility: export
+

System.Posix.Pthreads

(source)

Reexports

importpublic Data.C.Ptr
importpublic System.Posix.Errno
importpublic System.Posix.Pthreads.Types

Definitions

recordPthreadT : Type
  Wrapper around an identifier for a POSIX thread.

Totality: total
Visibility: export
Constructor: 
P : AnyPtr->PthreadT

Projection: 
.ptr : PthreadT->AnyPtr

Hints:
EqPthreadT
ShowPthreadT
unwrapPthreadT : PthreadT->AnyPtr
Totality: total
Visibility: export
pthreadSelf : HasIOio=>ioPthreadT
  Returns the thread ID of the current thread.

Totality: total
Visibility: export
pthreadJoin : ErrIOio=>PthreadT->io ()
  Blocks the current thread and waits for the given thread to terminate.

Totality: total
Visibility: export
recordMutexT : Type
  Wrapper around a `pthread_mutex_t` pointer.

Noted: While this provides additional flexibility over the type of mutex
we use (see `mkmutex`) and how we acquire a lock on a mutex, it is less
convenient to use than the garbage-collected version from
`System.Concurrency`.

Totality: total
Visibility: export
Constructor: 
M : AnyPtr->MutexT

Projection: 
.ptr : MutexT->AnyPtr

Hints:
SizeOfMutexT
StructMutexT
mkmutex : ErrIOio=>MutexType->ioMutexT
  Allocates and initializes a new mutex of the given type.

This must be freed with `destroyMutex`.

Totality: total
Visibility: export
destroyMutex : HasIOio=>MutexT->io ()
  Destroys a mutex and frees the memory allocated for it.

Totality: total
Visibility: export
lockMutex : ErrIOio=>MutexT->io ()
  Tries to lock the given mutex, blocking the calling thread
in case it is already locked.

Totality: total
Visibility: export
timedlockMutex : ErrIOio=>MutexT->Timespec->io ()
Totality: total
Visibility: export
trylockMutex : ErrIOio=>MutexT->io ()
  Like `lockMutex` but fails with `EBUSY` in case the mutex is
already locked.

Totality: total
Visibility: export
unlockMutex : ErrIOio=>MutexT->io ()
  Unlocks the given mutex.

This is an error if the calling thread is not the one holding
the mutex's lock.

Totality: total
Visibility: export
recordCondT : Type
  Wrapper around a `pthread_cond_t` pointer.

Noted: While this provides additional flexibility over the type of condition
we use (see `mkcond`) convenient to use than the garbage-collected version from
`System.Concurrency`.

Totality: total
Visibility: export
Constructor: 
C : AnyPtr->CondT

Projection: 
.ptr : CondT->AnyPtr

Hints:
SizeOfCondT
StructCondT
mkcond : ErrIOio=>ioCondT
  Allocates and initializes a new condition variable.

This must be freed with `destroyCond`.

Totality: total
Visibility: export
destroyCond : HasIOio=>CondT->io ()
  Destroys a condition variable and frees the memory allocated for it.

Totality: total
Visibility: export
condSignal : ErrIOio=>CondT->io ()
  Signals the given `pthread_cond_t`.

If several threads are waiting on the condition, it is unspecified
which of them will be signalled. We are only guaranteed that at least
of them will be woken up.

Totality: total
Visibility: export
condBroadcast : ErrIOio=>CondT->io ()
  Broadcasts the given `pthread_cond_t`.

This will wake up all threads waiting on the given condition.

Totality: total
Visibility: export
condWait : ErrIOio=>CondT->MutexT->io ()
  Blocks the given thread and waits for the given condition to
be signalled.

Note: The mutex must have been locked by the calling thread. The
lock is automatically released upon calling `condWait`, and when
the thread is woken up, the mutex will automatically be locked again.

Totality: total
Visibility: export
condTimedwait : ErrIOio=>CondT->MutexT->Timespec->io ()
  Like `condWait` but will return with `ETIMEDOUT` after the given
time interval expires.

Totality: total
Visibility: export
pthreadCancel : ErrIOio=>PthreadT->io ()
  Sends a cancelation request to the given thread.

Totality: total
Visibility: export
pthreadTestCancel : HasIOio=>io ()
  Tests for thread cancelation in the absence of other cancelation
points.

Totality: total
Visibility: export
setCancelType : HasIOio=>CancelType->ioCancelType
  Sets the current thread's cancel type returning the previous cancel type.

Totality: total
Visibility: export
setCancelState : HasIOio=>CancelState->ioCancelState
  Sets the current thread's cancel state returning the previous cancel state.

Totality: total
Visibility: export
pthreadSigmask : HasIOio=>How->SigsetT->ioSigsetT
  Adjust the thread's signal mask according to the given `How`
and signal set.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.
See also `pthreadSigmask'` for a version that does not return
the previous signal mask.

Totality: total
Visibility: export
pthreadSigmask' : HasIOio=>How->SigsetT->io ()
  Like `sigprocmask` but does not allocate a pointer for the
previous `sigset_t`.

Totality: total
Visibility: export
pthreadSiggetmask : HasIOio=>ioSigsetT
  Returns the current signal mask of the thread.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.

Totality: total
Visibility: export
pthreadKill : ErrIOio=>PthreadT->Signal->io ()
  Sends the given signal to the given thread.

Totality: total
Visibility: export
diff --git a/docs/posix/docs/docs/System.Posix.Signal.Types.html b/docs/posix/docs/docs/System.Posix.Signal.Types.html index 3d85fb3be..7288e0882 100644 --- a/docs/posix/docs/docs/System.Posix.Signal.Types.html +++ b/docs/posix/docs/docs/System.Posix.Signal.Types.html @@ -61,4 +61,4 @@ -

System.Posix.Signal.Types

(source)

Definitions

dataHow : Type
Totality: total
Visibility: public export
Constructors:
SIG_BLOCK : How
SIG_UNBLOCK : How
SIG_SETMASK : How

Hints:
EqHow
OrdHow
ShowHow
recordSignal : Type
Totality: total
Visibility: public export
Constructor: 
S : Bits32->Signal

Projection: 
.sig : Signal->Bits32

Hints:
EqSignal
OrdSignal
ShowSignal
.sig : Signal->Bits32
Totality: total
Visibility: public export
sig : Signal->Bits32
Totality: total
Visibility: public export
howCode : How->Bits8
Totality: total
Visibility: public export
SIGRTMIN : Signal
Totality: total
Visibility: public export
SIGRTMAX : Signal
Totality: total
Visibility: public export
SIGHUP : Signal
Totality: total
Visibility: public export
SIGINT : Signal
Totality: total
Visibility: public export
SIGQUIT : Signal
Totality: total
Visibility: public export
SIGILL : Signal
Totality: total
Visibility: public export
SIGTRAP : Signal
Totality: total
Visibility: public export
SIGABRT : Signal
Totality: total
Visibility: public export
SIGBUS : Signal
Totality: total
Visibility: public export
SIGFPE : Signal
Totality: total
Visibility: public export
SIGKILL : Signal
Totality: total
Visibility: public export
SIGUSR1 : Signal
Totality: total
Visibility: public export
SIGSEGV : Signal
Totality: total
Visibility: public export
SIGUSR2 : Signal
Totality: total
Visibility: public export
SIGPIPE : Signal
Totality: total
Visibility: public export
SIGALRM : Signal
Totality: total
Visibility: public export
SIGTERM : Signal
Totality: total
Visibility: public export
SIGCHLD : Signal
Totality: total
Visibility: public export
SIGCONT : Signal
Totality: total
Visibility: public export
SIGSTOP : Signal
Totality: total
Visibility: public export
SIGTSTP : Signal
Totality: total
Visibility: public export
SIGTTIN : Signal
Totality: total
Visibility: public export
SIGTTOU : Signal
Totality: total
Visibility: public export
SIGURG : Signal
Totality: total
Visibility: public export
SIGXCPU : Signal
Totality: total
Visibility: public export
SIGXFSZ : Signal
Totality: total
Visibility: public export
SIGVTALRM : Signal
Totality: total
Visibility: public export
SIGPROF : Signal
Totality: total
Visibility: public export
SIGSYS : Signal
Totality: total
Visibility: public export
SIGPOLL : Signal
Totality: total
Visibility: public export
sigName : SortedMapSignalString
Totality: total
Visibility: export
siginfo_t_size : Bits32
Totality: total
Visibility: public export
+

System.Posix.Signal.Types

(source)

Definitions

dataHow : Type
Totality: total
Visibility: public export
Constructors:
SIG_BLOCK : How
SIG_UNBLOCK : How
SIG_SETMASK : How

Hints:
EqHow
OrdHow
ShowHow
recordSignal : Type
Totality: total
Visibility: public export
Constructor: 
S : Bits32->Signal

Projection: 
.sig : Signal->Bits32

Hints:
EqSignal
OrdSignal
ShowSignal
.sig : Signal->Bits32
Totality: total
Visibility: public export
sig : Signal->Bits32
Totality: total
Visibility: public export
howCode : How->Bits8
Totality: total
Visibility: public export
SIGRTMIN : Signal
Totality: total
Visibility: public export
SIGRTMAX : Signal
Totality: total
Visibility: public export
SIGHUP : Signal
Totality: total
Visibility: public export
SIGINT : Signal
Totality: total
Visibility: public export
SIGQUIT : Signal
Totality: total
Visibility: public export
SIGILL : Signal
Totality: total
Visibility: public export
SIGTRAP : Signal
Totality: total
Visibility: public export
SIGABRT : Signal
Totality: total
Visibility: public export
SIGBUS : Signal
Totality: total
Visibility: public export
SIGFPE : Signal
Totality: total
Visibility: public export
SIGKILL : Signal
Totality: total
Visibility: public export
SIGUSR1 : Signal
Totality: total
Visibility: public export
SIGSEGV : Signal
Totality: total
Visibility: public export
SIGUSR2 : Signal
Totality: total
Visibility: public export
SIGPIPE : Signal
Totality: total
Visibility: public export
SIGALRM : Signal
Totality: total
Visibility: public export
SIGTERM : Signal
Totality: total
Visibility: public export
SIGCHLD : Signal
Totality: total
Visibility: public export
SIGCONT : Signal
Totality: total
Visibility: public export
SIGSTOP : Signal
Totality: total
Visibility: public export
SIGTSTP : Signal
Totality: total
Visibility: public export
SIGTTIN : Signal
Totality: total
Visibility: public export
SIGTTOU : Signal
Totality: total
Visibility: public export
SIGURG : Signal
Totality: total
Visibility: public export
SIGXCPU : Signal
Totality: total
Visibility: public export
SIGXFSZ : Signal
Totality: total
Visibility: public export
SIGVTALRM : Signal
Totality: total
Visibility: public export
SIGPROF : Signal
Totality: total
Visibility: public export
SIGSYS : Signal
Totality: total
Visibility: public export
SIGPOLL : Signal
Totality: total
Visibility: public export
sigName : SortedMapSignalString
Totality: total
Visibility: export
siginfo_t_size : Bits32
Totality: total
Visibility: public export
diff --git a/docs/posix/docs/docs/System.Posix.Signal.html b/docs/posix/docs/docs/System.Posix.Signal.html index 5950f4505..471cdc255 100644 --- a/docs/posix/docs/docs/System.Posix.Signal.html +++ b/docs/posix/docs/docs/System.Posix.Signal.html @@ -61,4 +61,4 @@ -

System.Posix.Signal

(source)

Reexports

importpublic Data.C.Integer
importpublic Data.C.Struct
importpublic System.Posix.Errno
importpublic System.Posix.Signal.Types

Definitions

get_siginfo_t_si_signo : AnyPtr->PrimIOBits32
get_siginfo_t_si_code : AnyPtr->PrimIOCInt
get_siginfo_t_si_pid : AnyPtr->PrimIOPidT
get_siginfo_t_si_uid : AnyPtr->PrimIOUidT
get_siginfo_t_si_status : AnyPtr->PrimIOCInt
get_siginfo_t_si_value : AnyPtr->PrimIOCInt
recordSigsetT : Type
  Wrapper around a pointer of a signal set (`sigset_t`).

Totality: total
Visibility: export
Constructor: 
S : AnyPtr->SigsetT

Projection: 
.ptr : SigsetT->AnyPtr

Hint: 
StructSigsetT
emptySigset : HasIOio=>ioSigsetT
  Allocates a `sigset_t` with all signals cleared.

This must be freed with `freeSigset`.

Totality: total
Visibility: export
fullSigset : HasIOio=>ioSigsetT
  Allocates a `sigset_t` with all signals set.

This must be freed with `freeSigset`.

Totality: total
Visibility: export
sigaddset : HasIOio=>SigsetT->Signal->io ()
  Adds a signal to a `sigset_t`

Totality: total
Visibility: export
sigdelset : HasIOio=>SigsetT->Signal->io ()
  Removes a signal from a `sigset_t`

Totality: total
Visibility: export
sigismember : HasIOio=>SigsetT->Signal->ioBool
  Tests if a signal is a member of a `sigset_t`.

Totality: total
Visibility: export
kill : ErrIOio=>PidT->Signal->io ()
  Sends a signal to a running process or a group of processes.

Totality: total
Visibility: export
raise : HasIOio=>Signal->io ()
  Sends a signal to the calling thread.

Totality: total
Visibility: export
sigqueue : ErrIOio=>PidT->Signal->CInt->io ()
  Sends a realtime signal plus data word to a running process.

Note that `sig` must be in the range [SIGRTMIN, SIGRTMAX].

Totality: total
Visibility: export
sigprocmask : HasIOio=>How->SigsetT->ioSigsetT
  Adjust the process signal mask according to the given `How`
and signal set.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.
See also `sigprocmask'` for a version that does not return
the previous signal mask.

Totality: total
Visibility: export
sigprocmask' : HasIOio=>How->SigsetT->io ()
  Like `sigprocmask` but does not allocate a pointer for the
previous `sigset_t`.

Totality: total
Visibility: export
siggetprocmask : HasIOio=>ioSigsetT
  Returns the current signal mask of the process.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.

Totality: total
Visibility: export
sigpending : HasIOio=>ioSigsetT
  Returns the set of currently pending signals.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.

Totality: total
Visibility: export
abort : HasIOio=>io ()
  Terminates the application by raising `SIGABRT` and dumps core.

While `SIGABRT` can be handled with a signal handler, `abort` is
still guaranteed successfully terminate the process.

Totality: total
Visibility: export
pause : ErrIOio=>io ()
  Suspends the current thread until a non-blocked signal is encountered.

Totality: total
Visibility: export
recordSiginfoT : Type
Totality: total
Visibility: export
Constructor: 
ST : AnyPtr->SiginfoT

Projection: 
.ptr : SiginfoT->AnyPtr

Hints:
SizeOfSiginfoT
StructSiginfoT
signal : HasIOio=>SiginfoT->ioSignal
Totality: total
Visibility: export
code : HasIOio=>SiginfoT->ioCInt
Totality: total
Visibility: export
pid : HasIOio=>SiginfoT->ioPidT
Totality: total
Visibility: export
uid : HasIOio=>SiginfoT->ioUidT
Totality: total
Visibility: export
status : HasIOio=>SiginfoT->ioCInt
Totality: total
Visibility: export
value : HasIOio=>SiginfoT->ioCInt
Totality: total
Visibility: export
sigsuspend : ErrIOio=>SigsetT->io ()
  Atomically blocks the signals in `set`, then
pauses the thread (see `pause`) and restores the signal set
afterwards.

Totality: total
Visibility: export
sigwaitinfo : ErrIOio=>SigsetT->SiginfoT->io ()
  Synchronously awaits one of the signals in `set`.

Note: Usually, the signals in `set` should first be blocked via
`sigprocmask`.

Totality: total
Visibility: export
sigwait : ErrIOio=>SigsetT->ioSignal
  Synchronously awaits one of the signals in `set`.

This is like `sigwaitinfo` but with a simpler API.

Totality: total
Visibility: export
sigtimedwait : ErrIOio=>SigsetT->SiginfoT->TimeT->NsecT->io ()
  Like `sigwaitinfo` but times out with `EAGAIN` after `sec` seconds and
`nsec` nanoseconds.

Totality: total
Visibility: export
+

System.Posix.Signal

(source)

Reexports

importpublic Data.C.Integer
importpublic Data.C.Struct
importpublic System.Posix.Errno
importpublic System.Posix.Signal.Types

Definitions

get_siginfo_t_si_signo : AnyPtr->PrimIOBits32
get_siginfo_t_si_code : AnyPtr->PrimIOCInt
get_siginfo_t_si_pid : AnyPtr->PrimIOPidT
get_siginfo_t_si_uid : AnyPtr->PrimIOUidT
get_siginfo_t_si_status : AnyPtr->PrimIOCInt
get_siginfo_t_si_value : AnyPtr->PrimIOCInt
recordSigsetT : Type
  Wrapper around a pointer of a signal set (`sigset_t`).

Totality: total
Visibility: export
Constructor: 
S : AnyPtr->SigsetT

Projection: 
.ptr : SigsetT->AnyPtr

Hint: 
StructSigsetT
emptySigset : HasIOio=>ioSigsetT
  Allocates a `sigset_t` with all signals cleared.

This must be freed with `freeSigset`.

Totality: total
Visibility: export
fullSigset : HasIOio=>ioSigsetT
  Allocates a `sigset_t` with all signals set.

This must be freed with `freeSigset`.

Totality: total
Visibility: export
sigaddset : HasIOio=>SigsetT->Signal->io ()
  Adds a signal to a `sigset_t`

Totality: total
Visibility: export
sigdelset : HasIOio=>SigsetT->Signal->io ()
  Removes a signal from a `sigset_t`

Totality: total
Visibility: export
sigismember : HasIOio=>SigsetT->Signal->ioBool
  Tests if a signal is a member of a `sigset_t`.

Totality: total
Visibility: export
kill : ErrIOio=>PidT->Signal->io ()
  Sends a signal to a running process or a group of processes.

Totality: total
Visibility: export
raise : HasIOio=>Signal->io ()
  Sends a signal to the calling thread.

Totality: total
Visibility: export
sigqueue : ErrIOio=>PidT->Signal->CInt->io ()
  Sends a realtime signal plus data word to a running process.

Note that `sig` must be in the range [SIGRTMIN, SIGRTMAX].

Totality: total
Visibility: export
sigprocmask : HasIOio=>How->SigsetT->ioSigsetT
  Adjust the process signal mask according to the given `How`
and signal set.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.
See also `sigprocmask'` for a version that does not return
the previous signal mask.

Totality: total
Visibility: export
sigprocmask' : HasIOio=>How->SigsetT->io ()
  Like `sigprocmask` but does not allocate a pointer for the
previous `sigset_t`.

Totality: total
Visibility: export
siggetprocmask : HasIOio=>ioSigsetT
  Returns the current signal mask of the process.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.

Totality: total
Visibility: export
sigpending : HasIOio=>ioSigsetT
  Returns the set of currently pending signals.

Note: This allocates a new `sigset_t` pointer and returns the
previously set signal mask. Client code is responsible to
free the memory for this once it is no longer used.

Totality: total
Visibility: export
abort : HasIOio=>io ()
  Terminates the application by raising `SIGABRT` and dumps core.

While `SIGABRT` can be handled with a signal handler, `abort` is
still guaranteed successfully terminate the process.

Totality: total
Visibility: export
pause : ErrIOio=>io ()
  Suspends the current thread until a non-blocked signal is encountered.

Totality: total
Visibility: export
recordSiginfoT : Type
Totality: total
Visibility: export
Constructor: 
ST : AnyPtr->SiginfoT

Projection: 
.ptr : SiginfoT->AnyPtr

Hints:
SizeOfSiginfoT
StructSiginfoT
signal : HasIOio=>SiginfoT->ioSignal
Totality: total
Visibility: export
code : HasIOio=>SiginfoT->ioCInt
Totality: total
Visibility: export
pid : HasIOio=>SiginfoT->ioPidT
Totality: total
Visibility: export
uid : HasIOio=>SiginfoT->ioUidT
Totality: total
Visibility: export
status : HasIOio=>SiginfoT->ioCInt
Totality: total
Visibility: export
value : HasIOio=>SiginfoT->ioCInt
Totality: total
Visibility: export
sigsuspend : ErrIOio=>SigsetT->io ()
  Atomically blocks the signals in `set`, then
pauses the thread (see `pause`) and restores the signal set
afterwards.

Totality: total
Visibility: export
sigwaitinfo : ErrIOio=>SigsetT->SiginfoT->io ()
  Synchronously awaits one of the signals in `set`.

Note: Usually, the signals in `set` should first be blocked via
`sigprocmask`.

Totality: total
Visibility: export
sigwait : ErrIOio=>SigsetT->ioSignal
  Synchronously awaits one of the signals in `set`.

This is like `sigwaitinfo` but with a simpler API.

Totality: total
Visibility: export
sigtimedwait : ErrIOio=>SigsetT->SiginfoT->TimeT->NsecT->io ()
  Like `sigwaitinfo` but times out with `EAGAIN` after `sec` seconds and
`nsec` nanoseconds.

Totality: total
Visibility: export
diff --git a/docs/posix/docs/docs/System.Posix.Time.html b/docs/posix/docs/docs/System.Posix.Time.html index bf9b15860..39a75f4aa 100644 --- a/docs/posix/docs/docs/System.Posix.Time.html +++ b/docs/posix/docs/docs/System.Posix.Time.html @@ -61,4 +61,4 @@ -

System.Posix.Time

(source)

Reexports

importpublic Data.C.Integer
importpublic System.Posix.Time.Types
importpublic System.Clock

Definitions

recordTimespec : Type
  A wrapper around a `struct timespec` pointer.

Totality: total
Visibility: export
Constructor: 
TS : AnyPtr->Timespec

Projection: 
.ptr : Timespec->AnyPtr

Hints:
SizeOfTimespec
StructTimespec
sec : HasIOio=>Timespec->ioTimeT
  Reads the `tv_sec` field of a `timespec` pointer.

Totality: total
Visibility: export
nsec : HasIOio=>Timespec->ioNsecT
  Reads the `tv_nsec` field of a `timespec` pointer.

Totality: total
Visibility: export
setSec : HasIOio=>Timespec->TimeT->io ()
  Sets the `tv_sec` field of a `timespec` pointer.

Totality: total
Visibility: export
setNsec : HasIOio=>Timespec->NsecT->io ()
  Sets the `tv_nsec` field of a `timespec` pointer.

Totality: total
Visibility: export
toClock : HasIOio=>Timespec->io (Clockt)
  Convert a `Timespec` to a `Clock t`

Totality: total
Visibility: export
+

System.Posix.Time

(source)

Reexports

importpublic Data.C.Integer
importpublic System.Posix.Time.Types
importpublic System.Clock

Definitions

recordTimespec : Type
  A wrapper around a `struct timespec` pointer.

Totality: total
Visibility: export
Constructor: 
TS : AnyPtr->Timespec

Projection: 
.ptr : Timespec->AnyPtr

Hints:
SizeOfTimespec
StructTimespec
sec : HasIOio=>Timespec->ioTimeT
  Reads the `tv_sec` field of a `timespec` pointer.

Totality: total
Visibility: export
nsec : HasIOio=>Timespec->ioNsecT
  Reads the `tv_nsec` field of a `timespec` pointer.

Totality: total
Visibility: export
setSec : HasIOio=>Timespec->TimeT->io ()
  Sets the `tv_sec` field of a `timespec` pointer.

Totality: total
Visibility: export
setNsec : HasIOio=>Timespec->NsecT->io ()
  Sets the `tv_nsec` field of a `timespec` pointer.

Totality: total
Visibility: export
toClock : HasIOio=>Timespec->io (Clockt)
  Convert a `Timespec` to a `Clock t`

Totality: total
Visibility: export
diff --git a/docs/posix/docs/docs/System.Posix.Timer.Types.html b/docs/posix/docs/docs/System.Posix.Timer.Types.html index b53fcf0eb..b86b8b172 100644 --- a/docs/posix/docs/docs/System.Posix.Timer.Types.html +++ b/docs/posix/docs/docs/System.Posix.Timer.Types.html @@ -61,4 +61,4 @@ -

System.Posix.Timer.Types

(source)

Definitions

dataWhich : Type
Totality: total
Visibility: public export
Constructors:
ITIMER_REAL : Which
ITIMER_VIRTUAL : Which
ITIMER_PROF : Which

Hints:
EqWhich
FiniteWhich
OrdWhich
ShowWhich
dataClockId : Type
Totality: total
Visibility: public export
Constructors:
CLOCK_REALTIME : ClockId
CLOCK_MONOTONIC : ClockId
CLOCK_PROCESS_CPUTIME_ID : ClockId
CLOCK_THREAD_CPUTIME_ID : ClockId

Hints:
EqClockId
FiniteClockId
OrdClockId
ShowClockId
whichCode : Which->Bits8
Totality: total
Visibility: public export
clockCode : ClockId->Bits8
Totality: total
Visibility: public export
timeval_size : Bits32
Totality: total
Visibility: public export
itimerval_size : Bits32
Totality: total
Visibility: public export
itimerspec_size : Bits32
Totality: total
Visibility: public export
CLOCKS_PER_SEC : ClockT
Totality: total
Visibility: public export
+

System.Posix.Timer.Types

(source)

Definitions

dataWhich : Type
Totality: total
Visibility: public export
Constructors:
ITIMER_REAL : Which
ITIMER_VIRTUAL : Which
ITIMER_PROF : Which

Hints:
EqWhich
FiniteWhich
OrdWhich
ShowWhich
dataClockId : Type
Totality: total
Visibility: public export
Constructors:
CLOCK_REALTIME : ClockId
CLOCK_MONOTONIC : ClockId
CLOCK_PROCESS_CPUTIME_ID : ClockId
CLOCK_THREAD_CPUTIME_ID : ClockId

Hints:
EqClockId
FiniteClockId
OrdClockId
ShowClockId
whichCode : Which->Bits8
Totality: total
Visibility: public export
clockCode : ClockId->Bits8
Totality: total
Visibility: public export
timeval_size : Bits32
Totality: total
Visibility: public export
itimerval_size : Bits32
Totality: total
Visibility: public export
itimerspec_size : Bits32
Totality: total
Visibility: public export
CLOCKS_PER_SEC : ClockT
Totality: total
Visibility: public export
diff --git a/docs/posix/docs/docs/System.Posix.Timer.html b/docs/posix/docs/docs/System.Posix.Timer.html index e4722a1fe..6f198f26f 100644 --- a/docs/posix/docs/docs/System.Posix.Timer.html +++ b/docs/posix/docs/docs/System.Posix.Timer.html @@ -61,4 +61,4 @@ -

System.Posix.Timer

(source)

Reexports

importpublic Data.C.Integer
importpublic System.Posix.Errno
importpublic System.Posix.Timer.Types
importpublic System.Posix.Time

Definitions

recordTimeval : Type
Totality: total
Visibility: export
Constructor: 
TV : AnyPtr->Timeval

Projection: 
.ptr : Timeval->AnyPtr

Hints:
SizeOfTimeval
StructTimeval
sec : HasIOio=>Timeval->ioTimeT
Totality: total
Visibility: export
usec : HasIOio=>Timeval->ioSusecondsT
Totality: total
Visibility: export
setsec : HasIOio=>Timeval->TimeT->io ()
Totality: total
Visibility: export
setusec : HasIOio=>Timeval->SusecondsT->io ()
Totality: total
Visibility: export
timeval : HasIOio=>TimeT->SusecondsT->ioTimeval
Totality: total
Visibility: export
recordItimerval : Type
Totality: total
Visibility: export
Constructor: 
ITV : AnyPtr->Itimerval

Projection: 
.ptr : Itimerval->AnyPtr

Hints:
SizeOfItimerval
StructItimerval
interval : HasIOio=>Itimerval->ioTimeval
Totality: total
Visibility: export
value : HasIOio=>Itimerval->ioTimeval
Totality: total
Visibility: export
setinterval : HasIOio=>Itimerval->Timeval->io ()
Totality: total
Visibility: export
setvalue : HasIOio=>Itimerval->Timeval->io ()
Totality: total
Visibility: export
itimerval : HasIOio=>TimeT->SusecondsT->TimeT->SusecondsT->ioItimerval
  Creates and sets the fields of a `Itimerval` pointer.

The allocated memory must be freed via `freeStruct`.

Totality: total
Visibility: export
get_itimerspec_it_interval : AnyPtr->PrimIOAnyPtr
get_itimerspec_it_value : AnyPtr->PrimIOAnyPtr
set_itimerspec_it_interval : AnyPtr->AnyPtr->PrimIO ()
set_itimerspec_it_value : AnyPtr->AnyPtr->PrimIO ()
recordItimerspec : Type
  Note: Also this is POSIX compliant, it is not available on
MacOS (Darwin). Idris programs making use of this might fail on
Darwin during code generation.

Totality: total
Visibility: export
Constructor: 
ITS : AnyPtr->Itimerspec

Projection: 
.ptr : Itimerspec->AnyPtr

Hints:
SizeOfItimerspec
StructItimerspec
interval : HasIOio=>Itimerspec->ioTimespec
Totality: total
Visibility: export
value : HasIOio=>Itimerspec->ioTimespec
Totality: total
Visibility: export
setinterval : HasIOio=>Itimerspec->Timespec->io ()
Totality: total
Visibility: export
setvalue : HasIOio=>Itimerspec->Timespec->io ()
Totality: total
Visibility: export
itimerspec : HasIOio=>TimeT->NsecT->TimeT->NsecT->ioItimerspec
  Creates and sets the fields of a `Itimerspec` pointer.

The allocated memory must be freed via `freeStruct`.

Totality: total
Visibility: export
clock : HasIOio=>ioClockT
  Returns an approximation of processor time used by the program.

Type `ClockT` measures time with a granularity of
`CLOCKS_PER_SEC`.

Totality: total
Visibility: export
setitimer : ErrIOio=>Which->Itimerval->Itimerval->io ()
  This sets `new` as the new timer and places the current timer for
`Which` in `old`.

Depending on `Which`, the timer will use a different clock and
will (possibly repeatedly) raise a different kind signal:

* ITIMER_REAL: Counts down in real (i.e. wall clock) time
and raises SIGALRM
* ITIMER_VIRTUAL: Counts down in process virtual time
(i.e. user-mode CPU time) and raises SIGVTALRM
* ITIMER_PROF: Counts down in process time
(i.e. the sum of kernel-mode and user-mode CPU time) and raises SIGPROF

Totality: total
Visibility: export
setitimer' : ErrIOio=>Which->Itimerval->io ()
  Like `setitimer` but does not store the old timer in a pointer.

Totality: total
Visibility: export
getitimer : ErrIOio=>Which->Itimerval->io ()
  Writes the currently set timer for `Which` into `old.

Totality: total
Visibility: export
alarm : HasIOio=>UInt->ioUInt
  A very basic version of `setitimer` that raises `SIGALRM`
after the given number of seconds.

The returned value is the remaining number of seconds on any
previously set timer. The timer can be disabled by setting
this to zero.

Totality: total
Visibility: export
clockGetTime : ErrIOio=>ClockId->Timespec->io ()
  Writes the current time for the given clock into the
`Timespec` pointer.

Totality: total
Visibility: export
clockGetRes : ErrIOio=>ClockId->Timespec->io ()
  Writes the resolution for the given clock into the
`Timespec` pointer.

Totality: total
Visibility: export
nanosleep : ErrIOio=>Timespec->Timespec->io ()
  High resolution sleeping for the duration given in `dur`.

In case this is interrupted by a signal, it returns `Left EINTR`
and writes the remaining duration into `rem`.

Totality: total
Visibility: export
nanosleep' : ErrIOio=>Timespec->io ()
  Like `nanosleep` but without the capability of keeping track of the
remaining duration in case of a signal interrupt.

Totality: total
Visibility: export
clockNanosleep : ErrIOio=>ClockId->Timespec->Timespec->io ()
  Like `nanosleep` but allows us to specify the system clock to use.

Totality: total
Visibility: export
clockNanosleepAbs : ErrIOio=>ClockId->Timespec->io ()
  Like `clockNanosleep` but uses an absolute time value instead of a duration.

This is useful to get exact wakeup times even in case of lots of signal
interrupts.

Totality: total
Visibility: export
+

System.Posix.Timer

(source)

Reexports

importpublic Data.C.Integer
importpublic System.Posix.Errno
importpublic System.Posix.Timer.Types
importpublic System.Posix.Time

Definitions

recordTimeval : Type
Totality: total
Visibility: export
Constructor: 
TV : AnyPtr->Timeval

Projection: 
.ptr : Timeval->AnyPtr

Hints:
SizeOfTimeval
StructTimeval
sec : HasIOio=>Timeval->ioTimeT
Totality: total
Visibility: export
usec : HasIOio=>Timeval->ioSusecondsT
Totality: total
Visibility: export
setsec : HasIOio=>Timeval->TimeT->io ()
Totality: total
Visibility: export
setusec : HasIOio=>Timeval->SusecondsT->io ()
Totality: total
Visibility: export
timeval : HasIOio=>TimeT->SusecondsT->ioTimeval
Totality: total
Visibility: export
recordItimerval : Type
Totality: total
Visibility: export
Constructor: 
ITV : AnyPtr->Itimerval

Projection: 
.ptr : Itimerval->AnyPtr

Hints:
SizeOfItimerval
StructItimerval
interval : HasIOio=>Itimerval->ioTimeval
Totality: total
Visibility: export
value : HasIOio=>Itimerval->ioTimeval
Totality: total
Visibility: export
setinterval : HasIOio=>Itimerval->Timeval->io ()
Totality: total
Visibility: export
setvalue : HasIOio=>Itimerval->Timeval->io ()
Totality: total
Visibility: export
itimerval : HasIOio=>TimeT->SusecondsT->TimeT->SusecondsT->ioItimerval
  Creates and sets the fields of a `Itimerval` pointer.

The allocated memory must be freed via `freeStruct`.

Totality: total
Visibility: export
get_itimerspec_it_interval : AnyPtr->PrimIOAnyPtr
get_itimerspec_it_value : AnyPtr->PrimIOAnyPtr
set_itimerspec_it_interval : AnyPtr->AnyPtr->PrimIO ()
set_itimerspec_it_value : AnyPtr->AnyPtr->PrimIO ()
recordItimerspec : Type
  Note: Also this is POSIX compliant, it is not available on
MacOS (Darwin). Idris programs making use of this might fail on
Darwin during code generation.

Totality: total
Visibility: export
Constructor: 
ITS : AnyPtr->Itimerspec

Projection: 
.ptr : Itimerspec->AnyPtr

Hints:
SizeOfItimerspec
StructItimerspec
interval : HasIOio=>Itimerspec->ioTimespec
Totality: total
Visibility: export
value : HasIOio=>Itimerspec->ioTimespec
Totality: total
Visibility: export
setinterval : HasIOio=>Itimerspec->Timespec->io ()
Totality: total
Visibility: export
setvalue : HasIOio=>Itimerspec->Timespec->io ()
Totality: total
Visibility: export
itimerspec : HasIOio=>TimeT->NsecT->TimeT->NsecT->ioItimerspec
  Creates and sets the fields of a `Itimerspec` pointer.

The allocated memory must be freed via `freeStruct`.

Totality: total
Visibility: export
clock : HasIOio=>ioClockT
  Returns an approximation of processor time used by the program.

Type `ClockT` measures time with a granularity of
`CLOCKS_PER_SEC`.

Totality: total
Visibility: export
setitimer : ErrIOio=>Which->Itimerval->Itimerval->io ()
  This sets `new` as the new timer and places the current timer for
`Which` in `old`.

Depending on `Which`, the timer will use a different clock and
will (possibly repeatedly) raise a different kind signal:

* ITIMER_REAL: Counts down in real (i.e. wall clock) time
and raises SIGALRM
* ITIMER_VIRTUAL: Counts down in process virtual time
(i.e. user-mode CPU time) and raises SIGVTALRM
* ITIMER_PROF: Counts down in process time
(i.e. the sum of kernel-mode and user-mode CPU time) and raises SIGPROF

Totality: total
Visibility: export
setitimer' : ErrIOio=>Which->Itimerval->io ()
  Like `setitimer` but does not store the old timer in a pointer.

Totality: total
Visibility: export
getitimer : ErrIOio=>Which->Itimerval->io ()
  Writes the currently set timer for `Which` into `old.

Totality: total
Visibility: export
alarm : HasIOio=>UInt->ioUInt
  A very basic version of `setitimer` that raises `SIGALRM`
after the given number of seconds.

The returned value is the remaining number of seconds on any
previously set timer. The timer can be disabled by setting
this to zero.

Totality: total
Visibility: export
clockGetTime : ErrIOio=>ClockId->Timespec->io ()
  Writes the current time for the given clock into the
`Timespec` pointer.

Totality: total
Visibility: export
clockGetRes : ErrIOio=>ClockId->Timespec->io ()
  Writes the resolution for the given clock into the
`Timespec` pointer.

Totality: total
Visibility: export
nanosleep : ErrIOio=>Timespec->Timespec->io ()
  High resolution sleeping for the duration given in `dur`.

In case this is interrupted by a signal, it returns `Left EINTR`
and writes the remaining duration into `rem`.

Totality: total
Visibility: export
nanosleep' : ErrIOio=>Timespec->io ()
  Like `nanosleep` but without the capability of keeping track of the
remaining duration in case of a signal interrupt.

Totality: total
Visibility: export
clockNanosleep : ErrIOio=>ClockId->Timespec->Timespec->io ()
  Like `nanosleep` but allows us to specify the system clock to use.

Totality: total
Visibility: export
clockNanosleepAbs : ErrIOio=>ClockId->Timespec->io ()
  Like `clockNanosleep` but uses an absolute time value instead of a duration.

This is useful to get exact wakeup times even in case of lots of signal
interrupts.

Totality: total
Visibility: export
diff --git a/docs/sqlite3/docs/docs/Sqlite3.Cmd.html b/docs/sqlite3/docs/docs/Sqlite3.Cmd.html index eba4aa770..54c21dded 100644 --- a/docs/sqlite3/docs/docs/Sqlite3.Cmd.html +++ b/docs/sqlite3/docs/docs/Sqlite3.Cmd.html @@ -61,4 +61,4 @@ -

Sqlite3.Cmd

(source)

Definitions

toExprs : LAll (Maybe.IdrisType) ts->LAll (Exprs) ts
  We can always convert a list of marshallable Idris values to
a list of SQL expressions.

Totality: total
Visibility: export
recordVal : SQLTable->Type
  A single name-value pair in an `UPDATE` statement.

Totality: total
Visibility: public export
Constructor: 
V : (name : String) -> {auto0prf : IsJust (FindColname (t.cols))} ->Expr [<t] (TableColTypenamet) ->Valt

Projections:
.name : Valt->String
0.prf : ({rec:0} : Valt) ->IsJust (FindCol (name{rec:0}) (t.cols))
.val : ({rec:0} : Valt) ->Expr [<t] (TableColType (name{rec:0}) t)
.name : Valt->String
Totality: total
Visibility: public export
name : Valt->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : Valt) ->IsJust (FindCol (name{rec:0}) (t.cols))
Totality: total
Visibility: public export
0prf : ({rec:0} : Valt) ->IsJust (FindCol (name{rec:0}) (t.cols))
Totality: total
Visibility: public export
.val : ({rec:0} : Valt) ->Expr [<t] (TableColType (name{rec:0}) t)
Totality: total
Visibility: public export
val : ({rec:0} : Valt) ->Expr [<t] (TableColType (name{rec:0}) t)
Totality: total
Visibility: public export
(.=) : {autoto : ToCella} -> (name : String) -> {auto0prf : IsJust (FindColname (t.cols))} -> {auto0_ : TableColTypenamet=ToCellTypea} ->a->Valt
  Operator alias for the data constructor of `Val`,
specialized for usage with Idris types with a
`ToCell` implementation.

Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 1
dataAction : Type
  Foreign Key Actions

Totality: total
Visibility: public export
Constructors:
SET_NULL : Action
SET_DEFAULT : Action
CASCADE : Action
RESTRICT : Action
NO_ACTION : Action
dataEvent : Type
Totality: total
Visibility: public export
Constructors:
ON_UPDATE : Action->Event
ON_DELETE : Action->Event
dataConstraint : SQLTable->Type
  Column and table constraints to be used when creating a new table.

Totality: total
Visibility: public export
Constructors:
NOT_NULL : TColumntx->Constraintt
AUTOINCREMENT : TColumntx->Constraintt
UNIQUE : LAll (TColumnt) xs->Constraintt
PRIMARY_KEY : LAll (TColumnt) xs->Constraintt
ForeignKey : (s : SQLTable) ->LAll (TColumnt) xs->LAll (TColumns) xs->ListEvent->Constraintt
CHECK : Expr [<t] BOOL->Constraintt
DEFAULT : (s : String) -> {auto0prf : IsJust (FindCols (t.cols))} ->Expr [<t] (TableColTypest) ->Constraintt
FOREIGN_KEY : (s : SQLTable) ->LAll (TColumnt) xs->LAll (TColumns) xs->Constraintt
  Convenience API to construct a foreign key constraint.

Totality: total
Visibility: public export
FOREIGN_KEY' : (s : SQLTable) ->LAll (TColumnt) xs->LAll (TColumns) xs->ListEvent->Constraintt
  Constructs a foreign key constraint with actions

Totality: total
Visibility: public export
dataCmdType : Type
  Index used to distinguish different types of commands.

This should facilitate writing combinator such as
`IF_NOT_EXISTS` to operate only on certain commands.

Totality: total
Visibility: public export
Constructors:
TCreate : CmdType
TDelete : CmdType
TDrop : CmdType
TInsert : CmdType
TSelect : CmdType
TUpdate : CmdType
dataCmd : CmdType->Type
  Data management commands for creating tables and
inserting, updating, or deleting rows in a table.

Totality: total
Visibility: public export
Constructors:
CreateTable : (t : SQLTable) ->List (Constraintt) ->Bool->CmdTCreate
  Information used to create a new table.

It is recommended to use a combination of `CREATE_TABLE` and
`IF_NOT_EXISTS` instead of using this constructor directly.
DropTable : SQLTable->Bool->CmdTDrop
INSERT : (t : SQLTable) ->LAll (TColumnt) ts->LAll (Expr [<t]) ts->CmdTInsert
  Information required to insert data into a table.

This is well suited if you want to have full control over
the expressions used to insert data. If, however, you want
to insert an Idris value with a `ToRow` implementation,
consider using function `insert` instead.
REPLACE : (t : SQLTable) ->LAll (TColumnt) ts->LAll (Expr [<t]) ts->CmdTInsert
  Information required to insert or replace data in a a table.

This is like insert, but will replace values to fullfil `UNIQUE`
constraints in the table. As such, it is useful for updating
data that might not yet be present in a table.

This is well suited if you want to have full control over
the expressions used to replace data. If, however, you want
to insert an Idris value with a `ToRow` implementation,
consider using function `replace` instead.
UPDATE : (t : SQLTable) ->List (Valt) ->Expr [<t] BOOL->CmdTUpdate
  Information required to update values in table.
DELETE : (t : SQLTable) ->Expr [<t] BOOL->CmdTDelete
  Information required to delete values from a table.
insert : {autoas : ToRowv} -> (t : SQLTable) ->LAll (TColumnt) (ToRowTypesv) ->v->CmdTInsert
  Utility version of `INSERT` for those cases when you want to
insert an Idris value with a `ToRow` implementation.

Totality: total
Visibility: export
replace : {autoas : ToRowv} -> (t : SQLTable) ->LAll (TColumnt) (ToRowTypesv) ->v->CmdTInsert
  Utility version of `REPLACE` for those cases when you want to
replace an Idris value with a `ToRow` implementation.

Totality: total
Visibility: export
dataCmds : Type
  A list of different types of commands, with the
command types being hidden.

Totality: total
Visibility: public export
Constructors:
Nil : Cmds
(::) : Cmdt->Cmds->Cmds

Hints:
MonoidCmds
SemigroupCmds
(++) : Cmds->Cmds->Cmds
Totality: total
Visibility: export
Fixity Declaration: infixr operator, level 7
fromList : List (Cmdt) ->Cmds
Totality: total
Visibility: export
IF_NOT_EXISTS : CmdTCreate->CmdTCreate
  Create a table only if it does not yet exist.

Totality: total
Visibility: public export
IF_EXISTS : CmdTDrop->CmdTDrop
  Drop a table only if it exists.

Totality: total
Visibility: public export
CREATE_TABLE : (t : SQLTable) ->List (Constraintt) ->CmdTCreate
  Convenience constructor for the `CreateTable` command

Totality: total
Visibility: public export
DROP_TABLE : SQLTable->CmdTDrop
  Convenience constructor for the `DropTable` command

Totality: total
Visibility: public export
0JoinPred : Schema->SQLTable->Type
Totality: total
Visibility: public export
dataJoin : Schema->SQLTable->Type
Totality: total
Visibility: public export
Constructors:
JOIN : (t : SQLTable) ->JoinPred (s:<t0) t->Join (s:<t0) t
OUTER_JOIN : (t : SQLTable) ->JoinPred (s:<t0) t->Join (s:<t0) t
CROSS_JOIN : (t : SQLTable) ->Join (s:<t0) t
FROM : (t : SQLTable) ->Join [<] t
USING : (JoinPredst->Joinst) ->List (JColumnst) ->Joinst
Totality: total
Visibility: public export
ON : (JoinPredst->Joinst) ->Expr (s:<t) BOOL->Joinst
Totality: total
Visibility: public export
dataFrom : Schema->Type
  The `FROM` part in a select statement.

Totality: total
Visibility: public export
Constructors:
Lin : From [<]
(:<) : Froms->Joinst->From (s:<t)
dataAscDesc : Type
  Tag indicating, whether results should be sorted in ascending
or descending order.

Totality: total
Visibility: public export
Constructors:
NoAsc : AscDesc
Asc : AscDesc
Desc : AscDesc
dataCollation : SqliteType->Type
  Different collations used during ordering.

Currently, only `NO CASE` is supported.

Totality: total
Visibility: public export
Constructors:
None : Collationt
NOCASE : CollationTEXT
recordOrderingTerm : Schema->Type
Totality: total
Visibility: public export
Constructor: 
O : Exprstpe->Collationtpe->AscDesc->OrderingTerms

Projections:
.asc : OrderingTerms->AscDesc
.coll : ({rec:0} : OrderingTerms) ->Collation (tpe{rec:0})
.expr : ({rec:0} : OrderingTerms) ->Exprs (tpe{rec:0})
0.tpe : OrderingTerms->SqliteType
0.tpe : OrderingTerms->SqliteType
Totality: total
Visibility: public export
0tpe : OrderingTerms->SqliteType
Totality: total
Visibility: public export
.expr : ({rec:0} : OrderingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
expr : ({rec:0} : OrderingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
.coll : ({rec:0} : OrderingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
coll : ({rec:0} : OrderingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
.asc : OrderingTerms->AscDesc
Totality: total
Visibility: public export
asc : OrderingTerms->AscDesc
Totality: total
Visibility: public export
ASC : Exprst->OrderingTerms
Totality: total
Visibility: public export
DESC : Exprst->OrderingTerms
Totality: total
Visibility: public export
COLLATE : (o : OrderingTerms) ->Collation (o.tpe) ->OrderingTerms
Totality: total
Visibility: public export
recordGroupingTerm : Schema->Type
Totality: total
Visibility: public export
Constructor: 
G : Exprstpe->Collationtpe->GroupingTerms

Projections:
.coll : ({rec:0} : GroupingTerms) ->Collation (tpe{rec:0})
.expr : ({rec:0} : GroupingTerms) ->Exprs (tpe{rec:0})
0.tpe : GroupingTerms->SqliteType
0.tpe : GroupingTerms->SqliteType
Totality: total
Visibility: public export
0tpe : GroupingTerms->SqliteType
Totality: total
Visibility: public export
.expr : ({rec:0} : GroupingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
expr : ({rec:0} : GroupingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
.coll : ({rec:0} : GroupingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
coll : ({rec:0} : GroupingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
fromString : (col : String) -> {auto0_ : IsJust (FindSchemaColcols)} ->GroupingTerms
Totality: total
Visibility: public export
ord : GroupingTerms->OrderingTerms
Totality: total
Visibility: public export
recordNamedExpr : Schema->SqliteType->Type
Totality: total
Visibility: public export
Constructor: 
AS : Exprst->String->NamedExprst

Projections:
.expr : NamedExprst->Exprst
.name : NamedExprst->String
.expr : NamedExprst->Exprst
Totality: total
Visibility: public export
expr : NamedExprst->Exprst
Totality: total
Visibility: public export
.name : NamedExprst->String
Totality: total
Visibility: public export
name : NamedExprst->String
Totality: total
Visibility: public export
fromString : (col : String) -> {auto0p : IsJust (FindSchemaColcols)} ->NamedExprs (SchemaColTypecols)
Totality: total
Visibility: public export
columnName : NamedExprst->String
  Extracts the column name we use to reference a named
expression.

If a custom name has been set, this will be returned. Otherwise,
if the expression references a table column, that columns (possibly
qualified) name will be returned.

Totality: total
Visibility: export
ExprColumns : LAll (NamedExprs) ts->ListColumn
  Computes a list of named and typed columns from a list of
name expressions.

Expressions with an empty string as their name are not included in
the result.

Totality: total
Visibility: public export
ExprSchema : LAll (NamedExprs) ts->Schema
  Appends an unnamed table with the list of columns coming from
the given list of named expressions to a schema.

Expressions with an empty string as their name are not included in
the result.

This is used to compute the full `Schema` to be used in
those fields of `Query` that are used for filtering, grouping, and
sorting.

Totality: total
Visibility: public export
recordQuery : Type->Type
  Different types of `SELECT` commands.

Totality: total
Visibility: public export
Constructor: 
Q : {autofromRow : FromRowt} ->Bool-> (schema : Schema) ->Fromschema-> (columns : LAll (NamedExprschema) (FromRowTypest)) ->Expr (ExprSchemacolumns) BOOL->Expr (ExprSchemacolumns) BOOL->List (GroupingTerm (ExprSchemacolumns)) ->List (OrderingTerm (ExprSchemacolumns)) ->MaybeNat->Nat->Queryt

Projections:
.columns : ({rec:0} : Queryt) ->LAll (NamedExpr (schema{rec:0})) (FromRowTypest)
.distinct : Queryt->Bool
.from : ({rec:0} : Queryt) ->From (schema{rec:0})
.fromRow : Queryt->FromRowt
.group_by : ({rec:0} : Queryt) ->List (GroupingTerm (ExprSchema (columns{rec:0})))
.having : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
.limit : Queryt->MaybeNat
.offset : Queryt->Nat
.order_by : ({rec:0} : Queryt) ->List (OrderingTerm (ExprSchema (columns{rec:0})))
.schema : Queryt->Schema
.where_ : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL

Hint: 
Queryt=>FromRowt
.fromRow : Queryt->FromRowt
Totality: total
Visibility: public export
fromRow : Queryt->FromRowt
Totality: total
Visibility: public export
.distinct : Queryt->Bool
Totality: total
Visibility: public export
distinct : Queryt->Bool
Totality: total
Visibility: public export
.schema : Queryt->Schema
Totality: total
Visibility: public export
schema : Queryt->Schema
Totality: total
Visibility: public export
.from : ({rec:0} : Queryt) ->From (schema{rec:0})
Totality: total
Visibility: public export
from : ({rec:0} : Queryt) ->From (schema{rec:0})
Totality: total
Visibility: public export
.columns : ({rec:0} : Queryt) ->LAll (NamedExpr (schema{rec:0})) (FromRowTypest)
Totality: total
Visibility: public export
columns : ({rec:0} : Queryt) ->LAll (NamedExpr (schema{rec:0})) (FromRowTypest)
Totality: total
Visibility: public export
.where_ : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
where_ : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
.having : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
having : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
.group_by : ({rec:0} : Queryt) ->List (GroupingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
group_by : ({rec:0} : Queryt) ->List (GroupingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
.order_by : ({rec:0} : Queryt) ->List (OrderingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
order_by : ({rec:0} : Queryt) ->List (OrderingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
.limit : Queryt->MaybeNat
Totality: total
Visibility: public export
limit : Queryt->MaybeNat
Totality: total
Visibility: public export
.offset : Queryt->Nat
Totality: total
Visibility: public export
offset : Queryt->Nat
Totality: total
Visibility: public export
queryAsRow : Queryt=>FromRowt
Totality: total
Visibility: public export
0LQuery : ListType->Type
Totality: total
Visibility: public export
SELECT : {autofromRow : FromRowt} ->LAll (NamedExprs) (FromRowTypest) ->Froms->Queryt
Totality: total
Visibility: public export
SELECT_DISTINCT : {autofromRow : FromRowt} ->LAll (NamedExprs) (FromRowTypest) ->Froms->Queryt
Totality: total
Visibility: public export
GROUP_BY : (q : Queryt) ->List (GroupingTerm (ExprSchema (q.columns))) ->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
WHERE : (q : Queryt) ->Expr (ExprSchema (q.columns)) BOOL->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
HAVING : (q : Queryt) ->Expr (ExprSchema (q.columns)) BOOL->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
ORDER_BY : (q : Queryt) ->List (OrderingTerm (ExprSchema (q.columns))) ->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
LIMIT : Queryt->Nat->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
OFFSET : Queryt->Nat->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
+

Sqlite3.Cmd

(source)

Definitions

toExprs : LAll (Maybe.IdrisType) ts->LAll (Exprs) ts
  We can always convert a list of marshallable Idris values to
a list of SQL expressions.

Totality: total
Visibility: export
recordVal : SQLTable->Type
  A single name-value pair in an `UPDATE` statement.

Totality: total
Visibility: public export
Constructor: 
V : (name : String) -> {auto0prf : IsJust (FindColname (t.cols))} ->Expr [<t] (TableColTypenamet) ->Valt

Projections:
.name : Valt->String
0.prf : ({rec:0} : Valt) ->IsJust (FindCol (name{rec:0}) (t.cols))
.val : ({rec:0} : Valt) ->Expr [<t] (TableColType (name{rec:0}) t)
.name : Valt->String
Totality: total
Visibility: public export
name : Valt->String
Totality: total
Visibility: public export
0.prf : ({rec:0} : Valt) ->IsJust (FindCol (name{rec:0}) (t.cols))
Totality: total
Visibility: public export
0prf : ({rec:0} : Valt) ->IsJust (FindCol (name{rec:0}) (t.cols))
Totality: total
Visibility: public export
.val : ({rec:0} : Valt) ->Expr [<t] (TableColType (name{rec:0}) t)
Totality: total
Visibility: public export
val : ({rec:0} : Valt) ->Expr [<t] (TableColType (name{rec:0}) t)
Totality: total
Visibility: public export
(.=) : {autoto : ToCella} -> (name : String) -> {auto0prf : IsJust (FindColname (t.cols))} -> {auto0_ : TableColTypenamet=ToCellTypea} ->a->Valt
  Operator alias for the data constructor of `Val`,
specialized for usage with Idris types with a
`ToCell` implementation.

Totality: total
Visibility: public export
Fixity Declaration: infix operator, level 1
dataAction : Type
  Foreign Key Actions

Totality: total
Visibility: public export
Constructors:
SET_NULL : Action
SET_DEFAULT : Action
CASCADE : Action
RESTRICT : Action
NO_ACTION : Action
dataEvent : Type
Totality: total
Visibility: public export
Constructors:
ON_UPDATE : Action->Event
ON_DELETE : Action->Event
dataConstraint : SQLTable->Type
  Column and table constraints to be used when creating a new table.

Totality: total
Visibility: public export
Constructors:
NOT_NULL : TColumntx->Constraintt
AUTOINCREMENT : TColumntx->Constraintt
UNIQUE : LAll (TColumnt) xs->Constraintt
PRIMARY_KEY : LAll (TColumnt) xs->Constraintt
ForeignKey : (s : SQLTable) ->LAll (TColumnt) xs->LAll (TColumns) xs->ListEvent->Constraintt
CHECK : Expr [<t] BOOL->Constraintt
DEFAULT : (s : String) -> {auto0prf : IsJust (FindCols (t.cols))} ->Expr [<t] (TableColTypest) ->Constraintt
FOREIGN_KEY : (s : SQLTable) ->LAll (TColumnt) xs->LAll (TColumns) xs->Constraintt
  Convenience API to construct a foreign key constraint.

Totality: total
Visibility: public export
FOREIGN_KEY' : (s : SQLTable) ->LAll (TColumnt) xs->LAll (TColumns) xs->ListEvent->Constraintt
  Constructs a foreign key constraint with actions

Totality: total
Visibility: public export
dataCmdType : Type
  Index used to distinguish different types of commands.

This should facilitate writing combinator such as
`IF_NOT_EXISTS` to operate only on certain commands.

Totality: total
Visibility: public export
Constructors:
TCreate : CmdType
TDelete : CmdType
TDrop : CmdType
TInsert : CmdType
TSelect : CmdType
TUpdate : CmdType
dataCmd : CmdType->Type
  Data management commands for creating tables and
inserting, updating, or deleting rows in a table.

Totality: total
Visibility: public export
Constructors:
CreateTable : (t : SQLTable) ->List (Constraintt) ->Bool->CmdTCreate
  Information used to create a new table.

It is recommended to use a combination of `CREATE_TABLE` and
`IF_NOT_EXISTS` instead of using this constructor directly.
DropTable : SQLTable->Bool->CmdTDrop
INSERT : (t : SQLTable) ->LAll (TColumnt) ts->LAll (Expr [<t]) ts->CmdTInsert
  Information required to insert data into a table.

This is well suited if you want to have full control over
the expressions used to insert data. If, however, you want
to insert an Idris value with a `ToRow` implementation,
consider using function `insert` instead.
REPLACE : (t : SQLTable) ->LAll (TColumnt) ts->LAll (Expr [<t]) ts->CmdTInsert
  Information required to insert or replace data in a a table.

This is like insert, but will replace values to fullfil `UNIQUE`
constraints in the table. As such, it is useful for updating
data that might not yet be present in a table.

This is well suited if you want to have full control over
the expressions used to replace data. If, however, you want
to insert an Idris value with a `ToRow` implementation,
consider using function `replace` instead.
UPDATE : (t : SQLTable) ->List (Valt) ->Expr [<t] BOOL->CmdTUpdate
  Information required to update values in table.
DELETE : (t : SQLTable) ->Expr [<t] BOOL->CmdTDelete
  Information required to delete values from a table.
insert : {autoas : ToRowv} -> (t : SQLTable) ->LAll (TColumnt) (ToRowTypesv) ->v->CmdTInsert
  Utility version of `INSERT` for those cases when you want to
insert an Idris value with a `ToRow` implementation.

Totality: total
Visibility: export
replace : {autoas : ToRowv} -> (t : SQLTable) ->LAll (TColumnt) (ToRowTypesv) ->v->CmdTInsert
  Utility version of `REPLACE` for those cases when you want to
replace an Idris value with a `ToRow` implementation.

Totality: total
Visibility: export
dataCmds : Type
  A list of different types of commands, with the
command types being hidden.

Totality: total
Visibility: public export
Constructors:
Nil : Cmds
(::) : Cmdt->Cmds->Cmds

Hints:
MonoidCmds
SemigroupCmds
(++) : Cmds->Cmds->Cmds
Totality: total
Visibility: export
Fixity Declaration: infixr operator, level 7
fromList : List (Cmdt) ->Cmds
Totality: total
Visibility: export
IF_NOT_EXISTS : CmdTCreate->CmdTCreate
  Create a table only if it does not yet exist.

Totality: total
Visibility: public export
IF_EXISTS : CmdTDrop->CmdTDrop
  Drop a table only if it exists.

Totality: total
Visibility: public export
CREATE_TABLE : (t : SQLTable) ->List (Constraintt) ->CmdTCreate
  Convenience constructor for the `CreateTable` command

Totality: total
Visibility: public export
DROP_TABLE : SQLTable->CmdTDrop
  Convenience constructor for the `DropTable` command

Totality: total
Visibility: public export
0JoinPred : Schema->SQLTable->Type
Totality: total
Visibility: public export
dataJoin : Schema->SQLTable->Type
Totality: total
Visibility: public export
Constructors:
JOIN : (t : SQLTable) ->JoinPred (s:<t0) t->Join (s:<t0) t
OUTER_JOIN : (t : SQLTable) ->JoinPred (s:<t0) t->Join (s:<t0) t
CROSS_JOIN : (t : SQLTable) ->Join (s:<t0) t
FROM : (t : SQLTable) ->Join [<] t
USING : (JoinPredst->Joinst) ->List (JColumnst) ->Joinst
Totality: total
Visibility: public export
ON : (JoinPredst->Joinst) ->Expr (s:<t) BOOL->Joinst
Totality: total
Visibility: public export
dataFrom : Schema->Type
  The `FROM` part in a select statement.

Totality: total
Visibility: public export
Constructors:
Lin : From [<]
(:<) : Froms->Joinst->From (s:<t)
dataAscDesc : Type
  Tag indicating, whether results should be sorted in ascending
or descending order.

Totality: total
Visibility: public export
Constructors:
NoAsc : AscDesc
Asc : AscDesc
Desc : AscDesc
dataCollation : SqliteType->Type
  Different collations used during ordering.

Currently, only `NO CASE` is supported.

Totality: total
Visibility: public export
Constructors:
None : Collationt
NOCASE : CollationTEXT
recordOrderingTerm : Schema->Type
Totality: total
Visibility: public export
Constructor: 
O : Exprstpe->Collationtpe->AscDesc->OrderingTerms

Projections:
.asc : OrderingTerms->AscDesc
.coll : ({rec:0} : OrderingTerms) ->Collation (tpe{rec:0})
.expr : ({rec:0} : OrderingTerms) ->Exprs (tpe{rec:0})
0.tpe : OrderingTerms->SqliteType
0.tpe : OrderingTerms->SqliteType
Totality: total
Visibility: public export
0tpe : OrderingTerms->SqliteType
Totality: total
Visibility: public export
.expr : ({rec:0} : OrderingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
expr : ({rec:0} : OrderingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
.coll : ({rec:0} : OrderingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
coll : ({rec:0} : OrderingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
.asc : OrderingTerms->AscDesc
Totality: total
Visibility: public export
asc : OrderingTerms->AscDesc
Totality: total
Visibility: public export
ASC : Exprst->OrderingTerms
Totality: total
Visibility: public export
DESC : Exprst->OrderingTerms
Totality: total
Visibility: public export
COLLATE : (o : OrderingTerms) ->Collation (o.tpe) ->OrderingTerms
Totality: total
Visibility: public export
recordGroupingTerm : Schema->Type
Totality: total
Visibility: public export
Constructor: 
G : Exprstpe->Collationtpe->GroupingTerms

Projections:
.coll : ({rec:0} : GroupingTerms) ->Collation (tpe{rec:0})
.expr : ({rec:0} : GroupingTerms) ->Exprs (tpe{rec:0})
0.tpe : GroupingTerms->SqliteType
0.tpe : GroupingTerms->SqliteType
Totality: total
Visibility: public export
0tpe : GroupingTerms->SqliteType
Totality: total
Visibility: public export
.expr : ({rec:0} : GroupingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
expr : ({rec:0} : GroupingTerms) ->Exprs (tpe{rec:0})
Totality: total
Visibility: public export
.coll : ({rec:0} : GroupingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
coll : ({rec:0} : GroupingTerms) ->Collation (tpe{rec:0})
Totality: total
Visibility: public export
fromString : (col : String) -> {auto0_ : IsJust (FindSchemaColcols)} ->GroupingTerms
Totality: total
Visibility: public export
ord : GroupingTerms->OrderingTerms
Totality: total
Visibility: public export
recordNamedExpr : Schema->SqliteType->Type
Totality: total
Visibility: public export
Constructor: 
AS : Exprst->String->NamedExprst

Projections:
.expr : NamedExprst->Exprst
.name : NamedExprst->String
.expr : NamedExprst->Exprst
Totality: total
Visibility: public export
expr : NamedExprst->Exprst
Totality: total
Visibility: public export
.name : NamedExprst->String
Totality: total
Visibility: public export
name : NamedExprst->String
Totality: total
Visibility: public export
fromString : (col : String) -> {auto0p : IsJust (FindSchemaColcols)} ->NamedExprs (SchemaColTypecols)
Totality: total
Visibility: public export
columnName : NamedExprst->String
  Extracts the column name we use to reference a named
expression.

If a custom name has been set, this will be returned. Otherwise,
if the expression references a table column, that columns (possibly
qualified) name will be returned.

Totality: total
Visibility: export
ExprColumns : LAll (NamedExprs) ts->ListColumn
  Computes a list of named and typed columns from a list of
name expressions.

Expressions with an empty string as their name are not included in
the result.

Totality: total
Visibility: public export
ExprSchema : LAll (NamedExprs) ts->Schema
  Appends an unnamed table with the list of columns coming from
the given list of named expressions to a schema.

Expressions with an empty string as their name are not included in
the result.

This is used to compute the full `Schema` to be used in
those fields of `Query` that are used for filtering, grouping, and
sorting.

Totality: total
Visibility: public export
recordQuery : Type->Type
  Different types of `SELECT` commands.

Totality: total
Visibility: public export
Constructor: 
Q : {autofromRow : FromRowt} ->Bool-> (schema : Schema) ->Fromschema-> (columns : LAll (NamedExprschema) (FromRowTypest)) ->Expr (ExprSchemacolumns) BOOL->Expr (ExprSchemacolumns) BOOL->List (GroupingTerm (ExprSchemacolumns)) ->List (OrderingTerm (ExprSchemacolumns)) ->MaybeNat->Nat->Queryt

Projections:
.columns : ({rec:0} : Queryt) ->LAll (NamedExpr (schema{rec:0})) (FromRowTypest)
.distinct : Queryt->Bool
.from : ({rec:0} : Queryt) ->From (schema{rec:0})
.fromRow : Queryt->FromRowt
.group_by : ({rec:0} : Queryt) ->List (GroupingTerm (ExprSchema (columns{rec:0})))
.having : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
.limit : Queryt->MaybeNat
.offset : Queryt->Nat
.order_by : ({rec:0} : Queryt) ->List (OrderingTerm (ExprSchema (columns{rec:0})))
.schema : Queryt->Schema
.where_ : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL

Hint: 
Queryt=>FromRowt
.fromRow : Queryt->FromRowt
Totality: total
Visibility: public export
fromRow : Queryt->FromRowt
Totality: total
Visibility: public export
.distinct : Queryt->Bool
Totality: total
Visibility: public export
distinct : Queryt->Bool
Totality: total
Visibility: public export
.schema : Queryt->Schema
Totality: total
Visibility: public export
schema : Queryt->Schema
Totality: total
Visibility: public export
.from : ({rec:0} : Queryt) ->From (schema{rec:0})
Totality: total
Visibility: public export
from : ({rec:0} : Queryt) ->From (schema{rec:0})
Totality: total
Visibility: public export
.columns : ({rec:0} : Queryt) ->LAll (NamedExpr (schema{rec:0})) (FromRowTypest)
Totality: total
Visibility: public export
columns : ({rec:0} : Queryt) ->LAll (NamedExpr (schema{rec:0})) (FromRowTypest)
Totality: total
Visibility: public export
.where_ : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
where_ : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
.having : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
having : ({rec:0} : Queryt) ->Expr (ExprSchema (columns{rec:0})) BOOL
Totality: total
Visibility: public export
.group_by : ({rec:0} : Queryt) ->List (GroupingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
group_by : ({rec:0} : Queryt) ->List (GroupingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
.order_by : ({rec:0} : Queryt) ->List (OrderingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
order_by : ({rec:0} : Queryt) ->List (OrderingTerm (ExprSchema (columns{rec:0})))
Totality: total
Visibility: public export
.limit : Queryt->MaybeNat
Totality: total
Visibility: public export
limit : Queryt->MaybeNat
Totality: total
Visibility: public export
.offset : Queryt->Nat
Totality: total
Visibility: public export
offset : Queryt->Nat
Totality: total
Visibility: public export
queryAsRow : Queryt=>FromRowt
Totality: total
Visibility: public export
0LQuery : ListType->Type
Totality: total
Visibility: public export
SELECT : {autofromRow : FromRowt} ->LAll (NamedExprs) (FromRowTypest) ->Froms->Queryt
Totality: total
Visibility: public export
SELECT_DISTINCT : {autofromRow : FromRowt} ->LAll (NamedExprs) (FromRowTypest) ->Froms->Queryt
Totality: total
Visibility: public export
GROUP_BY : (q : Queryt) ->List (GroupingTerm (ExprSchema (q.columns))) ->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
WHERE : (q : Queryt) ->Expr (ExprSchema (q.columns)) BOOL->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
HAVING : (q : Queryt) ->Expr (ExprSchema (q.columns)) BOOL->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
ORDER_BY : (q : Queryt) ->List (OrderingTerm (ExprSchema (q.columns))) ->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
LIMIT : Queryt->Nat->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
OFFSET : Queryt->Nat->Queryt
Totality: total
Visibility: public export
Fixity Declaration: infixl operator, level 7
diff --git a/docs/sqlite3/docs/docs/Sqlite3.Expr.html b/docs/sqlite3/docs/docs/Sqlite3.Expr.html index 84952d961..67055d348 100644 --- a/docs/sqlite3/docs/docs/Sqlite3.Expr.html +++ b/docs/sqlite3/docs/docs/Sqlite3.Expr.html @@ -61,4 +61,4 @@ -

Sqlite3.Expr

(source)

Definitions

dataNumeric : SqliteType->Type
Totality: total
Visibility: public export
Constructors:
N_INTEGER : NumericINTEGER
N_REAL : NumericREAL
dataExpr : Schema->SqliteType->Type
  A syntax tree type representing well-typed SQLite expressions.

Totality: total
Visibility: public export
Constructors:
Lit : (t : SqliteType) ->IdrisTypet->Exprst
  A literal value in an SQL expression
NULL : Exprst
  The `NULL` literal
TRUE : ExprsBOOL
  Alias for the literal `1`, which corresponds to `True` in
boolean expressions
FALSE : ExprsBOOL
  Alias for the literal `0`, which corresponds to `False` in
boolean expressions
Raw : String->Exprst
  A raw expressions string that will be used as given.
Col : (col : String) -> {auto0p : IsJust (FindSchemaColcols)} ->Exprs (SchemaColTypecols)
  A column in a list of tables. Typically, it is convenient to
use string literals directly for this (see `Expr.fromString`).
(>) : Exprst->Exprst->ExprsBOOL
  Greater-than operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(<) : Exprst->Exprst->ExprsBOOL
  Less-than operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(>=) : Exprst->Exprst->ExprsBOOL
  Greater-than or equals operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(<=) : Exprst->Exprst->ExprsBOOL
  Less-than or equals operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(==) : Exprst->Exprst->ExprsBOOL
  Equality operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(/=) : Exprst->Exprst->ExprsBOOL
  Inequality operator.

We use the same operator as in the `Eq` interface here, but this
corresponds to SQL's `<>` (or `!=`) operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
IS : Exprst->Exprst->ExprsBOOL
  Equality test.

Unlike `(==)`, this will always result in `TRUE` or `FALSE`
even in the presence of `NULL`.
IS_NOT : Exprst->Exprst->ExprsBOOL
  Inequality test.

Unlike `(==)`, this will always result in `TRUE` or `FALSE`
even in the presence of `NULL`.
(&&) : ExprsBOOL->ExprsBOOL->ExprsBOOL
  Logical `AND`.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(||) : ExprsBOOL->ExprsBOOL->ExprsBOOL
  Logical `OR`.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
NOT : ExprsBOOL->ExprsBOOL
  Logical negation.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(.&.) : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise `AND`.

This corresponds to SQLite's `&` operator.
(.|.) : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise `OR`.

This corresponds to SQLite's `|` operator.
ShiftL : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise left shift.

This corresponds to SQLite's `<<` operator.
ShiftR : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise right shift.

This corresponds to SQLite's `>>` operator.
Add : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric addition.

Since `Expr s t` implements `Num` for numeric types `t`, you can
typically use the addition operator `(+)` instead of this constructor.
Mult : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric multiplication.

Since `Expr s t` implements `Num` for numeric types `t`, you can
typically use the multiplication operator `(*)` instead of this
constructor.
Sub : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric subtraction.

Since `Expr s t` implements `Neg` for numeric types `t`, you can
typically use the subtraction operator `(-)` instead of this
constructor.
Abs : {auto0_ : Numerict} ->Exprst->Exprst
  Computes the absolute of an expressions.

This corresponds to the `abs()` function.
Neg : {auto0_ : Numerict} ->Exprst->Exprst
  Numeric negation.
Div : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric division.

Since `Expr s t` implements `Integral` for numeric types `INTEGER`,
you can typically use `div` for integer division. Likewise, you can
use `(/)` for floating point division.
Mod : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Computes the modulus of two integers.

This corresponds to the `%` operator in SQL.
(++) : ExprsTEXT->ExprsTEXT->ExprsTEXT
  String concatenation.

This corresponds to the `||` operator in SQL.
CURRENT_TIME : ExprsTEXT
  The current time as a string.
CURRENT_DATE : ExprsTEXT
  The current date as a string.
CURRENT_TIMESTAMP : ExprsTEXT
  The current date and time as a string.
LIKE : ExprsTEXT->ExprsTEXT->ExprsBOOL
  Matches the given text expression against the given
text pattern.
GLOB : ExprsTEXT->ExprsTEXT->ExprsBOOL
  Matches the given text expression against the given
GLOB pattern.
IN : Exprst->List (Exprst) ->ExprsBOOL
  True, if the given value appears in the given list of values.
COALESCE : List (Exprst) ->Exprst
  Returns the first non-NULL value in the given list of expressions.
COUNT : Exprst->ExprsINTEGER
  Counts the number of aggregated values.

This is typically used with a `GROUP BY` statement.
AVG : {auto0_ : Numerict} ->Exprst->ExprsREAL
  Returns the average of accumulated values.

This is typically used with a `GROUP BY` statement.
SUM : {auto0_ : Numerict} ->Exprst->Exprst
  Returns the sum of accumulated values.

This is typically used with a `GROUP BY` statement.
MIN : Exprst->Exprst
  Returns the minimum of accumulated values.

This is typically used with a `GROUP BY` statement.
MAX : Exprst->Exprst
  Returns the maximum of accumulated values.

This is typically used with a `GROUP BY` statement.
GROUP_CONCAT : ExprsTEXT->String->ExprsTEXT
  Concatenates aggregated text values using the given separator.

This is typically used with a `GROUP BY` statement.

Hints:
Fractional (ExprsREAL)
FromDouble (ExprsREAL)
Integral (ExprsINTEGER)
Neg (ExprsINTEGER)
Neg (ExprsREAL)
Num (ExprsINTEGER)
Num (ExprsREAL)
fromString : (col : String) -> {auto0p : IsJust (FindSchemaColcols)} ->Exprs (SchemaColTypecols)
Totality: total
Visibility: export
val : {auto{conArg:6648} : ToCella} ->a->Exprs (ToCellTypea)
  Convert a value of a marshallable type to a literal expression.

Totality: total
Visibility: export
text : String->ExprsTEXT
Totality: total
Visibility: export
int : Int64->ExprsINTEGER
Totality: total
Visibility: export
blob : ByteString->ExprsBLOB
Totality: total
Visibility: export
real : Double->ExprsREAL
Totality: total
Visibility: export
commaSep : (a->String) ->Lista->String
  Converts a list of values to strings and concatenates them using
a comma as the separator.

Totality: total
Visibility: export
encodeText : String->String
  Encodes a `String` as an SQL literal.

The whole string is wrapped in single quotes. Single quotes withing
the string are escaped by doubling them.

Totality: total
Visibility: export
encodeLit : (t : SqliteType) ->IdrisTypet->String
  Encodes an SQL literal as a string.

Totality: total
Visibility: export
encodeExpr : Exprst->String
  Encodes an expression as a string.

Literals will be correctly escaped and converted.

Note: See module `Sqlite3.Parameter` for encoding of expressions
with SQL parameters that will be bound separately when
binding the statement.

Totality: total
Visibility: export
+

Sqlite3.Expr

(source)

Definitions

dataNumeric : SqliteType->Type
Totality: total
Visibility: public export
Constructors:
N_INTEGER : NumericINTEGER
N_REAL : NumericREAL
dataExpr : Schema->SqliteType->Type
  A syntax tree type representing well-typed SQLite expressions.

Totality: total
Visibility: public export
Constructors:
Lit : (t : SqliteType) ->IdrisTypet->Exprst
  A literal value in an SQL expression
NULL : Exprst
  The `NULL` literal
TRUE : ExprsBOOL
  Alias for the literal `1`, which corresponds to `True` in
boolean expressions
FALSE : ExprsBOOL
  Alias for the literal `0`, which corresponds to `False` in
boolean expressions
Raw : String->Exprst
  A raw expressions string that will be used as given.
Col : (col : String) -> {auto0p : IsJust (FindSchemaColcols)} ->Exprs (SchemaColTypecols)
  A column in a list of tables. Typically, it is convenient to
use string literals directly for this (see `Expr.fromString`).
(>) : Exprst->Exprst->ExprsBOOL
  Greater-than operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(<) : Exprst->Exprst->ExprsBOOL
  Less-than operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(>=) : Exprst->Exprst->ExprsBOOL
  Greater-than or equals operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(<=) : Exprst->Exprst->ExprsBOOL
  Less-than or equals operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(==) : Exprst->Exprst->ExprsBOOL
  Equality operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(/=) : Exprst->Exprst->ExprsBOOL
  Inequality operator.

We use the same operator as in the `Eq` interface here, but this
corresponds to SQL's `<>` (or `!=`) operator.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
IS : Exprst->Exprst->ExprsBOOL
  Equality test.

Unlike `(==)`, this will always result in `TRUE` or `FALSE`
even in the presence of `NULL`.
IS_NOT : Exprst->Exprst->ExprsBOOL
  Inequality test.

Unlike `(==)`, this will always result in `TRUE` or `FALSE`
even in the presence of `NULL`.
(&&) : ExprsBOOL->ExprsBOOL->ExprsBOOL
  Logical `AND`.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(||) : ExprsBOOL->ExprsBOOL->ExprsBOOL
  Logical `OR`.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
NOT : ExprsBOOL->ExprsBOOL
  Logical negation.

Note, that this is subject to SQL's three-valued logic in the
presence of `NULL`.
(.&.) : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise `AND`.

This corresponds to SQLite's `&` operator.
(.|.) : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise `OR`.

This corresponds to SQLite's `|` operator.
ShiftL : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise left shift.

This corresponds to SQLite's `<<` operator.
ShiftR : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Bit-wise right shift.

This corresponds to SQLite's `>>` operator.
Add : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric addition.

Since `Expr s t` implements `Num` for numeric types `t`, you can
typically use the addition operator `(+)` instead of this constructor.
Mult : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric multiplication.

Since `Expr s t` implements `Num` for numeric types `t`, you can
typically use the multiplication operator `(*)` instead of this
constructor.
Sub : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric subtraction.

Since `Expr s t` implements `Neg` for numeric types `t`, you can
typically use the subtraction operator `(-)` instead of this
constructor.
Abs : {auto0_ : Numerict} ->Exprst->Exprst
  Computes the absolute of an expressions.

This corresponds to the `abs()` function.
Neg : {auto0_ : Numerict} ->Exprst->Exprst
  Numeric negation.
Div : {auto0_ : Numerict} ->Exprst->Exprst->Exprst
  Numeric division.

Since `Expr s t` implements `Integral` for numeric types `INTEGER`,
you can typically use `div` for integer division. Likewise, you can
use `(/)` for floating point division.
Mod : ExprsINTEGER->ExprsINTEGER->ExprsINTEGER
  Computes the modulus of two integers.

This corresponds to the `%` operator in SQL.
(++) : ExprsTEXT->ExprsTEXT->ExprsTEXT
  String concatenation.

This corresponds to the `||` operator in SQL.
CURRENT_TIME : ExprsTEXT
  The current time as a string.
CURRENT_DATE : ExprsTEXT
  The current date as a string.
CURRENT_TIMESTAMP : ExprsTEXT
  The current date and time as a string.
LIKE : ExprsTEXT->ExprsTEXT->ExprsBOOL
  Matches the given text expression against the given
text pattern.
GLOB : ExprsTEXT->ExprsTEXT->ExprsBOOL
  Matches the given text expression against the given
GLOB pattern.
IN : Exprst->List (Exprst) ->ExprsBOOL
  True, if the given value appears in the given list of values.
COALESCE : List (Exprst) ->Exprst
  Returns the first non-NULL value in the given list of expressions.
COUNT : Exprst->ExprsINTEGER
  Counts the number of aggregated values.

This is typically used with a `GROUP BY` statement.
AVG : {auto0_ : Numerict} ->Exprst->ExprsREAL
  Returns the average of accumulated values.

This is typically used with a `GROUP BY` statement.
SUM : {auto0_ : Numerict} ->Exprst->Exprst
  Returns the sum of accumulated values.

This is typically used with a `GROUP BY` statement.
MIN : Exprst->Exprst
  Returns the minimum of accumulated values.

This is typically used with a `GROUP BY` statement.
MAX : Exprst->Exprst
  Returns the maximum of accumulated values.

This is typically used with a `GROUP BY` statement.
GROUP_CONCAT : ExprsTEXT->String->ExprsTEXT
  Concatenates aggregated text values using the given separator.

This is typically used with a `GROUP BY` statement.

Hints:
Fractional (ExprsREAL)
FromDouble (ExprsREAL)
Integral (ExprsINTEGER)
Neg (ExprsINTEGER)
Neg (ExprsREAL)
Num (ExprsINTEGER)
Num (ExprsREAL)
fromString : (col : String) -> {auto0p : IsJust (FindSchemaColcols)} ->Exprs (SchemaColTypecols)
Totality: total
Visibility: export
val : {auto{conArg:6648} : ToCella} ->a->Exprs (ToCellTypea)
  Convert a value of a marshallable type to a literal expression.

Totality: total
Visibility: export
text : String->ExprsTEXT
Totality: total
Visibility: export
int : Int64->ExprsINTEGER
Totality: total
Visibility: export
blob : ByteString->ExprsBLOB
Totality: total
Visibility: export
real : Double->ExprsREAL
Totality: total
Visibility: export
commaSep : (a->String) ->Lista->String
  Converts a list of values to strings and concatenates them using
a comma as the separator.

Totality: total
Visibility: export
encodeText : String->String
  Encodes a `String` as an SQL literal.

The whole string is wrapped in single quotes. Single quotes withing
the string are escaped by doubling them.

Totality: total
Visibility: export
encodeLit : (t : SqliteType) ->IdrisTypet->String
  Encodes an SQL literal as a string.

Totality: total
Visibility: export
encodeExpr : Exprst->String
  Encodes an expression as a string.

Literals will be correctly escaped and converted.

Note: See module `Sqlite3.Parameter` for encoding of expressions
with SQL parameters that will be bound separately when
binding the statement.

Totality: total
Visibility: export
diff --git a/docs/sqlite3/docs/docs/Sqlite3.Marshall.html b/docs/sqlite3/docs/docs/Sqlite3.Marshall.html index 6dbc757c7..be0b31868 100644 --- a/docs/sqlite3/docs/docs/Sqlite3.Marshall.html +++ b/docs/sqlite3/docs/docs/Sqlite3.Marshall.html @@ -61,4 +61,4 @@ -

Sqlite3.Marshall

(source)

Reexports

importpublic Data.List.Quantifiers.Extra

Definitions

0LAll : (0_ : (k->Type)) ->Listk->Type
Totality: total
Visibility: public export
interfaceFromCell : Type->Type
  Inteface for converting an Idris value to a single cell in a table row.

Parameters: a
Constructor: 
MkFromCell

Methods:
fromCellType : SqliteType
fromCell : Maybe (IdrisTypefromCellType) ->EitherSqlErrora

Implementations:
FromCella=>FromCell (Maybea)
FromCellInteger
FromCellNat
FromCellInt64
FromCellInt32
FromCellInt16
FromCellInt8
FromCellBits64
FromCellBits32
FromCellBits16
FromCellBits8
FromCellString
FromCellByteString
FromCellDouble
FromCellBool
fromCellType : FromCella=>SqliteType
Totality: total
Visibility: public export
fromCell : {auto__con : FromCella} ->Maybe (IdrisTypefromCellType) ->EitherSqlErrora
Totality: total
Visibility: public export
FromCellType : (0a : Type) ->FromCella=>SqliteType
  Utility alias for `fromCellType` with an explicit erased type argument.

Totality: total
Visibility: public export
decodeJust : String-> (t->EitherSqlErrora) ->Maybet->EitherSqlErrora
  Utility for implementing `fromCell` for non-nullable data types.

In case of a `Nothing` (corresponding to `NULL` in SQL land),
this fails with a `NullPointer` error that wraps the type name
to display, what kind of data we tried to convert.

Totality: total
Visibility: export
interfaceToCell : Type->Type
  Inteface for converting an Idris value to a single cell in a table row.

Parameters: a
Constructor: 
MkToCell

Methods:
toCellType : SqliteType
toCell : a->Maybe (IdrisTypetoCellType)

Implementations:
ToCella=>ToCell (Maybea)
ToCellInt64
ToCellInt32
ToCellInt16
ToCellInt8
ToCellBits64
ToCellBits32
ToCellBits16
ToCellBits8
ToCellString
ToCellByteString
ToCellDouble
ToCellBool
toCellType : ToCella=>SqliteType
Totality: total
Visibility: public export
toCell : {auto__con : ToCella} ->a->Maybe (IdrisTypetoCellType)
Totality: total
Visibility: public export
ToCellType : (0a : Type) ->ToCella=>SqliteType
  Utility alias for `toCellType` with an explicit erased type argument.

Totality: total
Visibility: public export
interfaceFromRow : Type->Type
  Inteface for converting an Idris value from a row in a table.

Parameters: a
Constructor: 
MkFromRow

Methods:
fromRowTypes : ListSqliteType
fromRow : LAll (Maybe.IdrisType) fromRowTypes->EitherSqlErrora

Implementations:
Queryt=>FromRowt
FromCella=>FromRowa
LAll (FromRow.f) ts=>FromRow (LAllfts)
FromRowa=>FromRow (Vectna)
fromRowTypes : FromRowa=>ListSqliteType
Totality: total
Visibility: public export
fromRow : {auto__con : FromRowa} ->LAll (Maybe.IdrisType) fromRowTypes->EitherSqlErrora
Totality: total
Visibility: public export
FromRowTypes : (0a : Type) ->FromRowa=>ListSqliteType
  Utility alias for `fromRowTypes` with an explicit erased type argument.

Totality: total
Visibility: public export
FromRowsTypes : LAll (FromRow.f) ts->ListSqliteType
  List of SQLite types we require to read a sequence of
several values with a `FromRow` implementation.

Totality: total
Visibility: public export
FromRowsTypesN : Nat->FromRowa->ListSqliteType
  We can also convert a row of values to a vector of values.

This function computes the types we need.

Totality: total
Visibility: public export
interfaceToRow : Type->Type
  Inteface for converting an Idris value from a row in a table.

Parameters: a
Constructor: 
MkToRow

Methods:
toRowTypes : ListSqliteType
toRow : a->LAll (Maybe.IdrisType) toRowTypes

Implementations:
ToCella=>ToRowa
LAll (ToRow.f) ts=>ToRow (LAllfts)
ToRowa=>ToRow (Vectna)
toRowTypes : ToRowa=>ListSqliteType
Totality: total
Visibility: public export
toRow : {auto__con : ToRowa} ->a->LAll (Maybe.IdrisType) toRowTypes
Totality: total
Visibility: public export
ToRowTypes : (0a : Type) ->ToRowa=>ListSqliteType
  Utility alias for `fromRowTypes` with an explicit erased type argument.

Totality: total
Visibility: public export
ToRowsTypes : LAll (ToRow.f) ts->ListSqliteType
  List of SQLite types we require to read a sequence of
several values with a `ToRow` implementation.

Totality: total
Visibility: public export
ToRowsTypesN : Nat->ToRowa->ListSqliteType
  We can also convert a vector of values to a (flat) row of values.

This function computes the types we need.

Totality: total
Visibility: public export
Concat : List (Lista) ->Lista
  List concatenation specialized to behave nicely during unification.

Totality: total
Visibility: public export
splitAll : (v : List (Lista)) ->LAllf (Concatv) ->LAll (LAllf) v
  Generalization of `Data.List.Quantifiers.splitAt`, to split a
heterogeneous list based on a list of lists of its indices.

Totality: total
Visibility: public export
+

Sqlite3.Marshall

(source)

Reexports

importpublic Data.List.Quantifiers.Extra

Definitions

0LAll : (0_ : (k->Type)) ->Listk->Type
Totality: total
Visibility: public export
interfaceFromCell : Type->Type
  Inteface for converting an Idris value to a single cell in a table row.

Parameters: a
Constructor: 
MkFromCell

Methods:
fromCellType : SqliteType
fromCell : Maybe (IdrisTypefromCellType) ->EitherSqlErrora

Implementations:
FromCella=>FromCell (Maybea)
FromCellInteger
FromCellNat
FromCellInt64
FromCellInt32
FromCellInt16
FromCellInt8
FromCellBits64
FromCellBits32
FromCellBits16
FromCellBits8
FromCellString
FromCellByteString
FromCellDouble
FromCellBool
fromCellType : FromCella=>SqliteType
Totality: total
Visibility: public export
fromCell : {auto__con : FromCella} ->Maybe (IdrisTypefromCellType) ->EitherSqlErrora
Totality: total
Visibility: public export
FromCellType : (0a : Type) ->FromCella=>SqliteType
  Utility alias for `fromCellType` with an explicit erased type argument.

Totality: total
Visibility: public export
decodeJust : String-> (t->EitherSqlErrora) ->Maybet->EitherSqlErrora
  Utility for implementing `fromCell` for non-nullable data types.

In case of a `Nothing` (corresponding to `NULL` in SQL land),
this fails with a `NullPointer` error that wraps the type name
to display, what kind of data we tried to convert.

Totality: total
Visibility: export
interfaceToCell : Type->Type
  Inteface for converting an Idris value to a single cell in a table row.

Parameters: a
Constructor: 
MkToCell

Methods:
toCellType : SqliteType
toCell : a->Maybe (IdrisTypetoCellType)

Implementations:
ToCella=>ToCell (Maybea)
ToCellInt64
ToCellInt32
ToCellInt16
ToCellInt8
ToCellBits64
ToCellBits32
ToCellBits16
ToCellBits8
ToCellString
ToCellByteString
ToCellDouble
ToCellBool
toCellType : ToCella=>SqliteType
Totality: total
Visibility: public export
toCell : {auto__con : ToCella} ->a->Maybe (IdrisTypetoCellType)
Totality: total
Visibility: public export
ToCellType : (0a : Type) ->ToCella=>SqliteType
  Utility alias for `toCellType` with an explicit erased type argument.

Totality: total
Visibility: public export
interfaceFromRow : Type->Type
  Inteface for converting an Idris value from a row in a table.

Parameters: a
Constructor: 
MkFromRow

Methods:
fromRowTypes : ListSqliteType
fromRow : LAll (Maybe.IdrisType) fromRowTypes->EitherSqlErrora

Implementations:
Queryt=>FromRowt
FromCella=>FromRowa
LAll (FromRow.f) ts=>FromRow (LAllfts)
FromRowa=>FromRow (Vectna)
fromRowTypes : FromRowa=>ListSqliteType
Totality: total
Visibility: public export
fromRow : {auto__con : FromRowa} ->LAll (Maybe.IdrisType) fromRowTypes->EitherSqlErrora
Totality: total
Visibility: public export
FromRowTypes : (0a : Type) ->FromRowa=>ListSqliteType
  Utility alias for `fromRowTypes` with an explicit erased type argument.

Totality: total
Visibility: public export
FromRowsTypes : LAll (FromRow.f) ts->ListSqliteType
  List of SQLite types we require to read a sequence of
several values with a `FromRow` implementation.

Totality: total
Visibility: public export
FromRowsTypesN : Nat->FromRowa->ListSqliteType
  We can also convert a row of values to a vector of values.

This function computes the types we need.

Totality: total
Visibility: public export
interfaceToRow : Type->Type
  Inteface for converting an Idris value from a row in a table.

Parameters: a
Constructor: 
MkToRow

Methods:
toRowTypes : ListSqliteType
toRow : a->LAll (Maybe.IdrisType) toRowTypes

Implementations:
ToCella=>ToRowa
LAll (ToRow.f) ts=>ToRow (LAllfts)
ToRowa=>ToRow (Vectna)
toRowTypes : ToRowa=>ListSqliteType
Totality: total
Visibility: public export
toRow : {auto__con : ToRowa} ->a->LAll (Maybe.IdrisType) toRowTypes
Totality: total
Visibility: public export
ToRowTypes : (0a : Type) ->ToRowa=>ListSqliteType
  Utility alias for `fromRowTypes` with an explicit erased type argument.

Totality: total
Visibility: public export
ToRowsTypes : LAll (ToRow.f) ts->ListSqliteType
  List of SQLite types we require to read a sequence of
several values with a `ToRow` implementation.

Totality: total
Visibility: public export
ToRowsTypesN : Nat->ToRowa->ListSqliteType
  We can also convert a vector of values to a (flat) row of values.

This function computes the types we need.

Totality: total
Visibility: public export
Concat : List (Lista) ->Lista
  List concatenation specialized to behave nicely during unification.

Totality: total
Visibility: public export
splitAll : (v : List (Lista)) ->LAllf (Concatv) ->LAll (LAllf) v
  Generalization of `Data.List.Quantifiers.splitAt`, to split a
heterogeneous list based on a list of lists of its indices.

Totality: total
Visibility: public export
diff --git a/docs/structures/docs/alternative.css b/docs/structures/docs/alternative.css new file mode 100644 index 000000000..97f301568 --- /dev/null +++ b/docs/structures/docs/alternative.css @@ -0,0 +1,275 @@ +html, +body { + margin: 0; + padding: 0; + border: 0; + height: 100%; + font-family: "Trebuchet MS", Helvetica, sans-serif; + font-size: 11pt; + background-color: #fff; +} + +a, +a:active, +a:visited { + text-decoration: none; + color: inherit; +} + +a:hover { + text-decoration: underline; +} + +header { + padding: 5px 11px; + border-bottom: 3px solid #659fdb; + box-shadow: 0 -8px 22px 0; + background-color: #252525; + color: white; + font-size: 9pt; +} + +.wrapper { + min-height: 100%; +} + +header nav, +header strong { + font-size: 11pt; +} + +header nav { + float: right; +} + +footer { + height: 30px; + width: 100%; + border-top: 1px solid #aaa; + margin-top: -31px; + text-align: center; + color: #666; + line-height: 30px; + font-size: 9pt; + background: none repeat scroll 0 0 #ddd; +} + +.container { + padding: 10px 10px 41px 20px; +} + +h1 { + margin: 0; + margin-bottom: 5px; + font-size: 14pt; + font-family: "Trebuchet MS", Helvetica, sans-serif; +} + +#module-header { + border-bottom: 1px solid #bbb; + padding-bottom: 2px; +} + +ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +hr { + margin: 0; + padding: 0; + border: 0; + border-bottom: 1px solid #bbb; +} + +p { + margin: 0; + padding: 0; +} + +pre { + display: inline; + margin: 0; + padding: 0; +} + +.code { + font-family: "Lucida Console", Monaco, monospace; + font-size: 10pt; +} + +.decls { + margin-top: 5px; +} + +.decls > dt { + font-family: "Lucida Console", Monaco, monospace; + font-size: 10pt; + line-height: 20px; + padding: 2px 6px; + border: 1px solid #ccc; + background-color: #f0f0f0; + display: table; + width: 100%; + box-sizing: border-box; + white-space: pre-wrap; +} + +.decls > dd { + margin: 10px 0 20px 20px; + font-family: Arial, sans-serif; + font-size: 10pt; +} + +.decls > dd > p { + margin-bottom: 8px; +} + +.decls > dd > dl:not(.decls):not(:first-child) { + padding-top: 5px; + border-top: 1px solid #eee; +} + +.decls > dd > dl:not(.decls) > dt { + display: block; + min-width: 70px; + float: left; + font-weight: bold; +} + +.decls > dd > dl:not(.decls) > dd { + margin-bottom: 2px; +} + +.fixity { + font-style: italic; + font-weight: normal !important; +} + +dd.fixity { + cursor: default; +} + +.word { + display: table-cell; + white-space: nowrap; + width: 0; +} + +.signature { + display: table-cell; + width: 100%; +} + +.name { + white-space: nowrap; + width: 0; +} + +.documented, +.name { + cursor: default; +} + +.documented { + font-weight: bold; +} + +/* The following colours are taken from the conservative 8 color palette given + in http://mkweb.bcgsc.ca/colorblind/palettes.mhtml +*/ + +a.function { + color: #359b73; +} + +.function { + color: #359b73; +} + +a.constructor { + color: #d55e; +} + +.constructor { + color: #d55e; +} + +a.type { + color: #3db7e9; +} + +.type { + color: #3db7e9; +} + +.keyword { + color: inherit; +} + +.boundvar { + color: #f748a5; +} + +.boundvar.implicit { + text-decoration: underline; +} + +ul.names { + border: 1px solid #666; +} + +ul.names li { + padding-left: 5px; +} + +ul.names li a { + display: inline-block; + width: 100%; + padding: 2px 0; +} + +ul.names li:nth-child(odd) { + background-color: #eeeeef; +} + +ul.names li:nth-child(even) { + background-color: white; +} + +body.index .container a:visited { + color: #666; +} + +body.index .container a:hover { + color: #04819e; +} + +.index-wrapper { + display: flex; + flex-direction: row; + column-gap: 5%; +} + +.index-namespace-doc { + flex: 3; +} + +.index-namespace-url { + flex: 1; +} + +@media (max-width: 800px) { + .index-wrapper { + flex-direction: column; + } + + .index-namespace-doc { + width: 100%; + } + + .index-namespace-url { + width: 100%; + } +} diff --git a/docs/structures/docs/blackandwhite.css b/docs/structures/docs/blackandwhite.css new file mode 100644 index 000000000..d0eba24ca --- /dev/null +++ b/docs/structures/docs/blackandwhite.css @@ -0,0 +1,276 @@ +html, +body { + margin: 0; + padding: 0; + border: 0; + height: 100%; + font-family: "Trebuchet MS", Helvetica, sans-serif; + font-size: 11pt; + background-color: #fff; +} + +a, +a:active, +a:visited { + text-decoration: none; + color: inherit; +} + +a:hover { + text-decoration: underline; +} + +header { + padding: 5px 11px; + border-bottom: 3px solid #659fdb; + box-shadow: 0 -8px 22px 0; + background-color: #252525; + color: white; + font-size: 9pt; +} + +.wrapper { + min-height: 100%; +} + +header nav, +header strong { + font-size: 11pt; +} + +header nav { + float: right; +} + +footer { + height: 30px; + width: 100%; + border-top: 1px solid #aaa; + margin-top: -31px; + text-align: center; + color: #666; + line-height: 30px; + font-size: 9pt; + background: none repeat scroll 0 0 #ddd; +} + +.container { + padding: 10px 10px 41px 20px; +} + +h1 { + margin: 0; + margin-bottom: 5px; + font-size: 14pt; + font-family: "Trebuchet MS", Helvetica, sans-serif; +} + +#module-header { + border-bottom: 1px solid #bbb; + padding-bottom: 2px; +} + +ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +hr { + margin: 0; + padding: 0; + border: 0; + border-bottom: 1px solid #bbb; +} + +p { + margin: 0; + padding: 0; +} + +pre { + display: inline; + margin: 0; + padding: 0; +} + +.code { + font-family: "Lucida Console", Monaco, monospace; + font-size: 10pt; +} + +.decls { + margin-top: 5px; +} + +.decls > dt { + font-family: "Lucida Console", Monaco, monospace; + font-size: 10pt; + line-height: 20px; + padding: 2px 6px; + border: 1px solid #ccc; + background-color: #f0f0f0; + display: table; + width: 100%; + box-sizing: border-box; + white-space: pre-wrap; +} + +.decls > dd { + margin: 10px 0 20px 20px; + font-family: Arial, sans-serif; + font-size: 10pt; +} + +.decls > dd > p { + margin-bottom: 8px; +} + +.decls > dd > dl:not(.decls):not(:first-child) { + padding-top: 5px; + border-top: 1px solid #eee; +} + +.decls > dd > dl:not(.decls) > dt { + display: block; + min-width: 70px; + float: left; + font-weight: bold; +} + +.decls > dd > dl:not(.decls) > dd { + margin-bottom: 2px; +} + +.fixity { + font-style: italic; + font-weight: normal !important; +} + +dd.fixity { + cursor: default; +} + +.word { + display: table-cell; + white-space: nowrap; + width: 0; +} + +.signature { + display: table-cell; + width: 100%; +} + +.name { + white-space: nowrap; + width: 0; +} + +.documented, +.name { + cursor: default; + font-weight: normal; + font-style: normal; + font-variant: normal; +} + +.documented { + font-weight: bold; +} + +a.function { + font-style: italic; +} + +.function { + font-style: italic; +} + +a.constructor { + font-weight: bold; +} + +.constructor { + font-weight: bold; +} + +a.type { + font-variant: small-caps !important; +} + +.type { + font-variant: small-caps !important; +} + +.keyword { + text-decoration: underline; + color: inherit; +} + +.boundvar { + color: #bf30bf; /* Too much colour makes it hard to differ the rest of the colours */ + color: inherit; +} + +.boundvar.implicit { + text-decoration: underline; +} + +ul.names { + border: 1px solid #666; +} + +ul.names li { + padding-left: 5px; +} + +ul.names li a { + display: inline-block; + width: 100%; + padding: 2px 0; +} + +ul.names li:nth-child(odd) { + background-color: #eeeeef; +} + +ul.names li:nth-child(even) { + background-color: white; +} + +body.index .container a:visited { + color: #666; +} + +body.index .container a:hover { + color: #04819e; +} + +.index-wrapper { + display: flex; + flex-direction: row; + column-gap: 5%; +} + +.index-namespace-doc { + flex: 3; +} + +.index-namespace-url { + flex: 1; +} + +@media (max-width: 800px) { + .index-wrapper { + flex-direction: column; + } + + .index-namespace-doc { + width: 100%; + } + + .index-namespace-url { + width: 100%; + } +} diff --git a/docs/structures/docs/default.css b/docs/structures/docs/default.css new file mode 100644 index 000000000..492866436 --- /dev/null +++ b/docs/structures/docs/default.css @@ -0,0 +1,271 @@ +html, +body { + margin: 0; + padding: 0; + border: 0; + height: 100%; + font-family: "Trebuchet MS", Helvetica, sans-serif; + font-size: 11pt; + background-color: #fff; +} + +a, +a:active, +a:visited { + text-decoration: none; + color: inherit; +} + +a:hover { + text-decoration: underline; +} + +header { + padding: 5px 11px; + border-bottom: 3px solid #659fdb; + box-shadow: 0 -8px 22px 0; + background-color: #252525; + color: white; + font-size: 9pt; +} + +.wrapper { + min-height: 100%; +} + +header nav, +header strong { + font-size: 11pt; +} + +header nav { + float: right; +} + +footer { + height: 30px; + width: 100%; + border-top: 1px solid #aaa; + margin-top: -31px; + text-align: center; + color: #666; + line-height: 30px; + font-size: 9pt; + background: none repeat scroll 0 0 #ddd; +} + +.container { + padding: 10px 10px 41px 20px; +} + +h1 { + margin: 0; + margin-bottom: 5px; + font-size: 14pt; + font-family: "Trebuchet MS", Helvetica, sans-serif; +} + +#module-header { + border-bottom: 1px solid #bbb; + padding-bottom: 2px; +} + +ul { + list-style-type: none; + margin: 0; + padding: 0; +} + +hr { + margin: 0; + padding: 0; + border: 0; + border-bottom: 1px solid #bbb; +} + +p { + margin: 0; + padding: 0; +} + +pre { + display: inline; + margin: 0; + padding: 0; +} + +.code { + font-family: "Lucida Console", Monaco, monospace; + font-size: 10pt; +} + +.decls { + margin-top: 5px; +} + +.decls > dt { + font-family: "Lucida Console", Monaco, monospace; + font-size: 10pt; + line-height: 20px; + padding: 2px 6px; + border: 1px solid #ccc; + background-color: #f0f0f0; + display: table; + width: 100%; + box-sizing: border-box; + white-space: pre-wrap; +} + +.decls > dd { + margin: 10px 0 20px 20px; + font-family: Arial, sans-serif; + font-size: 10pt; +} + +.decls > dd > p { + margin-bottom: 8px; +} + +.decls > dd > dl:not(.decls):not(:first-child) { + padding-top: 5px; + border-top: 1px solid #eee; +} + +.decls > dd > dl:not(.decls) > dt { + display: block; + min-width: 70px; + float: left; + font-weight: bold; +} + +.decls > dd > dl:not(.decls) > dd { + margin-bottom: 2px; +} + +.fixity { + font-style: italic; + font-weight: normal !important; +} + +dd.fixity { + cursor: default; +} + +.word { + display: table-cell; + white-space: nowrap; + width: 0; +} + +.signature { + display: table-cell; + width: 100%; +} + +.name { + white-space: nowrap; + width: 0; +} + +.documented, +.name { + cursor: default; +} + +.documented { + font-weight: bold; +} + +a.function { + color: #00ba00; +} + +.function { + color: #007c21; +} + +a.constructor { + color: #f00; +} + +.constructor { + color: #bf3030; +} + +a.type { + color: #00f; +} + +.type { + color: #050599; +} + +.keyword { + color: #999; +} + +.boundvar { + color: #bf30bf; +} + +.boundvar.implicit { + text-decoration: underline; +} + +ul.names { + border: 1px solid #666; +} + +ul.names li { + padding-left: 5px; +} + +ul.names li a { + display: inline-block; + width: 100%; + padding: 2px 0; +} + +ul.names li:nth-child(odd) { + background-color: #eeeeef; +} + +ul.names li:nth-child(even) { + background-color: white; +} + +body.index .container a:visited { + color: #666; +} + +body.index .container a:hover { + color: #04819e; +} + +.index-wrapper { + display: flex; + flex-direction: row; + column-gap: 5%; +} + +.index-namespace-doc { + flex: 3; +} + +.index-namespace-url { + flex: 1; +} + +@media (max-width: 800px) { + .index-wrapper { + flex-direction: column; + } + + .index-namespace-doc { + width: 100%; + } + + .index-namespace-url { + width: 100%; + } +} diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.BinomialQueue.html b/docs/structures/docs/docs/Structures.PriorityQueue.BinomialQueue.html new file mode 100644 index 000000000..a999d6465 --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.BinomialQueue.html @@ -0,0 +1,64 @@ + + + + + Structures.PriorityQueue.BinomialQueue + + + + + +
+ Idris2Doc : Structures.PriorityQueue.BinomialQueue + + + + +
+

Structures.PriorityQueue.BinomialQueue

(source)

Definitions

recordBinomialQueue : Type->Type
  A binomial queue per Optimal purely functional priority queues
(Brodal, G. S., & Okasaki, C. (1996).)

Totality: total
Visibility: export
Constructor: 
MkBQ : Orde-> (forest_size : Nat) ->Vectforest_size (BinomialPaire) ->BinomialQueuee

Projections:
.forest : ({rec:0} : BinomialQueuee) ->Vect (forest_size{rec:0}) (BinomialPaire)
.forest_size : BinomialQueuee->Nat
.o : BinomialQueuee->Orde

Hint: 
PriorityQueueBinomialQueue
diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.BinomialQueue.src.html b/docs/structures/docs/docs/Structures.PriorityQueue.BinomialQueue.src.html new file mode 100644 index 000000000..a9b1a96f1 --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.BinomialQueue.src.html @@ -0,0 +1,278 @@ + + + + + + + + + +
  0 | module Structures.PriorityQueue.BinomialQueue
+
  1 |
+
  2 | import Data.Nat
+
  3 | import Data.Fin
+
  4 | import Data.Vect
+
  5 | import Decidable.Equality
+
  6 |
+
  7 | import Structures.PriorityQueue
+
  8 |
+
  9 | %default total
+
 10 |
+
 11 | ||| Binomial Tree per Optimal purely functional priority queues
+
 12 | ||| (Brodal, G. S., & Okasaki, C. (1996).)
+
 13 | |||
+
 14 | ||| Holds rank^2 elements
+
 15 | data BinomialTree : (e : Type) -> (rank : Nat) -> Type where
+
 16 |   Singleton : (element : e)
+
 17 |     -> BinomialTree e 0
+
 18 |   Link : (root : BinomialTree e n) -> (leftmost_child : BinomialTree e n)
+
 19 |     -> BinomialTree e (S n)
+
 20 | %name BinomialTree bt, ct, dt
+
 21 |
+
 22 | BinomialPair : Type -> Type
+
 23 | BinomialPair e = (rank : Nat ** BinomialTree e rank)
+
 24 |
+
 25 | ||| Get the root of a binomial tree
+
 26 | root : (tree : BinomialTree e n) -> e
+
 27 | root (Singleton element) = element
+
 28 | root (Link x leftmost_child) = root x
+
 29 |
+
 30 | ||| Link two BiomialTrees together, preserving heap ordering
+
 31 | |||
+
 32 | ||| Makes the tree with the larger root the child of the other
+
 33 | link : Ord e => (x, y : BinomialTree e n) -> BinomialTree e (S n)
+
 34 | link x y =
+
 35 |   let (x_val, y_val) = (root x, root y)
+
 36 |   in if x_val < y_val
+
 37 |     then Link x y
+
 38 |     else Link y x
+
 39 |
+
 40 | ||| Get the rank of a BinomialTree
+
 41 | rank : (tree : BinomialTree e n) -> Nat
+
 42 | rank (Singleton _) = 0
+
 43 | rank (Link root _) = S (rank root)
+
 44 |
+
 45 | rankEq : (tree : BinomialTree e n) -> n = rank tree
+
 46 | rankEq (Singleton _) = Refl
+
 47 | rankEq (Link root leftmost_child) =
+
 48 |   let rest = rankEq root
+
 49 |   in eqSucc _ _ rest
+
 50 |
+
 51 | toPair : (tree : BinomialTree e n) -> BinomialPair e
+
 52 | toPair tree =
+
 53 |   (rank tree **
+
 54 |     rewrite sym $ rankEq tree in tree)
+
 55 |
+
 56 | ||| Break the links of a tree to extract the root
+
 57 | extractRoot : (tree : BinomialTree e n) -> (e, List (BinomialPair e))
+
 58 | extractRoot (Singleton element) = (element, [])
+
 59 | extractRoot (Link root leftmost_child) =
+
 60 |   let (element, rest) = extractRoot root
+
 61 |   in (element, toPair leftmost_child :: rest)
+
 62 |
+
 63 | ||| A binomial queue per Optimal purely functional priority queues
+
 64 | ||| (Brodal, G. S., & Okasaki, C. (1996).)
+
 65 | export
+
 66 | record BinomialQueue (e : Type) where
+
 67 |   constructor MkBQ
+
 68 |   o : Ord e
+
 69 |   forest_size : Nat
+
 70 |   forest : Vect forest_size (BinomialPair e)
+
 71 | %name BinomialQueue bq, cq, dq
+
 72 |
+
 73 | ||| Insert a tree into its proper location in a list of binomial pairs
+
 74 | insertTree :
+
 75 |   Ord e => {n : Nat} ->
+
 76 |   (x : BinomialPair e) ->
+
 77 |   (xs : Vect n (BinomialPair e))
+
 78 |   -> (m : Nat ** Vect m (BinomialPair e))
+
 79 | insertTree x [] = (1 ** [x])
+
 80 | insertTree (x_n ** x((y_n ** y:: xs) =
+
 81 |   case decEq x_n y_n of
+
 82 |     Yes Refl => insertTree (S x_n ** link x yxs
+
 83 |     No _ =>
+
 84 |       if x_n < y_n
+
 85 |         then (_ ** (x_n ** x:: (y_n ** y:: xs)
+
 86 |         else
+
 87 |           let (rest_len ** rest= insertTree (x_n **xxs
+
 88 |           in (_ ** (y_n ** y:: rest)
+
 89 |
+
 90 | ||| meld, phrased in terms of the inner list
+
 91 | meld' :
+
 92 |   Ord e => {n, m : Nat} ->
+
 93 |   (xs : Vect n (BinomialPair e)) ->
+
 94 |   (ys : Vect m (BinomialPair e))
+
 95 |   -> (o : Nat ** Vect o (BinomialPair e))
+
 96 | meld' xs [] = (length xs ** rewrite lengthCorrect xs in xs)
+
 97 | meld' xs (y :: ys) =
+
 98 |   let (_ ** res= insertTree y xs
+
 99 |   in meld' res ys
+
100 |
+
101 | export
+
102 | PriorityQueue BinomialQueue where
+
103 |   empty = MkBQ o 0 []
+
104 |
+
105 |   singleton element = MkBQ o 1 [(0 ** Singleton element)]
+
106 |
+
107 |   isNull bq = null bq.forest
+
108 |
+
109 |   length (MkBQ _ forest_size forest) =
+
110 |     let lens = map (\(x ** _=> 2 `power` x) forest
+
111 |     in sum lens
+
112 |
+
113 |   findMin (MkBQ _ forest_size forest) =
+
114 |     case forest of
+
115 |       [] => Nothing
+
116 |       ((_ ** x:: xs) =>
+
117 |         let x = root x
+
118 |             xs = map (\(_ ** y) => root y) xs
+
119 |         in Just $ foldl min x xs
+
120 |
+
121 |   meld x y =
+
122 |     let (xs, ys) = (x.forest, y.forest)
+
123 |         (new_size ** new_forest= meld' @{x.o} xs ys
+
124 |     in MkBQ x.o new_size new_forest
+
125 |
+
126 |   insert element queue =
+
127 |     meld (singleton {o = queue.o} element) queue
+
128 |
+
129 |   deleteMin (MkBQ o forest_size forest) with (forest)
+
130 |     deleteMin (MkBQ o 0 forest) | [] = MkBQ o 0 []
+
131 |     deleteMin (MkBQ o (S 0) forest) | ((rank ** tree:: []) =
+
132 |       let rest = reverse . snd . extractRoot $ tree
+
133 |       in MkBQ o (length rest) (fromList rest)
+
134 |     deleteMin (MkBQ o (S (S len)) forest) | (x :: y :: xs) =
+
135 |       let (idx, (min_n ** min_tree)) = findMin (y :: xs) (0, x) 1
+
136 |           without_min = deleteAt idx forest
+
137 |           (rest_len ** rest= listToVect . reverse . snd . extractRoot $ min_tree
+
138 |           (new_size ** new_forest= meld' without_min rest
+
139 |       in MkBQ o new_size new_forest
+
140 |     where
+
141 |       listToVect : List a -> (n : Nat ** Vect n a)
+
142 |       listToVect xs = (length xs ** fromList xs)
+
143 |       findMin :
+
144 |         {m : Nat} ->
+
145 |         (xs : Vect n (BinomialPair e)) ->
+
146 |         (acc : (Fin m, BinomialPair e)) ->
+
147 |         (idx : Fin m)
+
148 |         -> (Fin m, BinomialPair e)
+
149 |       findMin [] acc idx = acc
+
150 |       findMin ((x_rank ** x:: xs) orig_acc@(acc_idx, (acc_rank ** acc)) idx =
+
151 |         if (<) @{o} (root x) (root acc)
+
152 |           then findMin xs (idx, (x_rank ** x)) (finS idx)
+
153 |           else findMin xs orig_acc (finS idx)
+
154 |
+
+ + diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.Bootstrap.html b/docs/structures/docs/docs/Structures.PriorityQueue.Bootstrap.html new file mode 100644 index 000000000..3190d2b1a --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.Bootstrap.html @@ -0,0 +1,64 @@ + + + + + Structures.PriorityQueue.Bootstrap + + + + + +
+ Idris2Doc : Structures.PriorityQueue.Bootstrap + + + + +
+

Structures.PriorityQueue.Bootstrap

(source)

Definitions

dataBootstrap : (Type->Type) ->Type->Type
  Datastructurally bootstrapped priority queue per Optimal purely functional
priority queues (Brodal, G. S., & Okasaki, C. (1996).)

Reduces the time of every operation except `deleteMin` to O(1), with
`deleteMin` remaining O(log n)

This internally uses overridden Ord and Eq implementations, the Ord
implementation should always be correct for the application, but the Eq
implementation only compares on the minimum value of a queue, and may break
queue implementations that rely on proper equality for some operations,
which does not include any of the implementations in this package.

Totality: not strictly positive
Visibility: export
Constructors:
Empty : Orde=>Ord (Bootstrapinnere) =>Bootstrapinnere
Single : Orde=>Ord (Bootstrapinnere) =>e->Bootstrapinnere
Root : Orde=>Ord (Bootstrapinnere) =>e->inner (Bootstrapinnere) ->Bootstrapinnere

Hints:
Eqe=>Eq (Bootstrapinnere)
PriorityQueueinner=>Orde=>Ord (Bootstrapinnere)
PriorityQueueinner=>PriorityQueue (Bootstrapinner)
diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.Bootstrap.src.html b/docs/structures/docs/docs/Structures.PriorityQueue.Bootstrap.src.html new file mode 100644 index 000000000..99ec45011 --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.Bootstrap.src.html @@ -0,0 +1,250 @@ + + + + + + + + + +
  0 | module Structures.PriorityQueue.Bootstrap
+
  1 |
+
  2 | import Structures.PriorityQueue
+
  3 |
+
  4 | ||| Datastructurally bootstrapped priority queue per Optimal purely functional
+
  5 | ||| priority queues (Brodal, G. S., & Okasaki, C. (1996).)
+
  6 | |||
+
  7 | ||| Reduces the time of every operation except `deleteMin` to O(1), with
+
  8 | ||| `deleteMin` remaining O(log n)
+
  9 | |||
+
 10 | ||| This internally uses overridden Ord and Eq implementations, the Ord
+
 11 | ||| implementation should always be correct for the application, but the Eq
+
 12 | ||| implementation only compares on the minimum value of a queue, and may break
+
 13 | ||| queue implementations that rely on proper equality for some operations,
+
 14 | ||| which does not include any of the implementations in this package.
+
 15 | export
+
 16 | data Bootstrap : (inner : Type -> Type) -> (e : Type) -> Type where
+
 17 |   Empty : {auto o : Ord e} -> {auto o' : Ord (Bootstrap inner e)}
+
 18 |     -> Bootstrap inner e
+
 19 |   Single : {auto o : Ord e} -> {auto o' : Ord (Bootstrap inner e)}
+
 20 |     -> (element : e) -> Bootstrap inner e
+
 21 |   Root : {auto o : Ord e} -> {auto o' : Ord (Bootstrap inner e)}
+
 22 |     -> (element : e) -> (queue : inner (Bootstrap inner e)) -> Bootstrap inner e
+
 23 | %name Bootstrap btq, ctq, dtq
+
 24 |
+
 25 | ||| Eq implementation that compares on the minimum value of each queue, this
+
 26 | ||| should be, but could potentialy break a queue implementation that relies on
+
 27 | ||| the equality of its elements
+
 28 | Eq e => Eq (Bootstrap inner e) where
+
 29 |   (==) Empty Empty = True
+
 30 |   (==) Empty _ = False
+
 31 |   (==) (Single element) Empty = False
+
 32 |   (==) (Single element) (Single x) = element == x
+
 33 |   (==) (Single element) (Root x _) = element == x
+
 34 |   (==) (Root element _) Empty = False
+
 35 |   (==) (Root element _) (Single x) = element == x
+
 36 |   (==) (Root element _) (Root x _) = element == x
+
 37 |
+
 38 | ||| Ord implementation that compares on the minimum value of each queue. This
+
 39 | ||| _should_ always be correct for this application.
+
 40 | {inner : _} -> PriorityQueue inner => Ord e => Ord (Bootstrap inner e) where
+
 41 |   compare Empty Empty = EQ
+
 42 |   compare Empty _ = LT
+
 43 |   compare (Single element) Empty = GT
+
 44 |   compare (Single {o} x) (Single y) =
+
 45 |     compare @{o} x y
+
 46 |   compare (Single {o} x) (Root y _) =
+
 47 |     compare @{o} x y
+
 48 |   compare (Root x _) Empty = GT
+
 49 |   compare (Root {o} x _) (Single y) =
+
 50 |     compare @{o} x y
+
 51 |   compare (Root {o} x _) (Root y _) =
+
 52 |     compare @{o} x y
+
 53 |
+
 54 | export
+
 55 | {inner : _} -> PriorityQueue inner => PriorityQueue (Bootstrap inner) where
+
 56 |   empty = Empty
+
 57 |
+
 58 |   singleton element = singleton element
+
 59 |
+
 60 |   isNull Empty = True
+
 61 |   isNull _ = False
+
 62 |
+
 63 |   findMin Empty = Nothing
+
 64 |   findMin (Single element) = Just element
+
 65 |   findMin (Root element queue) = Just element
+
 66 |
+
 67 |   length xs = length' xs 0 []
+
 68 |     where
+
 69 |     length' : (xs : Bootstrap inner e) -> (acc : Nat) ->
+
 70 |       (stack : List (Bootstrap inner e)) -> Nat
+
 71 |     length' Empty acc [] = acc
+
 72 |     length' Empty acc (y :: ys) =
+
 73 |       length' y acc ys
+
 74 |     length' (Single element) acc [] =
+
 75 |       1 + acc
+
 76 |     length' (Single element) acc (y :: ys) =
+
 77 |       length' y (1 + acc) ys
+
 78 |     length' (Root element queue) acc ys =
+
 79 |       case findMin queue of
+
 80 |         Nothing =>
+
 81 |           length' Empty (1 + acc) ys
+
 82 |         Just y =>
+
 83 |           length' (Root element (deleteMin queue)) acc (y :: ys)
+
 84 |
+
 85 |   meld Empty y = y
+
 86 |   meld (Single {o} {o'} element) Empty = Single {o} {o'} element
+
 87 |   meld (Single {o} {o'} x) (Single y) =
+
 88 |     if (<) @{o} x y
+
 89 |       then Root {o} {o'} x (singleton {o = o'} (Single {o} {o'} y))
+
 90 |       else Root {o} {o'} y (singleton {o = o'} (Single {o} {o'} x))
+
 91 |   meld (Single {o} {o'} x) (Root y queue) =
+
 92 |     if (<) @{o} x y
+
 93 |       then Root {o} {o'} x (insert (Single {o} {o'} y) queue)
+
 94 |       else Root {o} {o'} y (insert (Single {o} {o'} x) queue)
+
 95 |   meld (Root {o} {o'} element queue) Empty = Root {o} {o'} element queue
+
 96 |   meld (Root {o} {o'} x queue) (Single y) =
+
 97 |     if (<) @{o} x y
+
 98 |       then Root {o} {o'} x (insert (Single {o} {o'} y) queue)
+
 99 |       else Root {o} {o'} y (insert (Single {o} {o'} x) queue)
+
100 |   meld (Root {o} {o'} x queue) (Root y queue') =
+
101 |     if (<) @{o} x y
+
102 |       then Root {o} {o'} x (insert (Single {o} {o'} y) (meld queue queue'))
+
103 |       else Root {o} {o'} y (insert (Single {o} {o'} x) (meld queue queue'))
+
104 |
+
105 |   insert element Empty = Single element
+
106 |   insert element (Single x) =
+
107 |     if element < x
+
108 |       then Root element (singleton (Single x))
+
109 |       else Root x (singleton (Single element))
+
110 |   insert element (Root x queue) =
+
111 |     if element < x
+
112 |       then Root element (insert (Single x) queue)
+
113 |       else Root x (insert (Single element) queue)
+
114 |
+
115 |   deleteMin Empty = Empty
+
116 |   deleteMin (Single element) = Empty
+
117 |   deleteMin (Root {o} {o'} element queue) =
+
118 |     case findMin queue of
+
119 |       Nothing => Empty
+
120 |       Just next =>
+
121 |         let rest = deleteMin queue
+
122 |         in case next of
+
123 |           Empty => Empty {o} {o'}
+
124 |           (Single x) => Root {o} {o'} x rest
+
125 |           (Root e q) => Root {o} {o'} e (meld q rest)
+
126 |
+
+ + diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.SkewBinomialQueue.html b/docs/structures/docs/docs/Structures.PriorityQueue.SkewBinomialQueue.html new file mode 100644 index 000000000..9e869972f --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.SkewBinomialQueue.html @@ -0,0 +1,64 @@ + + + + + Structures.PriorityQueue.SkewBinomialQueue + + + + + +
+ Idris2Doc : Structures.PriorityQueue.SkewBinomialQueue + + + + +
+

Structures.PriorityQueue.SkewBinomialQueue

(source)

Definitions

recordSkewBinomialQueue : Type->Type
  A binomial queue per Optimal purely functional priority queues
(Brodal, G. S., & Okasaki, C. (1996).)

Slightly more complicated than a `BinomialQueue`, but supports inserts in
constant time

Totality: total
Visibility: export
Constructor: 
MkSBQ : Orde-> (forest_size : Nat) ->Vectforest_size (SkewBinomialPaire) ->SkewBinomialQueuee

Projections:
.forest : ({rec:0} : SkewBinomialQueuee) ->Vect (forest_size{rec:0}) (SkewBinomialPaire)
.forest_size : SkewBinomialQueuee->Nat
.o : SkewBinomialQueuee->Orde

Hint: 
PriorityQueueSkewBinomialQueue
diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.SkewBinomialQueue.src.html b/docs/structures/docs/docs/Structures.PriorityQueue.SkewBinomialQueue.src.html new file mode 100644 index 000000000..039311ed7 --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.SkewBinomialQueue.src.html @@ -0,0 +1,362 @@ + + + + + + + + + +
  0 | module Structures.PriorityQueue.SkewBinomialQueue
+
  1 |
+
  2 | import Data.Nat
+
  3 | import Data.Fin
+
  4 | import Data.Vect
+
  5 | import Data.Either
+
  6 | import Decidable.Equality
+
  7 |
+
  8 | import Structures.PriorityQueue
+
  9 |
+
 10 | %default total
+
 11 |
+
 12 | ||| Skew binomial tree per Optimal purely functional priority queues
+
 13 | ||| (Brodal, G. S., & Okasaki, C. (1996).)
+
 14 | |||
+
 15 | ||| Holds a much more complicated number of elements than normal binomial trees,
+
 16 | ||| but has properties that enable us to implement inserts as a single link
+
 17 | data SkewBinomialTree : (e : Type) -> (rank : Nat) -> Type where
+
 18 |   Singleton : (element : e)
+
 19 |     -> SkewBinomialTree e 0
+
 20 |   SimpleLink : (root : SkewBinomialTree e rank) -> (leftmost_child : SkewBinomialTree e rank)
+
 21 |     -> SkewBinomialTree e (S rank)
+
 22 |   SkewLinkA : (root : SkewBinomialTree e 0) -> (lefter, left : SkewBinomialTree e rank)
+
 23 |     -> SkewBinomialTree e (S rank)
+
 24 |   SkewLinkB : (root : SkewBinomialTree e rank) ->
+
 25 |     (lefter : SkewBinomialTree e 0) -> (left : SkewBinomialTree e rank)
+
 26 |     -> SkewBinomialTree e (S rank)
+
 27 | %name SkewBinomialTree bt, ct, dt
+
 28 |
+
 29 | SkewBinomialPair : Type -> Type
+
 30 | SkewBinomialPair e = (rank : Nat ** SkewBinomialTree e rank)
+
 31 |
+
 32 | ||| Get the root of a binomial tree
+
 33 | root : (tree : SkewBinomialTree e n) -> e
+
 34 | root (Singleton element) = element
+
 35 | root (SimpleLink bt _) = root bt
+
 36 | root (SkewLinkA bt _ _) = root bt
+
 37 | root (SkewLinkB bt _ _) = root bt
+
 38 |
+
 39 | ||| SimpleLink two SkewBiomialTrees together, preserving heap ordering
+
 40 | |||
+
 41 | ||| Makes the tree with the larger root the child of the other
+
 42 | simpleLink : Ord e => (x, y : SkewBinomialTree e n) -> SkewBinomialTree e (S n)
+
 43 | simpleLink x y =
+
 44 |   let (x_val, y_val) = (root x, root y)
+
 45 |   in if x_val < y_val
+
 46 |     then SimpleLink x y
+
 47 |     else SimpleLink y x
+
 48 |
+
 49 | ||| SkewLink two SkewBiomialTrees together, preserving heap ordering
+
 50 | |||
+
 51 | ||| Makes the tree with the larger root the child of the other
+
 52 | skewLink : Ord e => (zero : SkewBinomialTree e 0) -> (x, y : SkewBinomialTree e rank)
+
 53 |   -> SkewBinomialTree e (S rank)
+
 54 | skewLink zero x y =
+
 55 |   let (z_root, x_root, y_root) = (root zero, root x, root y)
+
 56 |       min_s_root = min x_root y_root
+
 57 |       min_root = min z_root min_s_root
+
 58 |   in if min_root == z_root
+
 59 |     then SkewLinkA zero x y
+
 60 |     else if min_root == x_root
+
 61 |       then SkewLinkB x zero y
+
 62 |       else SkewLinkB y zero x
+
 63 |
+
 64 | ||| Get the rank of a SkewBinomialTree
+
 65 | rank : (tree : SkewBinomialTree e n) -> Nat
+
 66 | rank (Singleton _) = 0
+
 67 | rank (SimpleLink root _) = S (rank root)
+
 68 | rank (SkewLinkA _ right _) = S (rank right)
+
 69 | rank (SkewLinkB root _ _) = S (rank root)
+
 70 |
+
 71 | rankEq : (tree : SkewBinomialTree e n) -> n = rank tree
+
 72 | rankEq (Singleton element) = Refl
+
 73 | rankEq (SimpleLink root leftmost_child) =
+
 74 |   let rest = rankEq root
+
 75 |   in eqSucc _ _ rest
+
 76 | rankEq (SkewLinkA root right left) =
+
 77 |   let rest = rankEq right
+
 78 |   in eqSucc _ _ rest
+
 79 | rankEq (SkewLinkB root lefter left) =
+
 80 |   let rest = rankEq root
+
 81 |   in eqSucc _ _ rest
+
 82 |
+
 83 | toPair : (tree : SkewBinomialTree e n) -> SkewBinomialPair e
+
 84 | toPair tree =
+
 85 |   (rank tree **
+
 86 |     rewrite sym $ rankEq tree in tree)
+
 87 |
+
 88 | ||| Break the links of a tree to extract the root
+
 89 | extractRoot : (tree : SkewBinomialTree e n) -> (e, List (SkewBinomialPair e))
+
 90 | extractRoot (Singleton element) = (element, [])
+
 91 | extractRoot (SimpleLink root leftmost_child) =
+
 92 |   let (element, rest) = extractRoot root
+
 93 |   in (element, toPair leftmost_child :: rest)
+
 94 | extractRoot (SkewLinkA root lefter left) =
+
 95 |   let (element, rest) = extractRoot root
+
 96 |   in (element, toPair lefter :: toPair left :: rest)
+
 97 | extractRoot (SkewLinkB root lefter left) =
+
 98 |   let (element, rest) = extractRoot root
+
 99 |   in (element, toPair lefter :: toPair left :: rest)
+
100 |
+
101 | ||| Return the number of elements in a skew binomial tree
+
102 | skewLen : {n : _} -> (tree : SkewBinomialTree e n) -> Nat
+
103 | skewLen tree = skewLen' tree 0 []
+
104 |   where
+
105 |   skewLen' : {n : _} -> (tree : SkewBinomialTree e n) -> (acc : Nat) ->
+
106 |     (stack : List (m : Nat ** SkewBinomialTree e m))
+
107 |     -> Nat
+
108 |   skewLen' (Singleton element) acc [] = 
+
109 |     1 + acc
+
110 |   skewLen' (Singleton element) acc ((m ** next:: xs) =
+
111 |     skewLen' next (1 + acc) xs
+
112 |   skewLen' (SimpleLink root leftmost_child) acc stack =
+
113 |     -- TODO: Figure out a way to remove this assert_smaller
+
114 |     skewLen' root acc (assert_smaller stack ((_ ** leftmost_child:: stack))
+
115 |   skewLen' (SkewLinkA root lefter left) acc stack =
+
116 |     skewLen' root acc
+
117 |       (assert_smaller stack $
+
118 |         (_ ** lefter:: (_ ** left:: stack)
+
119 |   skewLen' (SkewLinkB root lefter left) acc stack =
+
120 |     skewLen' root acc
+
121 |       (assert_smaller stack $
+
122 |         (_ ** lefter:: (_ ** left:: stack)
+
123 |
+
124 | ||| A binomial queue per Optimal purely functional priority queues
+
125 | ||| (Brodal, G. S., & Okasaki, C. (1996).)
+
126 | |||
+
127 | ||| Slightly more complicated than a `BinomialQueue`, but supports inserts in
+
128 | ||| constant time
+
129 | export
+
130 | record SkewBinomialQueue (e : Type) where
+
131 |   constructor MkSBQ
+
132 |   o : Ord e
+
133 |   forest_size : Nat
+
134 |   forest : Vect forest_size (SkewBinomialPair e)
+
135 | %name SkewBinomialQueue sq, tq, uq
+
136 |
+
137 | ||| Insert a tree into its proper location in a list of binomial pairs
+
138 | insertTree :
+
139 |   Ord e => {n : Nat} ->
+
140 |   (x : SkewBinomialPair e) ->
+
141 |   (xs : Vect n (SkewBinomialPair e))
+
142 |   -> (m : Nat ** Vect m (SkewBinomialPair e))
+
143 | insertTree x [] = (1 ** [x])
+
144 | insertTree (x_n ** x((y_n ** y:: xs) =
+
145 |   case decEq x_n y_n of
+
146 |     Yes Refl => insertTree (S x_n ** simpleLink x yxs
+
147 |     No _ =>
+
148 |       if x_n < y_n
+
149 |         then (_ ** (x_n ** x:: (y_n ** y:: xs)
+
150 |         else
+
151 |           let (rest_len ** rest= insertTree (x_n **xxs
+
152 |           in (_ ** (y_n ** y:: rest)
+
153 |
+
154 | ||| meld, phrased in terms of the inner list
+
155 | meld' :
+
156 |   Ord e => {n, m : Nat} ->
+
157 |   (xs : Vect n (SkewBinomialPair e)) ->
+
158 |   (ys : Vect m (SkewBinomialPair e))
+
159 |   -> (o : Nat ** Vect o (SkewBinomialPair e))
+
160 | meld' xs [] = (length xs ** rewrite lengthCorrect xs in xs)
+
161 | meld' xs (y :: ys) =
+
162 |   let (_ ** res= insertTree y xs
+
163 |   in meld' res ys
+
164 |
+
165 | ||| Utility function, seperates out elments from queues
+
166 | processTree : SkewBinomialPair e -> Either e (SkewBinomialPair e)
+
167 | processTree (0 ** (Singleton element)= Left element
+
168 | processTree pair@((S k) ** tree= Right pair
+
169 |
+
170 | export
+
171 | PriorityQueue SkewBinomialQueue where
+
172 |   empty = MkSBQ o 0 []
+
173 |
+
174 |   singleton element = MkSBQ o 1 [(0 ** Singleton element)]
+
175 |
+
176 |   isNull bq = null bq.forest
+
177 |
+
178 |   length (MkSBQ o forest_size forest) =
+
179 |     let lens = map (\(_ ** x) => skewLen x) forest
+
180 |     in sum lens
+
181 |
+
182 |   findMin (MkSBQ o forest_size forest) =
+
183 |     case forest of
+
184 |       [] => Nothing
+
185 |       ((_ ** x:: xs) =>
+
186 |         let x = root x
+
187 |             xs = map (\(_ ** y) => root y) xs
+
188 |         in Just $ foldl min x xs
+
189 |
+
190 |   meld x y =
+
191 |     let (new_size ** new_forest= meld' @{x.o} x.forest y.forest
+
192 |     in MkSBQ x.o new_size new_forest
+
193 |
+
194 |   insert element (MkSBQ o forest_size forest) =
+
195 |     case forest of
+
196 |       [] => MkSBQ o 1 [(0 ** Singleton element)]
+
197 |       [x] => MkSBQ o 2 [(0 ** Singleton element), x]
+
198 |       (x_rank ** x:: (y_rank ** y:: xs =>
+
199 |         case decEq x_rank y_rank of
+
200 |           Yes Refl =>
+
201 |             let rest = skewLink (Singleton element) x y
+
202 |             in MkSBQ o _ $ (S y_rank ** rest:: xs
+
203 |           No _ => MkSBQ o _ $ (0 ** Singleton element:: forest
+
204 |
+
205 |   deleteMin (MkSBQ o forest_size forest) with (forest)
+
206 |     deleteMin (MkSBQ o 0 forest) | ([]) =
+
207 |       MkSBQ o 0 []
+
208 |     deleteMin (MkSBQ o (S 0) forest) | ((x_rank ** x:: []) =
+
209 |       let (singlets, rest) =
+
210 |             partitionEithers . map processTree . reverse . snd . extractRoot
+
211 |             $ x
+
212 |           new_queue = MkSBQ o (length rest) (fromList rest)
+
213 |       in foldl (\acc, e => insert e acc) new_queue singlets
+
214 |     deleteMin (MkSBQ o (S (S len)) forest) | (x :: y :: xs) =
+
215 |       let (idx, (min_n ** min_tree)) = findMin (y :: xs) (0, x) 1
+
216 |           without_min = deleteAt idx forest
+
217 |           (singlets, rest) =
+
218 |             partitionEithers . map processTree . reverse . snd . extractRoot
+
219 |             $ min_tree
+
220 |           (rest_len ** rest= listToVect rest
+
221 |           (new_size ** new_forest= meld' without_min rest
+
222 |           new_queue = MkSBQ o new_size new_forest
+
223 |       in foldl (\acc, e => insert e acc) new_queue singlets
+
224 |     where
+
225 |       listToVect : List a -> (n : Nat ** Vect n a)
+
226 |       listToVect xs = (length xs ** fromList xs)
+
227 |       findMin :
+
228 |         {m : Nat} ->
+
229 |         (xs : Vect n (SkewBinomialPair e)) ->
+
230 |         (acc : (Fin m, SkewBinomialPair e)) ->
+
231 |         (idx : Fin m)
+
232 |         -> (Fin m, SkewBinomialPair e)
+
233 |       findMin [] acc idx = acc
+
234 |       findMin ((x_rank ** x:: xs) orig_acc@(acc_idx, (acc_rank ** acc)) idx =
+
235 |         if root x < root acc
+
236 |           then findMin xs (idx, (x_rank ** x)) (finS idx)
+
237 |           else findMin xs orig_acc (finS idx)
+
238 |
+
+ + diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.html b/docs/structures/docs/docs/Structures.PriorityQueue.html new file mode 100644 index 000000000..917aeb04d --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.html @@ -0,0 +1,64 @@ + + + + + Structures.PriorityQueue + + + + + +
+ Idris2Doc : Structures.PriorityQueue + + + + +
+

Structures.PriorityQueue

(source)

Definitions

interfacePriorityQueue : (Type->Type) ->Type
Parameters: queue
Methods:
empty : Orde=>queuee
  Return an empty queue
singleton : Orde=>e->queuee
  Create a queue containing only one element
isNull : queuee->Bool
  Return true if the queue is empty
length : queuee->Nat
  Returns the number of elements in the queue
findMin : queuee->Maybee
  Find the minimum element, if there is one
meld : queuee->queuee->queuee
  Merge two queues
insert : e->queuee->queuee
  Insert an element into the queue
deleteMin : queuee->queuee
  Removes the minimum element from the queue
Does nothing to the empty queue
fromFoldable : Orde=>Foldablem=>me->queuee
  Converts an Ord t => Foldable m => m t into a queue of t
queueFoldl : (acc->e->acc) ->acc->queuee->acc
  Foldl implementation for queues
empty : PriorityQueuequeue=>Orde=>queuee
  Return an empty queue

Totality: total
Visibility: public export
singleton : PriorityQueuequeue=>Orde=>e->queuee
  Create a queue containing only one element

Totality: total
Visibility: public export
isNull : PriorityQueuequeue=>queuee->Bool
  Return true if the queue is empty

Totality: total
Visibility: public export
length : PriorityQueuequeue=>queuee->Nat
  Returns the number of elements in the queue

Totality: total
Visibility: public export
findMin : PriorityQueuequeue=>queuee->Maybee
  Find the minimum element, if there is one

Totality: total
Visibility: public export
meld : PriorityQueuequeue=>queuee->queuee->queuee
  Merge two queues

Totality: total
Visibility: public export
insert : PriorityQueuequeue=>e->queuee->queuee
  Insert an element into the queue

Totality: total
Visibility: public export
deleteMin : PriorityQueuequeue=>queuee->queuee
  Removes the minimum element from the queue
Does nothing to the empty queue

Totality: total
Visibility: public export
fromFoldable : PriorityQueuequeue=>Orde=>Foldablem=>me->queuee
  Converts an Ord t => Foldable m => m t into a queue of t

Totality: total
Visibility: public export
queueFoldl : PriorityQueuequeue=> (acc->e->acc) ->acc->queuee->acc
  Foldl implementation for queues

Totality: total
Visibility: public export
diff --git a/docs/structures/docs/docs/Structures.PriorityQueue.src.html b/docs/structures/docs/docs/Structures.PriorityQueue.src.html new file mode 100644 index 000000000..b8222f541 --- /dev/null +++ b/docs/structures/docs/docs/Structures.PriorityQueue.src.html @@ -0,0 +1,167 @@ + + + + + + + + + +
 0 | module Structures.PriorityQueue
+
 1 |
+
 2 | %default total
+
 3 |
+
 4 | public export
+
 5 | interface PriorityQueue (queue : Type -> Type) where
+
 6 |   ||| Return an empty queue
+
 7 |   empty : {auto o : Ord e} -> queue e
+
 8 |   ||| Create a queue containing only one element
+
 9 |   singleton : {auto o : Ord e} -> (element : e) -> queue e
+
10 |   ||| Return true if the queue is empty
+
11 |   isNull : queue e -> Bool
+
12 |   ||| Returns the number of elements in the queue
+
13 |   length : queue e -> Nat
+
14 |   ||| Find the minimum element, if there is one
+
15 |   findMin : queue e -> Maybe e
+
16 |   ||| Merge two queues
+
17 |   meld : (x, y : queue e) -> queue e
+
18 |   ||| Insert an element into the queue
+
19 |   insert : (element : e) -> queue e -> queue e
+
20 |   ||| Removes the minimum element from the queue
+
21 |   ||| Does nothing to the empty queue
+
22 |   deleteMin : queue e -> queue e
+
23 |   ||| Converts an Ord t => Foldable m => m t into a queue of t
+
24 |   fromFoldable : Ord e => Foldable m => (xs : m e) -> queue e
+
25 |   fromFoldable xs =
+
26 |     foldl (flip insert) empty xs
+
27 |   ||| Foldl implementation for queues
+
28 |   queueFoldl : (f : acc -> e -> acc) -> (init : acc) -> queue e -> acc
+
29 |   queueFoldl f acc queue =
+
30 |     case findMin queue of
+
31 |       Nothing => acc
+
32 |       Just val =>
+
33 |         queueFoldl f (f acc val) (assert_smaller queue (deleteMin queue))
+
34 |
+
35 | export
+
36 | {q : _} -> PriorityQueue q => Foldable q where
+
37 |   -- This is slow, but there's no other sensible way to do this, only the front
+
38 |   -- of the queue is accessible
+
39 |   foldr f acc queue = foldr f acc (reverse $ queueFoldl (flip (::)) [] queue)
+
40 |   foldl = queueFoldl
+
41 |   null = isNull
+
42 |   toList queue = reverse $ queueFoldl (flip (::)) [] queue
+
43 |
+
+ + diff --git a/docs/structures/docs/docs/Structures.html b/docs/structures/docs/docs/Structures.html new file mode 100644 index 000000000..d6e365d45 --- /dev/null +++ b/docs/structures/docs/docs/Structures.html @@ -0,0 +1,64 @@ + + + + + Structures + + + + + +
+ Idris2Doc : Structures + + + + +
+

Structures

(source)
diff --git a/docs/structures/docs/docs/Structures.src.html b/docs/structures/docs/docs/Structures.src.html new file mode 100644 index 000000000..b1745eec8 --- /dev/null +++ b/docs/structures/docs/docs/Structures.src.html @@ -0,0 +1,127 @@ + + + + + + + + + +
0 | module Structures
+
1 |
+
2 | %default total
+
3 |
+
+ + diff --git a/docs/structures/docs/index.html b/docs/structures/docs/index.html new file mode 100644 index 000000000..6d51ec0a1 --- /dev/null +++ b/docs/structures/docs/index.html @@ -0,0 +1,109 @@ + + + + + structures + + + + + +
+ Idris2Doc : structures + + + + +
+

Package structures - Namespaces

\ No newline at end of file diff --git a/docs/uv/docs/docs/System.UV.File.html b/docs/uv/docs/docs/System.UV.File.html index eb2105c5f..42652512d 100644 --- a/docs/uv/docs/docs/System.UV.File.html +++ b/docs/uv/docs/docs/System.UV.File.html @@ -61,4 +61,4 @@ -

System.UV.File

(source)

Reexports

importpublic Data.Buffer.Indexed
importpublic Data.ByteString
importpublic System.UV.Raw.File

Definitions

recordFile : Type
  A file handle.

Totality: total
Visibility: public export
Constructor: 
MkFile : Int32->File

Projection: 
.file : File->Int32

Hint: 
UVLoop=>ResourceFile
.file : File->Int32
Totality: total
Visibility: public export
file : File->Int32
Totality: total
Visibility: public export
stdin : File
  File handle for standard input

Totality: total
Visibility: export
stdout : File
  File handle for standard output

Totality: total
Visibility: export
stderr : File
  File handle for standard err

Totality: total
Visibility: export
fsClose : HasIOio=>UVLoop=>File->io ()
Totality: total
Visibility: export
dataUVFileError : Type
Totality: total
Visibility: public export
Constructors:
OpenError : String->UVError->UVFileError
ReadError : String->UVError->UVFileError
WriteError : String->UVError->UVFileError

Hint: 
InterpolationUVFileError
fsOpen : UVLoop=>HasUVFileErrores=>String->Flags->Mode->AsyncesFile
  Asynchronously opens a file.

Totality: total
Visibility: export
readOpen : UVLoop=>HasUVFileErrores=>String->AsyncesFile
Totality: total
Visibility: export
writeOpen : UVLoop=>HasUVFileErrores=>String->AsyncesFile
Totality: total
Visibility: export
appendOpen : UVLoop=>HasUVFileErrores=>String->AsyncesFile
Totality: total
Visibility: export
writeBytesAt : UVLoop=>HasUVErrores=>File->Int64->ByteString->Asynces ()
Totality: total
Visibility: export
writeBytes : UVLoop=>HasUVErrores=>File->ByteString->Asynces ()
Totality: total
Visibility: export
bytesOut : UVLoop=>HasUVErrores=>ByteString->Asynces ()
  Writes all bytes to `stdout`.

Totality: total
Visibility: export
putOut : UVLoop=>HasUVErrores=>String->Asynces ()
  Write some text to `stdout`.

Totality: total
Visibility: export
putOutLn : UVLoop=>HasUVErrores=>String->Asynces ()
  Sink that writes all text to `stdout`, interpreting
every item as a single line

Totality: total
Visibility: export
printOut : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stdout` using their `Show`
implementation.

Totality: total
Visibility: export
printOutLn : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stdout` using their `Show`
implementation and putting every item on a single line.

Totality: total
Visibility: export
bytesErr : UVLoop=>HasUVErrores=>ByteString->Asynces ()
  Writes all bytes to `stderr`.

Totality: total
Visibility: export
putErr : UVLoop=>HasUVErrores=>String->Asynces ()
  Write some text to `stderr`.

Totality: total
Visibility: export
putErrLn : UVLoop=>HasUVErrores=>String->Asynces ()
  Sink that writes all text to `stderr`, interpreting
every item as a single line

Totality: total
Visibility: export
printErr : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stderr` using their `Show`
implementation.

Totality: total
Visibility: export
printErrLn : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stderr` using their `Show`
implementation and putting every item on a single line.

Totality: total
Visibility: export
writeFile : UVLoop=>HasUVFileErrores=>String->Flags->Mode->ByteString->Asynces ()
Totality: total
Visibility: export
toFile : UVLoop=>HasUVFileErrores=>String->ByteString->Asynces ()
Totality: total
Visibility: export
appendToFile : UVLoop=>HasUVFileErrores=>String->ByteString->Asynces ()
Totality: total
Visibility: export
readBytes : UVLoop=>HasUVErrores=>File->Bits32->AsyncesByteString
Totality: total
Visibility: export
readStdIn : UVLoop=>HasUVErrores=>AsyncesByteString
Totality: total
Visibility: export
readFile : UVLoop=>HasUVFileErrores=>String->Bits32->AsyncesByteString
Totality: total
Visibility: export
streamFileUntil : UVLoop=>HasUVFileErrores=>String->Bits32-> (ByteString->Asynces (Maybeb)) ->Asynces (Maybeb)
Visibility: export
streamFile : UVLoop=>HasUVFileErrores=>String->Bits32-> (ByteString->Asynces ()) ->Asynces ()
Visibility: export
streamLinesUntil : UVLoop=>HasUVFileErrores=>String->Bits32-> (ListByteString->Asynces (Maybeb)) ->Asynces (Maybeb)
Visibility: export
streamLines : UVLoop=>HasUVFileErrores=>String->Bits32-> (ListByteString->Asynces ()) ->Asynces ()
Visibility: export
foldBytes : UVLoop=>HasUVFileErrores=>String->Bits32-> (s->ByteString->s) ->s->Asyncess
Visibility: export
foldLines : UVLoop=>HasUVFileErrores=>String->Bits32-> (s->ByteString->s) ->s->Asyncess
Visibility: export
+

System.UV.File

(source)

Reexports

importpublic Data.Buffer.Indexed
importpublic Data.ByteString
importpublic System.UV.Raw.File

Definitions

recordFile : Type
  A file handle.

Totality: total
Visibility: public export
Constructor: 
MkFile : Int32->File

Projection: 
.file : File->Int32

Hint: 
UVLoop=>ResourceFile
.file : File->Int32
Totality: total
Visibility: public export
file : File->Int32
Totality: total
Visibility: public export
stdin : File
  File handle for standard input

Totality: total
Visibility: export
stdout : File
  File handle for standard output

Totality: total
Visibility: export
stderr : File
  File handle for standard err

Totality: total
Visibility: export
fsClose : HasIOio=>UVLoop=>File->io ()
Totality: total
Visibility: export
dataUVFileError : Type
Totality: total
Visibility: public export
Constructors:
OpenError : String->UVError->UVFileError
ReadError : String->UVError->UVFileError
WriteError : String->UVError->UVFileError

Hint: 
InterpolationUVFileError
fsOpen : UVLoop=>HasUVFileErrores=>String->Flags->Mode->AsyncesFile
  Asynchronously opens a file.

Totality: total
Visibility: export
readOpen : UVLoop=>HasUVFileErrores=>String->AsyncesFile
Totality: total
Visibility: export
writeOpen : UVLoop=>HasUVFileErrores=>String->AsyncesFile
Totality: total
Visibility: export
appendOpen : UVLoop=>HasUVFileErrores=>String->AsyncesFile
Totality: total
Visibility: export
writeBytesAt : UVLoop=>HasUVErrores=>File->Int64->ByteString->Asynces ()
Totality: total
Visibility: export
writeBytes : UVLoop=>HasUVErrores=>File->ByteString->Asynces ()
Totality: total
Visibility: export
bytesOut : UVLoop=>HasUVErrores=>ByteString->Asynces ()
  Writes all bytes to `stdout`.

Totality: total
Visibility: export
putOut : UVLoop=>HasUVErrores=>String->Asynces ()
  Write some text to `stdout`.

Totality: total
Visibility: export
putOutLn : UVLoop=>HasUVErrores=>String->Asynces ()
  Sink that writes all text to `stdout`, interpreting
every item as a single line

Totality: total
Visibility: export
printOut : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stdout` using their `Show`
implementation.

Totality: total
Visibility: export
printOutLn : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stdout` using their `Show`
implementation and putting every item on a single line.

Totality: total
Visibility: export
bytesErr : UVLoop=>HasUVErrores=>ByteString->Asynces ()
  Writes all bytes to `stderr`.

Totality: total
Visibility: export
putErr : UVLoop=>HasUVErrores=>String->Asynces ()
  Write some text to `stderr`.

Totality: total
Visibility: export
putErrLn : UVLoop=>HasUVErrores=>String->Asynces ()
  Sink that writes all text to `stderr`, interpreting
every item as a single line

Totality: total
Visibility: export
printErr : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stderr` using their `Show`
implementation.

Totality: total
Visibility: export
printErrLn : UVLoop=>HasUVErrores=>Showa=>a->Asynces ()
  Sink that printes values to `stderr` using their `Show`
implementation and putting every item on a single line.

Totality: total
Visibility: export
writeFile : UVLoop=>HasUVFileErrores=>String->Flags->Mode->ByteString->Asynces ()
Totality: total
Visibility: export
toFile : UVLoop=>HasUVFileErrores=>String->ByteString->Asynces ()
Totality: total
Visibility: export
appendToFile : UVLoop=>HasUVFileErrores=>String->ByteString->Asynces ()
Totality: total
Visibility: export
readBytes : UVLoop=>HasUVErrores=>File->Bits32->AsyncesByteString
Totality: total
Visibility: export
readStdIn : UVLoop=>HasUVErrores=>AsyncesByteString
Totality: total
Visibility: export
readFile : UVLoop=>HasUVFileErrores=>String->Bits32->AsyncesByteString
Totality: total
Visibility: export
streamFileUntil : UVLoop=>HasUVFileErrores=>String->Bits32-> (ByteString->Asynces (Maybeb)) ->Asynces (Maybeb)
Visibility: export
streamFile : UVLoop=>HasUVFileErrores=>String->Bits32-> (ByteString->Asynces ()) ->Asynces ()
Visibility: export
streamLinesUntil : UVLoop=>HasUVFileErrores=>String->Bits32-> (ListByteString->Asynces (Maybeb)) ->Asynces (Maybeb)
Visibility: export
streamLines : UVLoop=>HasUVFileErrores=>String->Bits32-> (ListByteString->Asynces ()) ->Asynces ()
Visibility: export
foldBytes : UVLoop=>HasUVFileErrores=>String->Bits32-> (s->ByteString->s) ->s->Asyncess
Visibility: export
foldLines : UVLoop=>HasUVFileErrores=>String->Bits32-> (s->ByteString->s) ->s->Asyncess
Visibility: export
diff --git a/docs/uv/docs/docs/System.UV.Loop.html b/docs/uv/docs/docs/System.UV.Loop.html index 85249ccad..614610a9f 100644 --- a/docs/uv/docs/docs/System.UV.Loop.html +++ b/docs/uv/docs/docs/System.UV.Loop.html @@ -61,4 +61,4 @@ -

System.UV.Loop

(source)

Reexports

importpublic IO.Async
importpublic System.UV.Data.Error
importpublic System.UV.Data.RunMode

Definitions

recordUVLoop : Type
Totality: total
Visibility: public export
Constructor: 
MkLoop : PtrLoop->PtrAsync->TokenGen->CloseCB->IORef (SnocList (IO ())) ->Nat->UVLoop

Projections:
.async : UVLoop->PtrAsync
.cc : UVLoop->CloseCB
.limit : UVLoop->Nat
.loop : UVLoop->PtrLoop
.ref : UVLoop->IORef (SnocList (IO ()))
.tg : UVLoop->TokenGen

Hints:
UVLoop=>CloseCB
UVLoop=>ExecutionContext
UVLoop=>ResourceFile
.loop : UVLoop->PtrLoop
Totality: total
Visibility: public export
loop : UVLoop->PtrLoop
Totality: total
Visibility: public export
.async : UVLoop->PtrAsync
Totality: total
Visibility: public export
async : UVLoop->PtrAsync
Totality: total
Visibility: public export
.tg : UVLoop->TokenGen
Totality: total
Visibility: public export
tg : UVLoop->TokenGen
Totality: total
Visibility: public export
.cc : UVLoop->CloseCB
Totality: total
Visibility: public export
cc : UVLoop->CloseCB
Totality: total
Visibility: public export
.ref : UVLoop->IORef (SnocList (IO ()))
Totality: total
Visibility: public export
ref : UVLoop->IORef (SnocList (IO ()))
Totality: total
Visibility: public export
.limit : UVLoop->Nat
Totality: total
Visibility: public export
limit : UVLoop->Nat
Totality: total
Visibility: public export
loopCtxt : UVLoop=>ExecutionContext
Totality: total
Visibility: export
loopCloseCB : UVLoop=>CloseCB
Totality: total
Visibility: export
defaultLoop : IOUVLoop
  Returns the default loop, corresponding to `uv_default_loop`.

Totality: total
Visibility: export
uvCheck : HasUVErrores=>a->Int32->Resultesa
Totality: total
Visibility: export
uvRes : HasUVErrores=>Int32->Resultes ()
Totality: total
Visibility: export
uv : HasUVErrores=>IOInt32->Asynces ()
Totality: total
Visibility: export
uvAct : HasUVErrores=>Resourcea=> (a->IOInt32) ->a->Asyncesa
Totality: total
Visibility: export
uvCancelableAsync : HasUVErrores=>Asyncesr-> (r->Async [] ()) -> (r->Async [] ()) -> (r-> (a->IO ()) ->IOInt32) ->Asyncesa
Totality: total
Visibility: export
uvAsync : HasUVErrores=> ((Outcomeesa->IO ()) ->IOInt32) ->Asyncesa
Totality: total
Visibility: export
runUV : (UVLoop=>Async [] ()) ->IO ()
  Sets up the given application by registering it at the default loop
and starting the loop afterwards.

Visibility: export
+

System.UV.Loop

(source)

Reexports

importpublic IO.Async
importpublic System.UV.Data.Error
importpublic System.UV.Data.RunMode

Definitions

recordUVLoop : Type
Totality: total
Visibility: public export
Constructor: 
MkLoop : PtrLoop->PtrAsync->TokenGen->CloseCB->IORef (SnocList (IO ())) ->Nat->UVLoop

Projections:
.async : UVLoop->PtrAsync
.cc : UVLoop->CloseCB
.limit : UVLoop->Nat
.loop : UVLoop->PtrLoop
.ref : UVLoop->IORef (SnocList (IO ()))
.tg : UVLoop->TokenGen

Hints:
UVLoop=>CloseCB
UVLoop=>ExecutionContext
UVLoop=>ResourceFile
.loop : UVLoop->PtrLoop
Totality: total
Visibility: public export
loop : UVLoop->PtrLoop
Totality: total
Visibility: public export
.async : UVLoop->PtrAsync
Totality: total
Visibility: public export
async : UVLoop->PtrAsync
Totality: total
Visibility: public export
.tg : UVLoop->TokenGen
Totality: total
Visibility: public export
tg : UVLoop->TokenGen
Totality: total
Visibility: public export
.cc : UVLoop->CloseCB
Totality: total
Visibility: public export
cc : UVLoop->CloseCB
Totality: total
Visibility: public export
.ref : UVLoop->IORef (SnocList (IO ()))
Totality: total
Visibility: public export
ref : UVLoop->IORef (SnocList (IO ()))
Totality: total
Visibility: public export
.limit : UVLoop->Nat
Totality: total
Visibility: public export
limit : UVLoop->Nat
Totality: total
Visibility: public export
loopCtxt : UVLoop=>ExecutionContext
Totality: total
Visibility: export
loopCloseCB : UVLoop=>CloseCB
Totality: total
Visibility: export
defaultLoop : IOUVLoop
  Returns the default loop, corresponding to `uv_default_loop`.

Totality: total
Visibility: export
uvCheck : HasUVErrores=>a->Int32->Resultesa
Totality: total
Visibility: export
uvRes : HasUVErrores=>Int32->Resultes ()
Totality: total
Visibility: export
uv : HasUVErrores=>IOInt32->Asynces ()
Totality: total
Visibility: export
uvAct : HasUVErrores=>Resourcea=> (a->IOInt32) ->a->Asyncesa
Totality: total
Visibility: export
uvCancelableAsync : HasUVErrores=>Asyncesr-> (r->Async [] ()) -> (r->Async [] ()) -> (r-> (a->IO ()) ->IOInt32) ->Asyncesa
Totality: total
Visibility: export
uvAsync : HasUVErrores=> ((Outcomeesa->IO ()) ->IOInt32) ->Asyncesa
Totality: total
Visibility: export
runUV : (UVLoop=>Async [] ()) ->IO ()
  Sets up the given application by registering it at the default loop
and starting the loop afterwards.

Visibility: export
diff --git a/docs/uv/docs/docs/System.UV.Raw.Handle.html b/docs/uv/docs/docs/System.UV.Raw.Handle.html index ed7ee62a3..35a0b15c3 100644 --- a/docs/uv/docs/docs/System.UV.Raw.Handle.html +++ b/docs/uv/docs/docs/System.UV.Raw.Handle.html @@ -61,4 +61,4 @@ -

System.UV.Raw.Handle

(source)

Definitions

uv_handle_type_name : Int->String
  Returns the name of the handle type.
recordCloseCB : Type
Totality: total
Visibility: export
Constructor: 
CC : AnyPtr->CloseCB

Projection: 
.ptr : CloseCB->AnyPtr

Hints:
UVLoop=>CloseCB
CloseCB=>Resource (PtrTcp)
CloseCB=>Resource (PtrStream)
CloseCB=>Resource (PtrPipe)
CloseCB=>Resource (PtrIdle)
CloseCB=>Resource (PtrCheck)
CloseCB=>Resource (PtrPrepare)
CloseCB=>Resource (PtrSignal)
ResourceCloseCB
CloseCB=>Resource (PtrTimer)
freeCloseCB : HasIOio=>CloseCB->io ()
Totality: total
Visibility: export
uv_is_active : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioInt32
Totality: total
Visibility: export
uv_is_closing : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioInt32
Totality: total
Visibility: export
uv_close : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->CloseCB->io ()
  Request a handle to be closed.

This *must* be called before releasing the handle from memory,
which can be done from within the callback or after the callback
has returned.

Totality: total
Visibility: export
uv_ref : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
  Reference a handle.

This is an idempotent action, so calling it several times has no
additional effect.

Totality: total
Visibility: export
uv_unref : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
  Un-reference a handle.

This is an idempotent action, so calling it several times has no
additional effect.

Totality: total
Visibility: export
uv_has_ref : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioBool
  Returns `True` is the handle is currently referenced.

Totality: total
Visibility: export
uv_handle_get_data : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioAnyPtr
  Returns a pointer to the data associated with a handle.

Totality: total
Visibility: export
uv_handle_set_data : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->AnyPtr->io ()
  Sets the data associated with a handle

Totality: total
Visibility: export
uv_handle_type : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioInt
  Returns the type the current handle.

Totality: total
Visibility: export
freeHandle : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
Totality: total
Visibility: export
freeHandleWithoutUnlocking : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
Totality: total
Visibility: export
closeCB : HasIOio=> (PtrHandle->IO ()) ->ioCloseCB
  Allocates and locks a callback for closing handles.

The callback will run any custom operations given in the
`handler` argument before freeing the `Ptr Handle` from memory.

Totality: total
Visibility: export
defaultClose : HasIOio=>ioCloseCB
Totality: total
Visibility: export
closeWithoutUnlockingCB : HasIOio=>ioCloseCB
Totality: total
Visibility: export
+

System.UV.Raw.Handle

(source)

Definitions

uv_handle_type_name : Int->String
  Returns the name of the handle type.
recordCloseCB : Type
Totality: total
Visibility: export
Constructor: 
CC : AnyPtr->CloseCB

Projection: 
.ptr : CloseCB->AnyPtr

Hints:
UVLoop=>CloseCB
CloseCB=>Resource (PtrTcp)
CloseCB=>Resource (PtrStream)
CloseCB=>Resource (PtrPipe)
CloseCB=>Resource (PtrIdle)
CloseCB=>Resource (PtrCheck)
CloseCB=>Resource (PtrPrepare)
CloseCB=>Resource (PtrSignal)
ResourceCloseCB
CloseCB=>Resource (PtrTimer)
freeCloseCB : HasIOio=>CloseCB->io ()
Totality: total
Visibility: export
uv_is_active : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioInt32
Totality: total
Visibility: export
uv_is_closing : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioInt32
Totality: total
Visibility: export
uv_close : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->CloseCB->io ()
  Request a handle to be closed.

This *must* be called before releasing the handle from memory,
which can be done from within the callback or after the callback
has returned.

Totality: total
Visibility: export
uv_ref : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
  Reference a handle.

This is an idempotent action, so calling it several times has no
additional effect.

Totality: total
Visibility: export
uv_unref : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
  Un-reference a handle.

This is an idempotent action, so calling it several times has no
additional effect.

Totality: total
Visibility: export
uv_has_ref : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioBool
  Returns `True` is the handle is currently referenced.

Totality: total
Visibility: export
uv_handle_get_data : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioAnyPtr
  Returns a pointer to the data associated with a handle.

Totality: total
Visibility: export
uv_handle_set_data : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->AnyPtr->io ()
  Sets the data associated with a handle

Totality: total
Visibility: export
uv_handle_type : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->ioInt
  Returns the type the current handle.

Totality: total
Visibility: export
freeHandle : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
Totality: total
Visibility: export
freeHandleWithoutUnlocking : HasIOio=> {auto0_ : PCasttHandle} ->Ptrt->io ()
Totality: total
Visibility: export
closeCB : HasIOio=> (PtrHandle->IO ()) ->ioCloseCB
  Allocates and locks a callback for closing handles.

The callback will run any custom operations given in the
`handler` argument before freeing the `Ptr Handle` from memory.

Totality: total
Visibility: export
defaultClose : HasIOio=>ioCloseCB
Totality: total
Visibility: export
closeWithoutUnlockingCB : HasIOio=>ioCloseCB
Totality: total
Visibility: export
diff --git a/docs/uv/docs/docs/System.UV.Raw.Pointer.html b/docs/uv/docs/docs/System.UV.Raw.Pointer.html index 97825eacd..3828b8985 100644 --- a/docs/uv/docs/docs/System.UV.Raw.Pointer.html +++ b/docs/uv/docs/docs/System.UV.Raw.Pointer.html @@ -61,4 +61,4 @@ -

System.UV.Raw.Pointer

(source)

Reexports

importpublic System.FFI
importpublic System.UV.Data.Pointer

Definitions

dataBuf : Type
Totality: total
Visibility: export
dataLoop : Type
Totality: total
Visibility: export
getString : PtrChar->String
  Convert a `Ptr Char` to an Idris string.

Note: Users must make sure that the given pointer points at a
zero-terminated byte array. As an alternative, consider converting
a `Ptr Bits8`.

Totality: total
Visibility: export
getStringMay : PtrChar->MaybeString
  Like `getString` but returns `Nothing` in case the given pointer is the
null pointer.

Totality: total
Visibility: export
dataAsync : Type
Totality: total
Visibility: export
dataCheck : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrCheck)
dataFsEvent : Type
Totality: total
Visibility: export
dataFsPoll : Type
Totality: total
Visibility: export
dataHandle : Type
Totality: total
Visibility: export
dataIdle : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrIdle)
dataPipe : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrPipe)
dataPoll : Type
Totality: total
Visibility: export
dataPrepare : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrPrepare)
dataProcess : Type
Totality: total
Visibility: export
dataStream : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrStream)
dataTcp : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrTcp)
dataTimer : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrTimer)
dataTty : Type
Totality: total
Visibility: export
dataUdp : Type
Totality: total
Visibility: export
dataSignal : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrSignal)
dataReq : Type
Totality: total
Visibility: export
dataConnect : Type
Totality: total
Visibility: export
dataWrite : Type
Totality: total
Visibility: export
dataShutdown : Type
Totality: total
Visibility: export
dataUpdSend : Type
Totality: total
Visibility: export
dataFs : Type
Totality: total
Visibility: export
dataWork : Type
Totality: total
Visibility: export
dataGetAddrInfo : Type
Totality: total
Visibility: export
Hint: 
Resource (PtrGetAddrInfo)
dataGetNameInfo : Type
Totality: total
Visibility: export
dataAddrInfo : Type
Totality: total
Visibility: export
Hint: 
Resource (PtrAddrInfo)
dataSockAddr : Type
Totality: total
Visibility: export
dataSockAddrIn : Type
Totality: total
Visibility: export
Hint: 
Resource (PtrSockAddrIn)
dataSockAddrIn6 : Type
Totality: total
Visibility: export
dataPSize : Type->Bits32->Type
  Proof that we have an associated size for a pointer type. This
allows us to allocate the correct amount of memory when we need a
new pointer of the given type (see `mallocPtr` and `mallocPtrs`).

Totality: total
Visibility: public export
Constructors:
ASYNC : PSizeAsyncSZ_ASYNC
CHECK : PSizeCheckSZ_CHECK
FS_EVENT : PSizeFsEventSZ_FS_EVENT
FS_POLL : PSizeFsPollSZ_FS_POLL
HANDLE : PSizeHandleSZ_HANDLE
IDLE : PSizeIdleSZ_IDLE
NAMEDPIPE : PSizePipeSZ_NAMED_PIPE
POLL : PSizePollSZ_POLL
PREPARE : PSizePrepareSZ_PREPARE
PROCESS : PSizeProcessSZ_PROCESS
STREAM : PSizeStreamSZ_STREAM
TCP : PSizeTcpSZ_TCP
TIMER : PSizeTimerSZ_TIMER
TTY : PSizeTtySZ_TTY
UDP : PSizeUdpSZ_UDP
SIGNAL : PSizeSignalSZ_SIGNAL
REQ : PSizeReqSZ_REQ
CONNECT : PSizeConnectSZ_CONNECT
WRITE : PSizeWriteSZ_WRITE
SHUTDOWN : PSizeShutdownSZ_SHUTDOWN
FS : PSizeFsSZ_FS
WORK : PSizeWorkSZ_WORK
GETADDRINFO : PSizeGetAddrInfoSZ_GETADDRINFO
GETNAMEINFO : PSizeGetNameInfoSZ_GETNAMEINFO
ADDRINFO : PSizeAddrInfoSZ_ADDRINFO
SOCKADDR : PSizeSockAddrSZ_SOCKADDR
SOCKADDRIN : PSizeSockAddrInSZ_SOCKADDR_IN
SOCKADDRIN6 : PSizeSockAddrIn6SZ_SOCKADDR_IN6
BUF : PSizeBufSZ_BUF
LOOP : PSizeLoopSZ_LOOP
BYTE : PSizeBits81
CHAR : PSizeChar1

Hint: 
Show (PSizeas)
mallocPtr : HasIOio=> (0a : Type) -> {auto0_ : PSizeas} ->io (Ptra)
  Allocates a pointer for a type of a known pointer size.

Totality: total
Visibility: export
mallocPtrs : HasIOio=> (0a : Type) -> {auto0_ : PSizeas} ->Bits32->io (Ptra)
  Allocates an array of pointers for a type of a known pointer size.

Totality: total
Visibility: export
freePtr : HasIOio=>Ptrt->io ()
  Frees a typed pointer.

Totality: total
Visibility: export
dataPCast : Type->Type->Type
  Pointers to some types are subtypes of pointers to other types:
Their structure is laid out in such a way that they can be used
where the other pointer type is expected.

For instance, every libuv handle can be used where a `uv_handle_t`
(represented as `Ptr Handle` in Idris) is expected.

This data type is a proof of such a subtyping relation. Use `castPtr`
to safely convert pointers.

Totality: total
Visibility: public export
Constructors:
Self : PCasttt
AsyncHandle : PCastAsyncHandle
CheckHandle : PCastCheckHandle
Fs_eventHandle : PCastFsEventHandle
Fs_pollHandle : PCastFsPollHandle
IdleHandle : PCastIdleHandle
NamedpipeHandle : PCastPipeHandle
PollHandle : PCastPollHandle
PrepareHandle : PCastPrepareHandle
ProcessHandle : PCastProcessHandle
StreamHandle : PCastStreamHandle
TcpHandle : PCastTcpHandle
TimerHandle : PCastTimerHandle
TtyHandle : PCastTtyHandle
UdpHandle : PCastUdpHandle
SignalHandle : PCastSignalHandle
StreamStream : PCastStreamStream
TcpStream : PCastTcpStream
PipeStream : PCastPipeStream
TtyStream : PCastTtyStream
IP4Addr : PCastSockAddrInSockAddr
RevIP4Addr : PCastSockAddrSockAddrIn
IP6Addr : PCastSockAddrIn6SockAddr
ConnectReq : PCastConnectReq
WriteReq : PCastWriteReq
ShutdownReq : PCastShutdownReq
UpdSendReq : PCastUpdSendReq
FsReq : PCastFsReq
WorkReq : PCastWorkReq
GetAddrInfoReq : PCastGetAddrInfoReq
GetNameInfoReq : PCastGetNameInfoReq
ByteChar : PCastBits8Char
CharByte : PCastCharBits8
castPtr : {auto0_ : PCastst} ->Ptrs->Ptrt
Totality: total
Visibility: export
newBuffer : HasIOio=>Bits32->ioBuffer
Totality: total
Visibility: export
setBufLen : HasIOio=>PtrBuf->Bits32->io ()
Totality: total
Visibility: export
getBufLen : HasIOio=>PtrBuf->ioBits32
Totality: total
Visibility: export
setBufBase : HasIOio=>PtrBuf->PtrBits8->io ()
Totality: total
Visibility: export
getBufBase : HasIOio=>PtrBuf->io (PtrBits8)
Totality: total
Visibility: export
initBuf : HasIOio=>PtrBuf->PtrBits8->Bits32->io ()
Totality: total
Visibility: export
freeBufBase : HasIOio=>PtrBuf->io ()
  Frees the memory allocated for a `uv_buf_t`'s `base` field.

Totality: total
Visibility: export
copyToBuffer : HasIOio=>PtrBits8->Buffer->Bits32->io ()
  Copy the given number of bytes from a byte array to an Idris-managed
buffer.

Totality: total
Visibility: export
copyBufToBuffer : HasIOio=>PtrBuf->Buffer->Bits32->io ()
  Copy the given number of bytes from a byte array to an Idris-managed
buffer.

Totality: total
Visibility: export
copyFromBuffer : HasIOio=>Buffer->Bits32->Bits32->io (PtrBits8)
  Copy the given number of bytes an Idris-managed
buffer to a `Ptr Char`

Totality: total
Visibility: export
+

System.UV.Raw.Pointer

(source)

Reexports

importpublic System.FFI
importpublic System.UV.Data.Pointer

Definitions

dataBuf : Type
Totality: total
Visibility: export
dataLoop : Type
Totality: total
Visibility: export
getString : PtrChar->String
  Convert a `Ptr Char` to an Idris string.

Note: Users must make sure that the given pointer points at a
zero-terminated byte array. As an alternative, consider converting
a `Ptr Bits8`.

Totality: total
Visibility: export
getStringMay : PtrChar->MaybeString
  Like `getString` but returns `Nothing` in case the given pointer is the
null pointer.

Totality: total
Visibility: export
dataAsync : Type
Totality: total
Visibility: export
dataCheck : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrCheck)
dataFsEvent : Type
Totality: total
Visibility: export
dataFsPoll : Type
Totality: total
Visibility: export
dataHandle : Type
Totality: total
Visibility: export
dataIdle : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrIdle)
dataPipe : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrPipe)
dataPoll : Type
Totality: total
Visibility: export
dataPrepare : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrPrepare)
dataProcess : Type
Totality: total
Visibility: export
dataStream : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrStream)
dataTcp : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrTcp)
dataTimer : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrTimer)
dataTty : Type
Totality: total
Visibility: export
dataUdp : Type
Totality: total
Visibility: export
dataSignal : Type
Totality: total
Visibility: export
Hint: 
CloseCB=>Resource (PtrSignal)
dataReq : Type
Totality: total
Visibility: export
dataConnect : Type
Totality: total
Visibility: export
dataWrite : Type
Totality: total
Visibility: export
dataShutdown : Type
Totality: total
Visibility: export
dataUpdSend : Type
Totality: total
Visibility: export
dataFs : Type
Totality: total
Visibility: export
dataWork : Type
Totality: total
Visibility: export
dataGetAddrInfo : Type
Totality: total
Visibility: export
Hint: 
Resource (PtrGetAddrInfo)
dataGetNameInfo : Type
Totality: total
Visibility: export
dataAddrInfo : Type
Totality: total
Visibility: export
Hint: 
Resource (PtrAddrInfo)
dataSockAddr : Type
Totality: total
Visibility: export
dataSockAddrIn : Type
Totality: total
Visibility: export
Hint: 
Resource (PtrSockAddrIn)
dataSockAddrIn6 : Type
Totality: total
Visibility: export
dataPSize : Type->Bits32->Type
  Proof that we have an associated size for a pointer type. This
allows us to allocate the correct amount of memory when we need a
new pointer of the given type (see `mallocPtr` and `mallocPtrs`).

Totality: total
Visibility: public export
Constructors:
ASYNC : PSizeAsyncSZ_ASYNC
CHECK : PSizeCheckSZ_CHECK
FS_EVENT : PSizeFsEventSZ_FS_EVENT
FS_POLL : PSizeFsPollSZ_FS_POLL
HANDLE : PSizeHandleSZ_HANDLE
IDLE : PSizeIdleSZ_IDLE
NAMEDPIPE : PSizePipeSZ_NAMED_PIPE
POLL : PSizePollSZ_POLL
PREPARE : PSizePrepareSZ_PREPARE
PROCESS : PSizeProcessSZ_PROCESS
STREAM : PSizeStreamSZ_STREAM
TCP : PSizeTcpSZ_TCP
TIMER : PSizeTimerSZ_TIMER
TTY : PSizeTtySZ_TTY
UDP : PSizeUdpSZ_UDP
SIGNAL : PSizeSignalSZ_SIGNAL
REQ : PSizeReqSZ_REQ
CONNECT : PSizeConnectSZ_CONNECT
WRITE : PSizeWriteSZ_WRITE
SHUTDOWN : PSizeShutdownSZ_SHUTDOWN
FS : PSizeFsSZ_FS
WORK : PSizeWorkSZ_WORK
GETADDRINFO : PSizeGetAddrInfoSZ_GETADDRINFO
GETNAMEINFO : PSizeGetNameInfoSZ_GETNAMEINFO
ADDRINFO : PSizeAddrInfoSZ_ADDRINFO
SOCKADDR : PSizeSockAddrSZ_SOCKADDR
SOCKADDRIN : PSizeSockAddrInSZ_SOCKADDR_IN
SOCKADDRIN6 : PSizeSockAddrIn6SZ_SOCKADDR_IN6
BUF : PSizeBufSZ_BUF
LOOP : PSizeLoopSZ_LOOP
BYTE : PSizeBits81
CHAR : PSizeChar1

Hint: 
Show (PSizeas)
mallocPtr : HasIOio=> (0a : Type) -> {auto0_ : PSizeas} ->io (Ptra)
  Allocates a pointer for a type of a known pointer size.

Totality: total
Visibility: export
mallocPtrs : HasIOio=> (0a : Type) -> {auto0_ : PSizeas} ->Bits32->io (Ptra)
  Allocates an array of pointers for a type of a known pointer size.

Totality: total
Visibility: export
freePtr : HasIOio=>Ptrt->io ()
  Frees a typed pointer.

Totality: total
Visibility: export
dataPCast : Type->Type->Type
  Pointers to some types are subtypes of pointers to other types:
Their structure is laid out in such a way that they can be used
where the other pointer type is expected.

For instance, every libuv handle can be used where a `uv_handle_t`
(represented as `Ptr Handle` in Idris) is expected.

This data type is a proof of such a subtyping relation. Use `castPtr`
to safely convert pointers.

Totality: total
Visibility: public export
Constructors:
Self : PCasttt
AsyncHandle : PCastAsyncHandle
CheckHandle : PCastCheckHandle
Fs_eventHandle : PCastFsEventHandle
Fs_pollHandle : PCastFsPollHandle
IdleHandle : PCastIdleHandle
NamedpipeHandle : PCastPipeHandle
PollHandle : PCastPollHandle
PrepareHandle : PCastPrepareHandle
ProcessHandle : PCastProcessHandle
StreamHandle : PCastStreamHandle
TcpHandle : PCastTcpHandle
TimerHandle : PCastTimerHandle
TtyHandle : PCastTtyHandle
UdpHandle : PCastUdpHandle
SignalHandle : PCastSignalHandle
StreamStream : PCastStreamStream
TcpStream : PCastTcpStream
PipeStream : PCastPipeStream
TtyStream : PCastTtyStream
IP4Addr : PCastSockAddrInSockAddr
RevIP4Addr : PCastSockAddrSockAddrIn
IP6Addr : PCastSockAddrIn6SockAddr
ConnectReq : PCastConnectReq
WriteReq : PCastWriteReq
ShutdownReq : PCastShutdownReq
UpdSendReq : PCastUpdSendReq
FsReq : PCastFsReq
WorkReq : PCastWorkReq
GetAddrInfoReq : PCastGetAddrInfoReq
GetNameInfoReq : PCastGetNameInfoReq
ByteChar : PCastBits8Char
CharByte : PCastCharBits8
castPtr : {auto0_ : PCastst} ->Ptrs->Ptrt
Totality: total
Visibility: export
newBuffer : HasIOio=>Bits32->ioBuffer
Totality: total
Visibility: export
setBufLen : HasIOio=>PtrBuf->Bits32->io ()
Totality: total
Visibility: export
getBufLen : HasIOio=>PtrBuf->ioBits32
Totality: total
Visibility: export
setBufBase : HasIOio=>PtrBuf->PtrBits8->io ()
Totality: total
Visibility: export
getBufBase : HasIOio=>PtrBuf->io (PtrBits8)
Totality: total
Visibility: export
initBuf : HasIOio=>PtrBuf->PtrBits8->Bits32->io ()
Totality: total
Visibility: export
freeBufBase : HasIOio=>PtrBuf->io ()
  Frees the memory allocated for a `uv_buf_t`'s `base` field.

Totality: total
Visibility: export
copyToBuffer : HasIOio=>PtrBits8->Buffer->Bits32->io ()
  Copy the given number of bytes from a byte array to an Idris-managed
buffer.

Totality: total
Visibility: export
copyBufToBuffer : HasIOio=>PtrBuf->Buffer->Bits32->io ()
  Copy the given number of bytes from a byte array to an Idris-managed
buffer.

Totality: total
Visibility: export
copyFromBuffer : HasIOio=>Buffer->Bits32->Bits32->io (PtrBits8)
  Copy the given number of bytes an Idris-managed
buffer to a `Ptr Char`

Totality: total
Visibility: export
diff --git a/docs/uv/docs/docs/System.UV.Raw.Stream.html b/docs/uv/docs/docs/System.UV.Raw.Stream.html index 2c26f66c7..329631b96 100644 --- a/docs/uv/docs/docs/System.UV.Raw.Stream.html +++ b/docs/uv/docs/docs/System.UV.Raw.Stream.html @@ -61,4 +61,4 @@ -

System.UV.Raw.Stream

(source)

Definitions

recordAllocCB : Type
Totality: total
Visibility: export
Constructor: 
AC : AnyPtr->AllocCB

Projection: 
.ptr : AllocCB->AnyPtr

Hint: 
ResourceAllocCB
allocCB : HasIOio=> (PtrHandle->Bits32->PtrBuf->IO ()) ->ioAllocCB
Totality: total
Visibility: export
sizedAlloc : HasIOio=>Bits32->ioAllocCB
Totality: total
Visibility: export
defaultAlloc : HasIOio=>ioAllocCB
Totality: total
Visibility: export
freeAllocCB : HasIOio=>AllocCB->io ()
Totality: total
Visibility: export
uv_shutdown : HasIOio=>Ptrt-> {auto0_ : PCasttStream} -> (PtrShutdown->Int32->IO ()) ->ioInt32
  Shutdown the outgoing (write) side of a duplex stream.
It waits for pending write requests to complete. The handle should
refer to a initialized stream.
The cb is called after shutdown is complete.

Totality: total
Visibility: export
uv_listen : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->Int32-> (PtrStream->Int32->IO ()) ->ioInt32
  Start listening for incoming connections.
backlog indicates the number of connections the kernel might queue,
same as listen(2). When a new incoming connection is received
the uv_connection_cb callback is called.

Totality: total
Visibility: export
uv_accept : HasIOio=>Ptrs->Ptrt-> {auto0_ : PCastsStream} -> {auto0_ : PCasttStream} ->ioInt32
Totality: total
Visibility: export
uv_read_start : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->AllocCB-> (PtrStream->Int32->PtrBuf->IO ()) ->ioInt32
  Read data from an incoming stream.
The `readCB` callback will be made several times until there is
no more data to read or `readstop` is called.

Totality: total
Visibility: export
uv_read_stop : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->io ()
  Stop reading data from the stream. The uv_read_cb callback will no longer
be called.

This function is idempotent and may be safely called on a stopped stream.

This function will always succeed; hence, checking its return value
is unnecessary. A non-zero return indicates that finishing releasing
resources may be pending on the next input event on that TTY on Windows,
and does not indicate failure.

Totality: total
Visibility: export
uv_write : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->PtrBits8->Bits32-> (PtrWrite->Int32->IO ()) ->ioInt32
  Write data to stream. Buffers are written in order. Example:

Totality: total
Visibility: export
uv_is_readable : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->ioBool
Totality: total
Visibility: export
uv_is_writable : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->ioBool
Totality: total
Visibility: export
uv_stream_set_blocking : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->Bool->ioInt32
Totality: total
Visibility: export
uv_get_write_queue_size : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->ioBits32
Totality: total
Visibility: export
+

System.UV.Raw.Stream

(source)

Definitions

recordAllocCB : Type
Totality: total
Visibility: export
Constructor: 
AC : AnyPtr->AllocCB

Projection: 
.ptr : AllocCB->AnyPtr

Hint: 
ResourceAllocCB
allocCB : HasIOio=> (PtrHandle->Bits32->PtrBuf->IO ()) ->ioAllocCB
Totality: total
Visibility: export
sizedAlloc : HasIOio=>Bits32->ioAllocCB
Totality: total
Visibility: export
defaultAlloc : HasIOio=>ioAllocCB
Totality: total
Visibility: export
freeAllocCB : HasIOio=>AllocCB->io ()
Totality: total
Visibility: export
uv_shutdown : HasIOio=>Ptrt-> {auto0_ : PCasttStream} -> (PtrShutdown->Int32->IO ()) ->ioInt32
  Shutdown the outgoing (write) side of a duplex stream.
It waits for pending write requests to complete. The handle should
refer to a initialized stream.
The cb is called after shutdown is complete.

Totality: total
Visibility: export
uv_listen : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->Int32-> (PtrStream->Int32->IO ()) ->ioInt32
  Start listening for incoming connections.
backlog indicates the number of connections the kernel might queue,
same as listen(2). When a new incoming connection is received
the uv_connection_cb callback is called.

Totality: total
Visibility: export
uv_accept : HasIOio=>Ptrs->Ptrt-> {auto0_ : PCastsStream} -> {auto0_ : PCasttStream} ->ioInt32
Totality: total
Visibility: export
uv_read_start : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->AllocCB-> (PtrStream->Int32->PtrBuf->IO ()) ->ioInt32
  Read data from an incoming stream.
The `readCB` callback will be made several times until there is
no more data to read or `readstop` is called.

Totality: total
Visibility: export
uv_read_stop : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->io ()
  Stop reading data from the stream. The uv_read_cb callback will no longer
be called.

This function is idempotent and may be safely called on a stopped stream.

This function will always succeed; hence, checking its return value
is unnecessary. A non-zero return indicates that finishing releasing
resources may be pending on the next input event on that TTY on Windows,
and does not indicate failure.

Totality: total
Visibility: export
uv_write : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->PtrBits8->Bits32-> (PtrWrite->Int32->IO ()) ->ioInt32
  Write data to stream. Buffers are written in order. Example:

Totality: total
Visibility: export
uv_is_readable : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->ioBool
Totality: total
Visibility: export
uv_is_writable : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->ioBool
Totality: total
Visibility: export
uv_stream_set_blocking : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->Bool->ioInt32
Totality: total
Visibility: export
uv_get_write_queue_size : HasIOio=>Ptrt-> {auto0_ : PCasttStream} ->ioBits32
Totality: total
Visibility: export
diff --git a/docs/uv/docs/docs/System.UV.Stream.html b/docs/uv/docs/docs/System.UV.Stream.html index 4f6ba4eae..194076978 100644 --- a/docs/uv/docs/docs/System.UV.Stream.html +++ b/docs/uv/docs/docs/System.UV.Stream.html @@ -61,4 +61,4 @@ -

System.UV.Stream

(source)

Definitions

dataReadRes : Type->Type
Totality: total
Visibility: public export
Constructors:
Done : ReadResa
Data : a->ReadResa
Err : UVError->ReadResa

Hints:
ApplicativeReadRes
FunctorReadRes
MonadReadRes
dataReadResT : (Type->Type) ->Type->Type
Totality: total
Visibility: public export
Constructor: 
MkReadResT : m (ReadResa) ->ReadResTma

Hints:
Applicativem=>Applicative (ReadResTm)
Functorm=>Functor (ReadResTm)
HasIOm=>HasIO (ReadResTm)
Monadm=>Monad (ReadResTm)
MonadTransReadResT
runReadResT : ReadResTma->m (ReadResa)
Totality: total
Visibility: export
shutdownStream : UVLoop=> {auto0_ : PCasttStream} ->Ptrt->Async [] ()
Totality: total
Visibility: export
read : UVLoop=>HasUVErrores=>AllocCB->Ptrt-> {auto0_ : PCasttStream} -> (Buffer (ReadResByteString) ->Asyncesa) ->Asyncesa
Totality: total
Visibility: export
write : UVLoop=>HasUVErrores=>Ptrt-> {auto0_ : PCasttStream} ->ByteString->Asynces ()
Totality: total
Visibility: export
listen : UVLoop=>HasUVErrores=>Ptrt-> {auto0_ : PCasttStream} -> (Buffer (EitherUVError (PtrStream)) ->Asyncesa) ->Asyncesa
Totality: total
Visibility: export
+

System.UV.Stream

(source)

Definitions

dataReadRes : Type->Type
Totality: total
Visibility: public export
Constructors:
Done : ReadResa
Data : a->ReadResa
Err : UVError->ReadResa

Hints:
ApplicativeReadRes
FunctorReadRes
MonadReadRes
dataReadResT : (Type->Type) ->Type->Type
Totality: total
Visibility: public export
Constructor: 
MkReadResT : m (ReadResa) ->ReadResTma

Hints:
Applicativem=>Applicative (ReadResTm)
Functorm=>Functor (ReadResTm)
HasIOm=>HasIO (ReadResTm)
Monadm=>Monad (ReadResTm)
MonadTransReadResT
runReadResT : ReadResTma->m (ReadResa)
Totality: total
Visibility: export
shutdownStream : UVLoop=> {auto0_ : PCasttStream} ->Ptrt->Async [] ()
Totality: total
Visibility: export
read : UVLoop=>HasUVErrores=>AllocCB->Ptrt-> {auto0_ : PCasttStream} -> (Buffer (ReadResByteString) ->Asyncesa) ->Asyncesa
Totality: total
Visibility: export
write : UVLoop=>HasUVErrores=>Ptrt-> {auto0_ : PCasttStream} ->ByteString->Asynces ()
Totality: total
Visibility: export
listen : UVLoop=>HasUVErrores=>Ptrt-> {auto0_ : PCasttStream} -> (Buffer (EitherUVError (PtrStream)) ->Asyncesa) ->Asyncesa
Totality: total
Visibility: export