If we were to create a Rust version of this page for Haskell, what cool programming techniques would you add to it?

    • barsoap@lemm.ee
      link
      fedilink
      arrow-up
      0
      ·
      7 days ago

      That makes complete sense. Ranges implement fmt::Debug, .. is a range, in particular the full range (all values) ..= isn’t because the upper bound is missing but ..=.. ranges from the beginning to the… full range. Which doesn’t make sense semantically but you can debug print it so add a couple more nested calls and you get a punch card.

      I totally didn’t need the Rust playground to figure that out.

      • SorteKanin@feddit.dk
        link
        fedilink
        arrow-up
        0
        ·
        7 days ago

        It’s a test for the compiler which ensures that these legal yet extremely weird expressions continue to compile as the compiler is updated. So there is a purpose to the madness but it does still look pretty funny.

        • nilloc@discuss.tchncs.de
          link
          fedilink
          English
          arrow-up
          0
          ·
          6 days ago

          That’s make sense. We used to write some ridiculous tests too, but users still managed to find a way

          
          fn union() {
              union union<'union> { union: &'union union<'union>, }
          }
          
          

          Is my favorite.