Build your own Excel 365 in an hour with F# - Tomas Petricek

แชร์
ฝัง
  • เผยแพร่เมื่อ 14 พ.ย. 2024

ความคิดเห็น • 15

  • @bobweiram6321
    @bobweiram6321 3 ปีที่แล้ว +10

    This is the only presentation I've seen showing a real world problem solved using functional programming.

  • @ebn__
    @ebn__ 6 ปีที่แล้ว +30

    Good talk, nice to see Tomas talk about something else other than Type Providers.

  • @vuhoangdung
    @vuhoangdung 4 ปีที่แล้ว +10

    Always see him in the F# stackoverflow, first time hear his voice, very interesting :)

  • @kevinlettier5273
    @kevinlettier5273 6 ปีที่แล้ว +8

    Really great talk I'm always amazed by the review/line counting part and how Tomas thought are transpiled to code so easily

  • @josephglover4546
    @josephglover4546 5 ปีที่แล้ว +19

    **types 15 lines of code** "Now I feel tired..."
    That is exactly how I feel =)

  • @teenageoperator7246
    @teenageoperator7246 3 ปีที่แล้ว +1

    awesome! this actually helped my Elm and my FP in general

  • @neftedollar
    @neftedollar 6 ปีที่แล้ว

    But what would be happen when you'll turn back to cell that already was in set, but will reference itself?

  • @UZOCHIAPA
    @UZOCHIAPA 4 ปีที่แล้ว

    This is something

  • @tommedcouk
    @tommedcouk 6 ปีที่แล้ว

    A common pattern i often come across is Some/NoneWithError. I think as Option is so deeply nested in f#, a better way to handle this is to log/handle error details immediately and pass None back up the call stack. Anyone got a better process?

    • @jvcmarc
      @jvcmarc 5 ปีที่แล้ว +7

      I recommend you take a look at the Railway Oriented Programming
      it's a design to handle error cases in functional languages
      Scott Wlaschin has a great talk about it and a post showing a F# implementation

    • @tommedcouk
      @tommedcouk 5 ปีที่แล้ว +3

      João Vítor Costa thanks. I found this shortly after writing the comment, really useful approach to controlling flow and adapting output of a function to fit other, non-fitting functions... I’m a fan!! :)

    • @Mortizul
      @Mortizul 4 ปีที่แล้ว

      Either

    • @riccardoorlando2262
      @riccardoorlando2262 4 ปีที่แล้ว

      I believe there is a built in Error type: from a starting type 'T,
      type Error 'T =
      | Ok of 'T
      | Error of String
      (It's not really a String but you get the idea).
      You then use Map to turn 'T -> 'U functions into 'T Error -> 'U Error functions that do the right thing when no error, or propagate the error if any; and Bind to turn 'T -> 'U Error functions into 'T Error -> 'U Error ones that either do the right thing when no error and if able, propagate the error, or add their own error.

  • @rickdeckard1075
    @rickdeckard1075 6 ปีที่แล้ว

    a lot of traps in using options though...and AwaitObservable is still flaky