Wed Feb 6 04:28:54 PST 2002 olaf * Implemented labelled fields fully. Data type definition, use of labels as selectors, construction and update with fields are now handled by hat-trans. Because there is no appropriate structure in the Hat trace file format, construction is encoded as normal construction of a data constructor and update is encoded as a "case". The latter can lead to weird expressions in hat-trail (e.g. "f main |> case C True undefined undefined"; "f (case C True undefined) undefined" would be clearer). Field labels only appear as selector functions in the trace. Selection and update can cause runtime errors if a field label is not present. To allow a simpler transformation, these runtime errors are not caught. A general solution to runtime errors is needed anyway. M ./src/compiler98/Extra.hs +3 M ./src/compiler98/Syntax.hs +13 M ./src/compiler98/SyntaxPos.hs +4 M ./src/compiler98/TraceTrans.hs -28 +113 M ./src/hatlib/Hat.hs -1 +16 M ./src/hattrans/TraceTrans.hs -28 +113