About
Hi 👋
We're Dirk, Thomas, David and Beat and we're excited to connect and grow the functional programming community in the lovely city of Tübingen.
Tü.λ—Functional Programming Night Tübingen is a space for everyone interested in functional programming, whether you're a seasoned expert or just curious to learn. Each meetup features insightful talks, delicious food, and plenty of opportunities to connect with like-minded people.
Looking forward to see you at the next edition of Tü.λ—Functional Programming Night Tübingen!
07.05.25
The next meetup will take place on the 07.05.25 at the itdesign office, Friedrichstraße 12.
18:45 Doors open & Welcome
Lightning Talk: Tail Call Optimization in JavaScript (Thomas)
Lightning Talk: Fluid Type Scales (Beat)
Short break
Lightning Talk: (maybe you?)
Food, talking, coding, whatever
22.00 End
26.03.25
This meetup took place on the 26.03.25 at the itdesign office, Friedrichstraße 12.
18:45 Doors open & Welcome
Building a Large-Scale, Streaming-Based Logging and Monitoring Solution (Marcus)
In a semiconductor fab, numerous processes play a role in manufacturing a microchip. Keeping track of the manufacturing process, recording all the data and metrics that occur in the different steps, sending alerts when parameters indicate production problems, and correlating the data with the resulting product is essential for a successful and efficient production.
We show how we have built a large-scale logging and monitoring solution of a large and heterogenous legacy enterprise IT infrastructure that controls semiconductor manufacturing. Our streaming-based system uses Riemann and handles more than 5,000 events per second, stores terabytes of logs and metrics persistently in Elasticsearch and Prometheus, and provides visualizations with Kibana and Grafana and real-time alerting.
Food, talking, coding, whatever
22.00 End
15.01.25
This meetup took place on the 15.01.25 at the itdesign office, Friedrichstraße 12.
18:45 Doors open & Welcome
Explaining Functional Programming (Beat)
Short break
Lightning Talks (Spontaneous 👀)
Food, talking, coding, whatever
22.00 End
06.11.24
This meetup took place on the 06.11.24 at the itdesign office, Friedrichstraße 12.
18:45 Doors open & Welcome
Really Functional Data Structures (Marvin)
Short break
Decoupled by Default – Funktionale Programmierung in der Softwarearchitektur (Markus)
Kopplung – das Maß der Abhängigkeiten zwischen Modulen – ist das zentrale Konzept der Softwarearchitektur. Die herkömmliche Sicht auf Kopplung ist die, dass hohe Kopplung dann entsteht, wenn man nicht aufpasst beim Programmieren: wenn man nicht gegen explizite Schnittstellen programmiert, wenn man kein Visitor-Pattern verwendet, wenn man nicht Dependency Injection verwendet …
Kopplung, so scheint es, ist das Resultat von Unterlassung. Die Kopplung wieder zu senken, erfordert dann ausdrückliche Gegenmaßnahmen.
Dieser Vortrag zeigt eine alternative Sichtweise: Viele Arten von Kopplung entstehen aufgrund von Unzulänglichkeiten der Programmiersprache. In funktionalen Sprachen treten diese Kopplungsarten teilweise gar nicht auf oder zumindest ist die Werkseinstellung dieser Sprachen dergestalt, dass Kopplung vermieden wird. Das zeigen wir im Vortrag insbesondere mit Blick auf den Umgang mit geteiltem Zustand und Plattformabhängigkeiten. Am Ende zeigen wir, dass auch funktionale Programmierer nicht automatisch vor allen Arten unnötiger Kopplung sicher sind. Wir zeigen, wie der Ansatz des Denotational Design dort Abhilfe schaffen kann, indem die Semantik von Schnittstellen in den Vordergrund gerückt wird.
Food, talking, coding, whatever
22.00 End
28.08.24
This meetup took place on the 28.08.24 at the itdesign office, Friedrichstraße 12.
18.45 Doors open & Welcome
Simple development environments with Nix (Beat)
Short break
Persistent Data Structures: From Lists to Hashmaps (David)
Food, talking, coding, whatever
22.00 End
18.04.23
This meetup took place on the 18.04.23.
Mach Deine eigene Programmiersprache! – Makros in Clojure (Kaan Sahin)
Fehlen Dir List-Comprehensions aus Python in Deiner Sprache? Findest Du C# toll wegen async? Benutz einfach Clojure und Makros, dann kannst Du diese Features einfach selbst schreiben!
Makros aus gängigen Programmiersprachen, wie beispielsweise Präprozessormakros in C++, werden dem Makrobegriff nicht gerecht. In Clojure sind Makros ein mächtiges Werkzeug und erlauben es, die Programmiersprache auf natürliche Art und Weise zu erweitern. Dabei sind Makros wesentlich mehr, als einfache Syntaxerweiterungen.
Wir schauen uns in diesem Vortrag Clojure und dessen Makrosystem an und zeigen Beispiele aus der Praxis.
Food, talking, coding, whatever
22.00 End
17.01.23
This meetup took place on the 17.01.23.
Komponierbare Komponenten (Markus Schlegel)
Food, talking, coding, whatever
22.00 End
18.03.21
This meetup took place on the 18.03.21.
Funktionales Taktisches Design (Michael Sperber)
Funktionale Programmierung passt gut zu Domain-Driven Design (DDD): Für funktionale Programmierer:innen bietet taktisches Design eine Brücke zu einer funktionierenden Applikationsarchitektur. Funktionale Programmierung hingegen vereinfacht mit ihrem Fokus auf unveränderliche Daten den Umgang mit Aggregaten.
Wo DDD sich auf konkrete Modelle nah an der Domäne konzentriert, setzt funktionale Programmierung auf Abstraktion. Während Abstraktion in der OO-Welt oft kritisch gesehen wird, kann sie - systematisch eingesetzt - Architektur und speziell Domänenmodelle signifikant verbessern: Sie findet Kombinatoren in scheinbar flachen Modellen und benutzt Algebra, um die entstehenden Strukturen zu beschreiben. Heraus kommen einfachere und flexiblere Modelle als ihre konkreten Pendants, die oft vorher unbekannte Aspekte der Domäne zutage fördern.
Der Vortrag zeigt, wie DDD um diese Techniken erweitert werden kann und wie diese zu effektiverem taktischen Design führen.
Food, talking, coding, whatever
22.00 End
21.07.20
This meetup took place on the 21.07.20.
F# (Andreas Weizel)
Food, talking, coding, whatever
22.00 End
21.04.20
This meetup took place on the 21.04.20.
Einführung in Elm
Food, talking, coding, whatever
22.00 End
03.09.19
This meetup took place on the 03.09.19.
Funktionale Programmierung in Kotlin (Aleks Dimitrov)
Kotlin ist die neue, hippe JVM-Sprache mit sehr guter Java-Integration und vielen neuen Features. Aus Sicht der funktionalen Programmierung fehlt gegenüber Scala jedoch ein richtig ausdrucksstarkes Typensystem und der Fokus auf FP.
Wie man mit ein paar Kniffen trotzdem sehr brauchbar selbst abstrakte Konzepte wie Applicative und Monad in Kotlin benutzen kann, und welche gewohnten FP-Konstrukte dem Kotlin-Programmierer zur Verfügung stehen möchte ich in diesem Vortrag vorstellen.
Food, talking, coding, whatever
22.00 End
09.07.19
This meetup took place on the 09.07.19.
Effect Handlers (Jona)
Effects are all around us: promiment examples of (control) effects include dependencies on configuration or other modules, exceptional control flow, asynchronous calls to remote APIs, nondeterminism, probabilisitic control flow and many more.
Algebraic effect handlers are a promising way to structure effectful programs in a modular way. In this talk, I present the Scala library Effekt, which makes use of both the functional and object oriented features of Scala. In particular, we follow FP best practices and make the use of effects explicit in the type of a program. We also follow OO best practices and separate the effects into interfaces, programs using the interfaces and implementations of those interfaces.
Using Scala's features of intersection types, trait/mixin-composition, implicit parameter passing and first class modules (as objects), Effekt offers interesting extensibility properties.
Food, talking, coding, whatever
22.00 End
05.02.19
This meetup took place on the 05.02.19.
Elixir & BEAM (Ron Kirschler)
Food, talking, coding, whatever
22.00 End
13.11.18
This meetup took place on the 13.11.18.
Monaden (Philipp Schuster)
Food, talking, coding, whatever
22.00 End
18.09.18
This meetup took place on the 18.09.18.
Nix(OS) (Michael Weiss)
Food, talking, coding, whatever
22.00 End
10.07.18
This meetup took place on the 10.07.18.
Pragmatic, frameworkless functional programming in Scala (Michał)
Food, talking, coding, whatever
22.00 End
05.06.18
This meetup took place on the 05.06.18.
Die letzte Iteration der For-Schleife (in JavaScript)
Short break
Currying oder Wie man Funktionen Geduld beibringt
Food, talking, coding, whatever
22.00 End
If you want to attend the meetup, please tell us about it so that we can plan accordingly (order enough pizza!) 🙂
If you want to give a talk at one of the next meetups, please add them as an issue to this GitHub Repo here.
In case you need some inspiration, either take a look at all the previous talks on this website, or take a look at all the talks suggested so far here.
Contact
Do you want to keep posted about the next event or continue the discussion? Maybe you even want to contribute a talk yourself?
Join our Matrix Room