Skip to content

Latest commit

 

History

History
79 lines (63 loc) · 1.77 KB

TODO.md

File metadata and controls

79 lines (63 loc) · 1.77 KB

TO-DO list

  • add monotype checker (or whatever)

  • translate c-- to llvm <-

  • change "Language" to "CMM"

  • rename Language.Parser.Utils to something more reasonable (renamed to Language.Parser.GetPos)

  • LRAnalysis

    • abstract out details about registering stuff
    • procedure arguments shouldn't be reported as uninitialized
    • split LRAnalysis into blockifying and flow analysis
  • Blockifier

    • refactor Blockifier
  • FlowAnalysis

    • make the errors/warnings cleaner
    • add "useless-write" warnings? (dead write)
    • errors/warnings should output to stderr
    • refactor FlowAnalysis
  • Move CMM.Pretty to CMM.AST.Pretty

  • Pretty types

  • Flattener

    • fallthrough should be made explicit
  • add haddock comments

    • CMM

      • AST
        • Annot
        • BlockAnnot
          • State
        • Blockifier
        • Flattener
        • GetName
        • Maps
        • Utils
        • Variables
      • Control
        • Applicative
      • FlowAnalysis
      • Inference
        • BuiltIn
        • Preprocess
          • State
        • State
        • Type
      • Lexer
      • Parser
        • GetPos
      • Pretty
      • Translator
        • State
      • Utils
    • ParserTest

    • QuasiQuotes

  • Inference preprocessing

    • check whether all subTypes and instTypes follow the correct order
    • check correctness
  • Inference

    • Type classes
      • MPTC
  • Type

    • check correctness of lambdize&forall -> removed
  • write unit tests

    • for binOp: precedence, associativity etc
  • change undefined to error s

  • draw a diagram for the architecture

    • draw a diagram for the overall pipeline