grin/TODO.md

33 lines
947 B
Markdown
Raw Normal View History

2017-08-28 17:44:50 +03:00
# Todo ideas
- distinguish Val constuctors (LambdaPattern ConstansPattern SimpleValue Value)
- rename Val types to a more descriptive names; see above
- GRIN AST gen EDSL
- better name representation instead of strings
- generate unique names when branching (unique name A + branching direction = unique name B)
- efficient substitution
- type safer and easy to use AST
2018-03-06 13:33:54 +03:00
- add simple frontend language with grin conversion (GHC/STG -> GRIN)
2017-08-28 17:44:50 +03:00
- generate apply
2018-02-17 13:57:16 +03:00
# CodeGen
- simplify/refactor LLVM codegen
2018-03-06 13:33:54 +03:00
- vectorisation = tagged union conversion (on branch: var-tag-node-is-tagged-union) ; better syntax for tagged union (parser + pretty printer)
- read back LLVM reduced result to Haskell data (including the heap)
# GRIN framework
- scoped type environment
- scoped names ; it would make inlining easy (the idea is similar to bound)
- HPT
- optimisiations
- type env
# HPT
- LLVM backend for HPT IR
- inline support
- sharing analysis