Inhaltsverzeichnis

Ideen zum Sprachdesign

Todo

KI-Anfragen

Process

Ein Prozess beschreibt den Übergang von Daten in neue Daten. Die Idee entstand aus XBuild und Strakon. Ein Process beschreibt dann das Kompilieren von .cpp zu .o, dann das linken. In Strakon ist das Laying die Eingabe, BendingRodSet die Darstellung entsteht aus Laying, das Entity das fertige Produkt.

Entsprechend sollte ein Process einen Namensraum beschreiben und dokumentieren, das Klassen überführt werden können. Ein Process könnte damit eine Art Variant darstellen, der den aktuellen Zustand der Daten repräsentiert.

Token → Operator → Generator → Product → Container

Funktionalität

Environment

Funktionen

Funktionsdefinition

Implementiert Beschreibung siehe auch
Declaration
precall
autofunc (Mini-Templates, Textabkürzungen)
factory Produziert etwas, ändert aber nicht den Programmauflauf
interfacefac Interface als Factory
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
fail workflow als failabfrage
workflow workflow als failabfrage
template template-Funktionen
use anonyme Funktion (use x, y {})
comfort point() comforts Point( this );
debug Debug-Parameter
caller caller - Spezialisierung aufgrund des callers
connotation connotation - Seiteneffekte

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

Klammerung:

Implementiert Beschreibung siehe auch
while I: :I

Sollten Operatoren verbunden werden können, so dass * das gegenteil von / ist und ein neutrales Element 1 haben? - ist das Gegenteil von +, Neutral ist 0. New ist das gegenteil von Delete, nullptr neutral?

Speichermanagement

Schnittstellen

Implementiert Beschreibung Stichwörter
interface
scope
set bei Funktionen

Datentypen / Klassen

Implementiert Beschreibung Stichwörter
Sets set is int[] unique
array classes listet classes
construct as new Rectangle( SourcePoint sp, TargetPoint tp ) { sp.x = x+offset; sp.y = y+offset; }
view view( source )
override overrides bei Mehrfachvererbung
autoinit i $: new int(5);
logical ehemals inquiry (true, false, null, unknown/empty)
Teapot t is teapot;
test t is test;
reflection r is reflection;
io file is io( "json://test.c" );
element html is element("html")
subarrays print "Hallo Welt"[ 6..11 ]
typelist construct( parameters of( char const *, string )[]
identifier id is identifier : "main";
abstract id is abstract int;
StructOfArrays
state state a.size > 2;
validate/guarantee
implements
Aufbau einer Klasse
Enumerations
configurable
profile
mutable inheritance Person contains mutable Age
absrel a is int abs;
property a is int property( getInt, setInt );
persistant a is int persistant( system.homepath/".mysoftware-config" );
persist
feature (doc) feature
documentation document / see<nowiki> | | <html><font color=darkred>&#10007</font></html> | [[notes:type:entail]]| <nowiki>entail
type templates Vector( v1 is id = "x", v2 is id = "y" ); Offsets is Vector( offset1, offset2 );
stringchecker stringchecker

Attribute

Implementiert Beschreibung Stichwörter
attribute Direction is valid
uninitialized hund is uninitialized Hund
replaces MyString replaces string
constrains add is code( a, b ) noheap
abstract, deprecated foo is deprecated code

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

Lib

Connect