Commit graph

2126 commits

Author SHA1 Message Date
Evan Czaplicki
ed4be06a6a Update to match new port and decl format 2014-01-02 23:44:42 -08:00
Evan Czaplicki
98f7be328b Make "combineAnnotations" a part of parsing a program 2014-01-02 23:42:54 -08:00
Evan Czaplicki
49fc0b6378 Create way to crawl over all lets in a program, transforming defs and ports
Used to combine type annotations with definitions and find ordering
problems with Definitions and Ports
2014-01-02 23:39:34 -08:00
Evan Czaplicki
3af5c2a652 Switch to new format for Expr, Def, and Module 2014-01-02 23:37:52 -08:00
Evan Czaplicki
e8389ac78a Update to match new Module type 2014-01-02 23:23:26 -08:00
Evan Czaplicki
3c65b5c69d Move boundVars function into SourceSyntax.Pattern 2014-01-02 23:23:11 -08:00
Evan Czaplicki
e3b8ea7d09 Update basic parsers to use the new formats for Expr, Declaration, and Port 2014-01-02 23:20:25 -08:00
Evan Czaplicki
bd4d76ecae Chenge representation of Expr, add ports representation
Get rid of the unused t and v type variables. Add the def type
variable, which models the fact that type annotations and definitions
start separate, but need to be combined before most stuff goes down.

Ports have the same structure as definitions in that annotations and
definitions are separate at the source level and need to be combined.
The same technique used in Expr is now used in Decl as well.
2014-01-02 23:18:42 -08:00
Evan Czaplicki
600e65ca43 Get rid of Transform.Optimize, which is currently unused 2014-01-02 23:13:37 -08:00
Evan Czaplicki
5c509f2f1e Make Binary serialization code nicer 2014-01-02 17:42:27 -08:00
Justin Leitgeb
9d6f5377f8 Add basic Travis CI configuration
I added a basic Travis CI configuration to make the build status more
transparent. I added a small logo to the bottom of the README with the
status and a link to the build.

@evancz after merging this you'd have to go to https://travis-ci.org
and enable the build for this project, just takes a couple of clicks.
See http://about.travis-ci.org/docs/user/getting-started/.

I tested this on my own github account and the configuration worked
(ie, it showed the same build errors on Travis that I'm experiencing
locally).
2014-01-02 18:10:11 -05:00
Evan Czaplicki
662fd7669a Add JS as a possible Derivation, correct binary serialization, add error when serialization goes wrong. 2014-01-02 13:38:41 -08:00
Evan Czaplicki
578dfb8358 Merge branch 'js-integration' into dev 2014-01-02 12:29:08 -08:00
Evan Czaplicki
6dec2ae0fa Merge branch 'master' into dev 2014-01-02 12:24:35 -08:00
Evan Czaplicki
60aaaf4d66 Try to clarify why the Hackage API exists. 2013-12-30 15:57:42 -08:00
Evan Czaplicki
013f9d701e Bump version number of elm-server 2013-12-30 15:50:25 -08:00
Evan Czaplicki
82714cb552 Merge pull request #427 from maxsnew/server-compat
Update elm-server to work with new module structure
2013-12-30 15:35:44 -08:00
Timothy Vladimír Hobbs
145d4b96c5 Update elm-server to work with new module structure 2013-12-30 17:31:43 -06:00
Max New
cf9d21b0c8 Recompile modules when their dependencies have changed. 2013-12-30 16:09:41 -06:00
Max New
6511fc0e97 Refactor Build.File using monad transformers 2013-12-30 16:09:41 -06:00
Evan Czaplicki
b0a856eb5f Merge pull request #421 from maxsnew/test
Test Re-org and Start Property Testing
2013-12-30 00:27:50 -08:00
Max New
dcac0e0d5c Style tweaks and use cross-platform file name construction. 2013-12-30 02:19:02 -06:00
Max New
37f5d9e1ea Make parse/print test more stringent, tweak Float gen. 2013-12-29 22:11:19 -06:00
Max New
d003062586 Pattern pretty printer prints syntactically correct code.
Include auto-generated test case that was previously broken.
2013-12-29 20:46:20 -06:00
Max New
24751a3d85 Add parse/print tests for Patterns. 2013-12-29 20:18:45 -06:00
Evan Czaplicki
56324bf699 Update version numbers for standard library 2013-12-29 15:35:26 -08:00
Max New
2da9009512 Setup QuickCheck and add Literal Parse/Print test
Currently fails the prop tests: https://github.com/evancz/Elm/issues/420

Also ignore emacs backup files.
2013-12-29 16:50:41 -06:00
Evan Czaplicki
5b7f442584 Bump version number 2013-12-29 13:41:39 -08:00
Evan Czaplicki
9dfcb507db Merge branch 'dev' 2013-12-29 13:23:17 -08:00
Evan Czaplicki
e34245ae3a Cosmetic: add a space 2013-12-29 13:22:54 -08:00
Max New
1408d928d5 Re-org tests 2013-12-29 15:17:49 -06:00
Max New
840eca6573 Migrate tests to test-framework and make them more specific.
Use test-framework as it's more widely used/has better support for
HUnit/QuickCheck.

Make test cases test the `compile` function explicitly instead of the
elm executable as that's all they're actually intended to test.
2013-12-29 13:44:25 -06:00
Evan Czaplicki
f26610b718 Properly handle pattern matching on non-tuple ADTs in let-expressions, esolving issue #417 2013-12-27 16:14:21 -08:00
Evan Czaplicki
a5b486c56d Use the github sanctioned name for this file, based on new facts from @devth 2013-12-24 10:27:45 -08:00
Evan Czaplicki
4e23dc6a08 Mess with documentation for empty 2013-12-24 10:16:17 -08:00
Evan Czaplicki
71bb1c8bf9 Add basics of properly handling ports 2013-12-24 10:13:19 -08:00
Evan Czaplicki
6db931849d Merge pull request #404 from maxsnew/empty
Add empty element
2013-12-24 10:11:26 -08:00
Evan Czaplicki
740702c0d7 Begin switch from current FFI syntax to "port" syntax 2013-12-23 23:53:54 -08:00
Evan Czaplicki
fcbd7fd73b Improve some parser code by adding type annotations, removing unused dependencies, and using prefixed imports 2013-12-23 23:26:03 -08:00
Evan Czaplicki
0486c90bd3 Merge branch 'dev' into deriving 2013-12-23 17:03:05 -08:00
Evan Czaplicki
51ee065e6b Cosmetic: give function a more descriptive name 2013-12-23 17:02:47 -08:00
Evan Czaplicki
230c695231 Merge pull request #412 from maxsnew/otherwise
Expand `else` to `True` instead of `otherwise`.
2013-12-23 17:00:58 -08:00
Max New
647cf279a1 Optimize True branch in multi-way if code generation. 2013-12-23 18:57:23 -06:00
Evan Czaplicki
83e8bad84f Add basics of "deriving" for ADTs and type aliases. Only parse it for type aliases at the moment. 2013-12-23 16:51:15 -08:00
Max New
254d71f4e5 Expand else to True instead of otherwise.
Makes `if` syntax independent of the value of `otherwise`.
Includes test case.
2013-12-23 18:31:55 -06:00
Evan Czaplicki
32c78efe7d Begin process of allowing "deriving" on type aliases. 2013-12-23 14:42:43 -08:00
Evan Czaplicki
171f199db3 Merge branch 'dev' into json 2013-12-23 13:01:21 -08:00
Evan Czaplicki
e119d8ef62 Get rid of SourceSyntax.Everything module 2013-12-22 15:18:16 -08:00
Evan Czaplicki
f8bf89b48d Make sure that all names in a program are safe for use in JS code 2013-12-22 15:00:29 -08:00
Evan Czaplicki
e690c427b7 Add deriving as a reserved word 2013-12-21 23:55:33 -08:00