README.Hets-DrIFT revision 0a139d5a923d7c07a9c0ecb10bb43c716a23f1cd
2a31bd531072824ef252c18303859d6af7451b00Francis DupontThese source files are adapted for the special purposes of Hets!
1fdd2470b625a58b57d0b155e6caf8c4fc0afe8aAutomatic Updater
2a31bd531072824ef252c18303859d6af7451b00Francis DupontFor the original or most recent sources, license, and authors see:
2a31bd531072824ef252c18303859d6af7451b00Francis Duponthttp://repetae.net/computer/haskell/DrIFT/
4a14ce5ba00ab7bc55c99ffdcf59c7a4ab902721Automatic Updater
2a31bd531072824ef252c18303859d6af7451b00Francis DupontSource files containing DrIFT directives have extension .der.hs and are
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontconverted to .hs files via the (GNU) make-rule:
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont%.hs: %.der.hs DrIFT
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont $(RM) $@
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont DrIFT $< > $@
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis DupontThe environment variable DERIVEPATH can be set to find sources in other paths.
2a31bd531072824ef252c18303859d6af7451b00Francis DupontImported modules that are not found are simply ignored.
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis DupontFor individual types example directives are:
8e821eea5f57ac47a94305aa7ab0c3570d92a311Automatic Updater
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont{-! for Common.Id.Pos derive : Typeable !-}
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont{-! for Common.Id.Range derive : Typeable !-}
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont{-! for Common.Id.Pos derive : ShATermConvertible !-}
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont{-! for Common.Id.Range derive : ShATermConvertible !-}
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis DupontInstances (for the class getRange) of all types of a file are created by the
922312472e2e05ebc64993d465999c5351b83036Automatic Updaterdirective:
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont{-! global: GetRange !-}
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont(Instances for the class Binary can also be created.)
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont
2a31bd531072824ef252c18303859d6af7451b00Francis DupontFurthermore the class ShATermLG (and BinaryLG) with an additional logic graph
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontargument when reading in (for some existential types) is supported. But the
2a31bd531072824ef252c18303859d6af7451b00Francis Dupontinstances created for existential types need to be corrected manually!
582f8b9a8d170a80ef67475bddb8ad5cf7cd7cadMark Andrews
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont(We don't use DrIFT in any other way.)
2a31bd531072824ef252c18303859d6af7451b00Francis Dupont