Rob Rix
50933159aa
Revert "Extract the basic introduction forms into a new syntax type."
...
This reverts commit ff4523e25e
.
2019-12-20 10:26:30 -05:00
Rob Rix
f85c31c127
Merge branch 'master' into analysis-effects
2019-12-19 10:54:29 -05:00
Timothy Clem
12428e4988
Try to always use tree-sitter 0.7.2
2019-12-18 10:59:52 -08:00
Timothy Clem
b2f10d0d6a
Merge remote-tracking branch 'origin/master' into test-precise-parsing
2019-12-18 08:35:57 -08:00
Rob Rix
667f894ec3
Merge branch 'ghcide-is-painless' into analysis-effects
2019-12-18 09:49:08 -05:00
Patrick Thomson
74183dba8c
Add a test.
2019-12-17 13:26:17 -05:00
Patrick Thomson
9d0afb4f0a
Compile not statements.
2019-12-17 13:25:59 -05:00
Patrick Thomson
e7c7910760
Add provisional __not__ definition.
2019-12-17 13:22:36 -05:00
Patrick Thomson
228e3470e9
Use preluded helper.
2019-12-17 13:14:30 -05:00
Patrick Thomson
3407b4d273
Introduce helper for preluded definitions.
2019-12-17 13:14:17 -05:00
Rob Rix
ff4523e25e
Extract the basic introduction forms into a new syntax type.
2019-12-16 13:50:58 -05:00
Patrick Thomson
266a720fa9
Use PVP operator.
2019-12-16 12:20:05 -05:00
Patrick Thomson
9817b686e5
Merge remote-tracking branch 'origin/master' into glorious-ghc-upgrade-8.8
2019-12-16 12:14:47 -05:00
Rob Rix
ae6b2849f2
Merge pull request #404 from github/none-is-the-loneliest-umber
...
Compile Python None expressions.
2019-12-16 09:34:05 -05:00
Timothy Clem
7e0c6b5417
Give this a signature
2019-12-13 13:43:59 -08:00
Patrick Thomson
da3dbdf148
Merge remote-tracking branch 'origin/master' into glorious-ghc-upgrade-8.8
2019-12-13 16:41:18 -05:00
Patrick Thomson
053306fbbd
Forgot to bind None and NoneType in the prelude exports.
2019-12-13 16:21:02 -05:00
Timothy Clem
8ade6db251
Merge remote-tracking branch 'origin/master' into test-precise-parsing
2019-12-13 13:13:54 -08:00
Patrick Thomson
6bebd84deb
Officially require GHC 8.8.
2019-12-13 15:48:49 -05:00
Patrick Thomson
e115f4ad59
Compile Python None expressions.
2019-12-13 12:51:23 -05:00
Patrick Thomson
3825be9788
Emacs misfire.
2019-12-13 12:33:26 -05:00
Patrick Thomson
e137f4c68b
Compile Python lambdas.
...
Lambdas are so hilariously crippled in Python that they're
significantly easier to compile than functions. Indeed, the resulting
core looks much like a function definition, without a `rec` binding.
2019-12-13 12:14:04 -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
Patrick Thomson
862ee92eb8
Fix semantic-python tests.
2019-12-11 15:47:03 -05:00
Patrick Thomson
810d28f615
Merge remote-tracking branch 'origin/master' into glorious-ghc-upgrade-8.8
2019-12-11 12:31:30 -05:00
Timothy Clem
ec19540425
++tree-sitter 0.7
...
Also bumps parsers that changed
2019-12-10 16:34:26 -05:00
Timothy Clem
955e2622f2
Few more python built-in functions
2019-12-10 13:09:46 -08:00
Rob Rix
65d58e97da
Add a missing Compile instance.
2019-12-10 15:17:16 -05:00
Rob Rix
0c8aa34976
Fix some old-style constraints.
2019-12-10 15:17:08 -05:00
Rob Rix
fc8c818920
Correct an import.
2019-12-10 15:14:44 -05:00
Rob Rix
a461c72ae4
Bump a few tree-sitter-* versions.
2019-12-10 15:10:25 -05:00
Rob Rix
df43078a65
Merge branch 'master' into fused-effects-one-dot-zero
2019-12-10 14:48:48 -05:00
Timothy Clem
5926b47438
++tree-sitter 0.7
...
Also bumps parsers that changed
2019-12-10 11:04:02 -08:00
Timothy Clem
c4686cd7e7
++tree-sitter 0.7
...
Also bumps parsers that changed
2019-12-10 11:03:07 -08:00
Patrick Thomson
68ab3cbb97
semantic:exe now compiles
2019-12-10 13:32:56 -05:00
Timothy Clem
84a1a99cda
Handle generating tags for ParenthesizedExpression in calls
2019-12-09 13:16:56 -08:00
Timothy Clem
3c3c140cbb
Handle directly nested calls
2019-12-09 11:28:45 -08:00
Timothy Clem
4d8c7d23b4
Handle built-in python functions
2019-12-09 11:28:37 -08:00
Timothy Clem
d3763cbd69
Merge branch 'bump-haskell-tree-sitter' into test-precise-parsing
2019-12-09 11:27:51 -08:00
Timothy Clem
0930c7c7d9
One new pieces of syntax here
2019-12-09 09:57:05 -08:00
Timothy Clem
285ba19b2b
Bump to latest tree-sitters
2019-12-09 09:52:42 -08:00
Patrick Thomson
7266ab0ce2
No LambdaCase here.
2019-12-06 15:09:47 -05:00
Patrick Thomson
dd5cf213d6
Derive HFoldable instances for syntax types.
2019-12-06 14:51:09 -05:00
Patrick Thomson
cb0e0eae0c
Make Unimplemented store a String.
2019-12-06 14:49:38 -05:00
Patrick Thomson
16aa229442
Lints.
2019-12-05 17:12:21 -05:00
Patrick Thomson
91d0d8e019
Work around missing MonadFail instance for Either String.
2019-12-05 15:49:01 -05:00
Patrick Thomson
923664b811
Forgot to insert this nice new type variable.
2019-12-05 15:46:10 -05:00
Patrick Thomson
7978318d6b
Generalize eliminateFailures to MonadFail.
2019-12-05 15:15:15 -05:00
Patrick Thomson
615931890b
Restore the original location of eliminateFailures.
2019-12-05 15:10:10 -05:00
Patrick Thomson
37f70c8e28
Express eliminateFailures with Syntax.Term.handle.
2019-12-05 15:07:32 -05:00
Patrick Thomson
1c735d46d0
Establish HTraversable instances for Core, Ann, and Failure.
2019-12-05 15:06:54 -05:00
Timothy Clem
5f451450d6
Allow tagging of attributes in Python calls
2019-12-04 18:57:48 +00:00
Timothy Clem
ad1fb29dac
New tree-sitters!
2019-11-20 15:21:40 -08:00
Patrick Thomson
609ddb989c
Add eliminateFailures, even though it doesn't do what I want.
2019-11-14 15:26:04 -05:00
Patrick Thomson
99ae60a184
Remove all MonadFail occurrences from the Python compiler.
2019-11-13 14:34:18 -05:00
Patrick Thomson
14d7ba5b0b
Add failure syntax.
2019-11-13 14:33:39 -05:00
Patrick Thomson
2e39e129cd
Make semantic-python tests work.
2019-11-08 22:37:17 -05:00
Patrick Thomson
7acd177fa7
Port Python tagging to FE1.
2019-11-08 12:04:52 -05:00
Patrick Thomson
fbea9072f8
Port Python compiler to use Has.
2019-11-08 12:03:10 -05:00
Patrick Thomson
35ea116f00
Bump various FE dependencies from 0.5 to 1.0.
2019-11-07 15:48:57 -05:00
Patrick Thomson
7db0a6e61c
hlint
2019-10-31 14:17:45 -04:00
Patrick Thomson
c21828efc2
More unused imports.
2019-10-31 13:57:47 -04:00
Patrick Thomson
b91fbf065e
Remove unused import and sort them.
2019-10-30 15:43:32 -04:00
Patrick Thomson
80587be6cc
Adjust prelude definitions since we can't yet assign to slots.
2019-10-30 15:13:34 -04:00
Patrick Thomson
f4d70c0c21
Align some definitions.
2019-10-30 13:51:51 -04:00
Patrick Thomson
ebb74b30cb
Parse result directive RHS values into Concrete values.
2019-10-30 13:49:54 -04:00
Patrick Thomson
45864480e0
clean up language, in a literal sense
2019-10-30 13:40:36 -04:00
Patrick Thomson
c2bce9d76a
Give tree equality its own assertion function
2019-10-30 13:33:07 -04:00
Patrick Thomson
edaac52ebd
extract readDirectivesFromFile into the Directives module
2019-10-30 13:29:18 -04:00
Patrick Thomson
3bf5c415f1
Clean up milestoneFixtures.
2019-10-30 13:20:26 -04:00
Patrick Thomson
630f2fcb3d
Initial version of this before I go on a refactoring spree.
2019-10-30 13:13:53 -04:00
Patrick Thomson
3421824b19
new comment style
2019-10-25 13:47:58 -04:00
Patrick Thomson
fde167a236
Better prelude.
2019-10-23 15:10:54 -04:00
Patrick Thomson
edd83d466f
Merge branch 'look-up-its-a-core' into compile-string-literals
2019-10-23 14:52:29 -04:00
Patrick Thomson
21dd102e61
Implement member lookup in a way that doesn't crash the scope graph
2019-10-23 14:30:45 -04:00
Patrick Thomson
9b46692cbd
Don't try to implement this yet.
2019-10-23 13:15:42 -04:00
Patrick Thomson
cb783e6646
Make this a boolean operator pending resolution of #358 .
2019-10-23 11:59:23 -04:00
Patrick Thomson
559958d9cf
Define new :? type for checked lookups and try implementing it.
2019-10-22 17:27:54 -04:00
Patrick Thomson
bd24ff7daf
Merge remote-tracking branch 'origin/master' into hlint-in-ci-again
2019-10-21 15:28:27 -04:00
Patrick Thomson
c6779b7fb2
Fix bug in the prelude.
2019-10-21 15:26:06 -04:00
Patrick Thomson
a273f5881c
Make it more accurate now that eval is not a special node.
2019-10-21 15:25:54 -04:00
Patrick Thomson
e607d9c011
Adjust the name of this test.
2019-10-21 15:25:28 -04:00
Patrick Thomson
61ee51952b
Merge remote-tracking branch 'origin/master' into compile-string-literals
2019-10-21 15:16:32 -04:00
Patrick Thomson
5f35d1ab35
Merge pull request #345 from github/function-define-thyself
...
Use `rec` so functions can refer to themselves in their bodies.
2019-10-21 15:15:21 -04:00
Patrick Thomson
b06b3338f8
Unused pragmas.
2019-10-21 14:59:42 -04:00
Patrick Thomson
a767642ab9
Merge remote-tracking branch 'origin/cache-cow' into hlint-in-ci-again
2019-10-21 14:12:46 -04:00
Patrick Thomson
386e8317dc
lint semantic-python
2019-10-21 14:09:20 -04:00
Rob Rix
32c1c79022
Bump the tested-with version to 8.6.5 for semantic & semantic-python.
2019-10-21 13:31:06 -04:00
Patrick Thomson
ecaa5a1671
Combine lets.
2019-10-21 12:41:45 -04:00
Patrick Thomson
cbda7cf344
Merge remote-tracking branch 'origin/master' into function-define-thyself
2019-10-21 12:35:35 -04:00
Patrick Thomson
ff23c301fb
don't worry about this since it's a known bug
2019-10-18 10:22:19 -04:00
Rob Rix
b22d86b55b
Tags hold a Loc.
2019-10-17 12:28:32 -04:00
Patrick Thomson
b0752f0a96
forgot some semicolons
2019-10-17 00:10:31 -04:00
Patrick Thomson
01b4a23b23
Use rec
so functions can refer to themselves in their bodies.
...
Code like the following kind is legal in Python:
```python
def recursive(a): return recursive
```
This implies that function and class definitions need to use the Core
`rec` construct so that their bodies have an appropriate entry in the scope.
2019-10-16 17:34:43 -04:00
Patrick Thomson
b5d6e7186f
First attempt at compiling string literals.
2019-10-16 17:22:18 -04:00
Patrick Thomson
cd69e8aab5
Stylish.
2019-10-15 13:11:22 -04:00
Patrick Thomson
daf12b5132
Integrate prelude into the test suite.
2019-10-15 13:10:18 -04:00
Patrick Thomson
5578e42989
Call the type
function inside the __semantic_prelude global.
2019-10-15 12:46:32 -04:00
Patrick Thomson
2b1b2f6223
Semantic files are .score according to @robrix .
2019-10-15 11:28:01 -04:00
Patrick Thomson
a866007d56
Define object
in the Prelude.
2019-10-14 16:37:59 -04:00
Patrick Thomson
64015c23ae
Cleanup.
2019-10-14 12:03:53 -04:00
Patrick Thomson
863691a6ac
stray debug
2019-10-14 11:53:21 -04:00
Patrick Thomson
c524d1d150
Add Prelude.
2019-10-14 11:51:13 -04:00
Patrick Thomson
5566bac682
Compile class definitions.
2019-10-14 11:48:58 -04:00
Patrick Thomson
12f096fb75
Merge branch 'master' into semantic-analysis
2019-10-11 17:02:47 -04:00
Patrick Thomson
bb686ff481
Merge pull request #334 from github/rename-core-file-to-analysis-file
...
Rename Core.File to Analysis.File
2019-10-11 17:02:19 -04:00
Rob Rix
d433b41492
Merge branch 'master' into generalize-analysis-over-the-name-type
2019-10-11 16:39:41 -04:00
Patrick Thomson
fa8bd3cf08
Merge fallout.
2019-10-11 15:05:12 -04:00
Rob Rix
30c447a5ec
Merge pull request #331 from github/compile-python-function-decorators
...
Compile Python function decorators and finish milestone #2 .
2019-10-11 14:51:34 -04:00
Rob Rix
35be96fbe7
Merge branch 'master' into compile-python-calls
2019-10-11 14:24:26 -04:00
Rob Rix
6b9ba62c8c
Rename Core.Core.* to Core.*.
2019-10-11 13:50:40 -04:00
Patrick Thomson
089b45ff49
Merge branch 'compile-python-calls' into compile-python-function-decorators
2019-10-11 13:18:37 -04:00
Patrick Thomson
674833b2b7
Merge remote-tracking branch 'origin/master' into compile-python-calls
2019-10-11 13:15:49 -04:00
Rob Rix
3a464355bd
semantic-python’s tests depend on semantic-analysis.
2019-10-11 12:56:44 -04:00
Rob Rix
85d09b5116
Rename Core.File to Analysis.File.
2019-10-11 12:37:11 -04:00
Rob Rix
91f46f5128
Correct another import.
2019-10-11 12:23:13 -04:00
Rob Rix
94fc6100d6
Correct a couple of instances.
2019-10-11 12:23:09 -04:00
Rob Rix
a05bb26c9f
Use Path.toString instead of show.
2019-10-11 12:13:57 -04:00
Rob Rix
37b723aa81
Merge branch 'core-factoring' into eliminate-core-loc
2019-10-11 11:51:34 -04:00
Rob Rix
68b3286796
Merge branch 'master' into core-factoring
2019-10-11 11:51:17 -04:00
Patrick Thomson
2b3acea5fb
Add unit tests.
2019-10-11 11:50:22 -04:00
Patrick Thomson
2d930aa19f
Compile python function decorators and finish milestone #2 .
2019-10-11 11:49:52 -04:00
Patrick Thomson
c41b9cdc97
Merge branch 'compile-python-calls' into compile-python-function-decorators
2019-10-11 11:46:33 -04:00
Patrick Thomson
22ca632cc8
Merge fallout.
2019-10-11 11:26:50 -04:00
Patrick Thomson
1ee608750c
Merge remote-tracking branch 'origin/master' into compile-python-calls
2019-10-11 11:15:56 -04:00
Patrick Thomson
d040766c2c
Address Rob's suggestions.
2019-10-11 09:26:44 -04:00
Rob Rix
c31b6a072f
Fix the tests.
2019-10-10 18:08:25 -04:00
Rob Rix
ee673336e5
Fix up the tests.
2019-10-10 18:00:53 -04:00
Rob Rix
f4c4a37c44
Fix imports.
2019-10-10 17:59:50 -04:00
Patrick Thomson
4a9d1ec28c
Remove unnecessary Applicative constraint from locate.
...
Now that syntax comes with paths, `locate` doesn't need to ask any
calling context for path information, so this function can be pure. I
was a fan of the way that the `>>= locate it` pattern looked, but this
is simpler and, given some slight textual fixups, as readable as before.
2019-10-10 17:53:56 -04:00
Rob Rix
d2c1d879c0
Merge branch 'master' into core-factoring
2019-10-10 17:14:42 -04:00
Patrick Thomson
ad385c93ae
Merge fallout.
2019-10-10 16:12:16 -04:00
Patrick Thomson
e21d35d98e
Merge remote-tracking branch 'origin/master' into separate-file-and-span-annotations
2019-10-10 15:42:53 -04:00
Rob Rix
7df71e359e
Replace Core.Term with Syntax.Term.
2019-10-10 15:17:22 -04:00
Rob Rix
d7dc440a30
Move all the Data.* modules into Core.* instead.
2019-10-10 15:07:49 -04:00
Patrick Thomson
7d39423d26
Merge remote-tracking branch 'origin/master' into proper-continuations
2019-10-10 14:43:56 -04:00
Rob Rix
13907fd269
Correct the semantic-python tests.
2019-10-10 14:18:56 -04:00
Rob Rix
1166a1c789
🔥 locFromTSSpan.
2019-10-10 14:14:04 -04:00
Patrick Thomson
3fa80d5095
Fix Rob's suggestions.
2019-10-10 10:30:42 -04:00
Patrick Thomson
a1c9547c8f
Compile Python decorators.
2019-10-09 17:41:57 -04:00
Patrick Thomson
fc29ea0655
Double whoops
2019-10-09 16:43:45 -04:00
Patrick Thomson
b58abb4a85
Whoops
2019-10-09 16:39:44 -04:00
Patrick Thomson
f5c9697357
convert Call to pass its arguments properly.
2019-10-09 15:01:03 -04:00
Patrick Thomson
ccfa49aaee
Merge branch 'proper-continuations' into compile-python-calls
2019-10-09 14:52:50 -04:00
Patrick Thomson
e419e33a50
Make compile interface use a more powerful continuation.
2019-10-09 14:50:53 -04:00
Patrick Thomson
cc572947c2
account for new compilation
2019-10-09 12:59:30 -04:00
Patrick Thomson
ae1430c6a2
Merge branch 'standardize-compilation-names' into compile-python-calls
2019-10-09 12:57:38 -04:00
Patrick Thomson
9091a43804
s/compileCC/compile
2019-10-09 12:55:15 -04:00
Patrick Thomson
3f539abfb6
Make compile interface internal and provide toplevelCompile instead.
2019-10-09 12:47:03 -04:00
Patrick Thomson
dab8a04266
Merge remote-tracking branch 'origin/master' into compile-python-calls
2019-10-09 11:52:10 -04:00
Rob Rix
7d0eb24bb7
🔥 a redundant language extension.
2019-10-08 16:08:22 -04:00
Rob Rix
e99116d030
Alignment.
2019-10-08 16:07:24 -04:00
Rob Rix
c98ab329a2
🔥 redundant parens.
2019-10-08 16:06:35 -04:00
Rob Rix
b8812623ce
Further purging of language extensions.
2019-10-08 16:04:20 -04:00
Rob Rix
5928991c72
🔥 a redundant import.
2019-10-08 16:02:29 -04:00
Rob Rix
b25c92bea0
Reformat the language extensions, I guess.
2019-10-08 16:00:42 -04:00
Rob Rix
d688109c81
🔥 DerivingStrategies.
2019-10-08 16:00:04 -04:00
Rob Rix
0206995e30
🔥 DeriveAnyClass.
2019-10-08 15:59:12 -04:00
Rob Rix
bfc998cdc0
🔥 a spurious MultiParamTypeClasses.
2019-10-08 15:58:26 -04:00
Rob Rix
29df1afb7b
Project using Prj.
2019-10-08 15:46:49 -04:00
Rob Rix
1aa33a2123
We don’t need DerivingVia now.
2019-10-08 15:46:04 -04:00
Rob Rix
a29670de49
🔥 GCompileSum.
2019-10-08 15:45:48 -04:00
Rob Rix
cb7ddc22a8
🔥 CompileSum.
2019-10-08 15:45:29 -04:00
Rob Rix
80b43c4009
Specialize the instance for :+:.
2019-10-08 15:45:08 -04:00
Rob Rix
1506aed1a7
Use GND for the PrimaryExpression instance.
2019-10-08 15:44:19 -04:00
Rob Rix
51e74b9b1e
Update semantic-python.
2019-10-08 15:01:34 -04:00
Rob Rix
a67b67db6f
Merge branch 'master' into precise-json
2019-10-08 14:36:36 -04:00
Patrick Thomson
665429fa92
We have these JSON instances already.
2019-10-07 20:16:54 -04:00
Patrick Thomson
8d9c7b9277
Unnecessary parens.
2019-10-07 17:46:07 -04:00
Patrick Thomson
a001a02b5c
Formatting.
2019-10-07 17:46:06 -04:00
Patrick Thomson
7eaf7423e0
Fix the generators and kill some unused imports.
2019-10-07 17:45:53 -04:00
Patrick Thomson
ae46a7b105
Make Data.Name.Name a newtype rather than a synonym.
...
The fact that `Name` was a simple alias for `Text` was creeping into
the error messages I'm seeing in `semantic-python`, which was a bit of
a buzzkill. This remedies that.
2019-10-07 17:45:53 -04:00
Rob Rix
dcc228d1fa
Update for the new shape of Name.
2019-10-07 17:36:35 -04:00
Rob Rix
c5fe348ed3
Simplify locFromTSSpan.
2019-10-07 17:34:15 -04:00
Rob Rix
d530c57141
Re-export tree_sitter_python from Language.Python.
2019-10-07 14:21:57 -04:00
Rob Rix
ae5591437f
Bump the constraints on tree-sitter{,-java,-python}.
2019-10-07 14:07:44 -04:00
Patrick Thomson
d380aabe89
spruce up the unit test
2019-10-07 12:17:52 -04:00
Patrick Thomson
5bd992bf8e
Remove specious argument compilation instances.
2019-10-07 12:06:19 -04:00
Rob Rix
d07cc5508a
Move Language.Python & Language.Python.Tags into semantic-python.
2019-10-03 01:13:41 -04:00
Patrick Thomson
e62ec09c62
[semantic-python] Compile function calls.
...
Though this does not work with keyword arguments, list/dictionary
splats, or generator expressions, it suffices for the simple case.
2019-10-02 15:56:25 -04:00
Patrick Thomson
90f5c78b0d
Merge branch 'master' into json-and-core-are-breaking-up
2019-10-02 13:50:12 -04:00
Patrick Thomson
b33b98e75c
Remove FileCheck conversion of Core to JSON.
...
Converting Core into JSON and querying it turned out to be an exercise
in frustration, since Core does not map naturally onto JSON. Indeed,
we have given up using it entirely thanks to the `CHECK-TREE`
directive, which is much more natural. This means we can drop it from
the test harness and remove the orphan instances that allowed it.
2019-10-02 11:23:33 -04:00
Patrick Thomson
7d93f390a6
Merge branch 'master' into abstract-actions-over-terms
2019-10-02 11:20:31 -04:00
Patrick Thomson
87a658d45b
Fix tests and squash warnings.
2019-10-02 10:59:54 -04:00
Patrick Thomson
b7829dcde9
Fix GCompileSum instances.
2019-10-02 10:18:39 -04:00
Rob Rix
eb922e7e01
🔥 a redundant binding.
2019-10-02 09:59:26 -04:00
Rob Rix
7312997f29
🔥 a redundant import.
2019-10-02 09:59:21 -04:00
Patrick Thomson
e8e67161e0
Compile now has kind (Type -> Type) -> Constraint.
2019-10-02 09:57:17 -04:00
Rob Rix
ad3a810e17
Merge branch 'master' into semantic-tags
2019-09-30 13:52:14 -04:00
Patrick Thomson
b58e10313d
Use the technical term.
2019-09-30 12:39:45 -04:00
Patrick Thomson
0671bffef3
More Haddocks.
2019-09-30 12:36:53 -04:00
Patrick Thomson
b3b1c8d016
Typo in comment.
2019-09-30 12:35:38 -04:00
Patrick Thomson
696d2fc786
Make desugar tail-recur (and we don't need a Stack).
2019-09-30 12:32:28 -04:00
Patrick Thomson
f7c4658ee6
Use a Stack so we can do a right fold over the assignments.
2019-09-30 12:18:06 -04:00
Patrick Thomson
af429a5933
Consolidate fmaps.
2019-09-28 09:44:55 -04:00
Patrick Thomson
de2c762d2c
Typo in comment.
2019-09-27 18:18:00 -04:00
Patrick Thomson
8e6a1395c0
w h i t e s p a c e
2019-09-27 18:16:42 -04:00
Patrick Thomson
a51151afb5
Make sure chained assignments don't lose their location info.
2019-09-27 18:11:36 -04:00
Patrick Thomson
794265d3a9
Even more comments.
2019-09-27 17:56:19 -04:00
Patrick Thomson
54bc5c7505
Move desugar into a monad.
2019-09-27 17:38:50 -04:00