Class Index
24 | 25 |{+(new Link().toSymbol(thisClass.alias))+}
28 | {+resolveLinks(summarize(thisClass.classDesc))+} 29 |31 |
├── scratch ├── labels │ ├── labels.lisp │ ├── main.js │ └── main.lisp ├── generators │ ├── generators.js │ ├── index.html │ ├── main.lisp │ ├── main.js │ └── generators.lisp └── do │ ├── main.js │ └── main.lisp ├── .gitignore ├── examples ├── noderepl │ ├── noderepl │ ├── utils.lisp │ ├── run.js │ └── repl.lisp ├── scripts │ ├── example1.lisp │ ├── example2.lisp │ ├── example2.html │ └── example1.html ├── jquery │ ├── ui-lightness │ │ └── images │ │ │ ├── ui-icons_222222_256x240.png │ │ │ ├── ui-icons_228ef1_256x240.png │ │ │ ├── ui-icons_ef8c08_256x240.png │ │ │ ├── ui-icons_ffd27a_256x240.png │ │ │ ├── ui-icons_ffffff_256x240.png │ │ │ ├── ui-bg_flat_10_000000_40x100.png │ │ │ ├── ui-bg_glass_100_f6f6f6_1x400.png │ │ │ ├── ui-bg_glass_100_fdf5ce_1x400.png │ │ │ ├── ui-bg_glass_65_ffffff_1x400.png │ │ │ ├── ui-bg_gloss-wave_35_f6a828_500x100.png │ │ │ ├── ui-bg_highlight-soft_75_ffe45c_1x100.png │ │ │ ├── ui-bg_diagonals-thick_18_b81900_40x40.png │ │ │ ├── ui-bg_diagonals-thick_20_666666_40x40.png │ │ │ └── ui-bg_highlight-soft_100_eeeeee_1x100.png │ └── ui.lisp ├── defaults │ ├── example1.lisp │ └── example1.html ├── lambdas │ ├── example1.lisp │ └── example1.html ├── paip │ ├── README.md │ ├── utils.lisp │ └── new-account │ │ └── index.html ├── dom │ ├── example1.lisp │ └── example1.html ├── pcl │ └── ch3 │ │ ├── cds.db │ │ └── main.lisp ├── math │ ├── example1.lisp │ └── example1.html └── repl │ ├── index.html │ ├── style.css │ └── script.lisp ├── support ├── bin │ ├── jsdoc-toolkit │ │ ├── app │ │ │ ├── test │ │ │ │ ├── shared2.js │ │ │ │ ├── scripts │ │ │ │ │ ├── code.js │ │ │ │ │ └── notcode.txt │ │ │ │ ├── encoding_other.js │ │ │ │ ├── public.js │ │ │ │ ├── encoding.js │ │ │ │ ├── prototype_nested.js │ │ │ │ ├── global.js │ │ │ │ ├── ignore.js │ │ │ │ ├── nocode.js │ │ │ │ ├── anon_inner.js │ │ │ │ ├── params_optional.js │ │ │ │ ├── prototype_oblit.js │ │ │ │ ├── static_this.js │ │ │ │ ├── variable_redefine.js │ │ │ │ ├── inner.js │ │ │ │ ├── exports.js │ │ │ │ ├── oblit_anon.js │ │ │ │ ├── prototype.js │ │ │ │ ├── name.js │ │ │ │ ├── module.js │ │ │ │ ├── memberof_constructor.js │ │ │ │ ├── shortcuts.js │ │ │ │ ├── namespace_nested.js │ │ │ │ ├── borrows2.js │ │ │ │ ├── memberof.js │ │ │ │ ├── tosource.js │ │ │ │ ├── augments2.js │ │ │ │ ├── constructs.js │ │ │ │ ├── addon.js │ │ │ │ ├── augments.js │ │ │ │ ├── overview.js │ │ │ │ ├── prototype_oblit_constructor.js │ │ │ │ ├── synonyms.js │ │ │ │ ├── config.js │ │ │ │ ├── globals.js │ │ │ │ ├── lend.js │ │ │ │ ├── shared.js │ │ │ │ ├── functions_anon.js │ │ │ │ ├── param_inline.js │ │ │ │ ├── functions_nested.js │ │ │ │ ├── borrows.js │ │ │ │ └── event.js │ │ │ ├── frame │ │ │ │ ├── Namespace.js │ │ │ │ ├── Reflection.js │ │ │ │ ├── Hash.js │ │ │ │ ├── String.js │ │ │ │ ├── Chain.js │ │ │ │ ├── Opt.js │ │ │ │ ├── Testrun.js │ │ │ │ ├── Dumper.js │ │ │ │ └── Link.js │ │ │ ├── plugins │ │ │ │ ├── symbolLink.js │ │ │ │ ├── functionCall.js │ │ │ │ ├── commentSrcJson.js │ │ │ │ ├── frameworkPrototype.js │ │ │ │ ├── tagParamConfig.js │ │ │ │ ├── tagSynonyms.js │ │ │ │ └── publishSrcHilite.js │ │ │ ├── t │ │ │ │ ├── runner.js │ │ │ │ └── TestDoc.js │ │ │ ├── lib │ │ │ │ ├── JSDOC │ │ │ │ │ ├── Token.js │ │ │ │ │ ├── TextStream.js │ │ │ │ │ ├── Util.js │ │ │ │ │ ├── PluginManager.js │ │ │ │ │ ├── TokenStream.js │ │ │ │ │ ├── Lang.js │ │ │ │ │ ├── JsDoc.js │ │ │ │ │ └── JsPlate.js │ │ │ │ └── JSDOC.js │ │ │ ├── handlers │ │ │ │ ├── XMLDOC │ │ │ │ │ ├── XMLDoc.js │ │ │ │ │ └── DomReader.js │ │ │ │ ├── XMLDOC.js │ │ │ │ └── FOODOC.js │ │ │ ├── frame.js │ │ │ └── main.js │ │ ├── templates │ │ │ ├── jsdoc │ │ │ │ ├── static │ │ │ │ │ ├── header.html │ │ │ │ │ ├── index.html │ │ │ │ │ └── default.css │ │ │ │ ├── allclasses.tmpl │ │ │ │ ├── symbol.tmpl │ │ │ │ ├── index.tmpl │ │ │ │ └── allfiles.tmpl │ │ │ └── codeview │ │ │ │ ├── static │ │ │ │ ├── header.html │ │ │ │ └── index.html │ │ │ │ ├── allclasses.tmpl │ │ │ │ ├── symbol.tmpl │ │ │ │ ├── index.tmpl │ │ │ │ └── allfiles.tmpl │ │ ├── jsrun.jar │ │ ├── jsdebug.jar │ │ ├── java │ │ │ ├── classes │ │ │ │ └── js.jar │ │ │ ├── src │ │ │ │ ├── JsRun.java │ │ │ │ └── JsDebugRun.java │ │ │ ├── build.xml │ │ │ └── build_1.4.xml │ │ ├── conf │ │ │ └── sample.conf │ │ └── jsrun.sh │ ├── jsl │ └── watch.py ├── assets │ └── chrome-extension │ │ └── manifest.json └── vendor │ └── Class.js ├── docs ├── readme │ ├── repl1.png │ ├── repl2.png │ ├── repl3.png │ └── repl4.png ├── port │ ├── run.lisp │ ├── template.js │ ├── utils.lisp │ ├── style.css │ └── index.html ├── ideas │ └── typed-arguments.md ├── files.html └── index.html ├── .gitmodules ├── src ├── javascript │ ├── lisp │ │ ├── Keyword.js │ │ ├── Symbol.js │ │ ├── Macro.js │ │ ├── Env.js │ │ └── utils.js │ ├── parse │ │ └── utils.js │ ├── utils │ │ ├── tolisp.js │ │ ├── stream.js │ │ ├── json.js │ │ └── utils.js │ ├── config.js │ ├── wrapper │ │ ├── _footer.js │ │ └── _header.js │ └── lisp.js └── lisp │ ├── lib │ └── path.lisp │ └── core │ ├── macros.lisp │ └── functions.lisp ├── tests ├── node-tests.js ├── index.html └── tests.js ├── noderun.js ├── index.html └── Rakefile /scratch/labels/labels.lisp: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scratch/generators/generators.js: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /scratch/generators/index.html: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | .DS_Store 2 | \#*# 3 | .#* 4 | build/lisp.min.js 5 | -------------------------------------------------------------------------------- /examples/noderepl/noderepl: -------------------------------------------------------------------------------- 1 | #!/bin/bash 2 | rlwrap node run.js $@ 3 | -------------------------------------------------------------------------------- /support/bin/jsdoc-toolkit/app/test/shared2.js: -------------------------------------------------------------------------------- 1 | startOver = function(){ 2 | } -------------------------------------------------------------------------------- /support/bin/jsl: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/willurd/js-lisp/HEAD/support/bin/jsl -------------------------------------------------------------------------------- /support/bin/jsdoc-toolkit/templates/jsdoc/static/header.html: -------------------------------------------------------------------------------- 1 |
6 | var x (x < 1);
7 | alert("This 'is' \"code\"");
8 |
9 | * @name My Cool Library
10 | * @author Joe Smith jsmith@company.com
11 | * @version 0.1
12 | */
13 |
14 | /**
15 | * Gets the current foo
16 | * @param {String} fooId The unique identifier for the foo.
17 | * @return {Object} Returns the current foo.
18 | */
19 | function getFoo(fooID){
20 | }
--------------------------------------------------------------------------------
/support/bin/jsdoc-toolkit/templates/jsdoc/allclasses.tmpl:
--------------------------------------------------------------------------------
1 | {+resolveLinks(summarize(thisClass.classDesc))+}
34 || 0 | 29 |successful | 30 |
| 0 | 33 |failed | 34 |
| 0 | 40 |passed | 41 |
| 0 | 44 |failed | 45 |
| 0 | 30 |successful | 31 |
| 0 | 34 |failed | 35 |
| 0 | 41 |passed | 42 |
| 0 | 45 |failed | 46 |
"; 50 | this.footer = ""; 51 | this.showLinenumbers = true; 52 | } 53 | 54 | JsHilite.cache = {}; 55 | 56 | JsHilite.prototype.hilite = function() { 57 | var hilited = this.tokens.join(""); 58 | var line = 1; 59 | if (this.showLinenumbers) hilited = hilited.replace(/(^|\n)/g, function(m){return m+""+((line<10)? " ":"")+((line<100)? " ":"")+(line++)+" "}); 60 | 61 | return this.header+hilited+this.footer; 62 | } -------------------------------------------------------------------------------- /support/bin/jsdoc-toolkit/app/frame/Hash.js: -------------------------------------------------------------------------------- 1 | /** 2 | @constructor 3 | @example 4 | var _index = new Hash(); 5 | _index.set("a", "apple"); 6 | _index.set("b", "blue"); 7 | _index.set("c", "coffee"); 8 | 9 | for (var p = _index.first(); p; p = _index.next()) { 10 | print(p.key+" is for "+p.value); 11 | } 12 | 13 | */ 14 | var Hash = function() { 15 | this._map = {}; 16 | this._keys = []; 17 | this._vals = []; 18 | this.reset(); 19 | } 20 | 21 | Hash.prototype.set = function(k, v) { 22 | if (k != "") { 23 | this._keys.push(k); 24 | this._map["="+k] = this._vals.length; 25 | this._vals.push(v); 26 | } 27 | } 28 | 29 | Hash.prototype.replace = function(k, k2, v) { 30 | if (k == k2) return; 31 | 32 | var offset = this._map["="+k]; 33 | this._keys[offset] = k2; 34 | if (typeof v != "undefined") this._vals[offset] = v; 35 | this._map["="+k2] = offset; 36 | delete(this._map["="+k]); 37 | } 38 | 39 | Hash.prototype.drop = function(k) { 40 | if (k != "") { 41 | var offset = this._map["="+k]; 42 | this._keys.splice(offset, 1); 43 | this._vals.splice(offset, 1); 44 | delete(this._map["="+k]); 45 | for (var p in this._map) { 46 | if (this._map[p] >= offset) this._map[p]--; 47 | } 48 | if (this._cursor >= offset && this._cursor > 0) this._cursor--; 49 | } 50 | } 51 | 52 | Hash.prototype.get = function(k) { 53 | if (k != "") { 54 | return this._vals[this._map["="+k]]; 55 | } 56 | } 57 | 58 | Hash.prototype.keys = function() { 59 | return this._keys; 60 | } 61 | 62 | Hash.prototype.hasKey = function(k) { 63 | if (k != "") { 64 | return (typeof this._map["="+k] != "undefined"); 65 | } 66 | } 67 | 68 | Hash.prototype.values = function() { 69 | return this._vals; 70 | } 71 | 72 | Hash.prototype.reset = function() { 73 | this._cursor = 0; 74 | } 75 | 76 | Hash.prototype.first = function() { 77 | this.reset(); 78 | return this.next(); 79 | } 80 | 81 | Hash.prototype.next = function() { 82 | if (this._cursor++ < this._keys.length) 83 | return {key: this._keys[this._cursor-1], value: this._vals[this._cursor-1]}; 84 | } -------------------------------------------------------------------------------- /docs/port/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 |
| 0 | 22 |done | 23 |
| 0 | 26 |not done | 27 |
Defines a base class from which to create new classes that can be 9 | * extended into new classes as well.
10 | * 11 | *This constructor does nothing.
12 | * 13 | *Modified from: http://ejohn.org/blog/simple-javascript-inheritance/
14 | * 15 | * @class 16 | * @name Class 17 | */ 18 | this.Class = function () {}; 19 | 20 | /** 21 | *Creates a new class that inherits from the calling class.
22 | * 23 | * @function 24 | * 25 | * @param {string, object} classNameOrProps 26 | * Either the name of the class, or an object containing the class' properties. 27 | * @param {object} props 28 | * An object containing the class' properties (only if classNameOrProps 29 | * specifies the class name). 30 | */ 31 | Class.extend = function (classNameOrProps, props) { 32 | var _super = this.prototype; 33 | var className = props ? classNameOrProps : "Class"; 34 | props = props || classNameOrProps; 35 | 36 | // Instantiate a base class (but only create the instance, 37 | // don't run the init constructor) 38 | initializing = true; 39 | var prototype = new this(); 40 | initializing = false; 41 | 42 | // Copy the properties over onto the new prototype 43 | for (var name in props) { 44 | // Check if we're overwriting an existing function 45 | if (typeof props[name] == "function" && 46 | typeof _super[name] == "function" && 47 | fnTest.test(props[name])) { 48 | prototype[name] = (function(name, fn){ 49 | return function() { 50 | var tmp = this._super; 51 | 52 | // Add a new ._super() method that is the same method 53 | // but on the super-class 54 | this._super = _super[name]; 55 | 56 | // The method only need to be bound temporarily, so we 57 | // remove it when we're done executing 58 | var ret = fn.apply(this, arguments); 59 | this._super = tmp; 60 | 61 | return ret; 62 | }; 63 | })(name, props[name]); 64 | } else { 65 | prototype[name] = props[name]; 66 | } 67 | } 68 | 69 | // The new class 70 | var NewClass = function () { 71 | // All construction is actually done in the init method 72 | if (!initializing && this.init) 73 | this.init.apply(this, arguments); 74 | } 75 | 76 | NewClass.className = className; 77 | NewClass.prototype = prototype; 78 | NewClass.constructor = Class; 79 | NewClass.extend = arguments.callee; 80 | 81 | return NewClass; 82 | }; 83 | })(); 84 | 85 | /*jsl:end*/ 86 | -------------------------------------------------------------------------------- /support/bin/jsdoc-toolkit/app/frame/String.js: -------------------------------------------------------------------------------- 1 | /** 2 | @name String 3 | @class Additions to the core string object. 4 | */ 5 | 6 | /** @author Steven Levithan, released as public domain. */ 7 | String.prototype.trim = function() { 8 | var str = this.replace(/^\s+/, ''); 9 | for (var i = str.length - 1; i >= 0; i--) { 10 | if (/\S/.test(str.charAt(i))) { 11 | str = str.substring(0, i + 1); 12 | break; 13 | } 14 | } 15 | return str; 16 | } 17 | /*t: 18 | plan(6, "Testing String.prototype.trim."); 19 | 20 | var s = " a bc ".trim(); 21 | is(s, "a bc", "multiple spaces front and back are trimmed."); 22 | 23 | s = "a bc\n\n".trim(); 24 | is(s, "a bc", "newlines only in back are trimmed."); 25 | 26 | s = "\ta bc".trim(); 27 | is(s, "a bc", "tabs only in front are trimmed."); 28 | 29 | s = "\n \t".trim(); 30 | is(s, "", "an all-space string is trimmed to empty."); 31 | 32 | s = "a b\nc".trim(); 33 | is(s, "a b\nc", "a string with no spaces in front or back is trimmed to itself."); 34 | 35 | s = "".trim(); 36 | is(s, "", "an empty string is trimmed to empty."); 37 | 38 | */ 39 | 40 | String.prototype.balance = function(open, close) { 41 | var i = 0; 42 | while (this.charAt(i) != open) { 43 | if (i == this.length) return [-1, -1]; 44 | i++; 45 | } 46 | 47 | var j = i+1; 48 | var balance = 1; 49 | while (j < this.length) { 50 | if (this.charAt(j) == open) balance++; 51 | if (this.charAt(j) == close) balance--; 52 | if (balance == 0) break; 53 | j++; 54 | if (j == this.length) return [-1, -1]; 55 | } 56 | 57 | return [i, j]; 58 | } 59 | /*t: 60 | plan(16, "Testing String.prototype.balance."); 61 | 62 | var s = "{abc}".balance("{","}"); 63 | is(s[0], 0, "opener in first is found."); 64 | is(s[1], 4, "closer in last is found."); 65 | 66 | s = "ab{c}de".balance("{","}"); 67 | is(s[0], 2, "opener in middle is found."); 68 | is(s[1], 4, "closer in middle is found."); 69 | 70 | s = "a{b{c}de}f".balance("{","}"); 71 | is(s[0], 1, "nested opener is found."); 72 | is(s[1], 8, "nested closer is found."); 73 | 74 | s = "{}".balance("{","}"); 75 | is(s[0], 0, "opener with no content is found."); 76 | is(s[1], 1, "closer with no content is found."); 77 | 78 | s = "".balance("{","}"); 79 | is(s[0], -1, "empty string opener is -1."); 80 | is(s[1], -1, "empty string closer is -1."); 81 | 82 | s = "{abc".balance("{","}"); 83 | is(s[0], -1, "opener with no closer returns -1."); 84 | is(s[1], -1, "no closer returns -1."); 85 | 86 | s = "abc".balance("{","}"); 87 | is(s[0], -1, "no opener or closer returns -1 for opener."); 88 | is(s[1], -1, "no opener or closer returns -1 for closer."); 89 | 90 | s = "a4 | This is a lightly modified version of Kevin Jones' JavaScript 5 | library Data.Dump. To download the original visit: 6 | http://openjsan.org/doc/k/ke/kevinj/Data/Dump/ 7 | 8 | AUTHORS 9 | 10 | The Data.Dump JavaScript module is written by Kevin Jones 11 | (kevinj@cpan.org), based on Data::Dump by Gisle Aas (gisle@aas.no), 12 | based on Data::Dumper by Gurusamy Sarathy (gsar@umich.edu). 13 | 14 | COPYRIGHT 15 | 16 | Copyright 2007 Kevin Jones. Copyright 1998-2000,2003-2004 Gisle Aas. 17 | Copyright 1996-1998 Gurusamy Sarathy. 18 | 19 | This program is free software; you can redistribute it and/or modify 20 | it under the terms of the Perl Artistic License 21 | 22 | See http://www.perl.com/perl/misc/Artistic.html 23 |24 | * @static 25 | */ 26 | Dumper = { 27 | /** @param [...] The objects to dump. */ 28 | dump: function () { 29 | if (arguments.length > 1) 30 | return this._dump(arguments); 31 | else if (arguments.length == 1) 32 | return this._dump(arguments[0]); 33 | else 34 | return "()"; 35 | }, 36 | 37 | _dump: function (obj) { 38 | if (typeof obj == 'undefined') return 'undefined'; 39 | var out; 40 | if (obj.serialize) { return obj.serialize(); } 41 | var type = this._typeof(obj); 42 | if (obj.circularReference) obj.circularReference++; 43 | switch (type) { 44 | case 'circular': 45 | out = "{ //circularReference\n}"; 46 | break; 47 | case 'object': 48 | var pairs = new Array; 49 | 50 | for (var prop in obj) { 51 | if (prop != "circularReference" && obj.hasOwnProperty(prop)) { //hide inherited properties 52 | pairs.push(prop + ': ' + this._dump(obj[prop])); 53 | } 54 | } 55 | 56 | out = '{' + this._format_list(pairs) + '}'; 57 | break; 58 | 59 | case 'string': 60 | for (var prop in Dumper.ESC) { 61 | if (Dumper.ESC.hasOwnProperty(prop)) { 62 | obj = obj.replace(prop, Dumper.ESC[prop]); 63 | } 64 | } 65 | 66 | // Escape UTF-8 Strings 67 | if (obj.match(/^[\x00-\x7f]*$/)) { 68 | out = '"' + obj.replace(/\"/g, "\\\"").replace(/([\n\r]+)/g, "\\$1") + '"'; 69 | } 70 | else { 71 | out = "unescape('"+escape(obj)+"')"; 72 | } 73 | break; 74 | 75 | case 'array': 76 | var elems = new Array; 77 | 78 | for (var i=0; i