Commit graph

549 commits

Author SHA1 Message Date
Evan Czaplicki
7b20993869 Get rid of dependency on uniplate so AST does not need to derive Data or Typeable
This is motivated by wanting to add things to the AST that cannot
derive Data or Typeable
2013-12-20 16:41:06 -08:00
Evan Czaplicki
3686c82738 Add note about no sharing between top-level and let-bound type variables 2013-12-19 15:04:41 -08:00
Evan Czaplicki
2874797ddb Go to original error style. I think it's nicer. 2013-12-19 14:45:52 -08:00
Evan Czaplicki
34913d5340 Fix issue #397. Core issue was that scanning for infix declarations was not clever about strings. 2013-12-19 10:41:31 -08:00
Evan Czaplicki
ac6c5bc04a Get rid of check on how many exposed modules. That's for validation elsewhere 2013-12-19 01:48:26 -08:00
Evan Czaplicki
16aef1ea0c Switch away from using Text.Blaze.Html.Renderer.Utf8 because it scrambles some things. 2013-12-17 17:43:06 -08:00
Evan Czaplicki
82d3d88d01 Get syntax highlighting on code blocks working again. 2013-12-17 16:19:42 -08:00
Evan Czaplicki
a3cb09a0c1 Add instances for generating JSON 2013-12-17 12:16:40 -08:00
Evan Czaplicki
26a8c82b6f Get rid of Build.Info file, move compiler version to Elm.Internal.Version and use Elm's version conventions 2013-12-17 11:36:05 -08:00
Evan Czaplicki
b9056797ec Add link to example program. 2013-12-17 10:59:45 -08:00
Evan Czaplicki
16e6654af8 Require minimal deps file when just building things locally 2013-12-16 14:41:05 -08:00
Evan Czaplicki
87bf14f268 Switch to using elm_dependencies.json to search for additional src-dirs 2013-12-16 03:03:52 -08:00
Evan Czaplicki
8a46ead147 Add dependencies field to Deps 2013-12-16 03:03:04 -08:00
Evan Czaplicki
3c1b9f7171 Adopt "model" code from elm-get so that dependencies can be crawled from the compiler. 2013-12-15 23:55:36 -08:00
Evan Czaplicki
61ff49067f Guard against issue #387 2013-12-15 19:14:00 -08:00
Evan Czaplicki
fe7e3195fa Automatically look in elm_dependencies/ and use the latest version available 2013-12-15 01:37:51 -08:00
Evan Czaplicki
d6e769514e Get rid of dummy Paths_Elm.hs file! 2013-12-15 01:35:31 -08:00
Evan Czaplicki
dac51abc88 Finish refactoring code into Build/ directory, make some names more consistent and remove unneeded dependencies 2013-12-14 23:29:39 -08:00
Evan Czaplicki
6cb3b30062 Start breaking the build process up into smaller modules 2013-12-14 21:46:15 -08:00
Evan Czaplicki
6ff938c7cf Improve message for errors when unifying rigid type variables 2013-12-12 17:11:49 -08:00
Evan Czaplicki
6768b0ef7a Get rid of dependency on Text.Read.readMaybe to resolve #382 2013-12-11 18:57:56 -08:00
Evan Czaplicki
4452e4e138 Turn off markdown interpolation for now.
This will of course get turned back on! I don’t want to do it in the
very next release though.
2013-12-10 23:04:27 -08:00
Evan Czaplicki
d12a744824 Update documentation to be more up to date 2013-12-10 23:04:26 -08:00
Evan Czaplicki
1aa3b76e8e Switch back to stateless API, currently do not want to change this in the next release 2013-12-10 23:04:26 -08:00
Evan Czaplicki
32d162732b Merge pull request #381 from bcdarwin/master
Add check for duplicate constructors within the same unit
2013-12-10 17:48:06 -08:00
Ben Darwin
d1b3db22f2 clean up error reporting 2013-12-10 20:41:06 -05:00
Ben Darwin
55e5c342ce also fix duplicate *type* constructors 2013-12-10 16:36:04 -05:00
Ben Darwin
36b73fe7f5 fix duplicate *data* constructors 2013-12-10 15:58:57 -05:00
Evan Czaplicki
47c6cbc38f Merge branch 'master' into dev 2013-11-26 00:12:42 -06:00
Evan Czaplicki
bd77cc6e15 Report docs errors to stderr 2013-11-25 23:12:10 -06:00
Evan Czaplicki
e32eab0e62 Merge branch 'master' into dev
Conflicts:
	compiler/Generate/JavaScript.hs
	compiler/Generate/Noscript.hs
	compiler/Parse/Expression.hs
	compiler/SourceSyntax/Expression.hs
2013-11-22 12:22:29 -08:00
Evan Czaplicki
c8643484be Abstract out the code for markdown parsing, making it easier to switch out the implementation 2013-11-22 12:12:22 -08:00
Evan Czaplicki
fe047d5156 Merge branch 'master' into dev 2013-11-19 22:40:05 -08:00
Evan Czaplicki
f0d9d3be1d Fix minor indentation issue with eightyCharLines 2013-11-19 22:39:48 -08:00
Evan Czaplicki
bccfece2c1 Merge branch 'master' into dev 2013-11-19 22:34:08 -08:00
Evan Czaplicki
f73a6ff9f9 Add an occurs check to finally resolve #294
Add it in the more clever location suggested by Pottier and Remy. Also
change the style of error messages to get rid of the expected/actual
problem for now, and make hints read more smoothly.
2013-11-19 22:31:38 -08:00
Evan Czaplicki
54a99b7309 Add error and explanation for infinite type aliases 2013-11-19 22:29:25 -08:00
Evan Czaplicki
bbede87f1a Merge pull request #338 from jsl/fix_unsafe_io
Remove instance of unsafePerformIO
2013-11-14 07:26:57 -08:00
Justin Leitgeb
8fc72d2b30 Remove instance of unsafePerformIO 2013-11-12 22:22:49 -05:00
Evan Czaplicki
0fcd342b78 Minor reformat of an error message to keep each line under 80 characters 2013-11-11 16:30:48 +01:00
Evan Czaplicki
9d9e9d2388 Just show the value of located things, not the location. 2013-11-11 15:40:51 +01:00
Evan Czaplicki
07187bd811 Better error when bad backslashing is used in strings 2013-11-11 15:40:51 +01:00
Evan Czaplicki
9b55e953de Merge pull request #323 from Sheeo/transform-incomplete-matches
Incomplete matches in transform directory
2013-11-11 06:40:11 -08:00
Evan Czaplicki
d6a3a18704 Merge pull request #322 from Sheeo/type-incomplete-matches
Incomplete matches in Type.hs
2013-11-11 06:35:10 -08:00
Evan Czaplicki
5bde7cf4b5 Merge pull request #321 from Sheeo/sourcesyntax-matches
Incomplete matches in sourcesyntax
2013-11-11 06:29:55 -08:00
Michael Sondergaard
8594ab3780 Improve error message 2013-11-11 15:29:41 +01:00
Michael Sondergaard
fdea1470f6 Also catch Just [] as an error
Motivation here is that if we can't even extract a name and description, it's
an error.
2013-11-11 15:15:42 +01:00
Justin Leitgeb
9ae1825939 Fix deserialization of interfaces in Prelude
We previously had to fix a corrupt Map by changing it to a List and then back
into a Map. It turns out we had to do this because the original data structure
on disk wasn't a Map to begin with, but a List. It was previously assumed to be
a Map by the compiler because the first function that it was passed to took a
type of `Interfaces` which is a Map of interface definitions. Unfortunately this
didn't cause a runtime error when Haskell found out that the structure wasn't
deserialized into a Map. Instead Haskell happily created a broken Map that
couldn't find members some of the members that it contained (it could find
somewhere around the first half of its members, but the second half it reported
as missing when they were clearly present).

Changing the type of the first function that the deserialized structure is
passed to from a Map (actually Interfaces which is a type of Map) to a List
allows Haskell to infer the correct type to deserialize into and makes
everything work as expected.
2013-11-07 10:21:37 -05:00
Michael Sondergaard
12a58167a9 Add a catchall to inner toDefs function
I think it would be more appropriate to reorder this code as to only case-match
over defs once, but I'm not sure of how to approach this (yet).
2013-11-04 21:25:36 +01:00
Michael Sondergaard
158c70eee7 Fix typo 2013-11-04 21:09:22 +01:00