X-Git-Url: http://git.annexia.org/?a=blobdiff_plain;f=TODO;h=a3c5981fbbbf7a6f11a4f8d67041c8be49a506a9;hb=9c50223e129d33742f2d172edff5761f8b4b8195;hp=ecb06207a550c54d12732e10c48ddf0025f34748;hpb=e87f0879fef8e32e7ae7f7103f420c1612f3863f;p=ocaml-bitstring.git diff --git a/TODO b/TODO index ecb0620..a3c5981 100644 --- a/TODO +++ b/TODO @@ -1,4 +1,4 @@ -$Id: TODO,v 1.5 2008-05-07 14:37:00 rjones Exp $ +$Id$ Major to-do items. (1) DONE - In bitmatch operator, use patterns not expressions. @@ -9,7 +9,7 @@ Major to-do items. (4) Provide UInt32 and UInt64 types. -(5) Allow for specific offsets and alignment. Something like this: +(5) DONE - Allow for specific offsets and alignment. Something like this: { start : 16; another : 16 : offset(256); (* location would be 256 bits from start *) @@ -33,26 +33,34 @@ Major to-do items. Make the error locations fine-grained, particularly so they point to individual fields, not the whole match. -(10) Cross-module, persistent, named patterns, see: +(10) DONE - Cross-module, persistent, named patterns, see: http://caml.inria.fr/pub/ml-archives/caml-list/2008/04/25992c9c9fa999fe1d35d961dd9917a2.en.html -(11) Runtime endiannness expressions. The suggested syntax is: +(11) DONE - + Runtime endiannness expressions. The suggested syntax is: - { field : len : endianness(expr) } + { field : len : endian (expr) } - where expr would evaluate to something like `BigEndian or - `LittleEndian. + where expr would evaluate to something like BigEndian or + LittleEndian. There are several protocols around where endianness is only determined at runtime, examples are libpcap and TIFF. -(12) More constant field lengths. +(12) DONE - More constant field lengths. -(13) Implement native endian functions. +(13) PARTLY DONE - Implement native endian functions. -(14) A proper test suite. +(14) PARTLY DONE - A proper test suite. -(15) More examples: +(15) DONE - More examples: ELF binaries GIF images + +(16) We now know the offset of the current field relative to the + whole match. This may allow more efficient aligned versions + of functions to be called (at compile time). However do note + that the offset in the bitstring is usually not known. + +(17) Fix the META file. Current one is very broken.