1
1
mirror of https://github.com/github/semantic.git synced 2024-12-01 09:15:01 +03:00
Commit Graph

297 Commits

Author SHA1 Message Date
Rob Rix
26cf1d3a15
Revert "Represent import graphs’ semi-abstract values more discretely."
This reverts commit 2e3713db34.
2019-12-19 14:57:01 -05:00
Rob Rix
2e3713db34
Represent import graphs’ semi-abstract values more discretely. 2019-12-19 14:56:55 -05:00
Rob Rix
f00affb958
🔥 commented-out Analysis implementations. 2019-12-19 14:44:22 -05:00
Rob Rix
89d7bd5aaf
Strengthen the constraints available to eval. 2019-12-19 14:44:08 -05:00
Rob Rix
00e506cdec
Run the Domain effect. 2019-12-19 14:43:28 -05:00
Rob Rix
0f030b3dcc
Note a FIXME. 2019-12-19 14:42:39 -05:00
Rob Rix
bcb4eb99d8
Define an Algebra instance for DomainC. 2019-12-19 14:42:21 -05:00
Rob Rix
3003f3fc10
Define a handler for Domain. 2019-12-19 14:33:15 -05:00
Rob Rix
187284782e
Define a MonadTrans instance. 2019-12-19 14:33:11 -05:00
Rob Rix
3f23042191
Derive some instances. 2019-12-19 14:33:02 -05:00
Rob Rix
3ff821bdde
Define a Domain carrier. 2019-12-19 14:32:54 -05:00
Rob Rix
17a6f02894
Note a FIXME. 2019-12-19 14:31:40 -05:00
Rob Rix
fec21c77f5
Strengthen the constraints available to eval. 2019-12-19 14:31:22 -05:00
Rob Rix
0f7188a864
Run the Domain effect. 2019-12-19 14:30:24 -05:00
Rob Rix
3be69996fb
Define an Algebra instance for DomainC. 2019-12-19 14:29:44 -05:00
Rob Rix
db5ef7be3c
Define a MonadTrans instance for DomainC. 2019-12-19 14:19:00 -05:00
Rob Rix
b007c9df46
Define a Domain carrier. 2019-12-19 14:18:51 -05:00
Rob Rix
6e5cb7fa66
Semi closures wrap a scope. 2019-12-19 14:16:39 -05:00
Rob Rix
abd647ebc4
Wrap closure bodies in Named. 2019-12-19 14:11:36 -05:00
Rob Rix
c707fe59df
Strengthen the constraints available to typechecked evaluators. 2019-12-19 14:07:33 -05:00
Rob Rix
ac274cb336
Combine the Has constraints. 2019-12-19 14:06:35 -05:00
Rob Rix
964d8e20d2
Allow the evaluator to use the heap & env effects. 2019-12-19 14:03:01 -05:00
Rob Rix
875a4087d6
Allow the evaluator to use the Domain effect. 2019-12-19 14:00:24 -05:00
Rob Rix
87433746b7
Run the Domain effect for concrete analysis. 2019-12-19 13:59:47 -05:00
Rob Rix
b013780cc2
Define an Algebra instance for DomainC. 2019-12-19 13:56:54 -05:00
Rob Rix
a64c337b1e
Graph the heap using the addresses in closure bodies. 2019-12-19 13:46:16 -05:00
Rob Rix
387824aa7b
Closure holds a Scope. 2019-12-19 13:44:01 -05:00
Rob Rix
1f9e0fa18f
Reformat a context. 2019-12-19 13:33:11 -05:00
Rob Rix
de096192ba
Define a MonadTrans instance for DomainC. 2019-12-19 13:25:47 -05:00
Rob Rix
e518beb826
Derive some instances for DomainC. 2019-12-19 13:25:41 -05:00
Rob Rix
585b05fa61
🔥 the name parameters from Decl & ScopeGraph. 2019-12-19 13:00:35 -05:00
Rob Rix
d93686e01e
Scope graphing takes addressed terms. 2019-12-19 12:58:43 -05:00
Rob Rix
da63c0cf6a
Define an Addr synonym for scope graphing. 2019-12-19 12:57:57 -05:00
Rob Rix
c3b632fd9d
Import graphing uses addressed terms. 2019-12-19 12:55:09 -05:00
Rob Rix
e78cc7bbfc
Define an Addr synonym for import graphing. 2019-12-19 12:54:55 -05:00
Rob Rix
f7c2c74ef8
Take addressed terms in Concrete. 2019-12-19 12:53:39 -05:00
Rob Rix
d22039b768
Rename the Precise synonym to Addr. 2019-12-19 12:52:30 -05:00
Rob Rix
fdb0f519d9
Define an Addr synonym for typechecking. 2019-12-19 12:51:45 -05:00
Rob Rix
4485d3622d
🔥 Evaluator. 2019-12-19 12:32:13 -05:00
Rob Rix
cc403afe27
🔥 Analysis. 2019-12-19 12:30:05 -05:00
Rob Rix
6810624e2c
Note a fixme. 2019-12-19 12:02:28 -05:00
Rob Rix
76c56e387d
Concretize records. 2019-12-19 11:59:39 -05:00
Rob Rix
cb2a9959ce
Add records to Intro. 2019-12-19 11:56:42 -05:00
Rob Rix
e546950f29
Parameterize terms by addresses. 2019-12-19 11:52:05 -05:00
Rob Rix
1bc3c65efe
🔥 the term parameter from Analysis. 2019-12-19 11:18:54 -05:00
Rob Rix
a3ccc126b0
🔥 abstract & apply from Analysis. 2019-12-19 11:18:08 -05:00
Rob Rix
039148aa89
Define a smart constructor for concretizing lambdas. 2019-12-19 11:14:01 -05:00
Rob Rix
9f2a2fc819
Define a smart constructor for constructing lambdas. 2019-12-19 11:11:47 -05:00
Rob Rix
a60380ad09
Revert "Parameterize terms by addresses."
This reverts commit 1d292b0395.
2019-12-19 11:06:44 -05:00
Rob Rix
1d292b0395
Parameterize terms by addresses. 2019-12-19 11:06:40 -05:00
Rob Rix
f85c31c127
Merge branch 'master' into analysis-effects 2019-12-19 10:54:29 -05:00
Rob Rix
443b4ca8e1
Add lambdas to Intro. 2019-12-18 15:13:38 -05:00
Rob Rix
63427b9d60
Alignment. 2019-12-18 15:12:15 -05:00
Patrick Thomson
7f1190abaf Delete old implementations. 2019-12-18 11:23:38 -05:00
Patrick Thomson
1d9b5d29e6 Depend on it in semantic-analysis. 2019-12-18 11:23:19 -05:00
Rob Rix
cfc8bdfe38
🔥 Ignored. 2019-12-18 10:54:54 -05:00
Rob Rix
6485f858ed
Move Named & Ignored into Analysis.Name. 2019-12-18 10:51:02 -05:00
Rob Rix
667f894ec3
Merge branch 'ghcide-is-painless' into analysis-effects 2019-12-18 09:49:08 -05:00
Patrick Thomson
6bebd84deb Officially require GHC 8.8. 2019-12-13 15:48:49 -05:00
Patrick Thomson
77a1b4697e More import fixes. 2019-12-13 11:47:34 -05:00
Rob Rix
aac1c92dc9
🔥 string/asString from Analysis. 2019-12-13 11:46:04 -05:00
Rob Rix
0fc9f5dc6d
🔥 unit from Analysis. 2019-12-13 11:44:57 -05:00
Rob Rix
a8d670cd19
Define smart constructors for concretization at specific types. 2019-12-13 11:42:58 -05:00
Rob Rix
9a3e06b070
Define smart constructors for unit, bool, & string construction. 2019-12-13 11:36:49 -05:00
Rob Rix
a468a66e9e
🔥 bool/asBool. 2019-12-13 11:33:58 -05:00
Patrick Thomson
dc69714053 Merge remote-tracking branch 'origin/master' into glorious-ghc-upgrade-8.8 2019-12-13 11:23:36 -05:00
Rob Rix
34a0afbfba
Merge branch 'fused-effects-one-dot-zero' into analysis-effects 2019-12-12 12:53:27 -05:00
Rob Rix
b726bf8702
🔥 ConstraintKinds. 2019-12-12 11:41:06 -05:00
Rob Rix
e0c47f11bc
🔥 an unnecessary Effect instance for Monotype. 2019-12-12 11:32:01 -05:00
Rob Rix
5ae742cf1c
🔥 unnecessary scoped type variables. 2019-12-12 11:31:24 -05:00
Rob Rix
22b6c3bab3
🔥 some redundant language extensions. 2019-12-12 11:31:15 -05:00
Patrick Thomson
68ab3cbb97 semantic:exe now compiles 2019-12-10 13:32:56 -05:00
Patrick Thomson
0ceba4a160 Ensure Readline is an HFunctor. 2019-11-08 10:24:54 -05:00
Patrick Thomson
f1a5f0439d Fix state type in concrete analysis. 2019-11-08 10:24:18 -05:00
Patrick Thomson
df98749bd0 Fix Analysis.ImportGraph. 2019-11-08 10:23:39 -05:00
Patrick Thomson
e6bf975ee8 Fix state type in runFile. 2019-11-08 10:22:58 -05:00
Patrick Thomson
cac8047ee0 Fix Typecheck analysis.
Had to write this RightModule instance by hand. It typechecks, so I
guess it works?
2019-11-08 10:21:48 -05:00
Patrick Thomson
3feec0e5ee Correct Algebra instance for FailC. 2019-11-08 10:16:34 -05:00
Patrick Thomson
e041d2440d 🔥 state types in FlowInsensitive. 2019-11-08 10:16:20 -05:00
Patrick Thomson
35ea116f00 Bump various FE dependencies from 0.5 to 1.0. 2019-11-07 15:48:57 -05:00
Rob Rix
99184605bd
Run the domain effect during convergence. 2019-11-07 13:11:38 -05:00
Rob Rix
38e42c0cd9
Align. 2019-11-07 12:49:05 -05:00
Rob Rix
ee8017d8dd
Define a Domain carrier for typechecking. 2019-11-07 11:44:42 -05:00
Rob Rix
27559f8f0e
Specialize the Domain effect to Intro. 2019-11-07 10:53:49 -05:00
Rob Rix
4185f213e3
Remove everything but the primitives from Intro. 2019-11-07 10:37:34 -05:00
Rob Rix
4a0aa126fd
Spacing. 2019-11-06 12:48:09 -05:00
Rob Rix
fd19464be5
Rename the parameters to Domain. 2019-11-06 12:47:40 -05:00
Rob Rix
445737a92c
🔥 the old Domain effect. 2019-11-06 12:46:39 -05:00
Rob Rix
34f32970cd
Define a smart constructor for concretization. 2019-11-06 12:44:52 -05:00
Rob Rix
0dd17dcc36
Define a smart constructor for abstracting domain values. 2019-11-06 12:44:03 -05:00
Rob Rix
d4a1080563
Align. 2019-11-06 12:40:50 -05:00
Rob Rix
180af3f1dc
Define an Effect instance for Domain. 2019-11-06 12:39:44 -05:00
Rob Rix
6e1503c1ef
Define an HFunctor instance for Domain. 2019-11-06 12:39:39 -05:00
Rob Rix
7b9e1c0d88
Derive a Generic1 instance for Domain. 2019-11-06 12:39:05 -05:00
Rob Rix
e8a4749653
Stub in a Domain effect with abstraction & concretization operations. 2019-11-06 12:37:58 -05:00
Rob Rix
374f90dc7e
Re-export some stuff. 2019-11-06 12:35:07 -05:00
Rob Rix
903e73cba8
Stub in a module for the Domain effect. 2019-11-06 12:33:15 -05:00
Rob Rix
812a123d8a
Sort Name down. 2019-11-06 12:32:39 -05:00
Rob Rix
ef44b29574
Define a constructor for Lam using Var. 2019-11-06 11:55:28 -05:00
Rob Rix
14ff797594
Define an eliminator for lambdas using Fin. 2019-11-06 11:51:52 -05:00