Commit Graph

80 Commits

Author SHA1 Message Date
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
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
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
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
Robbie Gleichman
3a34c26cdc Changes suggested by -Wall 2016-01-26 15:29:02 -08:00
Robbie Gleichman
e8c0910fb2 Better point unwrapping. 2016-01-26 13:24:10 -08:00
Robbie Gleichman
b04b21b29d Cleanup and add comments. 2016-01-23 14:47:02 -08:00
Robbie Gleichman
5e34428b50 Remove the backend as an import for all files except Main.hs. Add type signitures. 2016-01-22 19:42:15 -08:00
Robbie Gleichman
041032dc94 Add Util.hs 2016-01-22 18:29:46 -08:00
Robbie Gleichman
fc59d7c82a Merge branch 'master' of github.com:rgleichman/glance 2016-01-22 18:29:05 -08:00
Robbie Gleichman
cc058bb321 Move toNames and Edge constructors to Util.hs. 2016-01-22 18:28:55 -08:00
Robbie Gleichman
4439a9820c Update status image commit 2016-01-22 18:10:31 -08:00
Robbie Gleichman
77761e9611 Add argument dots to Apply0N. Add a fact2 example that uses the apply argument to distrubute the factorial function argument. 2016-01-22 18:08:53 -08:00
Robbie Gleichman
3c105a7a89 Fix arrow heads and tails. 2016-01-22 17:06:42 -08:00
Robbie Gleichman
f90b39ea6a Update status image commit 2016-01-22 01:40:02 -08:00