@rae: Wordle #5: Unit tests, QuickCheck, and CI in Haskell

แชร์
ฝัง
  • เผยแพร่เมื่อ 21 ก.พ. 2022
  • In the process of developing a Wordle analyzer, I walk through the process of setting up a Haskell cabal file to support a testsuite, adding HUnit unit tests, QuickCheck properties, and CI support through GitHub actions. These tests are all coordinated by the tasty framework, by my Tweag colleague Roman Cheplyaka. CI is supported by the haskell-ci tool, at github.com/haskell-CI/haskell-ci
    Wordle play list: • Analyzing Wordle using...
    Find me at richarde.dev or on Twitter at @RaeHaskell
    Video index at richarde.dev/videos.html
  • วิทยาศาสตร์และเทคโนโลยี

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

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

    Thank you so much for your time and this content - this is the best series yet

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

    This is really great - thank you so much for taking the time to make this video! Btw, I know HLS isn't running here, but a couple of features I find very useful are:
    1. If you write a function that isn't imported, HLS will underline it in red. You can then click on the text, press "command ." and it will automatically add the package it should be from. This is a huge hassle saver, because you never have to go search which package a function is from.
    2. When you are writing instances, if you leave out methods, it will underline in yellow, and when you mouseover it will tell you the missing methods. So you don't even need to go into the repl to check what instances e.g. IsString should have.

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

    Excellent intro into testing, especially wrt CI integration with GitHub actions

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

    55mins of pure pleasure!

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

    Didn't know about haskell-ci. I'll be sure to take a look at it!

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

    Great video! Couple suggestions. To find executables under dist-newstyle, you can use `cabal list-bin `: it will print the path. Next, dependency versions in the cabal file can be suggested by `cabal gen-bounds` (should omit any versions first to get a suggestion).

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

    The cabal.project file seems to be created in the wrong directory...

  • @user-dn7qr7vs1h
    @user-dn7qr7vs1h 2 ปีที่แล้ว

    I think that things likea frameworks are doomed for a pure FP, unlike libraries.
    Tasty tests are not composable, impure by nature and not reusable. It is actually the dead end.

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

      What?