another thing for applicative is when we use async if you use let! you execute sequentially but when you use and! they execute in parallel, this is so helpful
This is an awesome tutorial! I really appreciate you walking through how Computation Expressions work. Definitely the most difficult concept in F# for me.
This was highly informative! I really like that it was focused on a single language feature - albeit a very flexible one. I can see this coke in handy in tests, too, where you might want to alter input data one field at a time.
that's great. here i am always constructing my record types with a _.Empty or _.Default extension method, as a constructor (which is like your baseCar), and then i build new instances using the standard record syntax { Car.Default with ... }. but once your domain becomes too complex, with custom types nested within custom types nested within a custom type, i can see how this builder pattern would help me maintain my sanity, so i don't have to spell out all the: { Car.Default with { Engine.Default with { Pistons.Default with ... } } } yeah. that gets old soon...
Awesome video! Can you do a video on Giraffe? I found the documentation to be a bit terse. I would like a video explaining different handlers, context, workflows, how the fish operator works etc.
Is it possible to declare the types in a functional way? Or do I have to write classes? Can you make an easy to understand course of translating f# OO in functional and vv?
It is functional, it’s pure. I understand the confusion, but just because we are using a class, that does not mean it is not functional. We are using the language features as intended in this video. Feel free to check out my video on Object programming (classes) and I talk about this dilemma
@@bengobeil933 well... My problem is, that I sadly learned f# as a first language and just now the regular type declaration. I just don't get the member-things. Is there another method to declare the types... Without the keyword member? I learned that this is more an oop style and not so much more. Isn't it sufficient to just say in the function declaration (fctn: int option) and if no, why?
I talk about the member keyword in the Class video I mentioned. It is not possible to do computation expressions without class types. Do not be afraid of them, they do not bite :)