forked from ocsigen/js_of_ocaml
-
Notifications
You must be signed in to change notification settings - Fork 0
/
TODO.txt
66 lines (48 loc) · 1.99 KB
/
TODO.txt
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
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
Compiler optimizations
======================
- Can we avoid spurious conversions from boolean to integers???
explicit conversion to boolean; specialized "if" that operates
on booleans directly
- constant hoisting (including functions, out of loops and functions)
- inline also partially applied functions
- cross-function optimizations
- should we rebind variables from a deeper level ?
(only if used more than once...)
var x = ...
function () {
var y = x;
... y .... y ... y ....
}
- Can we use the debugger information to generate specialized code?
(Use objects rather than arrays for tuples, ...)
COMPRESSION OPTIMIZATION
========================
- http://timepedia.blogspot.com/2009/08/on-reducing-size-of-compressed.html
http://timepedia.blogspot.com/2009/11/traveling-salesman-problem-and.html
==> order functions by similarity
==> 7-zip is better at compressing than gzip, with the same algorithm...
DOCS
====
- ISINT is compiled to "not a block"; document this deviation
(or document that we should not rely on the Obj module)
REFERENCES
==========
Inlining
Serrano, M. -- Inline expansion:
when and how -- 9th Int'l Symposium on Programming Language Implementation and Logic Programming (PLILP),
Southampton, UK, Sep, 1997, pp. 143--147.
Serrano, M. -- A Fresh Look to Inlining Decision -- 4th International Computer Symposium (invited paper),
Mexico city, Mexico, Nov, 1995, pp. 40--52.
Resolving and Exploiting the k-CFA Paradox
Illuminating Functional vs. Object-Oriented Program Analysis
Matthew Might Yannis Smaragdakis David Van Horn
http://blog.higher-order.net/2009/09/08/understanding-clojures-persistenthashmap-deftwice
http://code.google.com/closure/compiler/
ocamljs (https://github.com/jaked/ocamljs)
ocamldefun (on ocaml_beginners)
OCamlexc (on caml list)
Float <-> hex
http://jsfromhell.com/classes/binary-parser
MD5
http://www.myersdaily.org/joseph/javascript/md5-speed-test.html
http://bitwiseshiftleft.github.com/sjcl/