Java-Gaming.org
Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
Featured games (78)
games approved by the League of Dukes
Games in Showcase (416)
games submitted by our members
Games in WIP (306)
games currently in development
News: Read the Java Gaming Resources, or peek at the official Java tutorials
 
    Home     Help   Search   Login   Register   
Pages: [1]
  ignore  |  Print  
  Anyone read the x10 specification yet?  (Read 1016 times)
0 Members and 1 Guest are viewing this topic.
Offline i30817

Junior Member





« Posted 2009-09-16 15:56:57 »

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
Offline Abuse

JGO Coder


Medals: 2


falling into the abyss of reality


« Reply #1 - Posted 2009-09-16 19:14:07 »

1st Paragraph, 3rd Sentence.
Quote
It is becoming increasingly difficult to mange chip power and
heat

Page 85 (I'm skimming  persecutioncomplex)
Quote
Example 11.13.1 The following statement checks if an index is in range
and throws an exception if not.
if (i < 0 || i > x.length)
throw new IndexOutOfBoundsException();

They should get someone to proof read  Roll Eyes

Make Elite IV:Dangerous happen! Pledge your backing at KICKSTARTER here! https://dl.dropbox.com/u/54785909/EliteIVsmaller.png
Offline i30817

Junior Member





« Reply #2 - Posted 2009-09-16 22:57:10 »

Holy shit.

Invariant based overloading (pattern matching).
1  
2  
3  
4  
5  
6  
7  
8  
9  
10  
11  
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() = {...}
}


Quote
Three different implementations are given for the draw method, one for
the case in which the line lies in the right half of the plane, one for the case
that the line lies on the y-axis and the third for the case that the line lies in
the top half of the plane.
Consider the invocation
     m: Line{s.i < 0} = ...
     m.draw();
This generates a compile time error because there is no applicable method definition.
Consider the invocation
     m: Line{s.i>=0 && s.j>=0 && e.i>=0 && e.j>=0} = ...
     m.draw();
This generates a compile time error because both m1 and m3 are applicable.
Consider the invocation
     m: Line{s.i>=0 && s.j>=0 && e.i>=0} = ...
     m.draw();
This does not generate any compile-time error since only m1 is applicable.
Games published by our own members! Check 'em out!
Play the free demo of Revenge of the Titans!
Offline swpalmer

JGO Coder




Where's the Kaboom?


« Reply #3 - Posted 2009-09-27 04:06:01 »

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

Offline princec
« League of Dukes »

JGO Kernel


Medals: 197
Projects: 3


Eh? Who? What? ... Me?


« Reply #4 - Posted 2009-09-27 14:05:40 »

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

Cas Smiley

Pages: [1]
  ignore  |  Print  
 
 
You cannot reply to this message, because it is very, very old.

Play Revenge of the Titans! The situation is critical. We need fancy commanders to defend Earth, the moon, Mars!
 
Get high quality music tracks for your game!

Add your game by posting it in the WIP section,
or publish it in Showcase.

The first screenshot will be displayed as a thumbnail.

The invasion has landed! On Mars! And you're there to beat 'em!
BrassApparatus (9 views)
2013-06-19 08:52:37

NegativeZero (14 views)
2013-06-19 03:31:52

NegativeZero (18 views)
2013-06-19 03:24:09

Jesse_Attard (20 views)
2013-06-18 22:03:02

HeroesGraveDev (62 views)
2013-06-15 23:35:23

Vermeer (61 views)
2013-06-14 20:08:06

davedes (61 views)
2013-06-14 16:03:55

alaslipknot (55 views)
2013-06-13 07:56:31

Roquen (77 views)
2013-06-12 04:12:32

alaslipknot (60 views)
2013-06-10 19:30:18
Smoothing Algorithm Question
by UprightPath
2013-05-28 02:58:26

Smoothing Algorithm Question
by UprightPath
2013-05-28 02:57:33

Complex number cookbook
by Roquen
2013-04-24 12:47:31

2D Dynamic Lighting
by Oskuro
2013-04-17 16:46:12

2D Dynamic Lighting
by Oskuro
2013-04-17 16:45:57

2D Dynamic Lighting
by Oskuro
2013-04-17 16:23:20

Noise (bandpassed white)
by Roquen
2013-04-05 17:36:01

Noise (bandpassed white)
by Roquen
2013-04-03 16:17:38
Powered by MySQL Powered by PHP Powered by SMF 1.1.18 | SMF © 2013, Simple Machines | Managed by Enhanced Four Valid XHTML 1.0! Valid CSS!