Note that there are some explanatory texts on larger screens.

plurals
  1. POCallstack exceeded without even any recursion.. what's going on?
    text
    copied!<p>Anyone've any idea why this might be incurring a call stack? I'm not even recursing.</p> <p>The error:</p> <pre><code>C:\Documents and Settings\j\Desktop\bmrepl\STEAL\dedup.js:7 this.push.apply(this, rest); ^ RangeError: Maximum call stack size exceeded at Array.pluck (C:\Documents and Settings\j\Desktop\bmrepl\STEAL\dedup.js:7:13) at eatDupe (C:\Documents and Settings\j\Desktop\bmrepl\STEAL\dedup.js:46:15) at common (C:\Documents and Settings\j\Desktop\bmrepl\STEAL\dedup.js:39:20) at Object.&lt;anonymous&gt; (C:\Documents and Settings\j\Desktop\bmrepl\STEAL\dedup.js:51:3) at Module._compile (module.js:456:26) at Object.Module._extensions..js (module.js:474:10) at Module.load (module.js:356:32) at Function.Module._load (module.js:312:12) at Function.Module.runMain (module.js:497:10) at startup (node.js:119:16) </code></pre> <p>And, <code>dedup.js</code>:</p> <pre><code>var input = require('prompt'), sugar = require('sugar'); Array.prototype.pluck = function(i) { var el = this[i]; var rest = this.slice(i + 1 || this.length); this.length = i &lt; 0 ? this.length + i : i; this.push.apply(this, rest); return el; }; var s = require('fs').readFileSync('NLD_EXSORT.json', {encoding: 'utf8'}); var arr = JSON.parse(s); if ( arr.filter(function(el){ return el.filter(function(el){ return typeof el != 'string'; }).length != 0; }).length !== 0 ) throw 'nested arrays?' console.log('all good'); // input.start(); var unq = []; (function(){ var dupeDate; for(var i = 0; i &lt; arr.length; i++) { unq.push(arr[i]); while(dupeDate = eatDupe()) arr[i].push(dupeDate) } function eatDupe(){ if (!arr[i+1]) return false; if (cmp(arr[i], arr[i+1]) &gt; 2) return arr.pluck(i+1).pop(); else return false; } })(); console.log(unq.length); function cmp(a, b){ var common = 0; while(common &lt; a.length || common &lt; b.length){ if(a[common] == b[common]) common++; else return common; } if ( a.length == b.length ) return a.length; else throw 'CMP_ERR'; } </code></pre> <p>SO is complaining that it's too much code, but it I could trim it down more, I would've done so already. So Lorem ipsum dolor maybe this isn't necessary, idk.</p>
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload