Patrick Thomson
fd44b23449
Merge remote-tracking branch 'origin/master' into explicit-integer-parser
2018-06-26 10:56:20 -04:00
Patrick Thomson
1b47b9fe91
Merge pull request #1988 from github/profile-in-new-workdir
...
Build --profile builds in a separate stack-work directory.
2018-06-26 10:27:44 -04:00
Patrick Thomson
91894d47cf
Merge remote-tracking branch 'origin/master' into profile-in-new-workdir
2018-06-25 15:37:05 -04:00
Patrick Thomson
9eb470680f
Build --profile builds in a separate stack-work directory.
...
Profiling builds are good and useful, but the fact that you have to
rebuild the world when switching between profiling and and standard
builds makes them too much of a timesink to actually use. This patch
avoids the above effect by keeping profiling build artifacts in a
`.stack-work-profiling` directory. It depends on a few other patches
to ignore said directories in our vendored dependencies.
To test, install `profiteur` and `hp2pretty`, run
`script/profile "parse $SOME_SOURCE_FILE"`, then break for lunch. You
should get nice information from the profiling system without
recompiling on further `stack build` invocations.
I learned this from [Matt Parsons](https://twitter.com/mattoflambda/status/997599878216802305 ).
2018-06-25 15:34:20 -04:00
Rick Winfrey
78d4d444a0
Merge pull request #1986 from github/haskell-enhancement
...
Complete Haskell Assignment
2018-06-25 11:32:57 -07:00
Rick Winfrey
a279d96985
Update test fixtures
2018-06-25 11:20:30 -07:00
Rick Winfrey
f90f3a913e
Add back support for datatype declarations with no constructors
2018-06-25 11:17:23 -07:00
Rick Winfrey
1c56c1a1b4
Replace enum syntax constructors with a single constructor
2018-06-25 11:14:07 -07:00
Patrick Thomson
f9f0dd5e79
Use a hand-written integer parser.
...
Rather than relying on the `Read` instance for `Integer`, let's make
our assumptions about the format explicit. This was mostly a matter of
extracting internal functions from the `Scientific` parser.
2018-06-25 11:55:32 -04:00
Rick Winfrey
ba9a0e95c0
Convert syntax to newtype
2018-06-23 11:54:16 -07:00
Rick Winfrey
3d6dcf8237
🎵 No more Mr. Sum Types 🎵
2018-06-23 11:44:50 -07:00
Rick Winfrey
c44be5c594
Generalize right hand side of infixOperatorApp over expressions (to include things like type applications)
2018-06-23 10:41:53 -07:00
Rick Winfrey
4b66492b3c
Assign contexts for RecordDataConstructors and InfixDataConstructors
2018-06-23 10:41:24 -07:00
Rick Winfrey
947f8cbc11
Assign parenthesized constructor operators
2018-06-23 10:27:22 -07:00
Rick Winfrey
2dea9c67f8
Generalize parenthesizedExpression to expressions
2018-06-23 10:23:09 -07:00
Rick Winfrey
df279bd24a
Assign infix data constructors
2018-06-22 17:56:55 -07:00
Rick Winfrey
5dd83b0f2e
Add InfixDataConstructor syntax
2018-06-22 17:56:46 -07:00
Rick Winfrey
4c5cda4f54
🔥 NBSP
2018-06-22 17:49:38 -07:00
Rick Winfrey
f1cc2a93b4
Bump haskell-tree-sitter
2018-06-22 17:45:22 -07:00
Rick Winfrey
19134b3942
🔥 NBSP
2018-06-22 17:36:10 -07:00
Rick Winfrey
16e7225d0a
Allow for expressions on the lefthand side of a bind pattern in a do block
2018-06-22 17:31:24 -07:00
Rick Winfrey
03e291c52e
🔥 NBSP
2018-06-22 17:26:23 -07:00
Rick Winfrey
33fa36c79a
Handle comments before a deriving clause
2018-06-22 17:25:46 -07:00
Rick Winfrey
1bfdcfdb1c
Pattern guards need not have two sides
2018-06-22 16:54:53 -07:00
Rick Winfrey
2dc20ab960
Generalize listPattern over expressions
2018-06-22 16:54:45 -07:00
Rick Winfrey
0975e56608
Assign labeled construction
2018-06-22 16:47:25 -07:00
Rick Winfrey
6fcc0fe981
Add labeled construction syntax
2018-06-22 16:47:16 -07:00
Rick Winfrey
c58c9556e6
🔥 NBSP
2018-06-22 16:36:49 -07:00
Rick Winfrey
c535af4a36
Assign qualifiedTypeClassIdentifier
2018-06-22 16:33:39 -07:00
Rick Winfrey
462ed79752
Generalize newConstructor over expressions
2018-06-22 16:33:21 -07:00
Rick Winfrey
7a4b2da299
Term module declaration components
2018-06-22 16:33:10 -07:00
Rick Winfrey
32b8224a3e
Generalize fieldPattern over expressions
2018-06-22 16:32:57 -07:00
Rick Winfrey
12230f33a7
Add qualifiedTypeClassIdentifier to typeConstructor
2018-06-22 16:32:48 -07:00
Rick Winfrey
2121498440
Generalize derivingClause over all expressions
2018-06-22 16:32:18 -07:00
Rick Winfrey
8a74786501
Add qualified type class identifier syntax
2018-06-22 16:32:00 -07:00
Rick Winfrey
0d69f9f996
Allow expressions for Pattern'
and Expression
2018-06-22 16:00:52 -07:00
Rick Winfrey
edd1eb1b72
Assign newly added PatternGuard
2018-06-22 15:46:21 -07:00
Rick Winfrey
ea02ff5a92
🔥 NBSP
2018-06-22 15:45:02 -07:00
Rick Winfrey
67823c7be7
Bump tree-sitter-haskell
2018-06-22 13:26:04 -07:00
Rick Winfrey
4a824fbfc7
Bump haskell-tree-sitter
2018-06-22 12:50:42 -07:00
Rick Winfrey
db180d186d
Bump haskell-tree-sitter
2018-06-22 11:45:32 -07:00
Rick Winfrey
a3ea16e67d
🔥 NBSP unicode character
2018-06-20 17:26:41 -07:00
Rick Winfrey
6075598bd2
Add guard fixtures
2018-06-20 17:23:42 -07:00
Rick Winfrey
796ca293de
Allow guards to contain multiple expressions (for ungrouped type patterns)
2018-06-20 17:23:21 -07:00
Rick Winfrey
35c7a472f6
Bump haskell-tree-sitter
2018-06-20 17:12:55 -07:00
Rick Winfrey
a952a584f4
Assign expression type signatures
2018-06-20 15:57:30 -07:00
Rick Winfrey
89d81c4236
Assign strict patterns
2018-06-20 15:57:15 -07:00
Rick Winfrey
aad0bd3210
Assign infix constructor identifiers
2018-06-20 14:31:38 -07:00
Rick Winfrey
7e9847489c
Unicode NBSP characters ruffle tree-sitter's leaves
2018-06-20 14:31:27 -07:00
Rick Winfrey
6a41892054
Assign expression in GadtConstructor
2018-06-20 14:18:55 -07:00