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
c8f89667ecf606b24418e35bec8c66fe2a5704faChristian MaederHasCASL2IsabelleHOL:
15266581d6a1efcfdef46fdc5f585491595e5047Christian MaedertransTotalLambda went wrong in HasCASL/Functions.het
15266581d6a1efcfdef46fdc5f585491595e5047Christian Maederlet goes wrong in HasCASL/State.het.
c8f89667ecf606b24418e35bec8c66fe2a5704faChristian Maederif types of bound variables are printed,
15266581d6a1efcfdef46fdc5f585491595e5047Christian Maeder type variables are wrongly represented
15266581d6a1efcfdef46fdc5f585491595e5047Christian Maedergenerated and plain types lead to runtime errors!
15266581d6a1efcfdef46fdc5f585491595e5047Christian MaederGenerate an induction axiom and data type equations
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
1987182fcaa48837e7b6a323e22cfb0cb57c667cChristian Maeder