joshvera
2e794e92a5
align
2018-03-22 19:31:08 -04:00
Timothy Clem
eb2a331252
Merge remote-tracking branch 'origin/master' into no-really-php-namespaces
2018-03-22 16:29:55 -07:00
Rob Rix
dd755a4f0b
Use EvaluateModule to signal module loads.
2018-03-22 19:28:43 -04:00
joshvera
07baeca6be
Kind of add the Eq instances
2018-03-22 19:28:06 -04:00
Rob Rix
8530a288cd
Define a single instance of MonadThrow.
2018-03-22 19:27:31 -04:00
Timothy Clem
80e8b86cb1
Making things pretty one baby step at a time
2018-03-22 16:26:21 -07:00
Rob Rix
31c433fe02
Define an EvaluateModule exception/request type.
2018-03-22 19:24:19 -04:00
Rob Rix
0acd79da04
🔥 a functional dependency.
2018-03-22 19:23:28 -04:00
Rob Rix
13904cbee2
Dedend the exports.
2018-03-22 19:23:16 -04:00
joshvera
53d6a5067d
No import
2018-03-22 19:19:44 -04:00
joshvera
7142ae2e6e
fix MonadThrow exception
2018-03-22 19:10:00 -04:00
joshvera
21df1063fc
Add Unspecialized and ValueExc resumable exceptions
2018-03-22 19:09:40 -04:00
joshvera
6ca8eca85f
Don't parameterize MonadThrow by v
2018-03-22 19:08:39 -04:00
joshvera
3b40f0af96
Add a Resumable1 exception
2018-03-22 19:08:05 -04:00
Timothy Clem
016aec9e10
implement namespace for types
2018-03-22 14:27:33 -07:00
Timothy Clem
fb658447a4
Refactor this a bit
2018-03-22 14:27:21 -07:00
Patrick Thomson
5eab8a1caa
Merge pull request #1667 from github/multiple-inheritance
...
Implement multiple inheritance.
2018-03-22 17:15:34 -04:00
joshvera
901cd319a2
fix ruby test
2018-03-22 16:39:53 -04:00
Timothy Clem
201aa936d6
PHP namespaces evaluation with extending environments
2018-03-22 13:38:41 -07:00
Timothy Clem
f23139a194
Introduce a namespace value that mappends environments
2018-03-22 13:37:35 -07:00
Patrick Thomson
75bf3bebe4
Merge pull request #1666 from github/fix-python-member-call
...
Fix Python method calls.
2018-03-22 16:34:42 -04:00
Patrick Thomson
178da2959e
Implement multiple inheritance.
...
Python is the only language that we support that permits multiple
inheritance, which is probably good, since MI is generally considered
a sign of a poorly-designed object hierarchy. But there's no reason
not to support it. This algorithm is more simplistic than Python's
actual method-resolution lookup, but it's fine for now, and the
behavior for simple cases matches that of Python.
2018-03-22 15:54:21 -04:00
Josh Vera
7792356012
Merge branch 'master' into default-extensions
2018-03-22 15:43:31 -04:00
Josh Vera
a2e73afd45
Merge branch 'master' into module-resolution
2018-03-22 15:42:44 -04:00
Patrick Thomson
bd939d2579
Fix Python method calls.
...
`identifier` in the Python assignment module was too eager to reduce a
nested Attribute into a dotted identifier. Removing it fixes method
calls, which now have a unit test.
2018-03-22 15:35:08 -04:00
Rob Rix
b17b8e5c96
Merge remote-tracking branch 'origin/module-resolution' into imports,-graphed
2018-03-22 15:31:30 -04:00
Rob Rix
61ac6d42cb
📝 analyzeModule.
2018-03-22 14:59:17 -04:00
Rob Rix
00ef2ba859
Correct the docs for analyzeTerm.
2018-03-22 14:58:57 -04:00
Rob Rix
2db0e7151b
Define an analyzeModule method on MonadAnalysis.
...
This allows us to chain per-module analysis in the same manner as per-term analysis.
2018-03-22 13:59:32 -04:00
Rob Rix
b353b1aa5d
Generalize liftAnalyze to any base functor.
2018-03-22 13:45:46 -04:00
joshvera
bfee652f14
redundant lang extension
2018-03-22 13:07:42 -04:00
joshvera
fdfca338f5
unused constraint
2018-03-22 13:07:32 -04:00
joshvera
37d7eb8b9f
Remove unused lang extension
2018-03-22 13:06:22 -04:00
Rob Rix
ae7483291a
Define evaluateFiles using evaluateModules.
2018-03-22 13:03:59 -04:00
Rob Rix
9bd466bc19
📝 evaluateModules.
2018-03-22 13:03:22 -04:00
Rob Rix
b05bf7d732
Define an evaluateModules helper.
2018-03-22 13:02:49 -04:00
Patrick Thomson
693045439a
Add test suite.
2018-03-22 13:02:39 -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
1e2fc5f6d3
Merge remote-tracking branch 'origin/master' into preludes-and-subclassing
2018-03-22 12:50:16 -04:00
Patrick Thomson
ec4b01d04c
Merge pull request #1656 from github/subclassing
...
Implement single-inheritance subclassing.
2018-03-22 12:48:28 -04:00
Patrick Thomson
089403d25f
Merge branch 'master' into subclassing
2018-03-22 12:40:29 -04:00
Timothy Clem
8e2175ac8c
Merge remote-tracking branch 'origin/master' into no-really-php-namespaces
2018-03-22 09:39:49 -07:00
Timothy Clem
fb65cff4c7
Merge pull request #1648 from github/php-namespaces
...
PHP includes and other import-like semantics
2018-03-22 09:39:21 -07: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