Hallo,
ich habe eine App für einen Pointfree-Interpreter in Kotlin erstellt.
Sie soll wie ein Taschenrechner mit funktionaler Programmiermöglichkeit über die Tastatur bedienbar sein.
Der Screenshot sieht in etwa so aus:
Jede Eingabezeile wird mit CALC ausgeführt und das Ergebnis wird dann unterhalb der Buttonzeile angezeigt.
Die anderen Buttons sind nach CALC - Komposition - Runde Klammern - Eckige Klammern -
Ergebnis oben einfügen - Schritt nach Links - Schritt nach Rechts
Im Menü gibt es noch den Punkt <Clear>, um auf den Initialisierungszustand zurück zu stellen.
Die Pointfree-Sprache hat eine ungewöhnliche Syntax und wird in der Regel von Rechts-nach-Links verarbeitet.
Es ist praktisch alles Infix-Notation mit Funktionen oder Klammern dazwischen.
Ein Quickinfo.pdf zeigt grob die Datentypen und Funktionen/Operatoren der Sprache.
Als Technologien habe ich Kotlin-IDE-Community als Implementierungssprache verwendet
und Android-Studio (Kotlin) für die App/APK.
---------------------------------------------------------------------- * ---------------------------------------------------------------------
Zur Pointfree-Interpreter-Technologie gebe ich ein paar Beispiele
Mit name == funktionsterm wird einem Funktionsterm eine Bezeichnung gegeben z.B:
und mit dem CALC-Button nimmt der Calculator die Definition an und zeigt das Kompilat als String an.
<neue Zeile>
iota erzeugt mit dem Argument 10 eine Liste von Realzahlen.
Die Komposition ist der Operator.
der aa-Operator berechnet zu jedem Element der Liste hier das Quadrat.
id ist die Identitätsfunktion.
mit der Summe der Quadrate haben wir jetzt eine schöne Pipeline programmiert.
---------------------------------------------------------------------- * ---------------------------------------------------------------------
Download-Möglichkeiten gibt es über heise-Download in der Abteilung Android. (Virengeprüft i.A. von heise)
Oder über Github (APK), der Source-Code zur App liegt auch auf Github: pointfrip/calculator
Viele Grüße und viel Spaß mit der App wünscht
metazip