19 - Monad-Based Programming [ID:10765]
50 von 627 angezeigt

Music

Music

We have to move the next week to somewhere.

I told this yesterday and we have discussed it shortly because next week the World Chair is away.

So we decided to move it to Thursday, 2nd of July, 4pm so we can mind mostly the exercise and election.

I don't know if you want to contribute to this discussion or you don't care.

You don't care.

Alright.

Now I just want to make sure that no one has any special preference in the election.

Okay.

Where are we?

Is this...

I am hidden...

You're hiding something.

I didn't see you.

I didn't see you.

I saw that you were there.

So, was it difficult this time?

Okay.

It was difficult this time.

It was difficult.

It was difficult.

You have to show that you have to choose between the two.

Okay.

Yes, I wanted to add a short note concerning the strength.

I have mentioned that in the lecture but then I couldn't remember the argument precisely

so I gave some candidate expressions for the strength.

I mean that expression explained why something like strength is needed

but I didn't explain what precisely is the gap that the strength is covering.

So, I gave candidate expressions for strength.

Okay.

And this is the point that doesn't work in other categories and I am going to explain why this is precisely the point.

So, let's first check if this works out expected.

This thing goes from B to A times B.

And if you apply a pump for the pump for the new shaft, hopefully something like this.

So, then...

Right, what happens next? Then I bind this X so in the end I would have A to TAB.

Then I uncurried... right, this is here and to this point because that's the type of this thing.

And then I have got lambda X so I have added an additional arrow and then write an exponential like this.

So, this involves a bit of hand-waving because in general, general categories you need to distinguish between morphisms

going from A to B, exponential objects which are commonly written like this.

So, this would be a domain for objects and this would be the morphisms.

But in such we can confuse them, that's okay.

If I uncurried, so this TAB goes here so I would have C times B.

So, this matches the type. So, this would be indeed the candidate for strength.

And this is how the core is in sets.

Precisely the trick here is the one which is specific to sets and some other categories. That we can apply this T to such things.

Essentially...

That T extends from a map from HOMAB to HOMCAB

to a morphism.

Teil einer Videoserie :

Zugänglich über

Offener Zugang

Dauer

01:31:39 Min

Aufnahmedatum

2015-06-17

Hochgeladen am

2019-04-25 15:39:03

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.    

Tags

functional monads programming haskell equational reasoning
Einbetten
Wordpress FAU Plugin
iFrame
Teilen