|
- \emph{\ifger{Referenzielle Transparenz}{Referential transparency}}, \ifger{also}{as in}:
- \slidep
- \begin{itemizep}
- \item \ifger{alles (Variablen, Datenstrukturen)}{everything (variables, data structures...)} \ifger{ist}{is} \emph{immutable}
- \item \ifger{Ausdrücke haben niemals Seiteneffekte (Erinnerung: mathematische Funktionen)}{expressions never have side-effects (remember: mathematical functions)}
- \item \ifger{gleiche Eingabe}{same input} $\mapsto$ \ifger{gleiche Ausgabe}{same output}... \emph{\ifger{immer}{always}}!
- \item \ifger{wir können eine Funktion mit ihrem (Rückgabe-)Wert ersetzen... was passiert, wenn wir das in C oder java tun? (Erinnerung:}{replace a function with it's (return) value? Yes. What happens in C or java if you do that? Remember} \cppinline{void pop();}\ifger{)}{?}
- \end{itemizep}
- \slidep
- \vspace{\baselineskip}
- \ifger{mögliche Vorteile?}{possible benefits?}
- \begin{itemizep}
- \item \ifger{Parallelisierung}{parallelism}
- \item \ifger{Denken in Gleichungen und hohes Refactoring-Potenzial}{equational reasoning and refactoring}
- \item \ifger{weniger Bugs!}{less bugs!}
- \end{itemizep}
- \slidep
- \vspace{\baselineskip}
- \ifger{Frage:}{Question:} call-by-value? call-by-reference? call-by-need?
|