Commit Graph

52 Commits

Author SHA1 Message Date
Robbie Gleichman
2460a3f472 Embed lambdas as arguments. Make apply and lambda argumenet/parameter boxes transparent to make line crossings look better. 2019-08-06 02:33:01 -07:00
Robbie Gleichman
164d837a10 Change emEmbedded in Embedder from a list to a Set. 2019-07-25 00:45:20 -07:00
Robbie Gleichman
91b4a6545a Change addChildrenToNodeLabel to addChildToNodeLabel. 2019-07-25 00:25:39 -07:00
Robbie Gleichman
6e04814723 Use Embedder for case and multi-if. 2019-07-19 00:35:31 -07:00
Robbie Gleichman
b1fad71a0c Wrap all SyntaxNodes in an Embedder type which has the names of that node's embedded nodes. 2019-07-18 02:40:09 -07:00
Robbie Gleichman
e2fbf955db Fix GraphAlgorithms to enable lambdas to embed. 2019-06-29 16:04:44 -07:00
Robbie Gleichman
b63cdef55e Replace NamedIcons with NodeNames in some Icon constructors. 2019-06-28 23:10:20 -07:00
Robbie Gleichman
c1e1682b1d Undo embed literal lambda bodies since collapseAnnotatedGraph is buggy. 2019-06-16 13:02:42 -07:00
Robbie Gleichman
11fbdfebd8 Embed literal lambda bodies. 2019-05-10 23:10:57 -07:00
Robbie Gleichman
2ddb5c8a09 Make constants for input and result port numbers. 2019-03-28 23:50:07 -07:00
Robbie Gleichman
2d74cb2fd1 Embed lambda nodes in apply parents. 2019-03-12 22:43:58 -07:00
Robbie Gleichman
96be8aa835 Simplify and rename SyntaxNodes. 2019-02-25 01:48:17 -08:00
Robbie Gleichman
21e0091743 Refactor GraphAlgorithms.hs. 2019-02-19 03:21:13 -08:00
Robbie Gleichman
54ed0dda18 Rename guard to multiIf. 2019-01-12 00:55:13 -08:00
Robbie Gleichman
9380cb6ea2 Improve formatting of GraphAlgorithms.hs and Types.hs. 2018-11-12 00:21:50 -08:00
Robbie Gleichman
4b99c862a7 Update stackage. Replace (NodeName, Icon) with NamedIcon. 2018-10-28 00:25:31 -07:00
Robbie Gleichman
e0554fb819 Move functions out of Types.hs. 2016-12-27 15:14:01 -08:00
Robbie Gleichman
f2f54d9c3b Turn SgNamedNode into a data type. 2016-12-27 01:32:51 -08:00
Robbie Gleichman
e876c6c401 Don't allow guards to embed PApps. 2016-12-25 17:24:26 -08:00
Robbie Gleichman
d7eb3749d9 Make the args of pattern apply nodes vertical to make embedding cases nicer. 2016-12-25 17:08:11 -08:00
Robbie Gleichman
4ca53c58c4 Allow case icon to embed apply and pattern apply icons. 2016-12-24 14:46:53 -08:00
Robbie Gleichman
d2bfde4c51 Refactor parentIsOnlyEdge. 2016-12-24 02:13:28 -08:00
Robbie Gleichman
e1af41b9bf Fix edge direction from case result to the optional case result port on the case node. 2016-12-24 02:02:59 -08:00
Robbie Gleichman
9523dcd609 Case and guard icons can now embed literals. 2016-12-19 20:27:31 -08:00
Robbie Gleichman
eccfe0cd9b Reduce warnings. 2016-12-08 21:45:33 -08:00
Robbie Gleichman
63a5213ca4 Compose nested node. 2016-12-08 21:38:43 -08:00
Robbie Gleichman
d0457df8c8 Fix findParentThatWillEmbed in GraphAlgorithms. 2016-12-08 19:52:38 -08:00
Robbie Gleichman
1150fbb63a Add flat compose icon. 2016-12-08 19:19:47 -08:00
Robbie Gleichman
49bad57e2c Remove pattern embedding from GraphAlgorithms. 2016-12-05 17:24:03 -08:00
Robbie Gleichman
9fd08c7432 Add test for improper pattern nesting. 2016-12-05 17:14:54 -08:00
Robbie Gleichman
0b81421971 Allow literals to be embedded in pattern apply. 2016-12-01 22:32:12 -08:00
Robbie Gleichman
860e00a724 Fix edge transfer for embedded pattern apply. 2016-11-27 18:07:14 -08:00
Robbie Gleichman
02446b5b15 Reduce GHC warnings. 2016-11-27 17:25:30 -08:00
Robbie Gleichman
d617914139 Hlint suggestions. 2016-11-27 15:44:43 -08:00
Robbie Gleichman
0156f2af1d Refactor GraphAlgorithms. Child edge transfer for embedded pattern apply still needs to be fixed. 2016-11-27 14:41:07 -08:00
Robbie Gleichman
15fc06a260 Progress towards embedding pattern apply. 2016-11-27 12:51:56 -08:00
Robbie Gleichman
533392f3c1 Fix bind names not having special colors by adding BindNameNode. 2016-11-26 13:46:05 -08:00
Robbie Gleichman
dd821cbb47 Fix bug in GraphAlgorithms where a node counted as its own parent. 2016-11-21 21:51:35 -08:00
Robbie Gleichman
9c61368bd2 Allow a node with 2 or more parents that can embed to be a root node. 2016-11-21 20:54:46 -08:00
Robbie Gleichman
64acccfcd5 Fix bug in GraphAlgorithms where the wrong graph was being used. This caused a non-child to be identified as a child. 2016-11-21 20:46:29 -08:00
Robbie Gleichman
4dafd8ea7e Use the new collapseNodes algorithm when rendering. Still need to do embedding for patterns. 2016-11-21 19:18:08 -08:00
Robbie Gleichman
fc15c5a58b Rename the SyntaxGraph in GraphAlgorithms to IngSyntaxGraph. 2016-11-20 15:47:40 -08:00
Robbie Gleichman
b395dfb428 Delete embedded children. TODO: Transfer the childrens' edges. 2016-11-19 22:17:40 -08:00
Robbie Gleichman
12d28b4b07 Add embedChildSyntaxNodes for ApplyNodes. 2016-11-19 14:45:16 -08:00
Robbie Gleichman
45b7bb3268 Add unit test for childCanBeEmbedded. Make NameNodes not embeddable. 2016-11-18 15:14:41 -08:00
Robbie Gleichman
b36ffd400a Add unit tests for findTreeRoots. Fix findTreeRoots. Improve renderFglGraph. 2016-11-17 15:56:10 -08:00
Robbie Gleichman
2788bdf4f2 Fill out findChildrenToEmbed in GraphAlgorithms. 2016-11-16 14:08:37 -08:00
Robbie Gleichman
a2e7154afc Add types for helper functions in GraphAlgorithms. 2016-11-16 13:22:01 -08:00
Robbie Gleichman
03fe52c155 Transfer more pseudocode from graph_algs to GraphAlgorithms. 2016-11-15 15:19:05 -08:00
Robbie Gleichman
ea40294b93 Converting some of the pseudocode for collapseNodes in graph_algs.txt to code in GraphAlgorithms.hs. 2016-11-14 13:36:37 -08:00