Commit graph

616 commits

Author SHA1 Message Date
evancz
b343564795 Finish tweaking the second half of .elm library files. 2013-03-10 01:07:17 -08:00
evancz
8a700e84d5 Update first half of .elm libraries 2013-03-10 00:54:37 -08:00
evancz
944a056122 Decide on convention that corresponding Native modules get exported automatically, no need to copy everything through in the Elm file.
Also extend `sort` to work on any comparable values.
2013-03-10 00:12:10 -08:00
evancz
a5435e8993 Clean up generated JS. Ensure that imports actually happen. Fix bugs with (<~) and (~). 2013-03-10 00:02:10 -08:00
evancz
9a0fad5b58 Rename elm-server/ to server/ 2013-03-09 19:16:43 -08:00
evancz
8fc0e24dc2 Remove core-js/ directory. This branching thing is nice, I agree now :P 2013-03-09 19:15:04 -08:00
evancz
d7ab7282ee Merge branch 'dev' of https://github.com/evancz/Elm into dev 2013-03-09 19:12:58 -08:00
evancz
851d2ff221 Create the Utils module which contains any utilities that can be created before all other modules. Switch to using Utils in existing modules.
Add the Error module for reporting the rare runtime errors that are possible.
2013-03-09 19:02:07 -08:00
evancz
05631f2b37 Update generated JS so that the FFI works independently for each RTS. 2013-03-09 18:59:55 -08:00
evancz
f49a509e7f Add send and recv functions for each RTS instance. 2013-03-09 18:58:44 -08:00
evancz
505b1e32d6 Add the Init module which exports Elm.init, creating a self-contained RTS. It can be used as follows:
Elm.init( Elm.MyModule )  // which takes over the document
    Elm.init( Elm.MyModule, arbitraryDiv )  // which embeds the program in 'arbitraryDiv'

These functions can be called multiple times on the same modules!

Also slightly modify the format of the Render module.
2013-03-09 18:39:09 -08:00
evancz
6551ef14b2 Convert the Keyboard.Raw module and do minor fixes. 2013-03-09 00:39:58 -08:00
evancz
76e83e0e1b Convert Color and Text modules to new format. 2013-03-09 00:22:42 -08:00
evancz
0fe301aaba Convert the List and Misc modules. 2013-03-08 23:31:19 -08:00
evancz
8e6dbf8000 Convert the Date, JS, and Json modules. 2013-03-08 23:22:15 -08:00
evancz
86d02e22d5 convert WebSocket.js and Window.js to the new module format 2013-03-08 23:12:40 -08:00
evancz
ccf9917f2e Convert the random and touch modules to the new format. 2013-03-08 22:57:13 -08:00
evancz
f70fdaa300 Solidify format for modules. Convert the Time module. 2013-03-08 22:50:46 -08:00
evancz
9084db2b59 Switch module structure to permit on-demand initialization and multiple runtimes working simultaneously. 2013-03-08 20:17:01 -08:00
evancz
f589cf3899 Move all js files relevant to signals into the Native/Signal/ directory 2013-03-08 18:39:39 -08:00
evancz
24d508b8d2 Add the beginnings of a button module and mess with the definition of equality. 2013-03-07 23:17:34 -08:00
evancz
35c5086759 Create runtime/ directory for all runtime specific code.
Add renderer for current version of Graphics.Element.
2013-03-07 11:08:06 -08:00
evancz
0ab2825d67 Get Graphics.Element in working order. 2013-03-07 11:06:48 -08:00
evancz
1fcbec65aa Rename elm/ to compiler/ to make things clearer. 2013-03-07 11:05:53 -08:00
evancz
79a747cfc6 Rename core/ to libraries/ to make it more clear what is going on with the directory structure. 2013-03-06 09:28:53 -08:00
evancz
83142e4b8a Refactor the main module generating code. 2013-03-06 09:25:23 -08:00
evancz
ea4fe54a2a Rename Form to Collage. Add the LineStyle module. 2013-03-06 09:24:17 -08:00
evancz
d10dcdc820 Reorganize Json modules to make it clear that the record conversion is still experimental. 2013-03-06 09:22:59 -08:00
evancz
71f83d394e Get rid of the FillStyle module. Move gradients to Color and everything else to Form.
Create the Geometry module which describes paths and shapes. Not sure if this module is a good idea.
2013-03-05 19:46:35 -08:00
evancz
0fbfab7d7c Get Text module working. Move Color into Graphics/. Have Element as a parent module of Text, Form, etc. providing the raw materials but letting functions like collage : ... -> Element and centered : Text -> Element live in dependencies. 2013-03-05 10:06:52 -08:00
Evan Czaplicki
cf173a90da Merge pull request #110 from ngunn/master
Fix Examples/elm-yesod to run with current yesod and elm-yesod packages
2013-03-03 11:15:58 -08:00
evancz
d2abba0980 Switch the order of two functions. 2013-03-03 07:56:23 -08:00
evancz
39b3fcb034 Use a shorter name for Native.List in the List module 2013-03-03 07:55:37 -08:00
evancz
965162e529 Fix a syntax error in the Native.List module. 2013-03-03 07:54:37 -08:00
evancz
8800fa30c0 Clean up the Json APIs. Permit conversion from JS strings to records. 2013-03-02 21:43:44 -08:00
evancz
c40d2e4cbf Begin getting the new graphics libs in order. 2013-03-02 14:07:45 -08:00
evancz
58275b0002 Use new function call format in more places. 2013-03-02 09:18:36 -08:00
evancz
3926066a64 Begin placing JS errors in the core libs instead of in the compiler. 2013-03-02 09:16:45 -08:00
ngunn
d771e2322c Update Examples/elm-yesod: bump downloaded elm-runtime version from 0.3.5 to 0.7.2 (latest)
tested against ghc-7.4.1, Elm-0.7.1.1, yesod-1.1.7.1, elm-yesod-0.1.3
2013-03-02 15:31:11 +00:00
ngunn
346ff6bb5d Update Examples/elm-yesod to better match online interactive examples
see http://elm-lang.org/edit/examples/

index.elm
    remove "box" fns (obsolete)
    disambiguate "link" fns (Text or Graphics)

tested against ghc-7.4.1, Elm-0.7.1.1, yesod-1.1.7.1, elm-yesod-0.1.3
2013-03-02 15:24:43 +00:00
evancz
c136ea733e Faster case expressions, and switch to the new uncurried format for function definitions. 2013-02-28 08:56:21 -08:00
evancz
9eddb7a3bd Add the native function module and transform the list library to use it. 2013-02-27 09:46:25 -08:00
evancz
c5519e3046 Change semantics of import:
- No more 'hiding'
- 'import' means allow the use of a the module, not import everything

Make the --make command more robust. Begin making it possible to read Native files in core.

Switch representation of let-expressions to no longer use an anonymous function. This is significantly faster!

Begin disallowing undefined variables (stop passing escapees around so much).
2013-02-26 23:33:47 -08:00
evancz
389a6f5309 Add a number of core modules, begin defining module names in .js files. 2013-02-26 23:26:28 -08:00
evancz
45586e0738 Rename a file to LetBoundVars.hs to extract only variable names defined in let expressions. 2013-02-26 23:25:24 -08:00
evancz
30ad0fb847 Add Value.js as the native misc module. Lots of dependencies and contents that should be moved to more reasonable places. 2013-02-23 01:02:56 +01:00
evancz
d53cecf3ba List module dependencies in elm and js code.
Planning on having the compiler crawl through to determine dependencies, then compile everything in an appropriate order. This will also let me print out compiler progress in a reasonable order.
2013-02-23 00:19:40 +01:00
evancz
c710179a3a Add date lib and clean up some existing modules. 2013-02-22 00:33:53 +01:00
evancz
62d30f24b8 Update mouse code. 2013-02-21 23:43:32 +01:00
evancz
8d26a1d5cc Add and fix up the Keyboard inputs. 2013-02-21 09:40:41 +01:00