So, first of all, I need to comment on the exercises.
So, unfortunately, I was not clear enough or I didn't tell the right thing in the right place and in the right time.
But several people didn't understand.
I mean, in particular because they were just missing when I said this.
That I want the exercises to be handled back before we start the practicals.
So, some people didn't manage to do it in time.
And they worry that if I don't count them, then it would have a big impact on the end note.
And indeed, probably it will because, as I said, basically the exercises contribute half of the note.
And there are probably not going to be so many because they appear just once in two weeks.
So, I propose that we just count it as a rehearsal and start counting points from the next time on.
Hopefully, now everyone is up to date with the idea.
I also made an announcement at the webpage and read saying that it's before 10 a.m.
It's not 12 p.m. It's not anywhere on earth like tomorrow's 1 a.m. or something.
Yes.
10 sharp or 10.50.
Yes, I put it at 10 sharp.
Yes, just in case.
Okay, so 10.50 is actually right.
Right.
So, okay.
And what else?
Concerning the next exercise, it's published.
You can look at it.
And I really recommend you that you get familiar with it as soon as possible because, I mean,
I'm giving two weeks for that.
And if you postpone it until the day before the submission, it's probably not going to work
because there is some work to be invested.
So, if something is unclear, something needs to be commented, please try to ask me about
it as soon as possible.
And presently, I mean, my goal for today is basically give you enough background for solving
this exercise.
This is my ambitious goal.
So, there are two exercises, the first and the second, which I hope you can solve already
because, I mean, there is information for that.
But the third one is wastely missing, the material.
And I'm going to give it today.
Right.
Another thing I wanted to mention is correct, again, myself.
I claimed erroneously again that this Y operator for call by value need to have this type.
This is too restrictive, actually.
It's sufficient that it has this type.
So, this A and B need not be the same.
I don't know why I made this mistake.
But apparently, the argument which I gave why we need it, it applies to this constructor
just as well for the same reason.
And I've corrected it on this PDF file which I published on the webpage.
Okay.
So let's go to the material of the lecture.
And as I said, we're going to reuse the operator, this let operator.
And first thing that I propose you to note here is that this P is something of type A
Presenters
Zugänglich über
Offener Zugang
Dauer
01:33:11 Min
Aufnahmedatum
2015-05-12
Hochgeladen am
2019-04-24 14:29:02
Sprache
en-US
The course provides a background to various topics of the theory of programming. As a guiding paradigm monad-based functional programming is chosen. The idea of the course is to provide clear computational insights to various concepts of computer science and to practice these by concrete implementations in suitable programming languages such as Haskell.
Lernziele und Kompetenzen:
Fachkompetenz Wissen Students demonstrate an understanding of the role of computational monads in the context of functional programming and as a semantic tool for programming and system specification; Students reproduce the main definitions and results on monads, monad combination, and further categorical constructions end explain them from a programming perspective. Anwenden Students use the monad-based approach to formalise examples involving various kinds of computational effects as monads. Students use monads for practical programming in programming languages, such as Haskell. Analysieren Students identify various computational effects as monads and provide an appropriate treatment of problems from various semantic domains (probabilistic, nondeterministic, concurrent), possibly providing a monad-based software implementation. Selbstkompetenz Students will be regularly provided with small challenges in form of exercises to be able to have a gradual progress with the lecture material.