Commit Graph

85 Commits

Author SHA1 Message Date
Robbie Gleichman
91cacefb3d The main program now takes the input Haskell filename as a command line argument. 2016-05-15 22:02:17 -07:00
Robbie Gleichman
242aa8225d Move render tests from app/Main.hs to test/AllTests.hs 2016-05-11 23:08:18 -07:00
Robbie Gleichman
973674054e Remove (&) and (#), add tests. 2016-05-09 23:45:37 -07:00
Robbie Gleichman
5f958e07f2 Nested Apply Icon. 2016-04-05 22:19:05 -07:00
Robbie Gleichman
287b477d1b Simplify types. 2016-03-27 16:49:58 -07:00
Robbie Gleichman
f331e8dca8 Change icon transformation to make it more composable. 2016-03-27 14:17:50 -07:00
Robbie Gleichman
299886c450 Give top level bind text boxes special colors. 2016-03-22 22:15:29 -07:00
Robbie Gleichman
cede5c645c Give pattern application icons their own color. 2016-03-21 21:37:19 -07:00
Robbie Gleichman
cab82b66dd Keep text upright. 2016-03-21 21:14:41 -07:00
Robbie Gleichman
c3bdc52b38 Apply0 -> ApplyA. Fix error with match to case translation. 2016-03-21 15:42:32 -07:00
Robbie Gleichman
ceb361f693 Lambdas now use a simple icon, not nested Drawings. 2016-03-21 02:00:04 -07:00
Robbie Gleichman
5818f286e6 Add NegExp, List patterns, changes for bootstrapping. 2016-03-05 22:26:03 -08:00
Robbie Gleichman
1de078336e Do translation. 2016-03-05 18:01:35 -08:00
Robbie Gleichman
2d7833abbf Handle all cases in EvalQName. 2016-03-05 00:12:55 -08:00
Robbie Gleichman
582140eff3 Translate list constructor. 2016-03-04 23:49:48 -08:00
Robbie Gleichman
3be7edd2b4 Add more than one comma to tuple string where appropriate. 2016-03-04 19:00:45 -08:00
Robbie Gleichman
73ad26168a Add enums 2016-03-04 18:49:02 -08:00
Robbie Gleichman
f886a945e5 As patterns translated. 2016-03-04 13:24:09 -08:00
Robbie Gleichman
ea99c9bfe4 Extract types and functions that do not use Language.Haskell.Exts into TranslateCore. 2016-02-26 22:58:49 -08:00
Robbie Gleichman
8817c7712b Dont' tuple and untuple when there is only one pattern. 2016-02-26 15:58:50 -08:00
Robbie Gleichman
b2a9427e57 Give edges in patterns a special color. 2016-02-25 18:37:04 -08:00
Robbie Gleichman
ce31dfa29a Case and guard icon changes. 2016-02-25 17:10:12 -08:00
Robbie Gleichman
f33908ffdf Remove spurious apply icon for unary patterns. 2016-02-24 15:10:06 -08:00
Robbie Gleichman
9e146a8cfb Convert matches to case. 2016-02-24 14:46:49 -08:00
Robbie Gleichman
ec0a5c0843 Tuples 2016-02-23 23:14:00 -08:00
Robbie Gleichman
c4d0832ad0 Case translation. 2016-02-23 20:47:08 -08:00
Robbie Gleichman
29384a1e6c Comma 2016-02-22 22:03:21 -08:00
Robbie Gleichman
7fee403b80 Refactor evalLambda to share code with evalMatch. 2016-02-22 22:01:03 -08:00
Robbie Gleichman
eed23189f2 New evalMatch handles complex patterns. 2016-02-22 16:13:53 -08:00
Robbie Gleichman
dddb45ebb9 Complex patterns work for pattern bind. 2016-02-22 13:26:47 -08:00
Robbie Gleichman
8762a6a584 EvalPattern returns a GraphAndRef in preperation for complex patterns. 2016-02-21 20:26:12 -08:00
Robbie Gleichman
133bb74e0a Where bindings work. 2016-02-21 19:34:33 -08:00
Robbie Gleichman
ef9ad167cd Let expressions work. 2016-02-21 15:15:16 -08:00
Robbie Gleichman
3846945e28 Add edges for recursive usage of pattern binds. 2016-02-21 00:57:08 -08:00
Robbie Gleichman
b164ce54f0 Cycles in references now ignored instead of causing an infinite loop. 2016-02-21 00:38:06 -08:00
Robbie Gleichman
d31eb5e880 Let: Edges inside the binds. 2016-02-20 23:34:48 -08:00
Robbie Gleichman
6142910b5b Let: Edges for rhs graph. 2016-02-20 23:07:46 -08:00
Robbie Gleichman
009635478a Move code that draws bindings to the outermost function. 2016-02-20 21:26:25 -08:00
Robbie Gleichman
af447244e6 Starting on let. 2016-02-20 18:47:56 -08:00
Robbie Gleichman
0ef4083503 Added more literals. 2016-02-19 13:46:14 -08:00
Robbie Gleichman
780609896a Add Guard translation. 2016-02-18 22:51:16 -08:00
Robbie Gleichman
d226de5a72 Infix operator function application. 2016-02-18 22:07:38 -08:00
Robbie Gleichman
694f73650a Evaluate Int literals. 2016-02-18 20:34:08 -08:00
Robbie Gleichman
c69fbbfaef Add If expressions. 2016-02-17 23:14:14 -08:00
Robbie Gleichman
a62d2dde3d Fix no edges for boundVars inside lambdas inside lambdas. 2016-02-17 17:31:11 -08:00
Robbie Gleichman
cf7e47e1e5 Initial evalLambda implementation. 2016-02-17 15:36:57 -08:00
Robbie Gleichman
8006a97721 Fix arrow border width. 2016-02-10 00:46:44 -08:00
Robbie Gleichman
43c918300e Fix diagram naming and qualification. Remove Apply0Icon. 2016-02-09 23:50:38 -08:00
Robbie Gleichman
7ff9aed036 Translate identity function. 2016-02-09 22:29:07 -08:00
Robbie Gleichman
d213bf4215 Translate now uses Apply0N 2016-02-09 18:58:28 -08:00