Josh Vera
6bb737c18f
Merge branch 'master' into combined-state-effects
2018-03-28 11:56:17 -04:00
Josh Vera
c27633534a
Merge pull request #1688 from github/matching
...
Introduce tree-automata DSL for filtering and matching ASTs.
2018-03-28 11:56:08 -04:00
Josh Vera
c79f178fc1
Merge branch 'master' into matching
2018-03-28 11:45:57 -04:00
Josh Vera
7c59ff0344
Merge pull request #1693 from github/merge-newer
...
s/overwritingUnion/mergeNewer
2018-03-28 11:45:47 -04:00
Timothy Clem
fa53d2e080
s/overwritingUnion/mergeNewer
2018-03-28 08:33:06 -07:00
Patrick Thomson
c4a408eb90
Move embedTerm to Data.Algebra. It's useful.
2018-03-28 10:07:01 -04:00
Rob Rix
1d3c09a9d2
Use .= to define localEvaluatingState.
2018-03-28 08:56:02 -04:00
Rob Rix
5ae24ddc89
Merge branch 'master' into combined-state-effects
2018-03-28 08:33:19 -04:00
Rob Rix
f7afd2c4b4
Only reset a single field using localEvaluatingState.
2018-03-28 08:22:04 -04:00
Rob Rix
e1dabed456
Derive Eq, Ord, & Show instances for EvaluatingState.
2018-03-28 07:56:11 -04:00
Timothy Clem
ea28aee67e
Merge pull request #1684 from github/you-get-a-namespace
...
Ruby modules also behave like namespaces
2018-03-27 16:03:01 -07:00
Timothy Clem
5c1e5514f7
Merge branch 'master' into you-get-a-namespace
2018-03-27 15:40:30 -07:00
Timothy Clem
3d56947e82
Fix typos
2018-03-27 15:18:38 -07:00
Patrick Thomson
89be1f1f1f
kind signatures not needed
2018-03-27 16:35:38 -04:00
Patrick Thomson
85d064bf95
Merge remote-tracking branch 'origin/master' into matching
2018-03-27 16:34:31 -04:00
Patrick Thomson
97df7beba1
fix lints
2018-03-27 16:34:09 -04:00
Patrick Thomson
034bb562d4
Introduce tree-automata DSL for filtering and matching ASTs.
...
This patch adds the `Matcher` monad, which is capable of filtering any
recursive data structure, bottom-up, yielding a list of (or an
optional) result. These functions are probably going to be used over
`Term` values, so API is provided to wrap common projection functions.
The API was more or less copied directly from that of Clang's AST
matching facilities.
There are a lot of things we can do in the future:
* Binding results yielded in matchers to associated names, for future
transformation stages to look up and modify.
* Actual transformation stages.
* Optimizations. This is not very fast.
A million thanks to @robrix , whose sage advice managed to turn my
kooky idea for an API into something really special and exciting.
2018-03-27 16:14:30 -04:00
Rob Rix
bf2bab5255
Modify the state strictly.
2018-03-27 15:41:43 -04:00
Rob Rix
107274d4dd
🔥 some redundant imports.
2018-03-27 15:25:57 -04:00
Rob Rix
e9cac9d0c2
🔥 find*, in favour of EvaluatingState fields.
2018-03-27 15:24:28 -04:00
Rob Rix
b8d714af28
Use the EvaluatingState fields directly.
2018-03-27 15:23:26 -04:00
Rob Rix
7a10eabfd7
🔥 an unused language pragma.
2018-03-27 15:14:25 -04:00
Rob Rix
e40b34d691
Export EvaluatingState.
2018-03-27 15:08:28 -04:00
Rob Rix
ee2a948186
Use gets to view state.
2018-03-27 15:05:22 -04:00
Rob Rix
541568e16f
Bump effects to master.
2018-03-27 15:04:55 -04:00
Rob Rix
7b90a0192b
Prefix the lenses instead of the fields.
2018-03-27 15:03:26 -04:00
Rob Rix
d596b0a7c6
🔥 the dependency on TH.
2018-03-27 15:01:35 -04:00
Rob Rix
ec972b1567
Define the lenses without TH.
2018-03-27 15:00:49 -04:00
Timothy Clem
a8c67ed8ab
Merge pull request #1686 from github/fix-typescript-member-expression
...
Fix typescript member expression
2018-03-27 11:02:33 -07:00
Timothy Clem
cde0974151
Don't change the ruby prelude on this branch
2018-03-27 10:53:58 -07:00
Timothy Clem
e770aaec35
Fix up Import graph output
2018-03-27 10:20:41 -07:00
Timothy Clem
e2d13b6cdc
Fix up specs
2018-03-27 10:20:28 -07:00
Timothy Clem
4e6fb7a6f1
Fix up typescript member expression assignment - revert qualified identifier business
2018-03-27 10:20:10 -07:00
Timothy Clem
094432934f
Ruby class example
2018-03-26 15:30:11 -07:00
Timothy Clem
bea56e5bab
Demonstrate a little more detail of subclassing
2018-03-26 15:29:39 -07:00
Timothy Clem
505562126a
Fix toc summary tests now that ruby classes have their own syntax
2018-03-26 15:15:38 -07:00
Timothy Clem
3402fda563
makeNamespace takes list of supers
2018-03-26 15:07:45 -07:00
Rob Rix
6b0b0f908d
Tighten up the comments.
2018-03-26 17:55:15 -04:00
Timothy Clem
d04909bb1b
Refactor to specialize syntax across different languages
2018-03-26 14:26:44 -07:00
Timothy Clem
7b5137fdee
Clean up
2018-03-26 14:07:19 -07:00
Timothy Clem
18b5e1b7e6
Treat ts internal modules as namespaces as well
2018-03-26 14:05:38 -07:00
Timothy Clem
df48086911
s/Module/Namespace for this syntax
2018-03-26 14:05:27 -07:00
Timothy Clem
0dccd71e6b
Not using these typescript syntaxes at all now
2018-03-26 14:04:37 -07:00
Timothy Clem
016c70b0ac
Remove extraneous comments and whitespace
2018-03-26 13:43:40 -07:00
Timothy Clem
e78740ef88
Add another layer to Ruby module fixture
2018-03-26 13:00:49 -07:00
Timothy Clem
3eece19234
Assert environment has module in it
2018-03-26 12:53:58 -07:00
Timothy Clem
f3ceab31b0
Cleanup
2018-03-26 12:53:49 -07:00
Timothy Clem
203042742b
Spec to asset eval of ruby modules
2018-03-26 12:50:06 -07:00
Timothy Clem
4c445c2fc1
Fix references to PackageDef in tests
2018-03-26 12:49:52 -07:00
Rob Rix
a9388ff118
Use a single combined State type.
2018-03-26 15:34:37 -04:00