1
1
mirror of https://github.com/github/semantic.git synced 2024-11-24 17:04:47 +03:00
Commit Graph

293 Commits

Author SHA1 Message Date
Rob Rix
02ae8de2ba
Specialize Analysis to Name. 2019-11-05 12:02:39 -05:00
Rob Rix
f8c26e72d3
🔥 FrameId. 2019-11-05 12:00:32 -05:00
Rob Rix
56b30e4793
🔥 FrameId. 2019-11-05 11:59:59 -05:00
Rob Rix
e9b6658b5e
Specialize flow-insensitive caching to Name addresses. 2019-11-05 11:59:23 -05:00
Rob Rix
1b61ce56ec
Sort explicit quantifiers. 2019-11-05 11:56:22 -05:00
Rob Rix
b33c694094
Sort constraints. 2019-11-05 11:55:54 -05:00
Rob Rix
d06d73c81b
Rename a bunch of type parameters. 2019-11-05 11:55:42 -05:00
Rob Rix
f03de00aec
🔥 ScopedTypeVariables. 2019-11-05 11:54:41 -05:00
Rob Rix
611ae5fb0b
🔥 quantifiers. 2019-11-05 11:53:46 -05:00
Rob Rix
6191f2e1be
Specialize the scope graph analysis to Name. 2019-11-05 11:52:21 -05:00
Rob Rix
4962104008
Specialize Value to Name. 2019-11-05 11:50:32 -05:00
Rob Rix
a3775a1248
Specialize the import graph analysis to Name. 2019-11-05 11:48:42 -05:00
Rob Rix
630759d1d7
Specialize Monotype to Name. 2019-11-05 11:47:01 -05:00
Rob Rix
18bc19a04e
Specialize Type, Constraint, Solution, & Substitution to Name. 2019-11-05 11:45:59 -05:00
Rob Rix
814f6fe8cf
🔥 quantifiers. 2019-11-05 11:38:24 -05:00
Rob Rix
50e123a110
Specialize the typechecking analysis to Name. 2019-11-05 11:37:47 -05:00
Rob Rix
71e4981805
Specialize EdgeType to Name. 2019-11-05 11:34:00 -05:00
Rob Rix
535ec0576a
🔥 some quantifiers. 2019-11-05 11:33:33 -05:00
Rob Rix
2f676e892e
Specialize the Env synonym to Name. 2019-11-05 11:32:55 -05:00
Rob Rix
398d377e35
Specialize Concrete to Name. 2019-11-05 11:32:22 -05:00
Rob Rix
29b117033b
Move Edge down. 2019-11-05 11:29:05 -05:00
Rob Rix
924e0d0129
🔥 Frame. 2019-11-05 11:28:18 -05:00
Rob Rix
98acd3adb7
Specialize concrete analysis to Name. 2019-11-05 11:26:01 -05:00
Rob Rix
9672556476
Move Name into its own module. 2019-11-05 11:13:15 -05:00
Rob Rix
9f26a4c13e
Stub in a module for Name. 2019-11-05 11:11:39 -05:00
Rob Rix
cd5165ce00
Strengthen to Fin without Var. 2019-11-04 16:36:31 -05:00
Rob Rix
4811adddae
Define a smart constructor for Lam binding with Fin. 2019-11-04 16:29:08 -05:00
Rob Rix
ea2b679049
Export Name. 2019-11-04 16:07:02 -05:00
Rob Rix
23d1c84342
Define a RightModule instance for Intro. 2019-11-04 16:03:14 -05:00
Rob Rix
20591377da
Define an HFunctor instance for Intro. 2019-11-04 16:02:19 -05:00
Rob Rix
a5e1d5e0cb
Derive a Generic1 instance for Intro. 2019-11-04 16:02:12 -05:00
Rob Rix
4b0af27dde
Rename Domain to Intro. 2019-11-04 15:53:54 -05:00
Rob Rix
e5bfa87d86
Derive Foldable, Functor, & Traversable instances for Domain. 2019-11-04 15:52:40 -05:00
Rob Rix
3bafe21a23
Define an eliminator for Lam. 2019-11-04 15:38:27 -05:00
Rob Rix
2d362d9874
Define a smart constructor for multiple lambdas. 2019-11-04 15:36:55 -05:00
Rob Rix
9822b4eed7
Define a smart constructor for Lam. 2019-11-04 14:48:59 -05:00
Rob Rix
ca3bb15353
Define a smart constructor for Record. 2019-11-04 14:47:43 -05:00
Rob Rix
c9161d51d1
Define a smart constructor for String. 2019-11-04 14:47:19 -05:00
Rob Rix
6b6581dbbe
Define a smart constructor for Bool. 2019-11-04 14:46:41 -05:00
Rob Rix
722e40571c
Define a smart constructor for Unit. 2019-11-04 14:46:14 -05:00
Rob Rix
20555fcf84
Lam’s name is in Maybe. 2019-11-04 14:44:21 -05:00
Rob Rix
99a84e5646
Specialize Domain to Name. 2019-11-04 14:43:15 -05:00
Rob Rix
7208186efa
Copy Name in from Core.Name. 2019-11-04 14:40:18 -05:00
Rob Rix
24f6159acc
Domain is scope-safe. 2019-11-04 14:35:24 -05:00
Rob Rix
40d3e5ece6
Rename Arr to :->. 2019-11-04 14:33:06 -05:00
Rob Rix
3721ccbace
Add Lam to Domain. 2019-11-04 14:30:17 -05:00
Rob Rix
e4caca6f19
Add Record to Domain. 2019-11-04 14:27:12 -05:00
Rob Rix
d4190ddb17
Derive some instances for Domain. 2019-11-04 14:24:05 -05:00
Rob Rix
664c7301db
Stub in a Domain datatype modelling the basic kinds of values. 2019-11-04 14:22:48 -05:00
Rob Rix
1098d95cd8
Stub in a module for modelling the concrete domain. 2019-11-04 14:20:56 -05:00
Rob Rix
a55972ef88
Remove the heap fields from Analysis. 2019-11-04 14:04:03 -05:00
Rob Rix
a667c656a1
Reformat the signature for concreteAnalysis. 2019-11-04 14:03:31 -05:00
Rob Rix
9303d7e7ca
Use the Heap effect to define the scope graph analysis. 2019-11-04 13:57:16 -05:00
Rob Rix
3e987cc7e2
Sort constraints. 2019-11-04 13:56:06 -05:00
Rob Rix
42b7e77e84
Use the Heap effect to define the import graph analysis. 2019-11-04 13:54:48 -05:00
Rob Rix
641b989983
Revert "Export runNonDetM."
This reverts commit 309b5fd1bb.
2019-11-04 13:52:42 -05:00
Rob Rix
d5b180b465
Revert "Run flow-insensitive analyses in an Alternative context."
This reverts commit 6199c15436.
2019-11-04 13:52:28 -05:00
Rob Rix
ca50eb2fdb
Run the Heap effect inside convergeTerm. 2019-11-04 13:51:46 -05:00
Rob Rix
29d6654f1a
Use the Heap effect in Typecheck. 2019-11-04 13:50:04 -05:00
Rob Rix
6199c15436
Run flow-insensitive analyses in an Alternative context. 2019-11-04 13:47:59 -05:00
Rob Rix
309b5fd1bb
Export runNonDetM. 2019-11-04 13:46:57 -05:00
Rob Rix
ec53cd91d6
🔥 some redundant qualifiers. 2019-11-04 13:38:12 -05:00
Rob Rix
8127690358
Only import the effect. 2019-11-04 13:36:03 -05:00
Rob Rix
9327861790
Use the precise heap carrier to implement the Concrete analysis. 2019-11-04 13:35:52 -05:00
Rob Rix
327208eb15
Surface the precise heap through a State effect. 2019-11-04 13:35:07 -05:00
Rob Rix
8f50312be3
Define a Carrier instance for HeapC. 2019-11-04 13:15:49 -05:00
Rob Rix
a17a6825d3
Define a monovariant Heap carrier. 2019-11-04 12:52:03 -05:00
Rob Rix
1b8dafcf33
Re-export the heap effect. 2019-11-04 12:48:55 -05:00
Rob Rix
aaa4f6585f
Stub in a module for a monovariant heap carrier. 2019-11-04 12:48:11 -05:00
Rob Rix
08e1061b90
Define a Carrier instance for Heap. 2019-11-04 12:47:20 -05:00
Rob Rix
c3327fa1e5
HeapC wraps a state effect. 2019-11-04 12:34:38 -05:00
Rob Rix
5b8364cd51
Stub in a Heap carrier. 2019-11-04 12:32:01 -05:00
Rob Rix
b2a329c684
Re-export the Heap effect. 2019-11-04 12:29:54 -05:00
Rob Rix
05de03e2e6
Stub in a module for a precise heap carrier. 2019-11-04 12:29:21 -05:00
Rob Rix
e99299811d
Re-export Carrier & run from the effect modules. 2019-11-04 12:28:33 -05:00
Rob Rix
250237024e
Section headings. 2019-11-04 12:27:24 -05:00
Rob Rix
ab5b566bcb
Define a smart constructor for Assign. 2019-11-04 12:16:28 -05:00
Rob Rix
b1c2f261e9
Define a smart constructor for Deref. 2019-11-04 12:16:00 -05:00
Rob Rix
d23f34b8c4
Move the Heap effect to its own module. 2019-11-04 12:14:38 -05:00
Rob Rix
6359d96a7c
Stub in a module for the Heap effect. 2019-11-04 12:13:44 -05:00
Rob Rix
961bf622ca
🔥 the Analysis env fields. 2019-11-04 12:12:59 -05:00
Rob Rix
17da79fe24
Reformat the importGraphAnalysis signature. 2019-11-04 12:10:54 -05:00
Rob Rix
d70a169e93
Reorder the contexts for ease of type application. 2019-11-04 12:09:01 -05:00
Rob Rix
eb591f94df
Use the Env effect to define the scope graph analysis. 2019-11-01 15:23:21 -04:00
Rob Rix
0f7be2084d
Use the Env effect to define the import graph analysis. 2019-11-01 15:23:13 -04:00
Rob Rix
9e472c5956
Use the Env effect to define the Analysis. 2019-11-01 15:20:58 -04:00
Rob Rix
5fef3262e5
Move the monovariant Env carrier into its own module. 2019-11-01 15:19:01 -04:00
Rob Rix
778f84bb12
Define a module for the monovariant Env carrier. 2019-11-01 15:13:15 -04:00
Rob Rix
e58db3da31
Use the env effect in the concrete analysis. 2019-11-01 15:12:36 -04:00
Rob Rix
06ea57e167
Move the precise env carrier to its own module. 2019-11-01 15:04:22 -04:00
Rob Rix
d8955fdb20
Stub in a module for the precise Env carrier. 2019-11-01 15:00:03 -04:00
Rob Rix
6305e661c4
Run the env effect. 2019-11-01 14:59:04 -04:00
Rob Rix
7809bd2e8d
Move Env into its own module. 2019-11-01 14:58:33 -04:00
Rob Rix
131c804184
Stub in a module for the Env effect. 2019-11-01 14:56:43 -04:00
Rob Rix
ec94b7de1a
Define a carrier for monovariant Env. 2019-11-01 14:55:48 -04:00
Rob Rix
f0739bb151
Run the env carrier. 2019-11-01 14:52:21 -04:00
Rob Rix
4f44170281
Derive a MonadFail instance for EnvC. 2019-11-01 14:52:17 -04:00
Rob Rix
3aa3cb5005
Define a concrete Env carrier. 2019-11-01 14:51:24 -04:00
Rob Rix
2ef1a7aa12
Qualify the import of Analysis. 2019-11-01 14:46:55 -04:00
Rob Rix
2eb80687ea
Define a smart constructor for Lookup. 2019-11-01 14:43:04 -04:00
Rob Rix
1c1caac53b
Define a smart constructor for Bind. 2019-11-01 14:42:18 -04:00
Rob Rix
1a48a16a44
Define a smart constructor for Alloc. 2019-11-01 14:41:40 -04:00
Rob Rix
7508f9c902
Export Env. 2019-11-01 14:41:31 -04:00
Rob Rix
cf1371f66a
Derive an Effect instance for Domain. 2019-11-01 14:39:59 -04:00
Rob Rix
fe29381b33
Derive an Effect instance for Heap. 2019-11-01 14:39:51 -04:00
Rob Rix
9c5289f54b
Define an Effect instance for Env. 2019-11-01 14:30:32 -04:00
Rob Rix
597b8f0813
Derive an HFunctor instance for Domain. 2019-11-01 13:20:28 -04:00
Rob Rix
894234d058
Derive an HFunctor instance for Heap. 2019-11-01 13:19:35 -04:00
Rob Rix
39a2df683d
Define an HFunctor instance for Env. 2019-11-01 13:18:57 -04:00
Rob Rix
ed65e40003
Abstract over the context constraints in Analysis.Concrete. 2019-10-28 13:32:35 -04:00
Rob Rix
3c1cdcb437
Abstract over the context constraints in Analysis.ImportGraph. 2019-10-28 13:31:45 -04:00
Rob Rix
5b004aba1f
Abstract over the context constraints in Analysis.ScopeGraph. 2019-10-28 13:30:41 -04:00
Rob Rix
c9c74ad67b
Abstract over the context constraints in Analysis.Typecheck. 2019-10-28 13:29:44 -04:00
Rob Rix
b9e05a97e7
Derive the HFunctor & RightModule instances for Polytype. 2019-10-28 13:27:52 -04:00
Rob Rix
37d41a83a1
Derive the RightModule instance for Monotype. 2019-10-28 13:26:48 -04:00
Rob Rix
554b289657
Derive the Effect instance for Monotype. 2019-10-28 11:59:37 -04:00
Rob Rix
4f3938d293
Bump for constraints in the Effect signature. 2019-10-28 11:57:59 -04:00
Rob Rix
e4dfe76ce9
Fix up the Readline effect & carrier. 2019-10-28 10:58:49 -04:00
Rob Rix
bb7fb81c68
Fix the analyses constraints. 2019-10-28 10:57:09 -04:00
Rob Rix
5cc2e2509d
evalFresh. 2019-10-28 10:56:58 -04:00
Rob Rix
f837076616
Fix an ambiguous variable. 2019-10-28 10:56:38 -04:00
Rob Rix
bb6d3e027f
Reformat a signature. 2019-10-28 10:56:30 -04:00
Rob Rix
1ba069fedd
Identity. 2019-10-28 10:40:27 -04:00
Rob Rix
f206046d21
Fix Analysis.Typecheck.
Yeah, this is not going to fly.
2019-10-25 17:46:06 -04:00
Rob Rix
50a94cee9d
Correct Fail.WithLoc. 2019-10-25 17:45:43 -04:00
Rob Rix
ff60586752
Reset fresh manually. 2019-10-25 17:45:35 -04:00
Rob Rix
dedeb43162
Export the Cache type. 2019-10-25 17:45:25 -04:00
Rob Rix
b1dd77d2fc
Fix an import. 2019-10-25 17:45:19 -04:00
Rob Rix
5372cfad51
Merge branch 'master' into fused-effects-one-dot-zero 2019-10-25 16:05:40 -04:00
Rob Rix
46984f04c1
Alignment. 2019-10-11 17:22:59 -04:00
Rob Rix
5acb7bee11
Add records to Domain. 2019-10-11 17:20:21 -04:00
Rob Rix
532f3b3196
Comments grouping the constructors. 2019-10-11 17:17:40 -04:00
Rob Rix
2a6b7c55a1
Give Unit a continuation. 2019-10-11 17:16:44 -04:00
Rob Rix
30ed90072d
Parameterize value by the term and name types. 2019-10-11 17:16:22 -04:00
Rob Rix
5cbab3e8f9
Define a Domain effect. 2019-10-11 17:06:20 -04:00
Rob Rix
bd8b21ebba
Define a Heap effect. 2019-10-11 16:50:36 -04:00
Rob Rix
e20c60f7a7
Define an Env effect. 2019-10-11 16:49:37 -04:00
Rob Rix
7f39647c22
🔥 the redundant dependencies on directory & filepath. 2019-10-11 14:38:00 -04:00
Rob Rix
ac103657aa
Use pathtype instead of directory & filepath to set up the readline effect. 2019-10-11 14:37:29 -04:00
Rob Rix
6d5583131d
🔥 semantic-analysis doctests. 2019-10-11 12:54:29 -04:00
Rob Rix
7f857c8c58
🔥 a doctest we can’t run. 2019-10-11 12:54:21 -04:00
Rob Rix
284c1ae4f8
Copy the Analysis.* and Control.* hierarchies into semantic-analysis. 2019-10-11 12:49:37 -04:00
Rob Rix
71a6331c7a
Stub in a package for analysis. 2019-10-11 12:42:49 -04:00