• Keine Ergebnisse gefunden

Übungen Funktionale Programmierung (in Clojure) Serie 1

N/A
N/A
Protected

Academic year: 2021

Aktie "Übungen Funktionale Programmierung (in Clojure) Serie 1"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. Dr. Burkhardt Renz TH Mittelhessen

Funktionale Programmierung (in Clojure) Übungen Serie 1

Übungen Funktionale Programmierung (in Clojure) Serie 1

1. Einrichten einer Entwicklungsumgebung

Es gibt verschiedene Entwicklungsumgebungen für die Programmierung in Clojure:

• Clojure purhttp://clojure.org/getting_started

• Emacs mit CIDERhttps://github.com/clojure-emacs/cider

• Vim mit Fireplacehttps://github.com/tpope/vim-fireplace

• Light Tablehttp://www.lighttable.com/

• Nigthcodehttps://nightcode.info/

• Eclipse mit Counterclockwisehttps://code.google.com/p/counterclockwise/

Jede dieser Umgebungen eignet sich für die Vorlesung. Wer für die Java-Entwicklung Eclipse verwendet, wird wohl am ehesten Counterclockwise einsetzen.

2. Leiningen

Das Werkzeug für die Organisation von Clojure-Projekten ist Leinigen. Verschaffen Sie sich einen Überblick über dieses Werkzeug auf der Webseite des Projekts: http:

//leiningen.org/.

3. Clonen Sie das Projekt für die Veranstaltung auf GitHub

Es gibt eine Projekt auf Githubhttps://github.com/BRenzTHM/fpcin dem die Bei- spiele aus der Vorlesung bereitgestellt werden. Clonen Sie dieses Projekt und richten Sie es in Ihrer Entwicklungsumgebung ein.

4. Tools in der REPL

Starten Sie in Ihrer Entwicklungsumgebung eine REPL und geben Sie das Beispiel aus der ersten Vorlesung ein:

(apply + (range 1 11))

Erstellen Sie eine erste Clojure-Quelle mit folgenden Angaben:

(ns fpc.ul01

(:require [clojure.repl :refer :all]))

und lernen Sie die Möglichkeiten in der REPL kennen. Laden Sie die Datei in die REPL und geben Sie ein:

(doc range) (doc +) (doc apply) (source range) (find-doc "range") (apropos "ran")

Finden Sie mit(doc ...)heraus, was die beiden letzten Funktionen machen.

Rev 1.0 – 11. August 2014

Wintersemester 2014/15 1

Referenzen

ÄHNLICHE DOKUMENTE

(b) Programmieren Sie eine Multimethode (area ...), die die Fläche eines Recht- ecks oder eines Kreises berechnet.. Flächenberechnung mit Records

(b) Schreiben Sie eine Funktion (add-account bank account), die dem Bestand der Konten der Bank ein weiteres Konto hinzufügt.. Beachten Sie die Eindeutigkeit

Was ergeben die folgenden Ausdrücke in der Repl, eingegeben in der vorgegebenen Rei- henfolge.. Burkhardt Renz

Eine Bank bezahlt Zinsen gestaffelt nach dem Guthaben: 1% bis 1000€, 1,25% bis 2000€ und 1,5% über 2000€.. Schreiben Sie eine Funktion, die zu einem Guthaben g den Jahreszins

Programmieren Sie eine Funktion (gcd n m), die mit dem Euklidischen Algorithmus den größten gemeinsamen Teiler (greatest common divisor ) der natürlichen Zahlen n und m berechnet..

Schreiben Sie eine Funktion (freq coll), die wie frequencies eine Map der verschie- denen Elemente einer Kollektion mit der Zahl ihres Vorkommens ermittelt. Verwenden Sie

Auch die Eulersche Zahl e kann durch einen Kettenbruch approzimiert werden, nämlich durch den Kettenbruch mit folgender Folge der a i 4 :.. [2; 1, 2, 1, 1, 4, 1, 1,

(a) Schreiben Sie eine „Factory-Funktion“ für komplexe Zahlen, basierend auf einer Implementierung als Vektor aus Real- und Imaginärteil.. (b) Schreiben Sie eine Multimethode (add x