Commit graph

990 commits

Author SHA1 Message Date
evancz
0034b1764c Merge branch 'dev' of https://github.com/evancz/Elm into dev 2013-03-22 10:36:55 -07:00
evancz
584782f5b2 Get dashed lines working again for shapes and paths.
Remove a lot of console.logs.

Start working on displaying Elements. It's trickier with group.
2013-03-22 10:36:12 -07:00
ngunn
175f268622 Fix cabal install missing docs.json (followup)
See: 14e32add30
for discussion on first attempt

Changed Librarys.hs and LoadLibraries.hs from TemplateHaskell to usafeIO.
Avoids needing to touch LoadLibraries after we change docs.json (as the file is loaded at runtime).
Also removes need for using CPP
Drawback of using unsafeIO is fairly well known/understood + this is a classic use-case.
Added error handling to LoadLibraries.hs

Setup.hs now uses "runProcess" instead of "system" to invoke elm compiler.
This allows us to set the environment variable "Elm_datadir" which is picked up by LoadLibraries and makes sure we get the just-built version in dist/data.
Also explicitly sets the RTS file to make sure we're not using one (as we're currently building it!)
Also change the folder the compiled JavaScript ends up in to dist/js.  Writing to the source tree, then deleting isn't very nice + this should make it easier to find elm compilation errors.  cabal clean handles the file deletion, too.

I think this fixes all the defects of the first version:
1. CPP is not needed
2. touch is not needed
3. building elm-runtime.js uses dist/data/docs.json
4. running elm after install uses the installed elm-runtime.js and docs.json
5. LoadLibraries.hs is simpler.  Doesn't use CPP or TemplateHaskell.  Has error handling and a decent error message
6. cabal clean && cabal install builds everything with the right data in the right order

(tested on ghc 7.4.1)
2013-03-22 15:52:40 +00:00
Evan Czaplicki
29153a88fd Merge pull request #122 from ngunn/dev
Dev (fix cabal install as per issue 120)
2013-03-21 11:21:55 -07:00
ngunn
14e32add30 Fix cabal install missing docs.json
See: https://github.com/evancz/Elm/issues/120

Add build-hook to Setup.hs so that elm-doc gets build and executed before library or elm exec gets built.
Add preprocessor to Elm.cabal so LoadLibraries.hs can load docs.json from the build folder instead of installed folder
Add touch to Setup.hs otherwise LoadLibraries.hs doesn't get recompiled.  This is non-portable, but I can't find a portable way (see Setup.hs for details)

cabal clean && cabal install now works
(tested on ghc 7.4.1)
2013-03-21 13:31:55 +00:00
ngunn
0064813300 trivial Docs.hs (generating docs.json missing " on type line)
Was a quote before the type value, but not after, leading to unhelpful error:
elm: Illegal unescaped character in string:
2013-03-21 13:27:04 +00:00
evancz
82a5a65dc9 Fix use of JS reserved word and get outline working. 2013-03-21 03:07:10 -07:00
evancz
fa9d3bf132 Merge branch 'dev' of https://github.com/evancz/Elm into dev
Conflicts:
	libraries/Graphics/Collage.elm
	runtime/Render/Collage.js
	runtime/Render/Element.js
2013-03-21 02:38:32 -07:00
evancz
4b8c9796a5 Add some files 2013-03-21 02:35:36 -07:00
evancz
131a2b6818 Get sprites working in collage. temporary fix for docs.json issue. Looks like git thinks we're in the past, so a bunch of changes that have already happened as well. 2013-03-21 02:29:23 -07:00
evancz
794b7f2b93 Fix the build issue people were having. Sorry ngunn :( I couldn't stop thinking about it! 2013-03-20 22:28:18 -07:00
evancz
212543f51a Get some basic collage functions working: forms excluding embedded elements, rect is known to work. 2013-03-18 02:53:36 -07:00
evancz
f7f137f553 Add support for Custom elements in the renderer. Move the CSS transform setters into Utils so they can be used by both elements and forms. 2013-03-18 00:58:36 -07:00
evancz
0b0c37c2b4 More work getting Collage in shape. 2013-03-18 00:16:07 -07:00
evancz
4587d3d3e4 - Break common functions into Utils files.
- Add support for no-graphics mode (e.g. for use with node.js)
- Change order of arguments for matrix transformms
- Begin getting Collage.js in order.
2013-03-17 21:36:05 -07:00
Evan Czaplicki
95758d2e31 Merge pull request #119 from techtangents/quickcheck
Quickcheck
2013-03-17 17:46:24 -07:00
evancz
b1d0c74c2d Get elm-doc to extract comments! 2013-03-17 16:36:24 -07:00
evancz
9c74b8697d Fix join and fix show 2013-03-17 13:42:13 -07:00
evancz
6bcf63a0d8 Add split to List module and rename intercalate to join. 2013-03-17 13:01:50 -07:00
techtangents
98d7fde7cb removed crud 2013-03-17 22:01:23 +10:00
techtangents
32efcfa941 tests 2013-03-17 21:48:39 +10:00
techtangents
cda0a68584 Renamed StringValue -> StringLiteral. Moved quotes from tests to StringLiteral's arbitrary 2013-03-17 20:58:47 +10:00
techtangents
f60f38383e test tweaking 2013-03-17 20:53:10 +10:00
techtangents
0e099fd248 Bringing a quasiquoter in for string interpolation in tests. Added a .ghci file to load tests in ghci. 2013-03-17 20:45:22 +10:00
techtangents
3e30c85fed Bringing a quasiquoter in for string interpolation in tests. Added a .ghci file to load tests in ghci. 2013-03-17 20:45:11 +10:00
evancz
263bf1c0cc Import qualified name by default. 2013-03-17 00:12:33 -07:00
evancz
7dbb052b22 Load json representation of types with Template Haskell, so library files are the base truth of type information.
Make minor fixes in libraries, such as adding the Char labrary and fixing the types in the Dict library.
2013-03-16 22:24:18 -07:00
evancz
96ef98417c Change such that import imports all by default. Too annoying the other way. Write a linter for that.
Also make imports a bit more concise in generated JS.
2013-03-16 13:02:01 -07:00
evancz
194b25958b Get everything compiling again. 2013-03-16 13:00:59 -07:00
evancz
99ae5c6ba0 Finish moving the compiler down a directory. 2013-03-16 12:07:32 -07:00
evancz
1822ebc160 Move the compiler down a directory, mostly. 2013-03-16 12:04:05 -07:00
evancz
602bffa623 Save characters on imports. 2013-03-16 11:56:47 -07:00
evancz
3746c3217a Fill in some of Prelude.js 2013-03-16 02:02:16 -07:00
evancz
202aace362 Add the Prelude library with type annotations and docs. 2013-03-16 01:21:08 -07:00
evancz
0050bfa845 Add a matrix library and switch collage over to use it. 2013-03-16 01:11:15 -07:00
evancz
f1071b7614 Don't expose Matrix to people yet 2013-03-15 10:58:59 -07:00
evancz
3d7da56782 Merge branch 'dev' of https://github.com/evancz/Elm into dev 2013-03-15 10:56:53 -07:00
evancz
481c2daab8 Switch to matrix representation of transformations. 2013-03-15 10:56:07 -07:00
techtangents
fb6f3346d2 Package juggling in tests 2013-03-15 23:54:31 +10:00
Evan Czaplicki
39fcc823be Merge pull request #116 from ngunn/dev
Fix Elm.cabal missing elm-runtime.js
2013-03-14 16:14:57 -07:00
Evan Czaplicki
764c77e996 Merge pull request #117 from osnr/master
Use <button> instead of <input type="button">
2013-03-14 14:22:00 -07:00
Omar Rizwan
d84b8d8498 Use button tag instead of input for buttons. Makes button heights changeable. 2013-03-14 16:39:08 -04:00
ngunn
628f622f43 Fix Elm.cabal missing elm-runtime.js (follow-up)
Cut+paste error
Obviously, we want the js and the elm files, not the elm files twice.
2013-03-14 16:28:02 +00:00
ngunn
ef4d1db45a Fix Elm.cabal missing elm-runtime.js
Move Build.hs (which builds elm-runtime.js) into a cabal build step (in compiler folder)
The elm exec and runtime should never get out of sync
Having a separate Build.hs file also causes problems when using cabal-dev

Moving elm-runtime.js into the dist/ folder also shows that it's generated (and cabal clean will remove it)

Similar for types.json (although whether this should be part of the build step, I don't know)
2013-03-14 14:28:49 +00:00
evancz
6761fbb695 Switch one of the names in the JSON representation of type info. 2013-03-14 01:47:29 -07:00
evancz
42b4d5531f Add the Docs.hs file that extracts type annotations. 2013-03-14 01:04:51 -07:00
evancz
1b3480a522 Fix bug in Element module: using unbound variables. Need to make compiler check for this! 2013-03-13 10:31:37 -07:00
techtangents
17d90a34a2 added some tests of simple programs with assignment 2013-03-13 23:47:14 +10:00
evancz
152ef51a98 Fix croppedImage, show for tuples, and init for resizing initial dom node. 2013-03-13 00:52:14 -07:00
evancz
6b071db7cc Correct Native.___ imports. 2013-03-13 00:03:54 -07:00