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 |
|
Rob Rix
|
f8b1b28a2c
|
Move lamFin under unlam.
|
2019-11-06 11:47:40 -05:00 |
|
Rob Rix
|
daa24d1e31
|
🔥 a redundant handler.
|
2019-11-05 12:09:19 -05:00 |
|
Rob Rix
|
7f6680d825
|
Specialize the Env effect to Name.
|
2019-11-05 12:08:13 -05:00 |
|
Rob Rix
|
23c65d5eb4
|
Specialize Domain to Name.
|
2019-11-05 12:02:43 -05:00 |
|
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 |
|