Commit Graph

56 Commits

Author SHA1 Message Date
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
69bacafdbd Translate sections. 2016-03-04 21:35:23 -08:00
Robbie Gleichman
7b59edc49d Special case for $. 2016-03-04 20:03:36 -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
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
52e34df6b4 Fix app/Translate.hs so FunBind works. 2016-02-22 15:45: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
0fdba23963 Let progress. 2016-02-20 22:35:13 -08:00
Robbie Gleichman
009635478a Move code that draws bindings to the outermost function. 2016-02-20 21:26:25 -08:00
Robbie Gleichman
725c3fa7e8 Add extra field to IconGraph for bindings. 2016-02-20 20:15:40 -08:00
Robbie Gleichman
0a378b190c Change from Either String (IconGraph, NameAndPort) to (IconGraph, Either String NameAndPort) 2016-02-20 19:22:09 -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
99109bb57e Refactor evalApp 2016-02-18 15:03:31 -08:00
Robbie Gleichman
c69fbbfaef Add If expressions. 2016-02-17 23:14:14 -08:00
Robbie Gleichman
2af0dce236 Unique name in evalPatBind. 2016-02-17 21:18:12 -08:00
Robbie Gleichman
3dc5b18fa4 Unique names for evalMatch. 2016-02-17 20:59:43 -08:00
Robbie Gleichman
a12eb44eb3 Refactor evalMatch and evalLambda. 2016-02-17 18:51:03 -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
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
Robbie Gleichman
e374c7ab4e remove unnecassary line 2016-02-08 22:02:53 -08:00