Partially Unobfuscated Compiled Elm

Partially Unobfuscated Compiled Elm http://github.com/aaronlifton

by flubba

HTML

<!DOCTYPE HTML>
<html><head><meta charset="UTF-8"><title>Partially Unobfuscated Compiled Elm</title><style type="text/css">html,head,body { padding:0; margin:0; }body { font-family: helvetica, arial, sans-serif; }a:link {text-decoration: none}a:visited {text-decoration: none}a:active {text-decoration: none}a:hover {text-decoration: underline; color: #ff8f12;}</style></head><body><div id="widthChecker" style="width:100%; height:1px; position:absolute; top:-1px;"></div><div id="content"></div></body></html>

JavaScript

var Guid = function() {
    var g = 0;
    return {
        guid: function() {
            return g += 1
        }
    }
}(),
    Foreign = function() {
        var g = function(a) {
            for (var b = ["Nil"], e = a.length; e--;) b = ["Cons", a[e], b];
            return b
        },
            e = function(a) {
                for (var b = [];
                "Cons" === a[0];) b.push(a[1]), a = a[2];
                return b
            },
            b = function(a) {
                return a.slice(1)
            },
            a = function(a) {
                return ["Tuple" + a.length].concat(a)
            };
        return {
            JavaScript: {
                castJSBoolToBool: function(a) {
                    return a
                },
                castBoolToJSBool: function(a) {
                    return a
                },
                castJSNumberToFloat: function(a) {
                    return a
                },
                castFloatToJSNumber: function(a) {
                    return a
                },
                castJSNumberToInt: function(a) {
                    return~~a
                },
                castIntToJSNumber: function(a) {
                    return a
                },
                Experimental: {
                    castJSElementToElement: function(a) {
                        return function(b) {
                            return function(e) {
                                return ["Element", Guid.guid(), ["EExternalHtml", e], a, b, 1, Nothing, Nothing]
                            }
                        }
                    },
                    castElementToJSElement: function(a) {
                        return Render.render(a)
                    }
                },
                castJSArrayToList: g,
                castListToJSArray: e,
                castJSStringToString: g,
                castStringToJSString: function(a) {
                    return "string" === typeof...