> fib c = (fib c-1) `par` (fib c-2) Das par macht hier aber keinen Sinn, da dort erstmal ein Plus stehen sollte. ;) Aber die Sache ist durchaus überlegenswert, da ein Future erstmal zu einem Future werden muss. In einer Shell bedeutet "Im Hintergrund" der Operator &. Das wäre also fib(c) = fib(c-1) + (fib(c-2)&) Bleibt die Frage, wie man Parallelität am schönsten kleinklopft, da "&" bei mir besetzt ist. Welches Symbol könnte denn Parallelität symbolisieren? Amüsanterweise hätte ich das Gleichheitszeichen noch frei, was ja auch zwei parallel laufende Linien beschreibt, aber aber fib(c) = fib(c-1) += fib(c-2)=; könnte leicht zu Missverständnissen führen. (Wäre in der Bedeutung mach das Plus parallel, wobei das Plus die rechte Seite parallel bearbeitet und die linke selbst übernimmt) = bedeutet Gleichsetzung, nicht Zuweisung. Zuweisung, was in C = ist, ist in Genesys :. Das C += ist entsprechend +: in Genesys, könnte sich aber noch in .+ ändern (weil . sich auf "this" bezieht und sich .+ entsprechend auf den + operator von this). Wobei die Logik hier wäre, dass fib(c) == fib(c-1) + fib(c-2)=; semantisch ähnlich wäre, nur dass == den Vergleich auf Gleichheit repräsentiert... ergo braucht man was anderes.
§ wäre noch frei, auch Superscript 2 wäre eine Überlegung wert.
fib(c) =§ fib(c-1) + fib(c-2)§; fib(c) =² fib(c-1) + fib(c-2)²; durch =´par´ wird fib(c) zu einer function/Monade, die ein future zurückliefert.