This project appears to have gone dormant. It will be removed from the list soon unless new activity is noted.
Safe language embracing the good side of JavaScript and avoiding the bad side.

Spider is a brand new language to avoid JavaScript’s bad side while embracing its good side. It takes the best ideas of Go, Swift, Python, C# and CoffeeScript, and targets ES5 and ES6.

  • Instead of bringing a completely new indentation-based syntax like CoffeeScript, Spider preserves JavaScript's familiar syntax that we all use everyday.
  • Instead of just introducing classes, Spider embraces JavaScript's prototype-based OOP and makes it much easier to use using keywords like extends and super.
  • Spider is fully compatible with libraries like Angular.js, Meteor, jQuery, Sails.js and other existing JS libraries without any extra effort.
  • Spider is an extremely safe language. It has a great compile-time error reporting system, and all uses of the global scope must be explicit. Spider also fixes many JavaScript problems. For example, == is automatically compiled to ===, and the typeof operator supports array, date, regexp and more.
  • Spider has useful syntactic sugar like Splats, Array Slicing and Splicing, Existential Operator, Ranges, List Comprehensions, Destructuring, Curried Functions and much more.
  • Spider has strong concurrency features such as Async/Await and Channels.
  • Spider compiles to ES6, and has an ES5 target that uses Google's Traceur Compiler behind the scenes.
  • Spider also has great debugging support.
fn TimeMachine(pilot) {
  this.pilot = pilot;

  this.go = fn (noise) {
    ::console.log(noise);
  };
}

fn Tardis()
  extends TimeMachine("The Doctor") {

  this.go = () =>
    super.go("vorp vorp");
}

fn DeLorean()
  extends TimeMachine("Marty") {

  this.go = () =>
    super.go("One point twenty-one gigawatts!");
}

for timeMachine in ::getTimeMachines() {
  timeMachine?.go();
}
Information updated 01/24/16
View Comments