Commit graph

611 commits

Author SHA1 Message Date
Evan Czaplicki
3d7c8d2754 Add -W flag 2014-01-06 07:47:14 +01:00
Evan Czaplicki
a97b9951d0 Add checks for port types to ensure that only JS values go through ports and that type annotations are correct and consistent 2014-01-05 10:41:40 +01:00
Evan Czaplicki
dc3bba714c Capture the entire type of the handler for incoming ports 2014-01-05 10:40:27 +01:00
Evan Czaplicki
5dd7b6b1bb Extend expression crawler to do checks on ports as well as on let expressions 2014-01-05 10:15:37 +01:00
Evan Czaplicki
9ea98549bc Actually fill in a type variable when generating PortIn expressions 2014-01-05 10:15:23 +01:00
Evan Czaplicki
3b9862ab4e Switch from Types to Variables in the representation of PortIn 2014-01-05 09:29:00 +01:00
Evan Czaplicki
39eb4c6bc8 Use one fewer variable for PortIn constraints 2014-01-05 07:54:16 +01:00
Evan Czaplicki
6eb84d82d7 Make error message prettier 2014-01-04 16:46:38 +01:00
Evan Czaplicki
eed8fa1061 Add type annotations and make some -W recommendations 2014-01-04 16:16:21 +01:00
Evan Czaplicki
c03049a960 Simplify Build.Interface API, do not read "interfaces.data" when the --no-prelude flag is used 2014-01-04 15:59:24 +01:00
Evan Czaplicki
170006534d Rename InterfaceSerialization file and change the function names in it 2014-01-04 15:19:30 +01:00
Evan Czaplicki
7cf5a564e5 Add Expressions for ports to check and validate types nicely 2014-01-04 11:39:38 +01:00
Evan Czaplicki
defb47db75 Get rid of warnings 2014-01-04 11:34:09 +01:00
Evan Czaplicki
c966776788 Add -W flag to many files, mostly getting rid of dead imports 2014-01-04 10:54:46 +01:00
Evan Czaplicki
270dbf8722 Add -Wall to a bunch of SourceSyntax files and get them warning free 2014-01-04 10:14:36 +01:00
Evan Czaplicki
863d31b38f Switch name of qualified import 2014-01-04 09:45:20 +01:00
Evan Czaplicki
9ff26223d8 Handle --no-prelude flag in the Metadata.Prelude module rather than distributed across many modules
Good in case the meaning of —no-prelude changes
2014-01-04 09:35:26 +01:00
Evan Czaplicki
9ccc707594 properly rename expressions in port declarations, add -Wall 2014-01-04 08:20:52 +01:00
Evan Czaplicki
33a95f4aa6 get rid of unused dependency 2014-01-04 08:00:56 +01:00
Evan Czaplicki
6a8db4c230 Get rid of dead dependencies and add -Wall for some files 2014-01-03 12:33:56 +01:00
Evan Czaplicki
ade03397df Fix another copy-paste error 2014-01-03 12:15:49 +01:00
Evan Czaplicki
bdeb36eb6f Fix port parser! Copy paste error on the operator. 2014-01-03 12:12:43 +01:00
Evan Czaplicki
6f75310a49 Get rid of redundant code that collapses ParseDefs 2014-01-03 10:33:17 +01:00
Evan Czaplicki
06503fef33 Switch to using new Def representation, get rid of getPDefs function which used to collect annotations and definitions. 2014-01-03 01:07:13 -08:00
Evan Czaplicki
5e3f94ce60 Update for new type of module (no t v) 2014-01-02 23:53:30 -08:00
Evan Czaplicki
41dd0c8742 Update for new def and port formats 2014-01-02 23:52:27 -08:00
Evan Czaplicki
acce931530 Update for new def and ports format 2014-01-02 23:50:49 -08:00
Evan Czaplicki
c883b55255 Get rid of badOrder check, which is handled elsewhere. Update for new def and port formats 2014-01-02 23:50:20 -08:00
Evan Czaplicki
3d780425fb Update for ports and defs, switch to using <$> and <*> a lot 2014-01-02 23:48:42 -08:00
Evan Czaplicki
c04c4385ff Update for new defs and ports format 2014-01-02 23:46:37 -08:00
Evan Czaplicki
1a06be5992 Get rid of "t v" type variables, which are no longer needed 2014-01-02 23:45:40 -08:00
Evan Czaplicki
7422c95f4c Update to match new names in SourceSyntax.Declaration 2014-01-02 23:45:10 -08:00
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
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
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
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
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
e34245ae3a Cosmetic: add a space 2013-12-29 13:22:54 -08: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
71bb1c8bf9 Add basics of properly handling ports 2013-12-24 10:13:19 -08:00