-
Notifications
You must be signed in to change notification settings - Fork 13
/
Copy pathTODO
44 lines (37 loc) · 1.31 KB
/
TODO
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
* dom
- fill in more of API (HTML5 stuff)
- more examples
* lwt
- examples
* jslib
- fill in more of parser
- bug with locations
- check pattern quotations
- redo pretty-printing
- examples
* javascript
- go through JS spec and wrap all the standard objects
* jscomp
- cleanup
- cleaner heap rep (arrays, tag in last elem)
- can we do better interoperating with exceptions? would be nice to be
able to declare, catch, and match exceptions from JS libs.
- better checking in inline Javascript? easy to refer to unbound
vars. but sometimes useful or necessary.
- can we avoid wrapping a function around for-loops when there are no
closures in the body? any other places to avoid extra wrapping?
* stdlib
- implement String.concat natively
- other things to implement natively?
- steal heavily from js_of_ocaml
* all
- docs, wiki
* bad ideas:
- can we identify options to generate js val or null instead of
boxing? need to be careful about "if (val)" tests, where val could
be unboxed Javascript false value (0, "", etc.); must special case
tests to "if (val != null)". turns out no. we can do the above (see
null-options branch) but it breaks for nested options, since we
can't distinguish e.g. None and Some None. a scheme to use
different reps for different types must work with polymorphic
functions.