Dies ist eine alte Version des Dokuments!
Ideen zum Sprachdesign
Todo
Marker„klassen“ (Wurzel, Knoten, Blatt is DOMElement, wobei DOMElement keine Elemente hat, sondern nur Tag/Marker ist)
Eheklassen (GFXElement contains GFXPosition, GFXOutput): Klassen, die von GFXPosition und GFXOutput erben, müssen erklären, was passiert, wenn der Punkt GFXPosition verändert wird (z.B. GFXOutput zum Neuzeichnen informieren). Auch wenn „GFXPosition is Point“ ist, hat dieser Point, der mit GFXOutput kombiniert wird nun zwangsweise Setter, die GFXOutput kennen und eine Funktion aufrufen, die GFXPoint und GFXOutput übergeben bekommen. (vgl. Rules)
Pointer und Reference als Ref und „optional ref“:
optional
-
-
-
-
-
Lässt sich die Frage nach dem
Warum? als ein Konzept beschreiben und abprüfen?
Funktionalität
Funktionen
Funktionsdefinition
| Implementiert | Beschreibung | siehe auch |
| ✗ | Declaration | |
| ✗ | precall | |
| ✗ | autofunc | (Mini-Templates, Textabkürzungen) |
| ✗ | factory | Produziert etwas, ändert aber nicht den Programmauflauf |
| ✗ | enhance | Erweitere Funktionalität von Objekten |
| ✗ | fix | Konditional - abschaltbar |
| ✗ | infix | Infix-Operatoren selbst gestalten |
| ✗ | xmlconstruct | XML-Notation für Konstruktoren |
| ✗ | unimplemented | null-Rückgabewert für nicht implementierte Funktionen |
| ✗ | inline | Code, der inline verarbeitet wird |
| ✗ | guard | guard für Funktionen, die per fail verlassen wurden |
| ✗ | assert | Annahme, die zur Laufzeit geprüft wird |
| ✗ | move | move-Konstruction |
| ✗ | lazy | lazy parameter |
| ✗ | forward | forward parameter |
| ✗ | adapter | adapter/workflow-Funktionen |
| ✗ | workflow | workflow als failabfrage |
| ✗ | template | template-Funktionen |
| ✗ | use | anonyme Funktion (use x, y {}) |
Operatoren
| Implementiert | Beschreibung | siehe auch |
| ✓ | env | path = $(PATH); |
| ✗ | power | A = Pi * r**2 |
| ✗ | inequality | a <> b |
| ✗ | condition | a ⇒ b; a ⇒ b ! c |
| ✗ | stringformat | „Hello %s“ % „World“ |
| ✗ | value | dp is double ptr; dp# : 3.1415 |
| ✗ | split | „1,2,3“ / „,“ ⇒ [&„1,2,3“,&„2,3“,&„3“] |
| ✗ | or | var1 or var2 |
| ✗ | construct | construct winbmp { .. } |
| ✗ | prefix | +(1,2,3) |
| ✗ | guard | guard func(); |
| ✗ | include | include „file“; |
| ✗ | require | require de.xsd.bitmap; |
| ✗ | is | val is int |
| ✗ | eq | add is code( a = 1, b = lastresult() ) |
| ✗ | to | castings |
| ✗ | as | castings |
| ✗ | from | castings |
| ✗ | definition | Identifier definitions |
| ✗ | iterable | iterable |
| ✗ | arrow | → |
| ✓✓✗ | do | 5..8 do print value; |
| ✗ | matrix | 2d if; |
| ✗ | react | 5..8 react print value; |
| ✗ | switch | |
| ✗ | autoref | |
| ✗ | net | Neuronale Netzwerke |
| ✗ | par | Appendix-Parallel-Operator |
| ✗ | notes | Arithmethisches Mittel (aus Liste) |
| ✗ | notes | Liste sortieren |
| ✗ | notes | Duplikate entfernen |
| ✗ | set | Mengen- und -operationen (map, filter, reduce) |
| ✗ | if | if |
Speichermanagement
Schnittstellen
Datentypen / Klassen
Attribute
Generics / Templates
| Implementiert | Beschreibung | Stichwörter |
| ✗ | for | toString is code for Point3d |
Mitzuliefernde Funktionalität / Standard-Lib
| Implementiert | Beschreibung | Stichwörter |
| ✗ | context | Kontexte |
| ✗ | cloud | cloud |
| ✗ | list | Listen |
Parsen
Dokumentation
| Implementiert | Beschreibung | Stichwörter |
| ✗ | warning | Warnungen |
| ✗ | sic | sic |
| ✗ | section | section Preparation {} |
| ✗ | remark | remark |
Genesys as Service/Shared Object
| Implementiert | Beschreibung | Stichwörter |
| ✗ | inject | external Functions and Values |
Ini-File
| Implementiert | Beschreibung | Stichwörter |
| ✗ | forbid | Warnungen |
Test
| Implementiert | Beschreibung | Stichwörter |
| ✗ | record | record and replay |
Codegenerierung
| ✗ | emit | (Codegenerierung) |
| ✗ | make | makefiles |
Connect
Links zu möglichen Features