Rob Rix
|
68724970d0
|
Rename the test.
|
2017-04-06 14:13:09 -04:00 |
|
Rob Rix
|
ecdb6a1d59
|
Test that we can match a comment.
|
2017-04-06 13:36:54 -04:00 |
|
Rob Rix
|
049df31589
|
Define Show1 instances for most of the syntax types.
|
2017-04-06 13:36:43 -04:00 |
|
Rob Rix
|
8dd1745c56
|
Define (incorrect) GShow1 instances for constructors and selectors.
|
2017-04-06 13:34:57 -04:00 |
|
Rob Rix
|
c62bbc17b1
|
Define GShow1 lifted over compositions.
|
2017-04-06 11:52:08 -04:00 |
|
Rob Rix
|
4fe7be91c5
|
Define GShow1 lifted over products.
|
2017-04-06 11:52:00 -04:00 |
|
Rob Rix
|
ea3649ea79
|
Define GShow1 lifted over sums.
|
2017-04-06 11:49:51 -04:00 |
|
Rob Rix
|
2996bd8561
|
Define a bunch of obvious GShow1 instances for generic representation types.
|
2017-04-06 11:48:50 -04:00 |
|
Rob Rix
|
bcfd99afde
|
Define a few GShow1 instances for types with Show1 instances.
|
2017-04-06 11:43:18 -04:00 |
|
Rob Rix
|
d9abc56818
|
Define generic implementations for Show1.
|
2017-04-06 11:43:01 -04:00 |
|
Rob Rix
|
467c808616
|
Define a GShow1 typeclass.
|
2017-04-06 11:42:47 -04:00 |
|
Rob Rix
|
ebb97d8a75
|
Stub in a module for a generic Show1.
|
2017-04-06 11:34:50 -04:00 |
|
Rob Rix
|
904b32092a
|
Define a Show1 instance for Union.
|
2017-04-06 11:33:23 -04:00 |
|
Rob Rix
|
368a8a498d
|
Define Generic1 & Eq1 instances for declarations.
|
2017-04-06 11:29:56 -04:00 |
|
Rob Rix
|
ae2b122b85
|
Define Generic1 & Eq1 instances for statements.
|
2017-04-06 11:27:51 -04:00 |
|
Rob Rix
|
30ffbe6421
|
Define Generic1 & Eq1 instances for literals.
|
2017-04-06 11:21:35 -04:00 |
|
Rob Rix
|
3d1feb70a4
|
Define an Eq1 instance for empty unions.
These can never be constructed, so we just return False in case somebody decides to apply this to bottom.
|
2017-04-06 11:19:57 -04:00 |
|
Rob Rix
|
349214b5c5
|
Compositions of functors use the appropriate Eq1 instance.
|
2017-04-06 11:19:21 -04:00 |
|
Rob Rix
|
3f093df987
|
Recursive applications depend on an Eq1 instance.
|
2017-04-06 10:50:12 -04:00 |
|
Rob Rix
|
828c7da001
|
Define Eq1 instances for Leaf, Branch, and Identifier.
|
2017-04-06 10:40:49 -04:00 |
|
Rob Rix
|
5166900702
|
Define an Eq1 instance for Comment.
|
2017-04-06 10:39:22 -04:00 |
|
Rob Rix
|
7f401c4e08
|
Re-export Eq1 from the generic module.
|
2017-04-06 10:27:00 -04:00 |
|
Rob Rix
|
6163caf82a
|
Define an Eq1 instance for Union.
|
2017-04-06 10:19:09 -04:00 |
|
Rob Rix
|
fbcc5e7c43
|
Derive Eq & Show instances for Node.
|
2017-04-06 10:16:48 -04:00 |
|
Rob Rix
|
83d0248500
|
Stub in a module for tests of Ruby syntax assignment.
|
2017-04-06 10:09:12 -04:00 |
|
Rob Rix
|
b2d5e7eac1
|
Take a stab at assigning method declarations.
|
2017-04-06 09:43:12 -04:00 |
|
Rob Rix
|
376de45263
|
Take a stab at assigning class declarations.
|
2017-04-06 09:40:47 -04:00 |
|
Rob Rix
|
ecc1c075a6
|
Ruby can contain identifiers.
|
2017-04-06 09:39:44 -04:00 |
|
Rob Rix
|
4c959d4635
|
Define Identifier syntax.
|
2017-04-06 09:23:52 -04:00 |
|
Rob Rix
|
9afc6986cc
|
Add a bunch more productions.
|
2017-04-06 09:21:20 -04:00 |
|
Rob Rix
|
3afba97601
|
Note the inefficiency of Alt.
|
2017-04-05 22:24:57 -04:00 |
|
Rob Rix
|
31940f376f
|
Add a bunch more production symbols.
|
2017-04-05 21:40:10 -04:00 |
|
Rob Rix
|
43eba62216
|
Define an alternative instance for Assignment.
|
2017-04-05 21:34:58 -04:00 |
|
Rob Rix
|
8af3b80138
|
📝 stepAssignment.
|
2017-04-05 21:22:28 -04:00 |
|
Rob Rix
|
0a4dc5a5d1
|
📝 the Assignment combinators.
|
2017-04-05 21:21:35 -04:00 |
|
Rob Rix
|
ddba2b53cd
|
Define small-step semantics for assignment.
|
2017-04-05 21:16:09 -04:00 |
|
Rob Rix
|
bca1bf08d8
|
Define a failure combinator.
This is kind of a stand-in.
|
2017-04-05 21:15:58 -04:00 |
|
Rob Rix
|
c265eeb4c9
|
🔥 the Child term.
|
2017-04-05 21:15:32 -04:00 |
|
Rob Rix
|
37525402de
|
Define a type synonym for AST.
|
2017-04-05 21:05:11 -04:00 |
|
Rob Rix
|
4000319ae2
|
Define a placeholder input syntax node type.
|
2017-04-05 21:05:03 -04:00 |
|
Rob Rix
|
1242721981
|
Define a rose tree type.
|
2017-04-05 21:04:50 -04:00 |
|
Rob Rix
|
a3dee74ac0
|
Children assignment takes an assignment to map over the children.
|
2017-04-05 21:03:02 -04:00 |
|
Rob Rix
|
786290ed05
|
🔥 the Semigroup instance & And constructor.
|
2017-04-05 20:05:14 -04:00 |
|
Rob Rix
|
a9fb2b6759
|
Redefine Rule to always be productive.
|
2017-04-05 19:46:41 -04:00 |
|
Rob Rix
|
315c5e6e9b
|
Use the Program rule at the top level.
|
2017-04-05 16:17:04 -04:00 |
|
Rob Rix
|
25fd886dfb
|
Generalize the type of children.
|
2017-04-05 16:16:50 -04:00 |
|
Rob Rix
|
9a82e14e9e
|
Define assignment for if statements.
|
2017-04-05 16:14:57 -04:00 |
|
Rob Rix
|
70f0c29758
|
Define assignment of a child term.
|
2017-04-05 16:14:48 -04:00 |
|
Rob Rix
|
a9ce523c47
|
Define a comment assignment.
|
2017-04-05 16:02:26 -04:00 |
|
Rob Rix
|
696ea064db
|
Define an assignment term producing a node’s children.
|
2017-04-05 16:02:16 -04:00 |
|