Skip to content

Commit a585b4b

Browse files
committed
Add talk by @timsueberkrueb
1 parent 3e5541e commit a585b4b

1 file changed

Lines changed: 37 additions & 2 deletions

File tree

index.html.pm

Lines changed: 37 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -73,9 +73,44 @@
7373
}
7474
◊meetups{
7575
76+
◊meetup[#:title "07.06.26"]{
77+
◊par{
78+
The next meetup will take place on the 07.06.26 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
79+
}
80+
◊div[#:class "mx-2 my-4 sm:text-lg leading-relaxed"]{
81+
◊orga{18:45 Doors open & Welcome}
82+
◊p[#:class ""]{◊span[#:class "font-medium"]{A Tour of Polarity} (Tim)}
83+
◊abstract{
84+
◊p[#:class "my-2"]{
85+
There is a fundamental difference between how we structure programs in object-oriented and functional programming.
86+
In object-oriented programming, we model our domain using interfaces and classes, with methods defining the behavior of objects.
87+
In functional programming, we model our domain using algebraic data types and define their behavior through functions that pattern match on them.
88+
This design choice directly affects the extensibility of a program:
89+
adding new data variants is easy in the object-oriented style, while adding new operations is easy in the functional style.
90+
This trade-off is known as the expression problem.
91+
}
92+
93+
◊p[#:class "my-2"]{
94+
Modern programming languages are typically multi-paradigm, combining features from both traditions.
95+
However, they rarely support both styles equally well.
96+
Which representation to prefer is therefore not only a question of the problem domain, but also a question of language support.
97+
Can we get the best of both worlds?
98+
}
99+
100+
◊p[#:class "my-2"]{
101+
In this talk, we will study this question through the lens of Polarity, a research programming language with symmetric support for both functional and object-oriented program decomposition.
102+
Because Polarity is dependently typed, we can also use its type system to statically ensure important properties of our programs.
103+
We will consider how the choice of programming style affects not only extensibility, but also the way such properties are stated and verified.
104+
}
105+
}
106+
◊orga{Food, talking, coding, whatever}
107+
◊orga{22.00 End}
108+
}
109+
}
110+
76111
◊meetup[#:title "11.03.26"]{
77112
◊par{
78-
The next meetup will take place on the 11.03.26 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
113+
This meetup took place on the 11.03.26 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
79114
}
80115
◊div[#:class "mx-2 my-4 sm:text-lg leading-relaxed"]{
81116
◊orga{18:45 Doors open & Welcome}
@@ -92,7 +127,7 @@
92127
93128
◊meetup[#:title "28.01.26"]{
94129
◊par{
95-
This meetup took take place on the 28.01.26 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
130+
This meetup took place on the 28.01.26 at the ◊link["https://itdesign.de/"]{itdesign office}, Friedrichstraße 12.
96131
}
97132
◊div[#:class "mx-2 my-4 sm:text-lg leading-relaxed"]{
98133
◊orga{18:45 Doors open & Welcome}

0 commit comments

Comments
 (0)