Rob Rix
|
1fe76ee24c
|
Show the rest of assignments following Symbol rules.
|
2017-04-26 09:33:36 -04:00 |
|
Rob Rix
|
49f5e007da
|
🔥 Get assignment.
|
2017-04-25 15:09:41 -04:00 |
|
Rob Rix
|
7be5f34a38
|
🔥 range/sourceSpan.
|
2017-04-25 15:09:34 -04:00 |
|
Rob Rix
|
71515d73ae
|
Reintroduce Symbol assignment.
|
2017-04-25 15:08:23 -04:00 |
|
Rob Rix
|
335cb3194f
|
🔥 State assignment.
|
2017-04-25 15:05:04 -04:00 |
|
Rob Rix
|
d5797eba16
|
Define location assignment.
|
2017-04-25 15:04:08 -04:00 |
|
Rob Rix
|
c2607ffc4c
|
📝 Union’s constructors.
|
2017-04-25 13:53:18 -04:00 |
|
Rob Rix
|
03c57f2ef4
|
Merge branch 'master' into a-la-carte-folds
|
2017-04-25 12:47:47 -04:00 |
|
Rob Rix
|
8e2c1ffd5f
|
Correct the docs of identifierAlg.
|
2017-04-25 12:39:05 -04:00 |
|
Rob Rix
|
4644bcc2ef
|
Use Traversable as shorthand for Functor + Foldable.
This is not generally a good idea, but we strictly control these unions & syntax types, and it’s hard to imagine non-`Traversable` syntax.
|
2017-04-25 12:35:49 -04:00 |
|
Rob Rix
|
b6723c56f2
|
Panic! Our system.
|
2017-04-25 12:33:41 -04:00 |
|
Rob Rix
|
0db2c73a1e
|
Replace the identifiable algebra with an identifier algebra.
|
2017-04-25 12:30:36 -04:00 |
|
Rob Rix
|
69bbc13da3
|
Methods must be part of the syntax.
|
2017-04-25 12:27:42 -04:00 |
|
Rob Rix
|
30e72f3344
|
Methods are declarations, not statements.
|
2017-04-25 12:27:27 -04:00 |
|
Rob Rix
|
00200d7822
|
📝 some cases cyclomaticComplexityAlg doesn’t handle.
|
2017-04-25 12:17:17 -04:00 |
|
Rob Rix
|
a00ff68f32
|
Control exits methods at least once.
|
2017-04-25 12:15:28 -04:00 |
|
Rob Rix
|
390297aa56
|
📝 cyclomaticComplexityAlg.
|
2017-04-25 12:13:33 -04:00 |
|
Rob Rix
|
91366b0ba4
|
📝 CyclomaticComplexity.
|
2017-04-25 12:11:57 -04:00 |
|
Rob Rix
|
42d8b42f60
|
Merge branch 'a-la-carte-folds' of https://github.com/github/semantic-diff into a-la-carte-folds
|
2017-04-25 12:10:56 -04:00 |
|
Rob Rix
|
7bf60eb2ff
|
🔥 CVAlgebra handling.
We run the risk of making paramorphisms quadratic if we use histomorphisms to decorate, so we compromise on the added flexibility.
|
2017-04-25 12:10:48 -04:00 |
|
Rob Rix
|
2b703d1f31
|
Generalize decoratorWithAlgebra to take an R-algebra.
|
2017-04-25 12:09:10 -04:00 |
|
Timothy Clem
|
975304097c
|
Remove TODO and leave readFile behavior alone for now
|
2017-04-25 09:07:51 -07:00 |
|
Timothy Clem
|
6be9b9c3cd
|
🔥 concurrently
|
2017-04-25 09:05:48 -07:00 |
|
Timothy Clem
|
12948181c5
|
Merge remote-tracking branch 'origin/master' into clean-parse-and-diff-interface
|
2017-04-25 09:02:41 -07:00 |
|
Rob Rix
|
68e5042155
|
Merge branch 'master' into a-la-carte-folds
|
2017-04-25 10:55:26 -04:00 |
|
Rob Rix
|
6c38ec2b77
|
Correct the deprecation pragma.
|
2017-04-24 19:16:50 -04:00 |
|
Rob Rix
|
22ac1e3441
|
Add a deprecation notice to rToCV.
|
2017-04-24 18:42:35 -04:00 |
|
Rob Rix
|
7e21c167e1
|
Define an adaptor from F-algebras to CV-algebras.
|
2017-04-24 18:35:22 -04:00 |
|
Rob Rix
|
22be6c30f0
|
Factor Base out of the algebra type synonyms to avoid ambiguity.
|
2017-04-24 18:34:28 -04:00 |
|
Rob Rix
|
5b32f9d1b6
|
Note the awful complexity of rToCV.
|
2017-04-24 16:09:49 -04:00 |
|
Rob Rix
|
440cc2e792
|
📝 rToCV.
|
2017-04-24 16:00:06 -04:00 |
|
Rob Rix
|
4ac68417a2
|
Define the promotion of R-algebras into CV-algebras.
|
2017-04-24 15:58:29 -04:00 |
|
Rob Rix
|
bee4b4b06e
|
Define a type synonym for course-of-value algebras.
|
2017-04-24 15:55:09 -04:00 |
|
joshvera
|
7395e88ab0
|
Remove Data.RandomWalkSimilarity
|
2017-04-24 15:53:11 -04:00 |
|
Rob Rix
|
bc3fc4b4af
|
📝 fToR.
|
2017-04-24 15:46:51 -04:00 |
|
Rob Rix
|
d6cb7890b9
|
Define a function to promote F-algebras into R-algebras.
|
2017-04-24 15:45:50 -04:00 |
|
Rob Rix
|
953034ccb3
|
Define FAlgebra in terms of the Base of some type.
|
2017-04-24 15:44:46 -04:00 |
|
Rob Rix
|
c53076b071
|
Replace identifiable with its R-algebra.
|
2017-04-24 15:43:29 -04:00 |
|
Rob Rix
|
d429d77b15
|
Define a type synonym for R-algebras.
|
2017-04-24 15:43:22 -04:00 |
|
Rob Rix
|
fa520d6089
|
Move the definition of FAlgebra up.
|
2017-04-24 15:41:17 -04:00 |
|
Rob Rix
|
82a40d19ff
|
cyclomaticComplexityAlg is an F-algebra.
|
2017-04-24 15:40:31 -04:00 |
|
Rob Rix
|
46c044d448
|
Replace cyclomaticComplexity with its algebra.
|
2017-04-24 15:39:46 -04:00 |
|
Rob Rix
|
1e40f9b823
|
📝 decoratorWithAlgebra’s parameters.
|
2017-04-24 15:38:34 -04:00 |
|
Rob Rix
|
292969a5df
|
Reformat decoratorWithAlgebra’s signature.
|
2017-04-24 15:38:22 -04:00 |
|
Rob Rix
|
0a6555351b
|
📝 decoratorWithAlgebra.
|
2017-04-24 15:35:47 -04:00 |
|
Rob Rix
|
5201cb3f46
|
📝 FAlgebra.
|
2017-04-24 15:35:19 -04:00 |
|
Rob Rix
|
07c13859e2
|
Define a function lifting an algebra into a decorator.
|
2017-04-24 15:34:28 -04:00 |
|
Rob Rix
|
8b7d416164
|
Simplify the cyclomatic complexity computation to just the value.
|
2017-04-24 15:28:21 -04:00 |
|
Rob Rix
|
c4393ace0b
|
Define a cyclomatic complexity decorator.
|
2017-04-24 15:23:21 -04:00 |
|
Rob Rix
|
90737f6e5f
|
Generalize identifiable over the union.
|
2017-04-24 15:07:19 -04:00 |
|
Rob Rix
|
76513638a6
|
Merge branch 'master' into clean-parse-and-diff-interface
|
2017-04-24 14:56:06 -04:00 |
|
Rob Rix
|
9e34c589c0
|
Merge branch 'master' into a-la-carte-folds
|
2017-04-24 14:55:49 -04:00 |
|
Rob Rix
|
fb477828e6
|
📝 advanceState.
|
2017-04-24 13:57:41 -04:00 |
|
Rob Rix
|
a7b47952eb
|
📝 AssignmentState itself.
|
2017-04-24 13:55:12 -04:00 |
|
Rob Rix
|
8caea50b14
|
📝 AssignmentState’s fields.
|
2017-04-24 13:54:33 -04:00 |
|
Rob Rix
|
806aa944d0
|
SourcePos is 1-indexed in both line and column.
|
2017-04-24 13:51:08 -04:00 |
|
Rob Rix
|
3705f960f4
|
Reformat AssignmentState across several lines.
|
2017-04-24 13:47:21 -04:00 |
|
Rob Rix
|
d3517ab60f
|
Methods are identifiable.
|
2017-04-24 13:41:20 -04:00 |
|
Rob Rix
|
54108f0019
|
Classes are identifiable.
|
2017-04-24 13:41:16 -04:00 |
|
Rob Rix
|
d5b512d094
|
Stub in a function producing the list of identifiable subterms of a term.
|
2017-04-24 13:38:55 -04:00 |
|
Rob Rix
|
d66e425e56
|
Derive Functor and Traversable instances for à la carte syntax types.
|
2017-04-24 13:38:21 -04:00 |
|
Rob Rix
|
0ad31e7887
|
Define Traversable instances for Unions.
|
2017-04-24 13:37:59 -04:00 |
|
Rob Rix
|
09d4dbcb8e
|
Define Functor instances for unions of Functors.
|
2017-04-24 13:29:10 -04:00 |
|
Rob Rix
|
3dd4d12af8
|
Define the strengthening of a single-member union.
|
2017-04-24 13:28:56 -04:00 |
|
Timothy Clem
|
c1be28de3b
|
Switch over to mapConcurrently in Command.Git too
|
2017-04-24 09:59:58 -07:00 |
|
Rob Rix
|
cbe44c66e7
|
Merge branch 'master' into run-assignment-with-source
|
2017-04-24 12:53:45 -04:00 |
|
Timothy Clem
|
5181a11455
|
Use StandaloneDeriving for Arguments
|
2017-04-24 09:42:58 -07:00 |
|
Timothy Clem
|
196a0d28e8
|
Not using ViewPatterns here
|
2017-04-24 09:33:12 -07:00 |
|
Timothy Clem
|
77b9b6f909
|
Few doc fixes
|
2017-04-24 09:17:28 -07:00 |
|
Josh Vera
|
ed8b07e64b
|
Merge branch 'master' into clean-parse-and-diff-interface
|
2017-04-24 12:03:09 -04:00 |
|
Josh Vera
|
afc4790383
|
Merge branch 'master' into rws-effect
|
2017-04-24 11:53:26 -04:00 |
|
Timothy Clem
|
5b3ea87e57
|
Revert "Write my own takeExtension"
This reverts commit c18cabe7b583e039d96138b8b219bf99c52dd995.
|
2017-04-24 08:12:53 -07:00 |
|
Timothy Clem
|
56f9a7ba40
|
Change naming to diffBlobPair(s)
|
2017-04-24 07:46:32 -07:00 |
|
Timothy Clem
|
bb71fd7b71
|
s/renderAsync/renderConcurrently
|
2017-04-24 07:37:41 -07:00 |
|
Timothy Clem
|
d38724f39b
|
Write my own takeExtension
|
2017-04-24 07:37:32 -07:00 |
|
Rob Rix
|
5500b7534e
|
term can match empty lists by taking the current offset.
|
2017-04-24 10:19:15 -04:00 |
|
Rob Rix
|
59b7478caf
|
📝 AST.
|
2017-04-24 10:18:42 -04:00 |
|
Rob Rix
|
7868979cee
|
📝 Node.
|
2017-04-24 10:18:02 -04:00 |
|
Rob Rix
|
ec65a199dc
|
Define a location combinator.
|
2017-04-24 10:17:10 -04:00 |
|
Rob Rix
|
25ebe64d83
|
Define state assignments.
|
2017-04-24 10:01:09 -04:00 |
|
Rob Rix
|
96affb1f05
|
Carry the current position through assignment.
|
2017-04-24 09:53:30 -04:00 |
|
Timothy Clem
|
d4933b3aaf
|
Easier way to get output dir
|
2017-04-21 18:07:16 -07:00 |
|
Timothy Clem
|
643a7a3581
|
Docs, order import, internal functions at the bottom
|
2017-04-21 18:06:56 -07:00 |
|
Timothy Clem
|
44dfa16bb5
|
Remove debug even tracing
|
2017-04-21 17:55:07 -07:00 |
|
Timothy Clem
|
779b6afde2
|
No longer need printTerms
|
2017-04-21 17:54:58 -07:00 |
|
Timothy Clem
|
190dca165d
|
Turn on debug flag to send sourceText output for parse again
|
2017-04-21 17:46:59 -07:00 |
|
Timothy Clem
|
ca89087e1d
|
Extract out a common async render and keep async stuff in Semantic
|
2017-04-21 16:41:46 -07:00 |
|
Timothy Clem
|
bd019104a8
|
First pass at parallel rendering!
|
2017-04-21 16:24:17 -07:00 |
|
Timothy Clem
|
980333f40d
|
WIP - optimize concurrency
|
2017-04-21 15:40:37 -07:00 |
|
Timothy Clem
|
d5b9463a56
|
Collapse Parser.Language back into Semantic
|
2017-04-21 14:20:30 -07:00 |
|
Timothy Clem
|
f51798e4c8
|
Turn parseBlob tests back on in new Spec
|
2017-04-21 14:12:00 -07:00 |
|
Timothy Clem
|
78d376e256
|
Pair down command to just fs and git operations
|
2017-04-21 13:56:19 -07:00 |
|
Rob Rix
|
718ef34e71
|
assignAllFrom takes an AssignmentState.
|
2017-04-21 16:53:43 -04:00 |
|
Rob Rix
|
f09e0ba5cc
|
Assign terms annotated with ranges & source spans.
|
2017-04-21 16:38:51 -04:00 |
|
Rob Rix
|
b99944556c
|
Merge branch 'master' into run-assignment-with-source
|
2017-04-21 16:18:16 -04:00 |
|
Rob Rix
|
65176ffa6b
|
Advance the state using a helper function.
|
2017-04-21 13:52:49 -04:00 |
|
Rob Rix
|
5643a0674d
|
Define selectors for AssignmentState.
|
2017-04-21 13:48:55 -04:00 |
|
Rob Rix
|
626281b68b
|
Define a type for assignments’ state.
|
2017-04-21 13:45:27 -04:00 |
|
Rob Rix
|
cfe0709649
|
Rename rest to nodes.
This clarifies that pure assignments don’t advance the state.
|
2017-04-21 13:42:12 -04:00 |
|
Rob Rix
|
92a3a9c95f
|
Advance the source.
|
2017-04-21 13:41:42 -04:00 |
|
Rob Rix
|
e3192150e2
|
Define take & drop functions for Source.
|
2017-04-21 13:36:41 -04:00 |
|
Rob Rix
|
94452afacc
|
Return a slice of the source.
|
2017-04-21 13:31:40 -04:00 |
|
Rob Rix
|
fdde8b0255
|
Don’t bind node fields explicitly.
|
2017-04-21 13:28:11 -04:00 |
|
Rob Rix
|
27db847b06
|
Rename node to subtree.
|
2017-04-21 13:27:44 -04:00 |
|
Rob Rix
|
4aea07f87f
|
Pass the offset through assignments.
|
2017-04-21 13:26:22 -04:00 |
|
Timothy Clem
|
e9316f4026
|
Use new diffBlobs interface in cmdline program
|
2017-04-21 10:25:47 -07:00 |
|
Rob Rix
|
35e3643724
|
Running an assignment returns the Source.
|
2017-04-21 12:19:50 -04:00 |
|
Rob Rix
|
41848c415d
|
Revert "Define a Conjunctive typeclass."
This reverts commit 4beaa5a9ae6bb16c4d2d896026f0dc267c1f772d.
|
2017-04-21 12:17:49 -04:00 |
|
Rob Rix
|
a79d96d942
|
Revert "Give default definitions for &> and <&."
This reverts commit 9c12b1b63c2f19616e36687883fbcad192efc0b0.
|
2017-04-21 12:17:48 -04:00 |
|
Rob Rix
|
85ab76a7b0
|
Revert "Define a liftC2 method."
This reverts commit 5d0f44702e940800eca706e7a060586a9c92f8b7.
|
2017-04-21 12:17:46 -04:00 |
|
Rob Rix
|
0991f0c8c1
|
Revert "Give a default definition for <&> in terms of liftC2."
This reverts commit 0a6bfa25ea2801aa7b7c2c19f1fcabf63bddaccf.
|
2017-04-21 12:17:45 -04:00 |
|
Rob Rix
|
b4a8336beb
|
Revert "Describe the minimal instance."
This reverts commit 4a8a676f8faafd0f60769a20068512937181f7e4.
|
2017-04-21 12:17:43 -04:00 |
|
Rob Rix
|
639fc824aa
|
Revert "Define example instances of Conjunctive for Maybe and []."
This reverts commit 05dea7751da8699f6eeb53bb00dd5f40fc49b775.
|
2017-04-21 12:17:02 -04:00 |
|
Rob Rix
|
d5f1fb93ef
|
Define example instances of Conjunctive for Maybe and [].
|
2017-04-21 12:11:27 -04:00 |
|
Rob Rix
|
0c75affa75
|
Describe the minimal instance.
|
2017-04-21 11:50:21 -04:00 |
|
Rob Rix
|
9ba51f537a
|
Give a default definition for <&> in terms of liftC2.
|
2017-04-21 11:50:10 -04:00 |
|
Rob Rix
|
2119f3b7ed
|
Define a liftC2 method.
|
2017-04-21 11:48:29 -04:00 |
|
Rob Rix
|
340a58e44e
|
Give default definitions for &> and <&.
|
2017-04-21 11:44:23 -04:00 |
|
Rob Rix
|
22177b0940
|
Define a Conjunctive typeclass.
|
2017-04-21 11:44:16 -04:00 |
|
Rob Rix
|
9acedae624
|
Simplify the definition of annotation .
|
2017-04-21 11:20:47 -04:00 |
|
Rob Rix
|
bcceb1c5a8
|
Define a smart constructor for Get.
|
2017-04-21 11:20:19 -04:00 |
|
Rob Rix
|
cf8e59635c
|
Define Symbol, Range, and SourceSpan in terms of Get.
|
2017-04-21 11:18:09 -04:00 |
|
Rob Rix
|
9b9713d317
|
Define a Get rule to produce the current symbol (soon, node).
|
2017-04-21 10:56:43 -04:00 |
|
Rob Rix
|
f7e0938c0c
|
Add an annotation combinator.
|
2017-04-21 10:39:53 -04:00 |
|
Rob Rix
|
2c16ea9b17
|
term takes its annotation.
|
2017-04-21 10:38:17 -04:00 |
|
Rob Rix
|
ba73178532
|
Define combinators producing the range and source span of the current node.
|
2017-04-21 10:21:25 -04:00 |
|
Rob Rix
|
364c9b1113
|
Correct the docs of symbol .
|
2017-04-21 10:13:35 -04:00 |
|
Rob Rix
|
0e2559db0f
|
Reintroduce Node/AST type synonyms.
|
2017-04-21 10:08:19 -04:00 |
|
Rob Rix
|
8cc3da0de3
|
Assignment receives source spans.
|
2017-04-21 09:55:19 -04:00 |
|
Rob Rix
|
ab059af248
|
Assignment receives ranges.
|
2017-04-21 09:54:17 -04:00 |
|
Rob Rix
|
2f696ef88d
|
Pass the symbol in a record.
|
2017-04-21 09:52:23 -04:00 |
|
Rob Rix
|
b5575d7298
|
📝 parseRubyToAST.
|
2017-04-21 09:44:05 -04:00 |
|
Rob Rix
|
a29b7b6f2b
|
Return the Source alongside the AST.
This makes for easier chaining.
|
2017-04-21 09:43:29 -04:00 |
|
Rob Rix
|
9a0361d74d
|
Pass source when running assignments.
|
2017-04-21 09:40:17 -04:00 |
|
Timothy Clem
|
19e87dd523
|
Put both diff and parse rendering back together
|
2017-04-20 15:13:28 -07:00 |
|
Rob Rix
|
9a42d8f4c8
|
Replace Node with its symbol, dropping the source.
|
2017-04-20 15:53:01 -04:00 |
|
Rob Rix
|
33f41f5bf0
|
Merge branch 'master' into rws-effect
|
2017-04-20 15:26:11 -04:00 |
|
Rob Rix
|
085839aabf
|
Merge branch 'master' into ruby-assignment-a-la-carte
|
2017-04-20 15:25:34 -04:00 |
|
Timothy Clem
|
389bfaf220
|
WIP - new renderer achitecture
|
2017-04-20 11:00:02 -07:00 |
|
Rob Rix
|
ccf9fa9ee2
|
Fix a typo.
|
2017-04-20 13:27:53 -04:00 |
|
Timothy Clem
|
5870b33b51
|
WIP - parse tree renderer
|
2017-04-19 18:27:36 -07:00 |
|
Timothy Clem
|
04f7f4b1f5
|
Start to build new interface for semantic
|
2017-04-19 16:33:27 -07:00 |
|
Timothy Clem
|
8eb4d436e0
|
s/Semantic/SemanticCmdLine
|
2017-04-19 14:22:24 -07:00 |
|
Rob Rix
|
ff6ce916eb
|
Assign unless modifiers.
|
2017-04-19 16:54:03 -04:00 |
|
Rob Rix
|
25379d71aa
|
if/unless can omit the else block.
|
2017-04-19 16:53:09 -04:00 |
|
Rob Rix
|
1d2c924088
|
🔥 expr.
|
2017-04-19 16:28:51 -04:00 |
|
Rob Rix
|
c83b75f5b4
|
Assign unless statements.
|
2017-04-19 16:27:59 -04:00 |
|
Rob Rix
|
39657d07ea
|
Define syntax for boolean negation.
|
2017-04-19 16:24:02 -04:00 |
|
Rob Rix
|
2a4ab71d86
|
Assign modifier if statements.
|
2017-04-19 16:19:47 -04:00 |
|
Rob Rix
|
74884ec812
|
Handle scoped class names.
|
2017-04-19 16:13:07 -04:00 |
|
Rob Rix
|
af1be07b5f
|
Assign superclasses.
|
2017-04-19 16:05:49 -04:00 |
|
Rob Rix
|
f97ed6cc37
|
Rename Content to Source.
|
2017-04-19 16:00:44 -04:00 |
|
Rob Rix
|
0ebf786747
|
term provides the annotation.
|
2017-04-19 15:00:21 -04:00 |
|
Rob Rix
|
aa2a1d7d2c
|
Assign break & continue statements.
|
2017-04-19 14:03:14 -04:00 |
|
Rob Rix
|
777a4a0392
|
Define syntax for continue statements.
|
2017-04-19 14:02:19 -04:00 |
|
Rob Rix
|
95aa88969e
|
Define syntax for break statements.
|
2017-04-19 13:59:46 -04:00 |
|
Rob Rix
|
c27b14d9d6
|
Factor out the scope exit statements.
|
2017-04-19 13:58:42 -04:00 |
|
Rob Rix
|
6e73ca391d
|
Return/Yield values are in an ArgumentList.
|
2017-04-19 13:57:09 -04:00 |
|
Rob Rix
|
4aeb7b1483
|
Represent the absence of optional syntax with the Empty constructor.
|
2017-04-19 13:49:36 -04:00 |
|
Rob Rix
|
d0e474168d
|
Assign integer literals.
|
2017-04-19 13:37:45 -04:00 |
|
Rob Rix
|
c589e229ee
|
Rename rule to symbol.
|
2017-04-19 13:11:09 -04:00 |
|
Rob Rix
|
996fa27530
|
Use the usual Term synonym.
|
2017-04-19 13:06:06 -04:00 |
|
Rob Rix
|
e4f6084183
|
Rename Program to Term.
|
2017-04-19 13:04:31 -04:00 |
|
Rob Rix
|
6d10209545
|
Assign into a cofree structure.
|
2017-04-19 13:04:07 -04:00 |
|
Rob Rix
|
437f240929
|
free/runFree no longer require Functor instances.
|
2017-04-19 12:59:19 -04:00 |
|
Rob Rix
|
46b8a4d3fd
|
cofree/runCofree no longer require Functor instances.
|
2017-04-19 12:57:48 -04:00 |
|
Rob Rix
|
92dc311ad5
|
Export InUnion.
|
2017-04-19 12:52:24 -04:00 |
|
Rob Rix
|
27b1eb794c
|
Rename emb/proj to inj/prj.
|
2017-04-19 12:52:16 -04:00 |
|
Timothy Clem
|
18e81adb14
|
Start to make a clean delineation about command function that use git or the fs
|
2017-04-19 09:45:11 -07:00 |
|
Timothy Clem
|
eb9547fb25
|
Tease apart file reading and transcoding
|
2017-04-19 09:12:19 -07:00 |
|
Rob Rix
|
c7186b8730
|
Use boolean literal constants.
|
2017-04-19 11:37:04 -04:00 |
|
Rob Rix
|
404bc3fc2f
|
Define true and false constants.
|
2017-04-19 11:36:34 -04:00 |
|
Rob Rix
|
69b0eeb18a
|
Assign elsif blocks correctly.
|
2017-04-19 10:16:08 -04:00 |
|
Rob Rix
|
e9a4f9e3a1
|
Assign else blocks correctly.
|
2017-04-19 10:13:05 -04:00 |
|
Rob Rix
|
ae6033e70b
|
Return/yield statements always wrap their children (even if empty).
|
2017-04-18 16:21:13 -04:00 |
|
Rob Rix
|
b6f96617d7
|
Parse many statements.
|
2017-04-18 16:15:17 -04:00 |
|
Rob Rix
|
3c1180f758
|
Define a Show1 instance for Result.
|
2017-04-18 16:12:20 -04:00 |
|
Rob Rix
|
67ec37ea3f
|
Sort imports.
|
2017-04-18 15:56:16 -04:00 |
|
Rob Rix
|
4a29eed58e
|
Export Result.
|
2017-04-18 10:39:24 -04:00 |
|
joshvera
|
a7293dcdc0
|
Move effectful functions down
|
2017-04-14 14:43:48 -04:00 |
|
Rob Rix
|
572fbbeb2a
|
Assign boolean literals.
|
2017-04-13 15:48:28 -04:00 |
|
Rob Rix
|
94cb31e95e
|
Add a bunch more literals.
|
2017-04-13 15:43:45 -04:00 |
|
Rob Rix
|
0a9b9ddb8e
|
Rename HashLiteral to Hash.
|
2017-04-13 15:42:10 -04:00 |
|
Rob Rix
|
645fda316f
|
Rename ArrayLiteral to Array.
|
2017-04-13 15:42:03 -04:00 |
|
Rob Rix
|
ed668490a8
|
Methods can be non-empty too.
|
2017-04-13 13:31:11 -04:00 |
|
joshvera
|
63f1cc0d14
|
Cleanup type signatures
|
2017-04-13 12:49:43 -04:00 |
|
joshvera
|
33fbdde73b
|
Merge rws' into rws
|
2017-04-13 12:33:26 -04:00 |
|
joshvera
|
982bc83cd2
|
Merge remote-tracking branch 'origin/master' into rws-effect
|
2017-04-13 12:30:15 -04:00 |
|
Rob Rix
|
5bac4505c9
|
Return & yield may not take parameters.
|
2017-04-13 12:01:53 -04:00 |
|
Rob Rix
|
00b1aed9a1
|
Merge branch 'master' into ruby-production-type
|
2017-04-13 11:57:14 -04:00 |
|
Rob Rix
|
4921dd346f
|
📝 Empty.
|
2017-04-13 11:55:13 -04:00 |
|
Rob Rix
|
9abd51cefa
|
Define Empty syntax.
|
2017-04-13 11:47:58 -04:00 |
|
Rob Rix
|
731c7a5c1d
|
Move Syntax into the Program type synonym.
|
2017-04-13 11:18:10 -04:00 |
|
Rob Rix
|
88c4081e0d
|
Assign return & yield statements.
|
2017-04-13 11:12:11 -04:00 |
|
Rob Rix
|
3b9c53c4c2
|
Skip anonymous nodes at the end of input.
|
2017-04-13 11:02:23 -04:00 |
|
Rob Rix
|
1943d62dbf
|
Extract the anonymous skipping function to the top level.
|
2017-04-13 11:02:13 -04:00 |
|
Rob Rix
|
a0322cf652
|
Clearer error message for children assignment.
|
2017-04-13 10:50:00 -04:00 |
|
Rob Rix
|
3de5f3aaf9
|
Pull out the function to skip anonymous nodes.
|
2017-04-13 10:49:08 -04:00 |
|
Rob Rix
|
2e7627184a
|
Clearer error messaging for content assignment.
|
2017-04-13 10:48:39 -04:00 |
|
Rob Rix
|
d3f91d2f96
|
Clearer error messaging for rule assignment.
|
2017-04-13 10:47:22 -04:00 |
|
Rob Rix
|
08b93f2dd0
|
Methods may not have bodies.
|
2017-04-13 10:40:10 -04:00 |
|
Rob Rix
|
309636dc2c
|
Skip all but regular nodes.
|
2017-04-13 10:34:37 -04:00 |
|
Rob Rix
|
86f5e21529
|
Define field selectors for Rose.
|
2017-04-13 10:33:21 -04:00 |
|
Rob Rix
|
666e0c025f
|
Assignment produces a Result.
|
2017-04-13 09:36:01 -04:00 |
|
Rob Rix
|
c936064e1b
|
Define a Result type.
|
2017-04-13 09:35:34 -04:00 |
|
Rob Rix
|
e598e460fa
|
Assigning all must exhaust the input nodes.
|
2017-04-13 09:03:47 -04:00 |
|
Timothy Clem
|
e628e15016
|
Just refer to it as 'semantic' in version string
|
2017-04-12 13:33:50 -07:00 |
|
Rob Rix
|
ae5fd2001a
|
Simplify the top-level Ruby assignment.
|
2017-04-12 16:28:43 -04:00 |
|
Rob Rix
|
c46e0904d1
|
Slice in linear time.
|
2017-04-12 16:18:26 -04:00 |
|
Timothy Clem
|
da90d950e9
|
Extra whitespace
|
2017-04-12 13:12:08 -07:00 |
|
Rob Rix
|
da022960f4
|
toAST unfolds the whole tree.
|
2017-04-12 16:02:12 -04:00 |
|
Timothy Clem
|
3704773965
|
Merge remote-tracking branch 'origin/master' into subparsers
|
2017-04-12 12:55:11 -07:00 |
|
Rob Rix
|
12eca8a3b0
|
Structure Ruby AST importing as an unfold(ish).
|
2017-04-12 15:03:35 -04:00 |
|
Rob Rix
|
6abce74472
|
Derive Foldable & Traversable instances for RoseF.
|
2017-04-12 15:02:47 -04:00 |
|
joshvera
|
97549660af
|
use foldl' in insertMapped and deleteRemaining
|
2017-04-12 14:46:27 -04:00 |
|
Rob Rix
|
2f252e46b0
|
Export RoseF.
|
2017-04-12 14:39:07 -04:00 |
|
Rob Rix
|
fb4415d5dc
|
Define Recursive & Corecursive instances for Rose.
|
2017-04-12 14:37:05 -04:00 |
|
Rob Rix
|
e50ec88a01
|
Export parseRubyToAST.
|
2017-04-12 14:32:32 -04:00 |
|
Rob Rix
|
ce075494cf
|
Stub in a function to produce AST for Ruby.
|
2017-04-12 14:31:55 -04:00 |
|
joshvera
|
2af05a1b0f
|
Revert to using State
|
2017-04-12 12:14:36 -04:00 |
|
Rob Rix
|
eb8d0e3c19
|
Add a go syntax module & grammar datatype.
|
2017-04-12 10:53:04 -04:00 |
|
Rob Rix
|
be9c4a42ff
|
Add a typescript syntax module & grammar datatype.
|
2017-04-12 10:51:31 -04:00 |
|
joshvera
|
502255b732
|
Let's see if foldr works
|
2017-04-11 18:33:59 -04:00 |
|
joshvera
|
95beaf8446
|
Move q application out
|
2017-04-11 18:23:32 -04:00 |
|
joshvera
|
1a78d5e1ea
|
Rename k to q
|
2017-04-11 18:22:24 -04:00 |
|
joshvera
|
630c607f2b
|
Remove pure
|
2017-04-11 18:22:16 -04:00 |
|
joshvera
|
5a8217f06b
|
Revert to foldl
|
2017-04-11 17:10:25 -04:00 |
|
joshvera
|
00f88e540f
|
Reverse the order of insertMapped arguments
|
2017-04-11 17:10:08 -04:00 |
|
joshvera
|
a418aa43c0
|
Remove GAlign constraint
|
2017-04-11 17:09:43 -04:00 |
|
joshvera
|
e1a795a6fe
|
Allow RWS to be interleaved with other effects
|
2017-04-11 16:29:47 -04:00 |
|
Rob Rix
|
bacba50ec5
|
Define the Grammar datatype using TemplateHaskell.
|
2017-04-11 11:50:59 -04:00 |
|
joshvera
|
9ec24e646c
|
Merge remote-tracking branch 'origin/master' into rws-effect
|
2017-04-11 11:27:03 -04:00 |
|
Timothy Clem
|
9ed78b0202
|
No need for args variable
|
2017-04-10 17:14:30 -07:00 |
|
Timothy Clem
|
4227f63065
|
Don't want to actually print out args
|
2017-04-10 17:13:04 -07:00 |
|
Timothy Clem
|
6e3af1b75f
|
SemanticDiff.hs => Semantic.hs and smoke test specs
|
2017-04-10 17:10:34 -07:00 |
|
Timothy Clem
|
5b1d104383
|
Clarify naming a bit
|
2017-04-10 16:07:00 -07:00 |
|
Timothy Clem
|
e9edb42e53
|
Remove render formats and use render/encode functions directly
|
2017-04-10 15:10:24 -07:00 |
|
Rob Rix
|
000fa34a50
|
s/Switch/Match/.
|
2017-04-10 16:44:57 -04:00 |
|
Rob Rix
|
e50ebc2765
|
Use a single code path for assigning all nodes in a list.
|
2017-04-10 16:37:00 -04:00 |
|
Rob Rix
|
aa0d65747f
|
Make the Eq & Eq1 instances agree.
|
2017-04-10 16:09:40 -04:00 |
|
Rob Rix
|
848f0759bb
|
Explicit exports.
|
2017-04-10 16:02:33 -04:00 |
|
Timothy Clem
|
a03f0da106
|
Command.Parse doesn't need to know about Arguments
|
2017-04-10 11:28:09 -07:00 |
|
Rob Rix
|
5938d21653
|
Children assignments run their sub-assignment and then yield.
|
2017-04-10 11:24:20 -04:00 |
|
Rob Rix
|
3684872e32
|
Tighten up rule assignment with guard .
|
2017-04-10 11:14:04 -04:00 |
|
Rob Rix
|
52263c7aa4
|
Reformat children assignment evaluation.
|
2017-04-08 09:12:42 -04:00 |
|
Rob Rix
|
755b448ac5
|
Show assignments after effects.
|
2017-04-07 18:31:37 -04:00 |
|
joshvera
|
2cff2caf68
|
Use the RWS effect
|
2017-04-07 17:59:45 -04:00 |
|
joshvera
|
013e7660a8
|
Move the rest of rws to an effect
|
2017-04-07 17:48:14 -04:00 |
|
Rob Rix
|
b4847b0a1c
|
Class scope can have multiple independent entries.
|
2017-04-07 16:42:15 -04:00 |
|
Rob Rix
|
f73542ea8e
|
Define a Show1 instance for AssignmentF.
|
2017-04-07 16:42:09 -04:00 |
|
Rob Rix
|
22c9fb404d
|
Show data constructors.
|
2017-04-07 16:39:33 -04:00 |
|
Rob Rix
|
cc5ba7674f
|
Clarify Union’s Show1 instance.
|
2017-04-07 16:34:56 -04:00 |
|
joshvera
|
954186942a
|
Add minimumTermIndex
|
2017-04-07 16:08:49 -04:00 |
|
joshvera
|
2e3b28ec78
|
Stub out rws function
|
2017-04-07 15:59:00 -04:00 |
|
joshvera
|
752d494795
|
Implement genFeaturizedTermsAndDiffs as an effect
|
2017-04-07 15:42:32 -04:00 |
|
Rob Rix
|
e3140636b7
|
Don’t export AssignmentF or its constructors.
|
2017-04-07 15:00:44 -04:00 |
|
joshvera
|
999cfbc57c
|
Add SES effect
|
2017-04-07 14:44:37 -04:00 |
|
Rob Rix
|
cec63c69aa
|
Pull the Ruby rules out to the top level.
|
2017-04-07 14:29:48 -04:00 |
|
Rob Rix
|
1df2c979ec
|
Define a function to run the assignment for all the nodes.
|
2017-04-07 14:26:51 -04:00 |
|
Rob Rix
|
7453872869
|
Reformat the method rule a little.
|
2017-04-07 14:18:31 -04:00 |
|
Rob Rix
|
1d75bda845
|
Correct the method rule.
|
2017-04-07 14:16:58 -04:00 |
|
Rob Rix
|
b2cacf0d81
|
Reformat the rules a little.
|
2017-04-07 14:16:37 -04:00 |
|
Rob Rix
|
20f4f30ae9
|
🔥 a bunch of unnecessary type signatures.
|
2017-04-07 14:10:43 -04:00 |
|
Rob Rix
|
f5f080f1dd
|
Correct the 📝 for rule.
|
2017-04-07 14:08:59 -04:00 |
|
Rob Rix
|
401ecdbe78
|
Rule assignment is used in normal applicative form.
|
2017-04-07 14:04:56 -04:00 |
|
Rob Rix
|
c27af0034e
|
Rename stepAssignment to runAssignment.
|
2017-04-07 13:31:26 -04:00 |
|
Rob Rix
|
6534948186
|
Correct the 📝 for stepAssignment.
|
2017-04-07 13:29:29 -04:00 |
|
joshvera
|
4ca51cc5dc
|
Pass eraseFeatureVector to runRWS
|
2017-04-07 13:12:29 -04:00 |
|
Timothy Clem
|
11afb8a35e
|
Merge remote-tracking branch 'origin/master' into subparsers
|
2017-04-07 09:52:08 -07:00 |
|
Rob Rix
|
8e0fa11fff
|
Merge branch 'master' into syntax-a-la-carte
|
2017-04-07 12:41:12 -04:00 |
|
joshvera
|
0a1e846a5e
|
Fix setFeatureVector type
|
2017-04-07 12:38:53 -04:00 |
|
Rob Rix
|
76240b1d67
|
Refocus the existing assignment specs.
|
2017-04-07 12:21:45 -04:00 |
|
Rob Rix
|
979a42e1d4
|
Move Assignment into its own module.
|
2017-04-07 11:57:11 -04:00 |
|
Rob Rix
|
efb43890f3
|
Stub in a module for syntax assignment.
|
2017-04-07 11:38:27 -04:00 |
|
Rob Rix
|
2d0b3ff4b1
|
Unique the list of paths.
|
2017-04-07 10:49:36 -04:00 |
|
Rob Rix
|
3c596fb980
|
Take the difference on full blob entries, not just their paths.
|
2017-04-07 10:47:56 -04:00 |
|
Timothy Clem
|
7099603df6
|
Only write trailing newline for json output
|
2017-04-07 10:07:02 -04:00 |
|
Rob Rix
|
73f3384de9
|
Rename Fail to Empty.
|
2017-04-07 09:44:31 -04:00 |
|
Rob Rix
|
b8e4cb7471
|
Tidy up the nullability rules.
|
2017-04-07 09:44:02 -04:00 |
|
Rob Rix
|
9b69f3aae8
|
Define nullability for alternations.
|
2017-04-07 09:37:13 -04:00 |
|
Rob Rix
|
2b460b223c
|
Note the need for a nullability test.
|
2017-04-07 09:14:28 -04:00 |
|
Rob Rix
|
8d536fa825
|
Programs have zero or more declarations.
|
2017-04-06 16:01:01 -04:00 |
|
Rob Rix
|
ac8d473e8e
|
Simplify how children assignments are applied.
|
2017-04-06 14:22:38 -04:00 |
|
Rob Rix
|
5b1d68ae80
|
Derive Foldable instances for syntaxes.
|
2017-04-06 14:19:15 -04:00 |
|
Rob Rix
|
b0700242ee
|
Define Foldable instances for Unions.
|
2017-04-06 14:16:10 -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 |
|
Timothy Clem
|
7f588418a7
|
Add in flag for JSON index format
|
2017-04-06 09:39:23 -07: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 |
|
Timothy Clem
|
da129c2efc
|
Remove left over import
|
2017-04-06 08:25:29 -07: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
|
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 |
|
Timothy Clem
|
797a08521b
|
Only write trailing newline for json output
|
2017-04-05 17:52:51 -07: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 |
|
Timothy Clem
|
e76597dcdb
|
Don't print out args in main
|
2017-04-05 15:45:30 -07:00 |
|
Timothy Clem
|
1dd54d35d9
|
Rework argument parsing to use subparsers and commands
|
2017-04-05 14:30:20 -07: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 |
|
Rob Rix
|
1f89f7f3ed
|
Define an assignment term producing a node’s content.
|
2017-04-05 16:02:02 -04:00 |
|
Rob Rix
|
683f701811
|
Define a Semigroup instance for Assignment.
|
2017-04-05 16:01:42 -04:00 |
|
Rob Rix
|
432474b8c5
|
Add true/false to the grammar.
|
2017-04-05 16:00:43 -04:00 |
|
Rob Rix
|
0ca4263b43
|
Clarify the 📝 for assignment.
|
2017-04-05 14:54:58 -04:00 |
|
Rob Rix
|
63ed6036ed
|
Derive Enum, Eq, Ord, & Show instances for the Ruby Grammar type.
|
2017-04-05 14:53:02 -04:00 |
|
Rob Rix
|
5a57c87a88
|
Add some more rules.
|
2017-04-05 14:49:58 -04:00 |
|
Rob Rix
|
6f3d17f937
|
Rename the syntax type.
|
2017-04-05 14:49:21 -04:00 |
|
Rob Rix
|
1c4b5b394e
|
Rename the Rule type and constructors.
|
2017-04-05 14:49:00 -04:00 |
|
Rob Rix
|
91f85d3dfd
|
Stub in assignment onto Ruby programs.
|
2017-04-05 14:26:55 -04:00 |
|
Rob Rix
|
c56ac0d0f9
|
Extend the Ruby syntax definition a little.
|
2017-04-05 14:01:36 -04:00 |
|
Rob Rix
|
5dd64723ac
|
Move the Ruby type into its own module.
|
2017-04-05 14:00:47 -04:00 |
|
Rob Rix
|
28acaef678
|
Stub in a module for Ruby syntax.
|
2017-04-05 13:59:03 -04:00 |
|
Rob Rix
|
cf4f532bce
|
Rename the literals; namespacing will suffice.
|
2017-04-05 13:46:00 -04:00 |
|
Rob Rix
|
2a8b8869ca
|
Stub in a datatype for Ruby syntax.
|
2017-04-05 13:32:20 -04:00 |
|
Rob Rix
|
1b97a01bfb
|
Merge branch 'master' into syntax-a-la-carte
|
2017-04-05 13:27:08 -04:00 |
|
joshvera
|
dcbac37b66
|
Add eraseFeatureVector
|
2017-04-05 12:14:56 -04:00 |
|
joshvera
|
7e09170877
|
Add some state and run functions
|
2017-04-05 11:38:51 -04:00 |
|
Rob Rix
|
c6dc41e63b
|
Open the repo multiple times, concurrently.
|
2017-04-05 10:20:11 -04:00 |
|
Rob Rix
|
42cd9e35ff
|
Extract how we get blobs.
|
2017-04-05 09:41:31 -04:00 |
|
Rob Rix
|
acbe324a77
|
🔥 the trace events (for now).
|
2017-04-05 09:39:31 -04:00 |
|
Rob Rix
|
c9175254e7
|
Abstract out running a git command with alternate object dirs.
|
2017-04-05 09:38:18 -04:00 |
|
joshvera
|
1649d24afd
|
Stub in RwsF data type
|
2017-04-04 17:59:19 -04:00 |
|
Rob Rix
|
5f1f82fb33
|
Define a MonadIO instance for Command.
|
2017-04-04 15:54:27 -04:00 |
|
Rob Rix
|
0762ff3408
|
Define a combinator to run a number of commands concurrently.
|
2017-04-04 15:46:51 -04:00 |
|
Rob Rix
|
31ffb0e640
|
🔥 a TODO.
|
2017-04-04 12:45:12 -04:00 |
|
Rob Rix
|
f4f83895f6
|
Evaluate terms in parallel.
|
2017-04-04 11:00:37 -04:00 |
|
Rob Rix
|
b4d72cc62c
|
Evaluate diffs in parallel.
|
2017-04-04 10:57:18 -04:00 |
|
Rob Rix
|
35cdc611ad
|
Read files at SHAs in Both.
|
2017-04-04 10:46:04 -04:00 |
|
Rob Rix
|
15d899abed
|
Run diffs in Both.
|
2017-04-04 10:42:51 -04:00 |
|
Rob Rix
|
5612624589
|
Tidy up the readFilesAtSHAs evaluator.
|
2017-04-04 10:25:10 -04:00 |
|
Rob Rix
|
35a5644de9
|
🔥 redundant parens.
|
2017-04-03 22:27:44 -04:00 |
|
Rob Rix
|
ceecfa00b1
|
Simplify how we deal with empty source blobs.
|
2017-04-03 20:11:12 -04:00 |
|
Rob Rix
|
ff4bfdb6ec
|
Represent missing files in Maybe.
|
2017-04-03 20:01:08 -04:00 |
|
Rob Rix
|
d23251e8c7
|
Add a convenience to diff terms in Maybe.
|
2017-04-03 20:00:46 -04:00 |
|
Rob Rix
|
fbb899250a
|
Replace the summaries maps with Summaries.
|
2017-04-03 17:15:58 -04:00 |
|
Rob Rix
|
3b457496a9
|
ReadFilesAtSHAs returns blobs in Both.
|
2017-04-03 16:46:13 -04:00 |
|
Rob Rix
|
8373395c23
|
Fall back to patch rendering.
|
2017-04-03 16:22:04 -04:00 |
|
Rob Rix
|
d589400c58
|
Perform high-level diffing via Command.
|
2017-04-03 16:21:44 -04:00 |
|
Rob Rix
|
66028f6745
|
Split & Patch render to a new File monoid.
This is a cheap way to intercalate newlines.
|
2017-04-03 16:21:14 -04:00 |
|
Rob Rix
|
35b5efba97
|
Diff rendering takes a list of blobs and diffs.
|
2017-04-03 16:05:36 -04:00 |
|
Rob Rix
|
a072db14f3
|
🔥 Output.
|
2017-04-03 16:00:00 -04:00 |
|
Rob Rix
|
76d5d0f5a6
|
🔥 Command.Diff.
|
2017-04-03 15:59:32 -04:00 |
|
Rob Rix
|
3b5f84e521
|
Pull the renderer out of the diff mode scope.
|
2017-04-03 15:46:54 -04:00 |
|
Rob Rix
|
f086517746
|
Run path diffs in Command.
|
2017-04-03 15:44:41 -04:00 |
|
Rob Rix
|
04a1444c89
|
Eta reduce.
|
2017-04-03 15:40:15 -04:00 |
|
Rob Rix
|
126af5ec91
|
Render ToC and Summary in the Summaries monoid.
|
2017-04-03 15:37:20 -04:00 |
|
Rob Rix
|
7447a785da
|
Define a type of summaries.
|
2017-04-03 15:31:46 -04:00 |
|
Rob Rix
|
f5a41f97cd
|
alternateObjectDirs are FilePaths.
|
2017-04-03 15:26:28 -04:00 |
|
Rob Rix
|
542de0190c
|
Define a convenience to parse a blob in whatever language we assume for its extension.
|
2017-04-03 15:13:37 -04:00 |
|
Rob Rix
|
a11623d994
|
Define a convenience to render a diff to Output.
|
2017-04-03 15:12:00 -04:00 |
|
Rob Rix
|
e219ae99c7
|
Don’t pack FilePath into Text.
|
2017-04-03 14:41:28 -04:00 |
|
Rob Rix
|
86bf611ced
|
We might not know the language.
|
2017-04-03 14:37:53 -04:00 |
|
Rob Rix
|
d24469aaef
|
Clarify that parallelization is TBD.
|
2017-04-03 12:33:53 -04:00 |
|
Rob Rix
|
d58b7d1a89
|
Spacing.
|
2017-04-03 12:33:36 -04:00 |
|
Rob Rix
|
b396551aed
|
Generalize the diff command over the field types.
|
2017-04-03 12:32:36 -04:00 |
|
Rob Rix
|
70cffaa9a3
|
📝 runCommand.
|
2017-04-03 12:29:14 -04:00 |
|
Rob Rix
|
51bb7c1b33
|
📝 the commands.
|
2017-04-03 12:28:43 -04:00 |
|
Rob Rix
|
670b85edc9
|
Eta-reduce runDiffRenderer.
|
2017-04-03 12:22:11 -04:00 |
|
Rob Rix
|
516f888ac8
|
Export the Command terms.
|
2017-04-03 12:18:48 -04:00 |
|
Rob Rix
|
37e21217e2
|
Import the command modules directly.
|
2017-04-03 12:18:40 -04:00 |
|
Rob Rix
|
f172c1b6ae
|
🔥 TermProjection.
|
2017-04-03 12:14:26 -04:00 |
|
Rob Rix
|
6802765865
|
🔥 a redundant comment.
|
2017-04-03 12:10:11 -04:00 |
|
Rob Rix
|
16860c33c3
|
Move the CommandF type down.
|
2017-04-03 12:09:59 -04:00 |
|
Rob Rix
|
8f7559f81c
|
Define smart constructors for the Command instructions.
|
2017-04-03 12:09:05 -04:00 |
|
Rob Rix
|
2f10158596
|
Placate hlint.
|
2017-04-03 12:05:52 -04:00 |
|
Rob Rix
|
42b0c2503f
|
The ReadFilesAtSHAs command takes a list of alternative object dirs.
|
2017-04-03 12:04:54 -04:00 |
|
Rob Rix
|
20504b9991
|
Extract the evaluators into their own functions.
|
2017-04-03 12:02:40 -04:00 |
|
Rob Rix
|
28c57f84b1
|
🔥 term renderers.
|
2017-04-03 11:53:27 -04:00 |
|
Rob Rix
|
614124a070
|
🔥 a redundant comment.
|
2017-04-03 11:29:53 -04:00 |
|
Rob Rix
|
eaddc5965e
|
Tidy up the type signature for identifierFor.
|
2017-04-03 10:40:15 -04:00 |
|
Rob Rix
|
89e1017f9e
|
Define an identifier decorator.
|
2017-04-03 10:40:05 -04:00 |
|
Rob Rix
|
442746ddb8
|
Term decorators operate over complete subterms.
|
2017-04-03 10:39:58 -04:00 |
|
Rob Rix
|
c2fc77faeb
|
Tighten up termSourceTextDecorator.
|
2017-04-03 10:39:28 -04:00 |
|
Rob Rix
|
4a8311892b
|
🔥 some unnecessary foralls.
|
2017-04-03 10:35:00 -04:00 |
|
Rob Rix
|
cb0950ed64
|
Define an Identifier type.
|
2017-04-03 10:10:58 -04:00 |
|
Rob Rix
|
b374a7be9d
|
Define a term renderer command.
|
2017-03-31 23:03:23 -04:00 |
|
Rob Rix
|
87fc2afafa
|
Define term renderers.
|
2017-03-31 23:03:12 -04:00 |
|
Rob Rix
|
2aa1bf934b
|
Define runDiffRenderer' in tacit style.
|
2017-03-31 23:02:56 -04:00 |
|
Rob Rix
|
551e4e37dd
|
Sort the Diff import up.
|
2017-03-31 23:02:41 -04:00 |
|
Rob Rix
|
90c2290183
|
Define an evaluator for TermProjection.
|
2017-03-31 22:39:52 -04:00 |
|
Rob Rix
|
db5d3ba11a
|
Generalize identifierFor.
|
2017-03-31 22:39:37 -04:00 |
|
Rob Rix
|
c3b849105f
|
Define a TermProjection datatype.
|
2017-03-31 22:32:29 -04:00 |
|
Rob Rix
|
1cd2b5456b
|
🔥 redundant parens in sacrifice to hlint.
|
2017-03-31 19:44:04 -04:00 |
|
Rob Rix
|
c183f0ab75
|
Tighten up makeNode.
|
2017-03-31 19:43:53 -04:00 |
|
Rob Rix
|
0a6612d504
|
roll parseNodeForTermF into parseRoot.
|
2017-03-31 19:35:16 -04:00 |
|
Rob Rix
|
3b37f6f2b8
|
Fold buildParseNodes back into parseRoot.
|
2017-03-31 19:29:48 -04:00 |
|
Rob Rix
|
3484b04960
|
Replace parseRoot’s algebra with a constructor for the recursive structure.
|
2017-03-31 19:25:28 -04:00 |
|
Rob Rix
|
c18e332e28
|
ParseNode is a leaf in a list and a rose tree.
|
2017-03-31 19:15:20 -04:00 |
|
Rob Rix
|
9d7ee81064
|
Base, Recursive, and Corecursive instances for Rose.
|
2017-03-31 19:14:42 -04:00 |
|
Rob Rix
|
2477035b9d
|
Define a Rose tree type.
|
2017-03-31 19:13:03 -04:00 |
|
Rob Rix
|
c0578deeca
|
Extract a parseRoot function out of parseIndex and parseTree.
|
2017-03-31 18:02:10 -04:00 |
|
Rob Rix
|
9c83be8b99
|
Application instead of composition.
|
2017-03-31 17:51:24 -04:00 |
|
Rob Rix
|
90a2f97d47
|
Tidy up the buildParseNodes signature with RAlgebra.
|
2017-03-31 17:47:48 -04:00 |
|
Rob Rix
|
2d830b57bb
|
Pull the for out of buildParseNodes.
|
2017-03-31 17:44:50 -04:00 |
|
Rob Rix
|
d172d9440f
|
Use an R-algebra type synonym to tidy up the type signatures.
🎩 @patrickt.
|
2017-03-31 17:17:15 -04:00 |
|
Rob Rix
|
a0995343a3
|
Define a command to render a diff.
|
2017-03-31 17:03:17 -04:00 |
|
Rob Rix
|
70b5505852
|
Define an alternative evaluator producing the output type.
|
2017-03-31 16:54:55 -04:00 |
|
Rob Rix
|
bbe8d05e71
|
Export DiffRenderer and runDiffRenderer.
|
2017-03-31 16:50:13 -04:00 |
|
Rob Rix
|
0c6c57d3b3
|
Evaluate DiffRenderers.
|
2017-03-31 16:49:29 -04:00 |
|
Rob Rix
|
8dcc7703dc
|
Constrain ToCRenderer appropriately.
|
2017-03-31 16:49:09 -04:00 |
|
Rob Rix
|
d612dccb8d
|
🔥 toSummaryKey.
|
2017-03-31 16:48:58 -04:00 |
|
Rob Rix
|
4c24cdf1ad
|
🔥 TOC’s dependency on Renderer.
|
2017-03-31 16:48:06 -04:00 |
|
Rob Rix
|
a9ca469ea7
|
TermRenderer has a fields type parameter.
|
2017-03-31 16:39:51 -04:00 |
|
Rob Rix
|
1cd5b2bfec
|
Constrain the SummaryRenderer.
|
2017-03-31 16:39:40 -04:00 |
|
Rob Rix
|
b30c19e68b
|
🔥 JSON’s dependency on Renderer.
|
2017-03-31 16:37:16 -04:00 |
|
Rob Rix
|
45b34c7444
|
🔥 Summary’s dependency on Renderer.
|
2017-03-31 16:37:08 -04:00 |
|
Rob Rix
|
5ee44d4642
|
🔥 Patch’s dependency on Renderer.
|
2017-03-31 16:20:48 -04:00 |
|
Rob Rix
|
fd2b24b714
|
🔥 Split’s dependency on Renderer.
|
2017-03-31 16:17:20 -04:00 |
|
Rob Rix
|
30ab7102bb
|
Constrain & parametricize SExpressionDiffRenderer & SExpressionTermRenderer appropriately.
|
2017-03-31 16:14:44 -04:00 |
|
Rob Rix
|
92092f6136
|
SExpression does not import Renderer.
|
2017-03-31 16:12:26 -04:00 |
|
Rob Rix
|
1d360e6534
|
Define DiffRenderer and TermRenderer types.
|
2017-03-31 16:08:39 -04:00 |
|
Rob Rix
|
b7a1cf11ea
|
Reformat the Renderer exports list.
|
2017-03-31 15:55:57 -04:00 |
|
Rob Rix
|
b95fae682d
|
Read all files when no specific files are requested.
|
2017-03-31 15:53:49 -04:00 |
|