Stephen Diehl
21fed4eb49
used alignment block for substitution def
2015-02-01 11:00:41 -05:00
Stephen Diehl
3b93712a69
fix latex for substitutions
2015-02-01 10:54:21 -05:00
Stephen Diehl
fdf6748348
phrasing around parse stream
2015-02-01 09:19:55 -05:00
Stephen Diehl
5a7e6bface
lambda contractions
2015-02-01 09:17:57 -05:00
Stephen Diehl
1aab32512f
rephrase text/parser relation
2015-02-01 09:16:19 -05:00
Stephen Diehl
48d8b0f0d6
rephrase "degenerate" wording
2015-02-01 09:15:14 -05:00
Stephen Diehl
703e3c013d
example about monoids
2015-02-01 09:13:47 -05:00
Stephen Diehl
3485952dd5
finish sentence
2015-02-01 09:09:56 -05:00
Stephen Diehl
0d73fa578c
remove double "explicit"
2015-02-01 09:09:24 -05:00
Stephen Diehl
bea31ed123
fix grammar about parsing
2015-02-01 09:08:44 -05:00
Stephen Diehl
c4fc3b4132
rephrase note about session types
2015-02-01 09:07:51 -05:00
Stephen Diehl
8ec9215cd0
rephrase double runtime
2015-02-01 09:07:02 -05:00
Stephen Diehl
cc15269474
rephrase pure function wording
2015-02-01 09:05:54 -05:00
Stephen Diehl
224fe0e8be
Merge pull request #46 from chsievers/proposed
...
more changes
2015-02-01 06:46:44 -05:00
Christian Sievers
7d2ecc4b9a
chapter3/calc/Eval.hs: avoid recomputation of normal form in eval
2015-01-30 20:23:57 +01:00
Christian Sievers
11709255c3
chapter3/parsec.hs: change definition of option
...
Let (<|>) (which equals option) return all parses of the succeeding parser,
as seems to be implied by the description in the chapter on Parsing.
Example: parse (empty <|> ((unit 'a') `combine` (unit 'b'))) ""
2015-01-30 18:29:15 +01:00
Christian Sievers
ca8b771489
chapter3/parsec.hs: handle ambigous parses in runParser
...
The text doesn't mention ambigous parses, and the code didn't handle them.
The easiest way to fix the code without necessarily having to write about
this case is to hande it as parse error and merge it with the no parse case
by replacing the [] pattern with _.
2015-01-30 18:20:08 +01:00
Christian Sievers
d40f93d884
Some changes to the first three chapters.
2015-01-30 18:11:41 +01:00
Stephen Diehl
1ede2bffd8
fix missing fence
2015-01-28 19:30:08 -05:00
Stephen Diehl
dcad87a9fb
add test output
2015-01-28 09:51:29 -05:00
Stephen Diehl
53f1e5c7b3
should_fail
2015-01-28 09:48:51 -05:00
Stephen Diehl
710d1c8905
added failure cases for poly
2015-01-28 09:31:19 -05:00
Stephen Diehl
efae2ed8bb
Merge pull request #44 from chsievers/text
...
Text
2015-01-28 09:10:42 -05:00
Christian Sievers
3cae04957e
changes to the substitution section of the lambda calculus chapter
2015-01-27 16:17:39 +01:00
Christian Sievers
6512570769
more changes to the first four chapters
2015-01-27 16:16:55 +01:00
Christian Sievers
a1cfcc350e
small fixes in the first four chapters
2015-01-27 13:57:22 +01:00
Stephen Diehl
2a77bb0414
update rss
2015-01-24 14:39:48 -05:00
Stephen Diehl
440e4c388b
Merge pull request #42 from chsievers/simplify
...
Simplify poly and poly_constraints
2015-01-23 17:47:00 -05:00
Christian Sievers
ee0e227653
poly_constraints: solver needs no State
2015-01-23 00:38:22 +01:00
Christian Sievers
4eb3841dc2
poly_constraints: simplify unifies and friends
...
unifies, unifyMany and bind need not return [Constraint]
2015-01-22 15:24:03 +01:00
Christian Sievers
8b7669e5f0
poly{,_constraints}: simplify normalize
...
Local function fv doesn't need its first argument.
BTW, the versions in poly and poly_constraints differ in their
usage of fmap vs. map.
2015-01-22 14:38:31 +01:00
Stephen Diehl
6c216e39de
Merge pull request #40 from chsievers/fix_infer
...
poly: fix type inference
2015-01-21 09:21:03 -05:00
Christian Sievers
f36dae83ba
poly{,_constraints}: s/the the/the/ in error msg
2015-01-20 22:27:43 +01:00
Christian Sievers
1f43ad3e1b
poly: fix type inference
...
inferPrim has to apply the substitution when calling unify.
Test case:
\f n -> if True then n else (f (n+1))
2015-01-20 21:02:31 +01:00
Stephen Diehl
6fb457e017
Merge pull request #38 from jeffreyrosenbluth/master
...
infixOp to prefixOp
2015-01-20 13:06:20 -05:00
Jeffrey Rosenbluth
19bb1520c7
infixOp to prefixOp
2015-01-20 10:48:22 -05:00
Stephen Diehl
846a6c19f5
Merge pull request #37 from chsievers/inferL
...
poly: infer - a new approach
2015-01-20 07:50:52 -05:00
Christian Sievers
9096471580
poly: factored out common code in infer
2015-01-20 08:46:23 +01:00
Christian Sievers
7f589b1c48
poly: fix type inference for If, Fix and Op cases in a uniform way
2015-01-20 07:26:17 +01:00
Christian Sievers
8af47fc101
poly: fix composition order of substitutions in Let case
2015-01-20 07:24:12 +01:00
Stephen Diehl
f0500b5d1b
Merge pull request #36 from jeffreyrosenbluth/patch-1
...
Update 001_basics.md
2015-01-19 18:27:07 -05:00
Jeffrey Rosenbluth
385770c7d5
Update 001_basics.md
...
Technically `(<=<)` is the analog of `(.)`.
2015-01-19 16:29:42 -05:00
Stephen Diehl
5aff7b5e55
custom command for building index
2015-01-19 11:31:36 -05:00
Stephen Diehl
300279bfd6
fix index md
2015-01-19 11:10:25 -05:00
Stephen Diehl
1f0c39744a
fix css bugs
2015-01-19 11:09:46 -05:00
Stephen Diehl
2b1169788e
bump git hash for release
2015-01-19 11:04:03 -05:00
Stephen Diehl
23a5afe76a
operator tracking
2015-01-19 11:00:01 -05:00
Stephen Diehl
43a97a69fb
attoparsec and operators
2015-01-19 10:45:58 -05:00
Stephen Diehl
5183e19fa9
type error provenance
2015-01-19 07:48:23 -05:00
Stephen Diehl
a0944dbeaa
don't build pdf on travis
2015-01-18 21:35:35 -05:00