Commit Graph

45 Commits

Author SHA1 Message Date
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
Robbie Gleichman
30a0ab87d2 Fix recursive functions. 2016-02-08 21:54:23 -08:00
Robbie Gleichman
d08c9733ad Rudimentry function translation. 2016-02-07 18:01:57 -08:00
Robbie Gleichman
6f6bca90a0 Handle parentheses. Test multiple declarations. 2016-02-05 22:39:05 -08:00
Robbie Gleichman
6cda91bbb1 Use State monad for unique ids. 2016-02-05 21:07:06 -08:00
Robbie Gleichman
009f7b0b30 Add NameAndPort data type. Translate works with simple functions. 2016-02-04 21:53:21 -08:00
Robbie Gleichman
d3b38bb491 Upgrade to LTS-5.0, start on using haskell-src-exts to generate drawings from text. 2016-02-04 00:19:08 -08:00