You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Manche Sprachen (z.B. C++ oder C#) unterstützen das Überladen von Operatoren.
DDP tut dies irgendwie bereits, wenn man Operatoren in Funktionsaliasen verwendet. Allerdings führt das zu mehr Problemen als es löst, da der Operator damit seine native Bedeutung verliert. Aliase haben die höchste operator-precedence und überschreiben somit native Operatoren.
Vorteile
Vor allem sobald es Strukturen gibt wird es praktisch sein Operatoren für diese überladen zu können, da damit Deutsche-Syntax deutlich leichter gemacht wird.
Herausforderungen
Dadurch, dass Aliase bereits beim Parsen erkannt werden müssen, liegt es in der Verantwortung des Parsers zu überprüfen ob eine Funktionen einen Operator überlädt oder nicht, und falls ja, die Typen korrekt zu erkennen und im Zweifel keinen Fehler zu melden, sondern einen Operator statt einem Funktionsaufruf zu parsen.
Das ist recht kompliziert zu implementieren. Man könnte es dem Programmierers überlassen Funktionen, die Operatoren überladen sollen, als solche zu markieren. Das könnte das Parsen potentiell erleichtern.
Wie schwierig die Implementation aber tatsächlich wird, oder wie sie überhaupt aussähe, kann man erst sagen wenn man anfängt daran zu arbeiten.
The text was updated successfully, but these errors were encountered:
Operator Überladung
Manche Sprachen (z.B. C++ oder C#) unterstützen das Überladen von Operatoren.
DDP tut dies irgendwie bereits, wenn man Operatoren in Funktionsaliasen verwendet. Allerdings führt das zu mehr Problemen als es löst, da der Operator damit seine native Bedeutung verliert. Aliase haben die höchste operator-precedence und überschreiben somit native Operatoren.
Vorteile
Vor allem sobald es Strukturen gibt wird es praktisch sein Operatoren für diese überladen zu können, da damit Deutsche-Syntax deutlich leichter gemacht wird.
Herausforderungen
Dadurch, dass Aliase bereits beim Parsen erkannt werden müssen, liegt es in der Verantwortung des Parsers zu überprüfen ob eine Funktionen einen Operator überlädt oder nicht, und falls ja, die Typen korrekt zu erkennen und im Zweifel keinen Fehler zu melden, sondern einen Operator statt einem Funktionsaufruf zu parsen.
Das ist recht kompliziert zu implementieren. Man könnte es dem Programmierers überlassen Funktionen, die Operatoren überladen sollen, als solche zu markieren. Das könnte das Parsen potentiell erleichtern.
Wie schwierig die Implementation aber tatsächlich wird, oder wie sie überhaupt aussähe, kann man erst sagen wenn man anfängt daran zu arbeiten.
The text was updated successfully, but these errors were encountered: