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

SCM Repository

[smlnj] Diff of /dev-notes/primop-list.md
ViewVC logotype

Diff of /dev-notes/primop-list.md

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 4879, Tue Oct 9 19:24:33 2018 UTC revision 4880, Tue Oct 9 19:37:53 2018 UTC
# Line 46  Line 46 
46    * "`bvec`" -- bytevector (used for strings and vectors of `Word8.word`)    * "`bvec`" -- bytevector (used for strings and vectors of `Word8.word`)
47    * "`arr`" -- polymorphic arrays    * "`arr`" -- polymorphic arrays
48    * "`vec`" -- polymorphic vectors    * "`vec`" -- polymorphic vectors
49      * "`seq`" -- sequence types (arrays and vectors)
50    
51  We use the attribute "`raw`" to denote direct machine operations that are not  We use the attribute "`raw`" to denote direct machine operations that are not
52  directly accesible in the Basis Library (*e.g.*, shift operations, where the basis  directly accesible in the Basis Library (*e.g.*, shift operations, where the basis
# Line 165  Line 166 
166    * `identity : 'a -> 'a`<br/>    * `identity : 'a -> 'a`<br/>
167      `P.INLIDENTITY`      `P.INLIDENTITY`
168    
   * `length : 'a -> int`<br/>  
     `P.LENGTH`  
   
169    * `objlength : 'a -> int`<br/>    * `objlength : 'a -> int`<br/>
170        extracts the length field from an object's header word.
171      `P.OBJLENGTH`      `P.OBJLENGTH`
172    
173    * `bool_not : bool -> bool`<br/>    * `bool_not : bool -> bool`<br/>
# Line 240  Line 239 
239    
240    
241  #### Sequence operations  #### Sequence operations
242    Sequence values (*e.g.*, `string`, `'a array`, `RealVector.vector`, *etc*.)
243    are represented by a header consisting of a length (in elements) and a data
244    pointer to the raw sequence data.
245    
246    * `newArray0 : unit -> 'a`<br/>    * `newArray0 : unit -> 'a`<br/>
247      `P.NEW_ARRAY0`      `P.NEW_ARRAY0`
248    
249    * `seq_get_data : 'a -> 'b`<br/>    * `seq_length : 'a -> int`<br/>
250        get the length field from a sequence header
251        `P.LENGTH`
252    
253      * `seq_data : 'a -> 'b`<br/>
254        get the length field from a sequence header
255      `P.GET_SEQ_DATA`      `P.GET_SEQ_DATA`
256    
257    * `unsafe_record_sub : 'a * int -> 'b`<br/>    * `unsafe_record_sub : 'a * int -> 'b`<br/>

Legend:
Removed from v.4879  
changed lines
  Added in v.4880

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