Todo revision 1987182fcaa48837e7b6a323e22cfb0cb57c667c
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedergeneral:
15c12a3ac049a4528da05b1017b78145f308aeb0Christian MaederpToken, oBraceT, etc. do not allow to be followed by (a line-comment)
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maederannotations. Call wrapAnnos if needed.
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maeder
adf0cd9e940150b6e835cc0ad1266cfbf9e011b3Christian Maederreport other uninspected annotations
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederhaddockify code
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
975642b989852fc24119c59cf40bc1af653608ffChristian Maederproper type terms as supertypes are reduced to subtypes of higher kind
975642b989852fc24119c59cf40bc1af653608ffChristian Maederand a type synonym for the subtype that (now) must not occur
975642b989852fc24119c59cf40bc1af653608ffChristian Maederelsewhere.
975642b989852fc24119c59cf40bc1af653608ffChristian Maeder
e12060f6b377b0783138431a3716126e12a6671eChristian MaederFour function- and (many) product type names are builtin in order to
975642b989852fc24119c59cf40bc1af653608ffChristian Maederconstruct type applications. The unit type is a separate type (and
975642b989852fc24119c59cf40bc1af653608ffChristian Maedernot the empty product).
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
111c54f59f3ecc9c19dbe84565dff8839a4c7b43Christian Maederclass names are not considered for mapping (Morphism.hs)
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
e12060f6b377b0783138431a3716126e12a6671eChristian Maederclass- and type names are kept disjoint
e12060f6b377b0783138431a3716126e12a6671eChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
0f67ca7b0c738a28f6688ba6e96d44d7c14af611Christian Maederdatatypes:
975642b989852fc24119c59cf40bc1af653608ffChristian Maeder
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian MaederData types result in special data type sentences that imply the usual
715ffaf874309df081d1e1cd8e05073fc1227729Christian Maederequations, only selector equations are generated (so
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian Maederthat they may become program equations)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian MaederOperations (constructors) in DatatypeDefns are not renamed (selectors
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian Maederare also not renamed in DatatypeSens, because they are not used)
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
67d010c0b09f8bf06c8fabbe2543f3c4742ff53cChristian Maeder
17448f712ed5116e6e6d2df84205cfdaae210620Christian Maedertypes:
87147fc0ce51105c46094830194fe3191d29ddfaChristian Maeder
e12060f6b377b0783138431a3716126e12a6671eChristian MaederMake sure that no supertypes are declared for type synonyms.
e12060f6b377b0783138431a3716126e12a6671eChristian Maeder
e12060f6b377b0783138431a3716126e12a6671eChristian MaederCyclic atomic supertypes are rejected.
e12060f6b377b0783138431a3716126e12a6671eChristian Maeder
e12060f6b377b0783138431a3716126e12a6671eChristian MaederImprove error messages for further (or repeated) non-atomic subtype
e12060f6b377b0783138431a3716126e12a6671eChristian Maederdeclarations for the same sybtype.
87147fc0ce51105c46094830194fe3191d29ddfaChristian Maeder
87147fc0ce51105c46094830194fe3191d29ddfaChristian MaederIn MinType the equality of terms and the overload relation of their
87147fc0ce51105c46094830194fe3191d29ddfaChristian Maedertypes is not properly computed!
17448f712ed5116e6e6d2df84205cfdaae210620Christian Maeder
17448f712ed5116e6e6d2df84205cfdaae210620Christian MaederThe supertype relation is not checked in isSubEnv and diffEnv
17448f712ed5116e6e6d2df84205cfdaae210620Christian Maeder(AsToLe).
72ef3f34973b651d6d23cac15eb1e6bd1f8a203eChristian Maeder
975642b989852fc24119c59cf40bc1af653608ffChristian Maedersentences need to be generated for subtype definitions!
72ef3f34973b651d6d23cac15eb1e6bd1f8a203eChristian Maeder
72ef3f34973b651d6d23cac15eb1e6bd1f8a203eChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
fc7df539e6d41b050161ed8f9ae6e444b1b5ab14Christian Maederterms:
975642b989852fc24119c59cf40bc1af653608ffChristian Maeder
f4d2adb22998bc523bfecc5295460d8b9fa6ea16Christian Maederthe order of types in instance lists is given by the order of the
f4d2adb22998bc523bfecc5295460d8b9fa6ea16Christian Maedervariables that needed to be declared before!
f4d2adb22998bc523bfecc5295460d8b9fa6ea16Christian Maeder
67d010c0b09f8bf06c8fabbe2543f3c4742ff53cChristian Maederpolymorphic (and constrained) let bindings are not supported
9c5b1136299d9052e4e995614a3a36a051a2682fChristian Maederyet.
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederchecking for a legal let-Pattern (a variable applied to arguments) for
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederexecutable terms (ProgEq.hs).
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederredeclarations of builtin identifiers are forbidden and ignored. Do
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maedernot allow to redeclare "__ __"!
07b72edb610ee53b4832d132e96b0a3d8423f8ebChristian Maeder
715ffaf874309df081d1e1cd8e05073fc1227729Christian Maederterms in sentences (from formulas) are not quantified
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederover global variables. (AsToLe.hs)
07b72edb610ee53b4832d132e96b0a3d8423f8ebChristian Maeder
aff01ee50b66032469c232e00c945d1fd4f57d1bChristian Maederexhaustive and overlapping patterns are not checked for several
aff01ee50b66032469c232e00c945d1fd4f57d1bChristian Maederprogram equations or case patterns. (Merge.hs?)
aff01ee50b66032469c232e00c945d1fd4f57d1bChristian Maeder
aff01ee50b66032469c232e00c945d1fd4f57d1bChristian MaederSentences for attributes comm, assoc, unit are not generated yet.
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederGenerate a sentence for OpDefns (the currently generated lambda terms
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maedercannot be read back in by CASL).
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
acc8b88d801c026a46da4e5ba34110c5384ac745Christian MaederMixAna only recognizes unknown variables and thus cannot check for shadowing
adf0cd9e940150b6e835cc0ad1266cfbf9e011b3Christian Maeder
d48085f765fca838c1d972d2123601997174583dChristian MaederUnify alone handles lazy types
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederThe removal of types for printing can be refined (propagated to the
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederarguments)
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederCurrently the output is ie. "even (0)" but "even 0" would be better if it
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maedermust not be CASL.
e12060f6b377b0783138431a3716126e12a6671eChristian Maeder
9d366b8f5c7972eeab315cb317feb8be264fad23Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederCASL:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederMaybe in CASL.Morphism.compose the target(m1) only needs to be a
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian Maedersubsignature of the source(m2) (as for HasCASL)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederHatchet/Haskell:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederconversion HsSyn and AHsSyn is stupid
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederAxiomBinds are not renamed
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederPrintModuleInfo is entirely faked and unusable for showing a Haskell
e12060f6b377b0783138431a3716126e12a6671eChristian Maedertheory that was directly read in (from a .het file with Haskell code in
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedercurly braces.)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
f504d268c5b5bd491c6c9d15cf74cf16ee3feb1fChristian Maederfor logic Hatchet static analysis is not executed because its result
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maederis unused (also parser error messages are poor)
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian MaederHaskell:
f504d268c5b5bd491c6c9d15cf74cf16ee3feb1fChristian Maederformulas are not translated to P-Logic Axioms
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian Maederclass and instance stuff is filtered out in Haskell/HatAna (as
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian Maederconflict with the prelude)
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederfree types with subtypes components get too few constructors (and
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian Maederbecome disjoint types, see HasCASL/Secd.het)
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian Maeder
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian MaederProgramatica's output of decorated modules is not legal haskell
0ed1d09c7b7cd6e26b869757509b78f03e140c6aChristian Maederwrt. inserted dictionaries
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederStatic/AnalysisLibrary:
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederduplicate code at "outputStdout" and "hasErrors"
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederugly "showDiags{,1}" at "IO (Maybe"
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederIsabelle/IsaSign:
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederonly use VName.new for the key in constTab by giving instance Eq/Ord
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederVName.
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maedercorrect showAlt, don't do it for HasCASL
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederProofs/EdgeUtils, Proofs/StatusUtils:
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederdelLEdge, removeContraryChanges uses expensive DGraph Eq
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederLogic/Logic:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedercomparing symbol sets with (symbol-) equality may be a problem
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederlegal_obj (Logic.hs) is currently unused
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedersignatures should be always legal by construction
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian Maeder
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian MaederDesign a comand line interface to trigger various outputs and
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian Maedertranslations (without daVinci!) to allow for profiling
f504d268c5b5bd491c6c9d15cf74cf16ee3feb1fChristian Maeder(started)
f504d268c5b5bd491c6c9d15cf74cf16ee3feb1fChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian MaederCommon/ATerm/AbstractSyntax:
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederadd Updateable and Readonly IntMaps for creating and using ATT
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maedertry to detect sharing earlier via addresses and an address map,
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maederadd a function to the class to avoid rewriting of all instances.
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maedertry show/read of ATT directly,
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maedermaybe write Binary instances for Grothendieck and DevGraph, too