2012-12-16 12 views
5

Trovo che io sia spesso incoerente su quanto indentino le cose, dove inserisco nuove righe, ecc. Esistono linee guida ufficiali o ampiamente seguite su come uno spazio bianco di layout debba essere inserito in Haskell? Nota che non sto chiedendo cosa è legale; Sto chiedendo che cosa è buona pratica, sulla falsariga di Good Haskell coding style of if/else control block?, ma molto più in generale. Sono particolarmente interessato a sapere cosa fanno le persone con i blocchi, i blocchi, i blocchi e le istruzioni caso, specialmente quando tali elementi sono nidificati l'uno nell'altro o all'interno di diverse definizioni di funzione.Stile rientranza Haskell

+1

[Indentazione] (http://en.wikibooks.org/wiki/Haskell/Indentation) su Wikibooks dovrebbe coprire quello che stai cercando. –

+13

[Ecco un buona serie di linee guida generali sullo stile Haskell, incluso il rientro] (https://github.com/tibbe/haskell-style-guide/blob/master/haskell-style.md). – hammar

+1

@David: si tratta di ciò che è legale, non di ciò che è buona pratica – Mohan

risposta

1

Un piccolo pungolo se posso.

Principalmente mi piace la linea guida collegata a hammar. Ma, mi piace questo stile:

send :: Socket 
    -> ByteString 
    -> IO Int 

Preferisco di gran lunga

send :: 
    Socket -> 
    ByteString -> 
    IO Int 

In quest'ultimo stile, gli argomenti e il risultato un aspetto diverso (gli argomenti hanno -> s dopo di loro).

Mi piace di più. Le persone potrebbero non essere d'accordo ed è principalmente solo questione di gusti personali. Purtroppo l'eglef hack sembra supportare solo il precedente stile :(

+1

Mi chiedo anche se la regola 80 caratteri per riga ci sia in retrospettiva di pe ople che ha bisogno di perforare la loro fonte haskell sulle carte? – Ingo

+0

@Ingo A mio parere, i limiti delle colonne utilizzano meglio lo spazio. In genere metto diverse colonne di testo affiancate sullo schermo. – Heatsink

+0

@Heatsink molto vero. Ma perché 80? Perché non 72 o 96? – Ingo

Problemi correlati