1scratch-pad about Tcl-BLOB activities, speculations, ideas, etc. 2inofficial file. official todo-list is part of 'man.tex'. 3~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 4 5- uncut method ? -> unpack + cut of retrieved data 6 7 8 9pack/unpack with tcl-like syntax. 10 11* structure definitions should be objects too, 12 to avoid multiple compilation-overhead. 13 14* use internal separate interpreter to compile 15 structure definitions. 16 * safer, 17 * restricted to core and structure commands, 18 * avoids cluttering of global namespace 19 20* types: 21 * scalars 22 * integer (short, long, int) 23 * double 24 * float 25 * char 26 27 * fixed arrays 28 n-times <type> 29 30 * dynamic arrays 31 32 * structures 33 * union (not required, can be done via seek's) 34 35* movement: 36 * seek (start, end, current) 37 * align 38 * mark position, seek to mark 39 40* inquiries: current location 41 type sizes 42 43 44definition usages: 45 46* take data from array, keyed list, simple list (hierarchical) 47* place data in array, keyed list, simple list (hierarchical) 48 49 50 51 52 53 54- better: tcl specific format syntax 55 -> formats compilable into special tcl-objects !! 56 -> use such formats in pack / unpack 57 -> format object inquirable about: 58 59 number of required bytes (unpack) 60 number of generated bytes (pack) 61 62 number of generated values (unpack) 63 number of required arguments (pack) 64 65 reengeneerable into tcl-code (ascii representation) 66 67= format spec ? 68 contains: basic types 69 location specs 70 71 possibilities: 72 * type integrated 73 * separate command(s) /seek ? 74 75 - compilation done in separate interpreter! 76 (initialized as SAFE !) 77 78-- from BinarIO.README 79 set recfmt [list \ 80 {string 2 id} \ 81 {int 4 controlnum} \ 82 {string 30 name} ] 83 84 85 86 87 88-- more manipulation: shift/rotate byte/bit! 89 (useful in cryptography) 90 91\item Implement additional commands to retrieve various type sizes, 92 i.e. short, int, long, float, double. 93