Pfeil-Operator

Den Pfeil-Operator könnte man als „as“ Operator zur Typumwandlung verwenden.

Hintergedanke

Genesys soll ja stärker auf Typen aufbauen. Wenn ich einen Vector frage, wie groß er ist, sieht die Signatur wie folgt aus:

size_type size() const;

Statt „as“ als Keyword wird „→“ genommen, da der Operator regelmäßig verwendet werden würde, ergo keine „Prosa“ darstellung ahben sollte, sondern sich aus dem Quelltext hervorheben sollte.

Darstellung

In Genesys könnte ein Member vom Typ Size per .-Operator angesprochen werden. Die Umformung - also aktiver Aufruf eines Algorithmus könnte mit → repräsentiert werden.

size contains unsigned int;   // size ist ein Datentyp

vector contains
{
  front is iterator;
  back  is iterator;
  
  size = std::dist( first, last );
  
  getSize is code() -> size = std::dist( first, last );
};

v is vector;

v.front;     // front ist Name für einen 
v.getSize(); // Funktion
v->size;     // Typumwandlung/Abfrage/Umwandlung der Repräsentation - Ohne Klammer

Das wäre damit automatisch auch die Darstellung für benannte Parmeter:

Source is Point;
Target is Point;

func is code( Source = Point(0,0), Target = Point(0,0) );

p1 is Point(1,2);
p2 is Point(2,3);


func( p1 -> Target, p2 -> Source );
func( p1 -> Target );