Anyone read the x10 specification yet?

Seems like a sweet, sweet language. I am especially impressed by array invariants (do disable bounds checking), immutable types, the forkjoin exception threading model and of course, closures (class invariants aka design by contract is not something i appreciate).

http://dist.codehaus.org/x10/documentation/languagespec/x10-175.pdf

http://docs.codehaus.org/display/XTENLANG/New+To+X10

1st Paragraph, 3rd Sentence.

Page 85 (I’m skimming :persecutioncomplex:)

They should get someone to proof read ::slight_smile:

Holy shit.

Invariant based overloading (pattern matching).


class Point(i: Int, j: Int) {...}
class Line(s: Point, e: Point{self != i}) {
  // m1: Both points lie in the right half of the plane
  def draw(){s.i>= 0 && e.i >= 0} = {...}
  // m2: Both points lie on the y-axis
  def draw(){s.i== 0 && e.i == 0} = {...}
  // m3: Both points lie in the top half of the plane
  def draw(){s.j>= 0 && e.j >= 0} = {...}
  // m4: The general method
  def draw() = {...}
}


Wow! That “Line” thing is a perfect example of over-complicating things when you are trying to do the opposite.

I want BASIC. With classes. And global functions. And no public/private/protected modifiers. I think that should do the trick.

Cas :slight_smile: