1
1
mirror of https://github.com/github/semantic.git synced 2024-12-22 14:21:31 +03:00
Commit Graph

19984 Commits

Author SHA1 Message Date
Rob Rix
fc262873f3 Rename the LocatedValue eliminator. 2018-03-29 09:56:50 -04:00
Rob Rix
c2f657202b 🔥 the MonadValue constraints on Value. 2018-03-29 09:40:45 -04:00
Rob Rix
1c03f9c4d9 Define a Location instance for Located. 2018-03-29 09:31:45 -04:00
Rob Rix
438c19dd50 Derive Eq, Ord, & Show instances for LocatedValue. 2018-03-29 09:31:08 -04:00
Rob Rix
e51d095372 Derive Eq, Ord, & Show instances for Located. 2018-03-29 09:30:48 -04:00
Rob Rix
8de38e0f73 Spell out Provenance’s definition. 2018-03-29 09:30:39 -04:00
Rob Rix
f85cf50f7a Define an AbstractValue instance for LocatedValue. 2018-03-29 09:28:32 -04:00
Rob Rix
3466a6d3ff Define a LocatedValue value type. 2018-03-29 09:28:20 -04:00
Rob Rix
6850aba2a4 Define a Located location type. 2018-03-29 09:28:07 -04:00
Rob Rix
d49bc17aa7 Define LocationFor as an associated type family on an AbstractValue typeclass. 2018-03-29 09:18:10 -04:00
Rob Rix
095ece3182 Define a Location typeclass of which Cell is an associated type. 2018-03-29 09:07:53 -04:00
Rob Rix
9ce0fb1fef Define Cell as an open type family. 2018-03-29 09:05:55 -04:00
Rob Rix
49a74de758 We don’t need injectivity for Cell. 2018-03-29 09:04:50 -04:00
Rob Rix
aa233f17e1 Note that we’ll need to handle dependencies. 2018-03-29 09:01:20 -04:00
Rob Rix
cebcd5daaa Add a type synonym for the provenance of a symbol. 2018-03-29 09:00:48 -04:00
Rob Rix
fb38332849 Stub in a module for located names/values/whatever. 2018-03-29 09:00:25 -04:00
Josh Vera
4b751034a5 Merge pull request #1687 from github/combined-state-effects
Combined State effects
2018-03-28 12:02:29 -04:00
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