2012-12-16 15 views
5

Uważam, że często nie zgadzam się z tym, ile wciskam rzeczy, gdzie umieszczam nowe linie, itp. Czy istnieją oficjalne lub szeroko stosowane wytyczne dotyczące tego, jak należy układać białe znaki w Haskell? Zauważ, że nie pytam, co jest legalne; Pytam, co jest dobrą praktyką, na wzór Good Haskell coding style of if/else control block?, ale o wiele bardziej ogólnie. Szczególnie zależy mi na tym, aby wiedzieć, co ludzie robią z blokami do-do, let-blocks, where-blocks i case-case, zwłaszcza gdy takie rzeczy są zagnieżdżone w sobie lub w kilku definicjach funkcji.Styl wcięcia Haskella

+1

[Wcięcie] (http://en.wikibooks.org/wiki/Haskell/Indentation) na Wikibooks powinien pokrywać to, czego szukasz. –

+13

[Tutaj jest dobry zestaw ogólnych wytycznych w stylu Haskella, w tym wcięcia) (https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md). – hammar

+1

@ David: chodzi o to, co jest legalne, a nie o to, co dobra praktyka: – Mohan

Odpowiedz

1

Mały dzióbek, jeśli mogę.

Głównie podoba mi się powiązanie z hammarem. Ale ja naprawdę lubię ten styl:

send :: Socket 
    -> ByteString 
    -> IO Int 

wolę

send :: 
    Socket -> 
    ByteString -> 
    IO Int 

W tym ostatnim stylu, argumenty i wynik wyglądać inaczej (argumenty mają -> s po nich).

Podoba mi się to lepiej. Ludzie mogą się nie zgadzać, a to głównie sprawy osobiste. Niestety, łupek afaik wydaje się wspierać tylko poprzedni styl :(

+1

Zastanawiam się również, czy 80-znakowa reguła na linię jest dostępna po fakcie opluć tę potrzebę uderzenia swoim haskellem na karty? – Ingo

+0

@Ingo Moim zdaniem, limity kolumn lepiej wykorzystują przestrzeń. Zazwyczaj umieszczam kilka kolumn tekstu obok siebie na ekranie. – Heatsink

+0

@Heatsink bardzo prawdziwe. Ale dlaczego 80? Dlaczego nie 72 lub 96? – Ingo