Evan Czaplicki
ca8441ff2f
Continue getting the new type-checker in order.
2013-07-07 12:52:48 +02:00
Evan Czaplicki
947b82ed09
Switch more files over to new Expressions
2013-07-04 17:31:22 +02:00
Evan Czaplicki
5c68f6bb73
Convert more files to the new Expression format that relies more on
...
patterns. Seems to clean things up so far.
Also, begin adding a module that resorts definitions to make sure
that each definition comes after the ones it depends on. This will
also make it possible to disallow recursive values statically.
2013-07-04 17:24:04 +02:00
Evan Czaplicki
69ed7631fe
Start switching over to an AST that uses patterns in lambdas and
...
pulls the arguments out of Definitions (placing them in lambdas).
2013-07-04 11:36:08 +02:00
Evan Czaplicki
351c33c486
Start generating constraints for let-expressions. Account for mutual recursion,
...
but will throw a runtime error if a user has given type annotations.
2013-07-03 19:51:38 +02:00
Evan Czaplicki
cdb63bd8d1
Start writing a new type checker based on the ATAPL chapter on efficient type-inference.
2013-07-03 14:35:51 +02:00
Evan Czaplicki
74d3c35131
Fix optimization bug with > sign.
2013-07-02 16:58:19 +02:00
Evan Czaplicki
60de915824
Merge branch 'dev' of https://github.com/evancz/Elm into dev
2013-07-01 20:05:49 +02:00
Evan Czaplicki
d700acfeac
Fix substitutions for ExplicitList.
2013-07-01 20:00:37 +02:00
Evan Czaplicki
f32390c299
Merge pull request #184 from A1kmm/dont-print-constraints-during-unify
...
Don't print constraints during unify
2013-07-01 00:47:43 -07:00
Andrew Miller
89cecdbe54
Also fix merge to remove extra newline
2013-07-01 08:48:54 +12:00
Andrew Miller
57d108421d
Fix up previous merge
2013-07-01 08:47:00 +12:00
Andrew Miller
1b4aca9685
Turn off debug code that printed all constraints during unify.
...
This debug code is very noisy and makes it hard to test the dev
branch because you can't see warnings buried in all the debug
output.
2013-07-01 08:43:00 +12:00
Andrew Miller
a2e9bef5fb
Merge branch 'dev' of github.com:/A1kmm/Elm into dev
2013-07-01 07:33:03 +12:00
Evan Czaplicki
25671f524d
update changelog
2013-06-27 18:56:27 +02:00
Evan Czaplicki
9d68c10683
Add support for triple-quoted multi-line strings
2013-06-27 18:55:01 +02:00
Evan Czaplicki
d91419d4f5
Add missing dependencies to Elm.cabal.
2013-06-27 18:53:47 +02:00
Andrew Miller
8705c28e6c
Merge branch 'dev' of git+ssh://github.com/A1kmm/Elm into dev
2013-06-25 07:37:12 +12:00
Evan Czaplicki
e63b12d036
Fix some style weirdness in Setup.hs
2013-06-24 06:14:08 +02:00
Evan Czaplicki
88e8f8102a
Add Parse.Literal to the Elm.cabal file
2013-06-24 06:13:43 +02:00
Andrew Miller
d3b88f8b1a
Add missing other-modules entry Parse.Literal
2013-06-24 12:54:47 +12:00
Evan Czaplicki
5c1089a77b
Fix bugs in Automaton discovered by Jeff
2013-06-23 16:36:44 +02:00
Evan Czaplicki
0d41af8421
Update changelog
2013-06-23 04:50:40 -07:00
Evan Czaplicki
340c2e7efa
Switch to using px to set text height instead of em.
2013-06-23 04:48:32 -07:00
Evan Czaplicki
da9c49338a
Fix pattern matching aliases so that it works in all cases. Previously it was totally broken.
2013-06-23 04:18:27 -07:00
Evan Czaplicki
cee9f6a9d9
Add two dummy files to make it possible to build the compiler from
...
within emacs. This makes it faster to type-check things and start
testing functions.
2013-06-23 02:43:58 -07:00
Evan Czaplicki
48e7584e95
Update the change log
2013-06-23 01:36:48 -07:00
Evan Czaplicki
e80ea9e430
Add support for pattern matching on literals.
2013-06-23 01:36:23 -07:00
Evan Czaplicki
c158155bdf
Switch to using (Map String String) instead of (String -> String) as the environment.
2013-06-23 01:35:04 -07:00
Evan Czaplicki
98eceb5496
Clean up Transform/Replace.hs. Switch the environment from a (String -> String) to a (Map String String).
2013-06-23 01:33:33 -07:00
Evan Czaplicki
cd83c4c8ed
Allow full expressions as the last member of binary expressions (t + t + e)
2013-06-23 01:31:34 -07:00
evancz
9a40249e05
Fix the confusion with "Cons" and "Nil" in issue #176 .
...
Also add the ExplicitList expression.
2013-06-20 21:25:10 -07:00
evancz
4a6032f239
Add file
2013-06-18 16:00:51 -07:00
evancz
d0c634f16f
Allow collages to get property updates, such as opacity and links.
2013-06-16 14:20:47 -07:00
evancz
13dacfd8f9
Stop a bunch of keyboard signals from firing too many events.
2013-06-16 14:20:15 -07:00
evancz
afacd1b858
Add hoverable
and hoverables
2013-06-15 00:49:22 -07:00
evancz
316cd1d0ee
Add an experimental API for dev tools.
2013-06-14 21:06:54 -07:00
evancz
a9de2342dc
Solve a "non-exhaustive pattern match"
2013-06-14 19:38:03 -07:00
evancz
35981eb42f
Finish parameterizing the AST and properly check errors in let expressions.
2013-06-14 19:23:58 -07:00
evancz
5e7be20d6d
add filepath to docs dependencies
2013-06-13 23:02:05 -07:00
evancz
d7dcf5a9e8
Get the whole compiler building again.
2013-06-13 22:59:14 -07:00
evancz
721ce4f192
Continue reorganizing the code-base.
...
Remove uses of uniplate, introduces a regression in testing the ordering of Defs in let-expressions.
2013-06-13 22:45:08 -07:00
evancz
272ecc67fd
Rename Model/ to Metadata/ because it now only holds info about the types of library functions.
2013-06-13 20:45:12 -07:00
evancz
c7dce08193
Parameterized the AST for type annotations and variable types. Also rename Guid.hs to Unique.hs which reads a lot nicer.
2013-06-13 20:25:00 -07:00
evancz
459cf8ec73
Switch parsers over to new AST
2013-06-13 19:15:40 -07:00
evancz
339ad77c46
Begin getting the parser to match the new SourceSyntax modules.
2013-06-13 18:35:37 -07:00
evancz
bbb2b2a14f
Begin migrating the AST to its own branch for the source syntax of the language.
2013-06-13 18:00:24 -07:00
evancz
73317ed123
Switch to using MultiIf for all if expressions. Simplifies AST.
2013-06-13 16:01:35 -07:00
evancz
0758ebf27c
Add some notes about changes so far.
2013-06-13 12:59:52 -07:00
evancz
0bee2057d9
Merge branch 'dev' of https://github.com/evancz/Elm into dev
2013-06-13 12:53:15 -07:00