Thank you so much! This really helped tie together all the important mechanics of CEs in a digestible way
@FastFSharp
3 жыл бұрын
This is an awesome tutorial! I really appreciate you walking through how Computation Expressions work. Definitely the most difficult concept in F# for me.
@bengobeil933
3 жыл бұрын
Glad you enjoyed it!
@sgnsajgon
3 жыл бұрын
As a casual F# dev I have missed that F# 5.0 feature of Applicative syntax in CE. Thank you for pointing this out.
@mohammadhadialiakbar4486
3 жыл бұрын
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
@bengobeil933
3 жыл бұрын
It is not defined by default, but yes you can define it.
@mohammadhadialiakbar4486
3 жыл бұрын
@@bengobeil933 btw great work, keep posting
@tennhard
2 жыл бұрын
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.
@TheJessejunior
3 жыл бұрын
thaank you!! Finally and deep aproach to CE!!
@tanjimbinfaruk9145
3 жыл бұрын
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.
@XKS99
Жыл бұрын
Wow. A normal sounding person that understands Monads (I think).
@YumanoidPontifex
2 жыл бұрын
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...
@jkone27
2 жыл бұрын
Amazing tutorial
@denisangelov4629
3 жыл бұрын
Great job!
@Aphova
2 жыл бұрын
Gold dust!
@asdfgha
3 жыл бұрын
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?
@bengobeil933
3 жыл бұрын
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
@asdfgha
3 жыл бұрын
@@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?
@bengobeil933
3 жыл бұрын
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 :)
@asdfgha
3 жыл бұрын
@@bengobeil933 Daaaamnn... I looked it up on fs for fun and profit. Looks, like I have to grasp this -.-.
Пікірлер: 22