Todo revision 17448f712ed5116e6e6d2df84205cfdaae210620
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedergeneral:
15c12a3ac049a4528da05b1017b78145f308aeb0Christian MaederpToken, oBraceT, etc. do not allow to be followed by (a line-comment)
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maederannotations. Call wrapAnnos if needed.
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maeder
15c12a3ac049a4528da05b1017b78145f308aeb0Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederhaddockify code
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederchecking legality of internal and external terms is missing
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ec12df24146f3c81c7cf49c0ef1dcd82afe3b561Christian Maederproper type terms as supertypes are treated like type
ec12df24146f3c81c7cf49c0ef1dcd82afe3b561Christian Maedersynonyms. Function and product types are builtin. Subtypes relations
ec12df24146f3c81c7cf49c0ef1dcd82afe3b561Christian Maederof these builtin types and user defined types are problematic. The
ec12df24146f3c81c7cf49c0ef1dcd82afe3b561Christian Maederunit type is a separat type!
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maederclass names are not considered for mapping (Morphism.hs)
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederexhaustive and overlapping patterns are not checked for several
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederprogram equations or case patterns. (Merge.hs?)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian MaederSentences for attributes comm, assoc, unit are not generated yet.
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
0f67ca7b0c738a28f6688ba6e96d44d7c14af611Christian Maederdatatypes:
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:
6cca02cb6a5ae882d887a879f8b7a71941c3715cChristian MaederLazy typings are not handled yet. Make sure that no supertypes are
6cca02cb6a5ae882d887a879f8b7a71941c3715cChristian Maederdeclared for type synonyms. Cyclic atomic supertypes are not supported
6cca02cb6a5ae882d887a879f8b7a71941c3715cChristian Maederyet. In MinType the equality of terms and the overload relation of
17448f712ed5116e6e6d2df84205cfdaae210620Christian Maedertheir types is not properly computed!
17448f712ed5116e6e6d2df84205cfdaae210620Christian Maeder
17448f712ed5116e6e6d2df84205cfdaae210620Christian MaederThe supertype relation is not checked in isSubEnv and diffEnv
17448f712ed5116e6e6d2df84205cfdaae210620Christian Maeder(AsToLe).
72ef3f34973b651d6d23cac15eb1e6bd1f8a203eChristian Maeder
72ef3f34973b651d6d23cac15eb1e6bd1f8a203eChristian Maeder
72ef3f34973b651d6d23cac15eb1e6bd1f8a203eChristian Maeder
fc7df539e6d41b050161ed8f9ae6e444b1b5ab14Christian Maederterms:
67d010c0b09f8bf06c8fabbe2543f3c4742ff53cChristian Maederpolymorphic (and constrained) let bindings are not supported
67d010c0b09f8bf06c8fabbe2543f3c4742ff53cChristian Maederyet, because variables are monomorph
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederchecking for a legal let-Pattern (a variable applied to arguments) for
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederexecutable terms (ProgEq.hs).
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
dc2ce67f56f9d4507503cc2a24f2646c7f2adf6dChristian MaederOverloading is forbidden for builtin functions
dc2ce67f56f9d4507503cc2a24f2646c7f2adf6dChristian Maeder
07b72edb610ee53b4832d132e96b0a3d8423f8ebChristian Maedershorter printing of terms
07b72edb610ee53b4832d132e96b0a3d8423f8ebChristian Maeder
715ffaf874309df081d1e1cd8e05073fc1227729Christian Maederterms in sentences (from formulas) are not quantified
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian Maederover global variables
07b72edb610ee53b4832d132e96b0a3d8423f8ebChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ec12df24146f3c81c7cf49c0ef1dcd82afe3b561Christian MaederSymbols:
ec12df24146f3c81c7cf49c0ef1dcd82afe3b561Christian Maederraw symbol maps must be preprocessed to find matching symbols in
ec12df24146f3c81c7cf49c0ef1dcd82afe3b561Christian MaederSymbolMapAnalysis.directOpMap
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederCASL:
767287eeefa3e7bff66f3fa1604e8283886cd529Christian MaederOverload.hs should generate Applications for constants rather than
72ef3f34973b651d6d23cac15eb1e6bd1f8a203eChristian MaederVar_decls (partially implemented)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederconvert TERM to Mixfix_bracketed terms and use printText0 rather than
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaedershowTerm from ShowMixfix
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederMaybe funKind should be ignored as fun_map key for lookup. (Also the
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederFunKind value of the mapping seems to be redundant, as it could also
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederbe looked up in the target signature.)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian MaederMaybe the translated type should be stored as value rather than only
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maederthe funKind.
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
5e26bfc8d7b18cf3a3fa7b919b4450fb669f37a5Christian Maederid mappings should be represented by empty maps (as for HasCASL)
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
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
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedertheory that was directly read in (form a .het file and Haskell code in
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedercurly braces.)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maederfor logic Haskell static analysis is not executed because its result
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maederis unused (also parser error messages are poor)
ad97909f160c13effd3bc73155aaa2c29902a5a1Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederToHaskell:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederformulas are not translated to Hassle Axioms
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederfree types with subtypes components get too few constructors (and
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederbecome disjoint types)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederHetAna/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