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

12588 Commits

Author SHA1 Message Date
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