Rob Rix
b05bf7d732
Define an evaluateModules helper.
2018-03-22 13:02:49 -04:00
joshvera
d816fceaf3
Beautify IdentifierName to test
2018-03-22 13:02:10 -04:00
joshvera
adc5a54d45
Beautify Prologue to test
2018-03-22 13:01:25 -04:00
Rob Rix
e29005d0fc
Use parseFiles in evaluateFiles.
2018-03-22 12:57:25 -04:00
Rob Rix
28401e4cbe
Extract a helper to parse a list of files.
2018-03-22 12:56:38 -04:00
Patrick Thomson
089403d25f
Merge branch 'master' into subclassing
2018-03-22 12:40:29 -04:00
Rob Rix
bf7edd1179
Extend the graph as modules are imported.
2018-03-22 12:38:34 -04:00
Rob Rix
7bd0c0f437
Define >< as a convenient synonym for connect.
2018-03-22 12:38:13 -04:00
Patrick Thomson
ba67556ce6
Merge branch 'master' into subclassing
2018-03-22 12:37:49 -04:00
Rob Rix
dad4cf5490
Define a helper to modify the import graph.
2018-03-22 12:37:43 -04:00
Rob Rix
c782a8f266
Warn against divergence.
2018-03-22 12:29:42 -04:00
Rob Rix
ed7513452b
📝 askModuleStack.
2018-03-22 12:29:14 -04:00
Rob Rix
27c2f6603b
Define a method to ask for the current module stack.
2018-03-22 12:29:06 -04:00
Rob Rix
6abf2a85fe
Push the current module onto the stack.
2018-03-22 12:28:35 -04:00
Timothy Clem
9a91728d4e
Only one require/load
...
Co-Authored-By: Josh Vera <vera@github.com>
2018-03-22 09:28:19 -07:00
Rob Rix
f38a7d67de
Add a stack of currently-evaluating modules.
2018-03-22 12:26:11 -04:00
Rob Rix
fad70ebc37
🔥 a redundant import.
2018-03-22 12:25:34 -04:00
Josh Vera
3ef6366649
Merge branch 'master' into php-namespaces
2018-03-22 12:23:57 -04:00
joshvera
f2169e09a9
Move MultiParamTypeClasses, StandaloneDeriving, and DataKinds to default-extensions
2018-03-22 12:23:11 -04:00
Rob Rix
fd2dee040f
🔥 the algebra/advanced overlap stuff.
2018-03-22 12:17:10 -04:00
Rob Rix
cb790c9b9c
Add a state effect for the module graph.
2018-03-22 12:12:10 -04:00
Rob Rix
55abf44b16
Specialize evaluateModule.
2018-03-22 12:09:22 -04:00
Rob Rix
ae4e17911c
Stub in a MonadAnalysis instance for ImportGraphing.
2018-03-22 12:08:27 -04:00
Rob Rix
109c95d509
Define an ImportGraphing analysis.
2018-03-22 12:06:46 -04:00
joshvera
7d87571c7a
Add ScopedTypeVariables
2018-03-22 12:05:28 -04:00
Rob Rix
8cf5902a5e
Sort imports.
2018-03-22 12:02:17 -04:00
Rob Rix
25e9630976
Dedent the exports.
2018-03-22 12:01:49 -04:00
Rob Rix
065d97b73f
📝 fromList.
2018-03-22 11:55:52 -04:00
joshvera
1f97a18451
Move resumeException to Control.Effect
2018-03-22 11:43:14 -04:00
joshvera
c96cdc5fbf
No need for GADTs
2018-03-22 11:42:27 -04:00
joshvera
a8c9c815ef
Rename NonDetEff to NonDet
2018-03-22 10:35:25 -04:00
Rob Rix
3ee6f8ac14
Eta-reduce moduleForBlob.
2018-03-22 09:15:44 -04:00
Rob Rix
e7313c152c
🔥 a redundant extension.
2018-03-22 09:15:39 -04:00
Rob Rix
592fd3051e
Factor out the moduleNameForPath call.
2018-03-21 20:34:08 -04:00
Rob Rix
a8e07107e9
Extract the helper to construct a module name from a FilePath.
2018-03-21 20:32:41 -04:00
Rob Rix
6273a22c71
Tacit.
2018-03-21 20:31:18 -04:00
Rob Rix
36aa4e445c
Guard clauses.
2018-03-21 20:30:39 -04:00
Rob Rix
45dcfaad41
Refactor/align the language switch.
2018-03-21 20:27:42 -04:00
Rob Rix
16a0236c19
Infix.
2018-03-21 20:27:00 -04:00
Rob Rix
a751f60251
evaluateModule takes a Module.
2018-03-21 20:25:20 -04:00
Rob Rix
159f87a15f
evalAndCache takes a list of modules.
2018-03-21 20:23:45 -04:00
Rob Rix
aaeb85961a
Parse directly to modules.
2018-03-21 20:21:56 -04:00
Rob Rix
865bf650ce
Simplify the selection of the root.
2018-03-21 20:19:08 -04:00
Rob Rix
6591e0fdc4
Compute the list of modules in Semantic.Util.
2018-03-21 20:17:16 -04:00
Rob Rix
02dbaf964f
📝 withModules.
2018-03-21 20:14:16 -04:00
Rob Rix
a640fa0de3
Define a helper constructing modules from a list of blobs.
2018-03-21 20:13:20 -04:00
Rob Rix
2902b9c2a3
Make the root directory relative.
2018-03-21 20:11:44 -04:00
Rob Rix
7436f9605f
Define withModulesForBlobs in terms of withModules.
2018-03-21 20:06:27 -04:00
Rob Rix
da8d7315ed
Use a helper method to construct the pairs.
2018-03-21 20:05:01 -04:00
Rob Rix
bce72b1f0d
Define a fromList constructor for ModuleTables.
2018-03-21 20:03:32 -04:00
Rob Rix
b08969b44c
Define a withModules function running an action with a module table constructed from a list of modules.
2018-03-21 20:01:13 -04:00
Rob Rix
9819f2c29b
Rename withModules to withModulesForBlobs.
2018-03-21 19:59:14 -04:00
Rob Rix
99ab0a46cb
Define withModules using moduleForBlob.
2018-03-21 19:57:44 -04:00
Rob Rix
da02fc870d
📝 the arguments to moduleForBlob.
2018-03-21 19:55:01 -04:00
Rob Rix
842ab3403d
📝 moduleForBlob.
2018-03-21 19:52:52 -04:00
Rob Rix
7e2b8b93e4
Define a helper constructing a Module for a Blob relative to some root directory.
2018-03-21 19:52:20 -04:00
Rob Rix
1cc91b78dc
🔥 evaluate.
2018-03-21 19:46:03 -04:00
Rob Rix
21ee656538
Run the analysis directly in Util.
2018-03-21 19:45:47 -04:00
Rob Rix
ba73ae1eaa
🔥 evaluates.
2018-03-21 19:44:53 -04:00
Rob Rix
864606af8a
Call withModules directly in Semantic.Util.
2018-03-21 19:44:48 -04:00
Rob Rix
0f16b4e973
Move withModules into Control.Abstract.Analysis.
2018-03-21 19:35:15 -04:00
Rob Rix
1002395074
The Reader module table holds Modules.
2018-03-21 19:30:51 -04:00
Rob Rix
9d1cf41d63
Rename moduleTerm to moduleBody.
2018-03-21 19:20:08 -04:00
Rob Rix
5af7154996
Derive a bunch of instances for Module.
2018-03-21 19:09:37 -04:00
Rob Rix
84843b8a60
Move ModuleName to Module.
2018-03-21 19:09:16 -04:00
Rob Rix
f032aec337
Define a Module type.
2018-03-21 19:09:06 -04:00
Rob Rix
f476eb22bd
Stub in a Data.Abstract.Module module.
2018-03-21 17:59:16 -04:00
Rob Rix
56dbd8b6a1
Copy the CallGraph stuff into a new module.
2018-03-21 17:58:47 -04:00
Rob Rix
d645481dcf
📝 AppMerge is a Monoid too.
2018-03-21 17:29:48 -04:00
Rob Rix
6a785e0b30
Remove the Monoid instance for App, as it’s unlawful.
2018-03-21 17:26:32 -04:00
Rob Rix
aab509cf63
Test the identity properties.
2018-03-21 17:26:07 -04:00
Rob Rix
b55010c2c1
Define shrinking.
2018-03-21 17:22:34 -04:00
Rob Rix
6be056bd9a
Swap the order of the types.
2018-03-21 17:16:31 -04:00
Rob Rix
c6148c6cad
Test the associativity of the semigroup instances.
2018-03-21 17:16:09 -04:00
Rob Rix
69a4e4cc2e
🔥 Imperative.
2018-03-21 17:08:52 -04:00
Rob Rix
256623a818
eval lists in App.
2018-03-21 17:08:25 -04:00
Rob Rix
e0245ed752
Define a Monoid instance for App.
2018-03-21 17:08:14 -04:00
Rob Rix
3329bd0a51
Define a Semigroup instance for App.
2018-03-21 17:08:06 -04:00
Rob Rix
5ea6482e96
📝 App.
2018-03-21 17:07:55 -04:00
Rob Rix
6399cb3c58
Define an App semigroup.
2018-03-21 17:07:49 -04:00
Patrick Thomson
d39db0db06
fix comment
2018-03-21 16:56:52 -04:00
Rob Rix
8f22cb26f8
Explicitly list the exports.
2018-03-21 16:44:35 -04:00
Rob Rix
88230df1fe
Define a Monoid instance for AppMerge.
2018-03-21 16:41:49 -04:00
Rob Rix
794a03a49c
📝 AppMerge.
2018-03-21 16:41:41 -04:00
Rob Rix
541e230431
Define a Semigroup instance for AppMerge.
2018-03-21 16:41:32 -04:00
Rob Rix
0b2b27ff21
Stub in an AppMerge semigroup.
2018-03-21 16:40:56 -04:00
joshvera
2bf23e7a08
no need to import prelude
2018-03-21 16:01:27 -04:00
joshvera
7cc460fab1
Move Resumable to the top of the effect stack
2018-03-21 15:51:36 -04:00
joshvera
310a2d9e6d
Missing import
2018-03-21 15:23:44 -04:00
joshvera
2d7c54ba54
Rename MonadResume to MonadThrow
2018-03-21 15:14:35 -04:00
joshvera
ec39a8bdd9
Move RunnEffect Resumable instance
2018-03-21 15:14:24 -04:00
joshvera
85bcdb6281
Remove unused import
2018-03-21 15:14:09 -04:00
joshvera
c067736a55
Move NonDetEff stuff to effects and clean up imports
2018-03-21 14:58:45 -04:00
joshvera
3cdfb81991
Move Resumable to effects package
2018-03-21 14:33:17 -04:00
joshvera
750f66d31a
Add a resumeException function to wrap nonsense
2018-03-21 12:26:17 -04:00
Timothy Clem
166c66766e
Whitespace
2018-03-21 09:20:07 -07:00
Timothy Clem
a740f2938a
Don't change assignment for namespaces just yet
2018-03-21 09:19:32 -07:00
Patrick Thomson
b59fc64dd8
Implement single-inheritance subclassing.
...
Pretty straightforward stuff: we augment `klass` to take an optional
superclass, match to ensure it's a class, then, when defining that new
class, push its definition onto the environment provided by the superclass.
2018-03-21 12:17:16 -04:00
joshvera
5ca8367dff
Use resumeError in analyzeTerm
2018-03-21 12:15:12 -04:00
joshvera
2cdd9fa183
Add MonadResume instance for effects
2018-03-21 12:14:04 -04:00