you can always do: case (field1 record,field2 record, field3 record ...) of (pat1,pat2,pat3) -> _ -> Which lets you pattern match on fields independantly of their position in the record. Keean. David Roundy wrote:
On Wed, Nov 23, 2005 at 02:58:43PM +0100, Wolfgang Jeltsch wrote:
Am Mittwoch, 23. November 2005 14:22 schrieb David Roundy:
On Tue, Nov 22, 2005 at 02:32:47PM +0000, Rob Ennals wrote: [...]
7. Unordered records: yep (if I understand the problem correctly)
...
You can just omit the data constructors from the module's export list.
Yes, you can do that if you don't want to allow pattern matching. That's an acceptable solution for truly "exported" (i.e. opaque) data, but for internal data structures I would like to allow pattern matching without allowing positional matching (or constructing). Too many times I've had to go through the entire code adding an extra "_" to each pattern match, and each time there's a possibility you'll add it in the wrong spot. I could do this with coding guidelines, but I'd prefer to have the compiler enforce this.