Richard Feldman, "Pushing Boundaries with Roc"

Поділитися
Вставка
  • Опубліковано 25 лис 2024

КОМЕНТАРІ • 23

  • @peacememories
    @peacememories 2 роки тому +14

    One small thing about async behavior in Rust; Depending on the implementation of get_movies, it might also only start the request once the Future is polled (Rust supports push as well as pull behavior for Futures). What that doesn't change, though, is that there are still side effects instead of type encoded effects.

  •  Рік тому +4

    I am humbled and elated to see such great language design!!!
    Looking forward to see isomorphic Roc code, so we may use it for both web server and the browser.
    What about type classes and generics?

  • @airman122469
    @airman122469 Рік тому +1

    “The compiler can always infer the type.”
    Whoa. That’s pretty cool.

  • @chrisvouga8832
    @chrisvouga8832 2 роки тому +11

    I’m hyped for roc

  • @stephenkamenar
    @stephenkamenar 2 роки тому +2

    i remember using livescript all the way back before node even had async await, and you had to callback hell everything.
    livescript backcalls thing was so good

  • @anderdrache8504
    @anderdrache8504 2 роки тому +3

    Great talk, I'm looking forward to using this language more and more!

  • @C3POXTC
    @C3POXTC 2 роки тому +2

    Great talk and very interesting discussions.

  • @julianavar3836
    @julianavar3836 Рік тому

    For those interested, I recommend Koka. Really incredible language.

  • @TankorSmash
    @TankorSmash 2 роки тому

    I had the same question about running with type errors, I'd swear that I saw the check pass without warning the user about errors, but I guess not

  • @majorhumbert676
    @majorhumbert676 Рік тому

    Would we still need Elm if we have Roc with a corresponding Web UI library?

  • @RicardoValero95
    @RicardoValero95 2 роки тому

    Makes you think how necessary is to use zod, io-ts, or other parsing libraries in the js ecosystem

  • @notabene9630
    @notabene9630 2 роки тому +2

    I already know I'll use the catchall errors return "ahhhhhhhhhhhhhhhh"

  • @roteschwert
    @roteschwert Рік тому

    Does NoRedInk intend to use it in any capacity

  • @32zim32
    @32zim32 2 роки тому

    So as i understand roc somehow stores type information ay least in test env to run program without undefined behaviour?

    • @mymoomin0952
      @mymoomin0952 2 роки тому +4

      he says at 54:09 that a line with a type error is replaced with just an abort, which shouldn't require them to keep type information around at runtime

  • @strickinato
    @strickinato 2 роки тому +3

    Even in tech talks 42 years later Rodney Dangerfield don’t get no respect.

  • @johndewey7243
    @johndewey7243 2 роки тому +1

    Love it, but those numbers need to be fixed, ints and reals should be distinct. Go full numeric tower.

  • @dat7118
    @dat7118 Рік тому +1

    I believe the statement at 26:30 is incorrect about Rust. Calling `let fut = get_movies();` does not immediately fire an HTTP request. One must do `fut.await` afterwards (or just do `get_movies().await`.

  • @beeshepard
    @beeshepard 2 роки тому

    Very interesting!

  • @32zim32
    @32zim32 2 роки тому

    In PHP i can have types, IDE will complain, but I can still run the program )

    • @digitalspecter
      @digitalspecter 2 роки тому +7

      Sure, you can also have IDE perfectly happy and still get runtime type errors. That's what I want to avoid.

  • @edgeeffect
    @edgeeffect 6 місяців тому

    I don't like type-inference. "Explicit is better than implicit". Reading other people's code in languages with type-inference can sometimes be very confusing. I see type annotations as more documentation for the reader/maintainer. If a feature makes it easier to read other people's code and harder to write your own code, then reading trumps writing and it's a good feature. and If the converse is true, it's a bad feature. "Typing [as in pressing keys on the keyboard, not type-systems] is not the bottleneck".

  • @Tirka100
    @Tirka100 Рік тому

    no mutable variables == no mass adoption