2var Foreign = function() {
3 var JavaScript = function() {
4 function castJSBoolToBool(b) { return b; }
5 function castBoolToJSBool(b) { return b; }
7 function castJSNumberToFloat(n) { return n; }
8 function castFloatToJSNumber(n) { return n; }
10 function castJSNumberToInt(n) { return ~~n; }
11 function castIntToJSNumber(n) { return n; }
13 function castJSElementToElement(w) {
15 return function(node) {
16 return ["Element",Guid.guid(),["EHtml",node],w,h,1,Nothing,Nothing];
20 function castElementToJSElement(elem) { return Render.render(elem); }
22 function castJSArrayToList(arr) {
24 for (var i = arr.length; i--; ) {
25 list = [ "Cons", arr[i], list ];
29 function castListToJSArray(list) {
31 while (list[0] === "Cons") {
38 var castJSStringToString = castJSArrayToList;
39 function castStringToJSString(str) {
40 if (typeof str === "string") return str;
41 return castListToJSArray(str).join('');
44 function fromTuple(t) { return t.slice(1); }
45 function toTuple(a) { return ["Tuple" + a.length].concat(a); }
47 return {castJSBoolToBool:castJSBoolToBool,
48 castBoolToJSBool:castBoolToJSBool,
49 castJSNumberToFloat:castJSNumberToFloat,
50 castFloatToJSNumber:castFloatToJSNumber,
51 castJSNumberToInt:castJSNumberToInt,
52 castIntToJSNumber:castIntToJSNumber,
53 Experimental : {castJSElementToElement:castJSElementToElement,
54 castElementToJSElement:castElementToJSElement},
55 castJSArrayToList:castJSArrayToList,
56 castListToJSArray:castListToJSArray,
57 castJSStringToString:castJSStringToString,
58 castStringToJSString:castStringToJSString,
59 castTupleToJSTuple2:fromTuple,
60 castTupleToJSTuple3:fromTuple,
61 castTupleToJSTuple4:fromTuple,
62 castTupleToJSTuple5:fromTuple,
63 castJSTupleToTuple2:toTuple,
64 castJSTupleToTuple3:toTuple,
65 castJSTupleToTuple4:toTuple,
66 castJSTupleToTuple5:toTuple
69 return {JavaScript:JavaScript};
keysesc to close
- j k
- move down, up
- enter
- open
- esc
- back, or up a level
- 1 2 3 4
- readme, files, commits, refs
- /
- filter
- y
- copy the clone command
- c
- compare the chosen commit with another (or shift-click both)
- ?
- show or hide this list