Commit Graph

264 Commits

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