Commit graph

650 commits

Author SHA1 Message Date
Max New
4a25c165a4 Hack to make imported names safe.
This fixes a bug where imported identifiers with reserved names were
not being changed during codegen.
2014-01-18 17:36:09 -06:00
Evan Czaplicki
1a1aff1bc8 restrict incoming ports to disallow data structures that contain signals, only "top-level" signals are allowed 2014-01-16 18:28:07 +01:00
John P Mayer Jr
0cd2af27a6 used a more specific PP rendering to revert the changes to SS.Type pretty 2014-01-15 19:46:41 -05:00
John P Mayer Jr
d647bfdeda Merge remote-tracking branch 'evan/dev' into arbitary-tipe 2014-01-15 19:27:50 -05:00
Evan Czaplicki
b5e731122d Improve error messages as described in a list discussion
https://groups.google.com/forum/#!topic/elm-discuss/X4V4edxeFKI
2014-01-15 19:22:19 +01:00
Evan Czaplicki
b9e627f78e Merge in @maxsnew's fixes from #424
Tested on small file where I changed a dependency and on elm-lang.org
code.
2014-01-15 13:54:40 +01:00
John P Mayer Jr
853e63c918 better shrinking and not-infinite-dump generation results in passed tests! 2014-01-15 01:39:36 -05:00
John P Mayer Jr
afb6bd5023 better gen and shrink, but stack overflows 2014-01-14 19:33:40 -05:00
Evan Czaplicki
c602071022 Cosmetic: use a qualified import to clarify uses of isTuple 2014-01-14 16:27:28 +01:00
Evan Czaplicki
93321eca63 Fix issue with unparenthesized patterns in pretty printed lambdas pointed out by @JoeyEremondi in #446
Regarding the proposed fix in #446: The pattern pretty printer is
correct for cases where you just want the pattern, such as in
case-expressions. In some contexts, parentheses are required though, so
this fix addresses those places specifically.
2014-01-14 16:27:06 +01:00
Evan Czaplicki
6febb89fcd Fix pretty printing for tuples as discoered by @JoeyEremondi and/or @jmite in PR #446
This fix uses some existing functions for reliably figuring out if
something is a tuple.
2014-01-14 16:13:18 +01:00
Evan Czaplicki
1191c8a665 Add comments to explain the thought process and structure of the AST 2014-01-14 16:02:23 +01:00
Evan Czaplicki
f619026fcc Handle function exports 2014-01-14 13:58:33 +01:00
Evan Czaplicki
bc6ac142ae Disallow signals-of-signals, functions that involve signals, and signals of functions 2014-01-14 13:28:43 +01:00
Evan Czaplicki
461abc0c6f Correct check for outgoing higher order functions
A function can appear arbitrarily nested in a data structure, but that
function cannot have more functions within it.
2014-01-14 12:49:22 +01:00
Evan Czaplicki
6c1d2d7bf3 cosmetic: generalize collectLambdas to make a list of types, move prettifying code to the Pretty instance 2014-01-14 12:48:54 +01:00
Evan Czaplicki
36a5c1ddeb Handle signals properly, fix outgoing lists, improve errors for missing fields 2014-01-14 12:32:33 +01:00
Evan Czaplicki
53389ffbf8 Make instanceof check safer, check if it's an object before using instance of 2014-01-14 11:46:17 +01:00
Evan Czaplicki
c9310cc4d5 cosmetic: simplify traversal of maybe 2014-01-14 11:45:40 +01:00
Evan Czaplicki
32fbbca5b2 Generate conversion code for ports 2014-01-13 19:32:54 +01:00
Evan Czaplicki
63243ca457 Minor changes to checks for ports 2014-01-13 19:24:39 +01:00
Evan Czaplicki
329077f1ef Get rid of input handlers for now 2014-01-13 19:24:17 +01:00
Max New
0e40a32adc Style fixes and -Walls for a couple files. 2014-01-13 09:21:39 -06:00
Evan Czaplicki
fe3b3439b7 Make port checks more permissive 2014-01-13 13:52:18 +01:00
Evan Czaplicki
2a0a0e6e3c Simplify SourceSyntax.Type AST, making record extension more restrictive as discussed with @maxsnew 2014-01-13 11:01:10 +01:00
Evan Czaplicki
9dda928ac4 make conversion functions for input ports optional 2014-01-13 11:01:10 +01:00
Evan Czaplicki
828c2c7372 Give more reasonable names to incoming and outgoing ports 2014-01-13 11:01:10 +01:00
Evan Czaplicki
8cadc4d92c Remove comment for things that no longer exist 2014-01-12 13:06:50 +01:00
Evan Czaplicki
62bd720882 Make the char parser more restrictive to try to get better errors.
Before it permitted sequences of unescaped chars.
2014-01-08 11:36:51 +01:00
Evan Czaplicki
61dd68bcd3 Cosmetic: make some style changes to make it look more like the rest of the compiler
@maxsnew, I really want to make this more transparent and clear, sorry
for the total lack of clarity. Right now this is mostly “I prefer it
this way” and it’d be good to write down a set of rules and then
actually assess of that is a good way to write code.
2014-01-08 11:18:13 +01:00
Max New
6b255fed59 Fix multiline string handling and add more tests. 2014-01-07 17:01:29 -06:00
Max New
cca69cf8e7 Fix Char literal printing bug. 2014-01-07 15:52:19 -06:00
Max New
5ea3ec7f80 Call out to stringLiteral/charLiteral for string/char literal parsing 2014-01-07 15:44:12 -06:00
Evan Czaplicki
8bea3f073d cosmetic: make a block of code more whitespace friendly 2014-01-06 08:07:24 +01:00
Evan Czaplicki
96f55fceab Take ports out of MetadataModule, where it is no longer needed 2014-01-06 08:06:56 +01:00
Evan Czaplicki
da033e3696 Filter out duplicate imports, generate code using new Native.Ports module 2014-01-06 07:49:49 +01:00
Evan Czaplicki
7e2deceb9a Add Native.Ports to prelude for user defined modules 2014-01-06 07:48:22 +01:00
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