• Caveman@lemmy.world
      link
      fedilink
      arrow-up
      10
      ·
      4 months ago

      Who’s going to write the extension so that they are all hidden and automatically inserted?

    • bss03@infosec.pub
      link
      fedilink
      arrow-up
      4
      ·
      4 months ago

      Might check out the Haskell layout rules.

      Basically, when you leave out the ‘{’ then Haskell uses your intendation to insert ‘;}’ on later lines between the leading whitespace and the first token.

      There some really old Haskell code out there that lines up the ‘{;}’ characters on the left under block-introduction keywords.

      • barsoap@lemm.ee
        link
        fedilink
        arrow-up
        4
        ·
        4 months ago

        It’s not just old Haskell code that’s how you write Haskell if you want explicit braces. Well, mostly generate, but it’s still the idiomatic formatting (and when you generate you always generate braces because it’s easy to get layout subtly wrong when generating).

        Haskell also does the whole

        data Foo = Bar
                 | Baz
                 | Quux
        
        foo = [ Bar
              , Baz
              , Quux
              ]
        

        thing, makes sense to apply it to braces especially as they’re seen only very rarely. Single-line, yes, but not multi-line.