-$Id: TODO,v 1.2 2008-04-25 11:08:43 rjones Exp $
+$Id$
Major to-do items.
-(1) In bitmatch operator, use patterns not expressions.
+(1) DONE - In bitmatch operator, use patterns not expressions.
-(2) Allow matching against strings.
+(2) DONE - Allow matching against strings.
(3) DONE - Change the syntax so { ... } surrounds match patterns.
(Q: Are these evaluated at compile time or at run time or selectable?)
(8) Named but unbound patterns to avoid "Warning Y: unused variable".
+
+(9) DONE -
+ Make the error locations fine-grained, particularly so they point to
+ individual fields, not the whole match.
+
+(10) Cross-module, persistent, named patterns, see:
+ http://caml.inria.fr/pub/ml-archives/caml-list/2008/04/25992c9c9fa999fe1d35d961dd9917a2.en.html
+
+(11) DONE -
+ Runtime endiannness expressions. The suggested syntax is:
+
+ { field : len : endian (expr) }
+
+ 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) DONE - More constant field lengths.
+
+(13) Implement native endian functions.
+
+(14) A proper test suite.
+
+(15) More examples:
+
+ ELF binaries
+ GIF images