1.4 KiB
Todo
Todo Now
- Consider adding binding variable names to the lambda icon and match icon. Don't display the name if it is only one character.
Todo Later
- Add documentation.
Testing todos
- Fix the arrowheads being too big for SyntaxGraph drawings.
Visual todos
-
Draw bounding boxes for lambdas (use dashed lines)
-
Make an icon font/library with labeled ports. E.g. the apply icon would have text labels "function", "result", "arg 0", "arg 1", etc.
-
Don't rotate text and nested icons, give them rectangular bounding boxes in GraphViz. (Perhaps use a typeclass for isRotateAble)
-
Give lines a black border to make line crossings easier to see.
-
Let lines connect to ports other than the original source
-
Use different line styles (e.g. dashed, solid, wavy) in addition to colors
-
Use diagrams to shrink the drawing until icons start overlapping.
Translate todos
-
Allow case and guard nodes to embed simple patterns and expressions.
-
Fix this test so that the line colors are correct. Consider connecting the t line to the origial rhs (3,4), not the pattern result. y = let {t@(,) = (3,4)} in t + 3
-
Fix applyComposeScore in Translate.hs not counting expressions that nest via reference. May need to move compose generation to after translate.
-
Fix test case x of {0 -> 1; y -> y}.
-
Add proper RecConstr, and RecUpdate support.
-
Special case for otherwise.