Todo revision ac98d93dea3218a8ed35e870fa8ff61d2a1c095c
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedergeneral:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederhaddockify code
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederadapt language summary (C.1.1, A-2, C-3 - C-8)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederchecking legality of internal and external terms is missing
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedersubtypes are treated like type synonyms
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederclass constraints are not checked in function applications
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
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederdatatyoes:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedersentences fo attributes comm, assoc, unit, definitions
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederare not generated yet. Data types result in special data type
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedersentences that imply the usual equations.
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederThe selector positions can not be reconstructed from the AltDefn
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder(Le.hs) entries, thus equations should be generated!
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederName mapping is not done for datatype sentences (Morphism.hs)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederterms:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedermutual recursive let-equations (and what not?) are not supported yet
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder(TypeCheck.hs)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederMaybe TypeCheck should generate new type variables for unknown
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedervariables (with type "MixfixType []") rather than MixAna
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder(extractBindings).
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedera wild card pattern (just "__" with lowest precedence?) is missing
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederas-patterns are only partially implemented
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederif-then-else is currently build in, but schould be user-definable.
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederAllow for "op if__then__else : ..." .
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederDisallow "=" and "<=>" after "op" to avoid overloading with builtin
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedernames (Builtin.hs) or check for the type when changing terms to
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederprogram equations (ProgEq.hs).
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederchecking for a legal let-Pattern (a variable applied to arguments) for
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederexecutable terms (ProgEq.hs).
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder"__ __" has highest precedence and ":" has (strong) postfix precedence
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder(adapt language summary C.2.1)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedermisc:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederhiding of sub- or supertypes is a problem, with respect to dependent
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederoperations. (SymbolMapAnalysis.hs, RelationsAndOrders.casl)
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedershorter printing of terms
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederCASL:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederOverload.hs should generated Applications for constants rather than
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederVar_decls
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederconvert TERM to Mixfix_bracketed terms and use printText0 rather than
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaedershowTerm from ShowMixfix
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederassoc ops are partial and may not be found via the fun_map of
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedermorphisms, but the morphism should also map this partial functions
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maedercorrectly, since morphisms should be applicable to subsignatures.
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
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maederid mappings should be represented by empty maps
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederMaybe in CASL.Morphism.compose the target(m1) only needs to be a
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maedersubsignature of the source(m2)
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
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
ac98d93dea3218a8ed35e870fa8ff61d2a1c095cChristian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian MaederToHaskell:
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederformulas are not translated to Hassle Axioms
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maeder
d34c258c4ee9eb153afab9b22728e9efc27279f7Christian Maederoverloaded names are not properly distinguished (Secd.het __+__)
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