Evan Czaplicki
ca75e60628
Make sure that modules are only instantiated once.
2013-08-25 15:23:30 -07:00
Evan Czaplicki
c2329d0aff
Fix generation of JS code for pattern matching on literals
2013-08-16 12:41:30 -07:00
Evan Czaplicki
9ec51f558d
deprime on parsing, not on JS generation
2013-08-14 00:42:26 -07:00
Evan Czaplicki
bc0c6a4410
Fix #209 , bad JS generation for primes in patterns
2013-08-13 18:10:17 -07:00
Evan Czaplicki
623741877b
Fix problems generating functions with 10 or more arguments
...
Mainly useful for record constructors which are automatically generated.
2013-08-08 16:04:40 -07:00
Evan Czaplicki
97a4628976
Get rid of dead code: showErr
is not used any more
2013-08-06 13:40:54 -07:00
Evan Czaplicki
62bb8ab3ad
Add missing paren
2013-08-04 12:52:33 -07:00
Evan Czaplicki
0cd594c13c
Better JS for function composition, runtime errors report which module they came from
2013-08-04 12:51:52 -07:00
Evan Czaplicki
e4e8d89393
Fix "hiding" of thing that does not exist
2013-08-02 16:51:29 -07:00
Evan Czaplicki
78c6db644e
Fix problem in generating pattern matching code for records
2013-08-02 14:49:31 -07:00
Evan Czaplicki
070d02c914
deprime all exports, fix accidental variable capture in (.)
2013-08-02 10:50:54 -07:00
Evan Czaplicki
c85fed1024
Put exports at the end of a file, making sure the value is always defined.
2013-08-01 21:46:58 -07:00
Evan Czaplicki
8f1f15cfeb
Fix pattern matching
2013-07-31 23:47:16 -07:00
Evan Czaplicki
a4c4cf0493
Use Location.none
less
2013-07-30 11:55:41 -07:00
Evan Czaplicki
b26edcc46e
Simplify representation of source locations
2013-07-30 11:43:42 -07:00
Evan Czaplicki
ae6a3b36b5
Fix runtime code for comparing things
2013-07-30 08:44:23 -07:00
Evan Czaplicki
1273f4deb3
Make sure that basic math operations generate the correct JS code.
2013-07-29 19:34:00 -07:00
Evan Czaplicki
25474f8310
Function args were in the reverse order!
2013-07-29 23:44:15 +02:00
Evan Czaplicki
2d4afca06f
Fix JS generation
...
correct generation of binops
use correct calling conventions for defining functions
only import modules by name since everything is canonical (no more
eval!)
simplify exports
have _op be a per module object (resolves "overwriting" problem)
2013-07-29 23:22:33 +02:00
Evan Czaplicki
2f49151c29
Cosmetic changes
2013-07-29 13:22:23 +02:00
Evan Czaplicki
02ab90e794
No need to derename, names will be preserved
2013-07-29 11:55:17 +02:00
Evan Czaplicki
c19ccfe56a
Stop importing the Native library by default
2013-07-26 00:19:43 +02:00
Evan Czaplicki
c1aef789ee
Flatten lets only during JavaScript generation
2013-07-19 17:43:37 +02:00
Evan Czaplicki
82983a6f24
Update more modules to use the MetadataModule data structure
2013-07-16 21:43:56 +02:00
Evan Czaplicki
cb914d91ff
Get all of the Haskell files compiling with the new type checker.
...
Does not actually work, undefined is used in some places as a
stopgap measure.
2013-07-11 12:48:37 +02:00
Evan Czaplicki
5c68f6bb73
Convert more files to the new Expression format that relies more on
...
patterns. Seems to clean things up so far.
Also, begin adding a module that resorts definitions to make sure
that each definition comes after the ones it depends on. This will
also make it possible to disallow recursive values statically.
2013-07-04 17:24:04 +02:00
Evan Czaplicki
e80ea9e430
Add support for pattern matching on literals.
2013-06-23 01:36:23 -07:00
evancz
9a40249e05
Fix the confusion with "Cons" and "Nil" in issue #176 .
...
Also add the ExplicitList expression.
2013-06-20 21:25:10 -07:00
evancz
721ce4f192
Continue reorganizing the code-base.
...
Remove uses of uniplate, introduces a regression in testing the ordering of Defs in let-expressions.
2013-06-13 22:45:08 -07:00