[Haskell-cafe] Very binding semicolon
Branimir Maksimovic
branimir.maksimovic at gmail.com
Tue Sep 28 10:20:41 UTC 2021
Nice ++ returns list so no issue. list concat reverse of same list.
Clear. No need for empty case as it is already covered
Greets, Branimir.
> On 28.09.2021., at 12:00, Anthony Clayden <anthony.d.clayden at gmail.com> wrote:
>
> From the department of improbable syntax/I don't get how this works, but it does:
>
> > f :: [a] -> [a]
> > ;; f xs = xs ++ reverse xs
>
> Nicely (to my eye) groups/indents the binding under the signature. Especially handy with ScopedTypeVariables, to show how the scoped vars 'belong'
>
> > f :: forall a. [a] -> [a]
> > ;; f xs = xs ++ ys
> > where
> > ys :: [a]
> > ys = reverse xs
>
> The doubled `;;` stands out like a ditto. It could be a single semicolon (which means there's an empty decl/binding between the semis -- I don't see that's allowed by the syntax).
>
> Unfortunately, for multi-line bindings you need to repeat the `;;`
>
> > f :: [a] -> [a]
> > ;; f [] = []
> > ;; f xs = xs ++ reverse xs
>
> _______________________________________________
> Haskell-Cafe mailing list
> To (un)subscribe, modify options or view archives go to:
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
> Only members subscribed via the mailman list are allowed to post.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20210928/ebeb701e/attachment.html>
More information about the Haskell-Cafe
mailing list