add papers and notes

This commit is contained in:
Csaba Hruska 2017-08-28 15:44:50 +01:00
parent 1af7cb2b43
commit 08ed77cc5c
4 changed files with 45 additions and 0 deletions

20
Design.md Normal file
View File

@ -0,0 +1,20 @@
# Compiler goals
- keep mapping between source code and machine code
- debugging
- step by step execution
- breakpoints
- observe values/thunks/nodes at runtime
- collect statistics at runtime
- nice UI (reusing exisiting tools; js libs, etc)
# Other
- parallel compilation
- local and global optimizer
# Technology
- simple AST + shape functor + recursion-schemes
- simple name handling
- JIT backend as a library (e.g. monad transformer?)

25
TODO.md Normal file
View File

@ -0,0 +1,25 @@
# Todo ideas
- distinguish Val constuctors (LambdaPattern ConstansPattern SimpleValue Value)
- rename Val types to a more descriptive names; see above
- GRIN AST gen EDSL
- opt-parse-applicative for command line arguments for cli (grin)
- better name representation instead of strings
- generate unique names when branching (unique name A + branching direction = unique name B)
- efficient substitution
- bind normalisation
- type safer and easy to use AST
- add fetch item / indexed fetch (choose a good name)
- add simple frontend language with grin conversion
- generate apply
# JIT requirements
simplifaction transformations required by the codegen
- [ ] vectorisation
- [ ] case simplification
- [x] split fetch operation
- [ ] right hoist fetch operation
- [ ] register introduction

BIN
papers/The GRIN Project.pdf Normal file

Binary file not shown.

BIN
papers/boquist.pdf Normal file

Binary file not shown.