Hey Aaron, thanks for the tutorial!
I would be curious to know your opinion about my F# wrapper around Durable Functions: github.com/mikhailshilkov/DurableF...
Cheers!
Hi, my name’s Aaron Powell and I’m a Cloud Advocate at Microsoft. My area of specialty is front-end web dev and .NET (especially F#), but I enjoy doing silly things with technology.
Interesting approach, I'll have a play and see about implementing the post demo using the package.
So far I haven't found Durable Functions too bad with F# (lack of tooling aside) so I haven't really tried to do anything particularly "F#-y" with it.
Biggest thing I miss going from C# to F# for them is the lack of nameof support to strongly type the calls, but I see you're doing that with Typed Activities, but the Activity.define then Activity.run feels a bit like double-handling to me.
nameof isn't quite strong typing: you avoid the name typos, but still can pass anything as input and expect anything as output.
You are right about the double-handling: ideally, the tooling would make the actual Function definitions with calls to run automatically. For now, this would mean code gen, because attributes are required. Part of why I created this issue.
For further actions, you may consider blocking this person and/or reporting abuse
We're a place where coders share, stay up-to-date and grow their careers.
Hey Aaron, thanks for the tutorial!
I would be curious to know your opinion about my F# wrapper around Durable Functions: github.com/mikhailshilkov/DurableF...
Cheers!
Interesting approach, I'll have a play and see about implementing the post demo using the package.
So far I haven't found Durable Functions too bad with F# (lack of tooling aside) so I haven't really tried to do anything particularly "F#-y" with it.
Biggest thing I miss going from C# to F# for them is the lack of
nameof
support to strongly type the calls, but I see you're doing that withTyped Activities
, but theActivity.define
thenActivity.run
feels a bit like double-handling to me.nameof
isn't quite strong typing: you avoid the name typos, but still can pass anything as input and expect anything as output.You are right about the double-handling: ideally, the tooling would make the actual Function definitions with calls to
run
automatically. For now, this would mean code gen, because attributes are required. Part of why I created this issue.