Lambda World 2019 - Painless software development with Haskell - Paweł Szulc

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

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

  • @maxg3626
    @maxg3626 4 หลายเดือนก่อน

    that's why I'm in love in Haskell

  • @treseymour5788
    @treseymour5788 3 ปีที่แล้ว +9

    Just wow! I was already interested in Haskell, now I'm really interested. Thanks so much!

    • @jameskim4274
      @jameskim4274 ปีที่แล้ว

      Before you start with cabal))

  • @vertie2090
    @vertie2090 4 ปีที่แล้ว +8

    Servant is truly a blessing in Haskell

  • @meneereenhoorn
    @meneereenhoorn 4 ปีที่แล้ว +3

    I giggled at "maybe extend your haskell knowledge"

  • @ycombine1053
    @ycombine1053 2 ปีที่แล้ว +1

    Servent seems really cool. But polysemy did not click at all with me.

  • @nilp0inter2
    @nilp0inter2 5 ปีที่แล้ว +4

    Great talk!

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

    Heh. You spelled "painful" wrong.

  • @adorinadorin
    @adorinadorin 2 ปีที่แล้ว

    Intriguing...

  • @sasek118
    @sasek118 2 ปีที่แล้ว

    Reksio

  • @DanyilDvorianov
    @DanyilDvorianov 2 ปีที่แล้ว

    So Polysemy is the same as free monads (freer library)? Or what is the difference?

    • @murakas55
      @murakas55 2 ปีที่แล้ว +2

      The readme says "It's like freer-simple but more powerful", unfortunately don't know what that "more powerful" means there :)

  • @michaelkohlhaas4427
    @michaelkohlhaas4427 2 ปีที่แล้ว

    *Thank you!*

  • @valcron-1000
    @valcron-1000 4 ปีที่แล้ว +4

    I lost him at polysemy. Guess I need to learn GADTs

    • @vertie2090
      @vertie2090 4 ปีที่แล้ว +2

      no you don't actually need algebraic effects. Servant works greatly without them, and I don't see so much benefit of abstracting your code with them right now.

    • @mccGoNZooo
      @mccGoNZooo 3 ปีที่แล้ว +4

      You rightly lost him at polysemy. Just use `ReaderT env m` (RIO) and use type classes to constrain effects on `m` when you need to. polysemy itself isn't bad, but this constant churn w/ people re-implementing algebraic effects is a part of in-community hipsterism more than anything. `ReaderT` solves almost all practical problems app developers stumble upon but some people aren't interesting in just solving problems. More power to them, but leave them in their corners to do their thing and focus on being productive.
      If you haven't, read "The ReaderT Design Pattern" by FP-complete/Michael Snoyman and process it and realize it basically will cover almost all use cases you've ever had.

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

      @@mccGoNZooo the most wholesome comment I've read in a while. Couldn't agree more.

    • @monad42
      @monad42 2 ปีที่แล้ว

      @@mccGoNZooo Just ran across this. I see the statement *something* solves almost all practical problems. You stated that *something* was ReaderT, and long ago that *something* once was stated by others to be assembly language, procedural programming, global mutable states, you name it. I am not necessarily against the ReaderT pattern, but deep in its nature, ReaderT Config IO is just trying to write impure-by-default programs with read only global variables. It might just work, but that does not imply we should live with it. I recall SPJ once said something like "it is better for Haskell not to get very popular", because wide adoption will almost always bring in many users (usually big enterprises) who constantly pull back on the evolution of the language.

  • @jameskim4274
    @jameskim4274 ปีที่แล้ว

    Rename it to "Painless software development with cabal")

  • @michakobukowski1309
    @michakobukowski1309 ปีที่แล้ว +2

    Maybe it is painless later. But to setup Haskell on the computer is excruciating. I could never figure out how to do it correctly. Always a bunch of installation errors. Ghcup, stack, doesn't matter. You will loose hours to make it work for a day. It'll stop working another day and you won't be able to figure out why.

    • @kiaragrouwstra4250
      @kiaragrouwstra4250 10 หลายเดือนก่อน +2

      nix adresses this (and for installing other software too)

  • @mskiptr
    @mskiptr 3 ปีที่แล้ว

    Control.Monad.Tardis

  • @kapranovoleg9995
    @kapranovoleg9995 5 ปีที่แล้ว

    Haskell not magic so elixir

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

      Apples and oranges