Domanda

Al momento mi sto solo usando Haddock ma dopo aver visto alcuni esempi davvero interessanti (ad esempio questo succo ) di leggere e scrivere Haskell, sono interessato a cercare fuori in un progetto.

Le domande che ho ricevuto, sono i seguenti:

  • Cosa si fa a scrivere come commenti Haddock e ciò che si scrive nella parte alfabetizzati?

  • Come si fa a scalare di programmazione letterata di più file? Qualcuno mi può punto ad un esempio in cui la programmazione letterata è utilizzato in un pacchetto con più moduli? Qual è la vostra esperienza di utilizzo di programmazione letterata in pacchetti più grandi?

  • Quali sapore (mark-down, lattice, ...) è preferito di leggere e scrivere Haskell?

  • Perché si sta programmando in alfabetizzati Haskell o plain vanilla Haskell? Stai programmando in entrambi gli stili e se sì perché?

  • Si preferisce blocco in stile (\begin{code}) o in stile Bird (>)? Perché?

È stato utile?

Soluzione

Ho usato per scrivere un sacco di alfabetizzate programmi .

  

Cosa si fa a scrivere come commenti Haddock e ciò che si scrive nella parte alfabetizzati?

Il API esterna documentazione va nelle commenti Haddock. Tutto il resto va in parte leggere e scrivere. "Tutto il resto" potrebbe includere:

  • invarianti interne di strutture di dati
  • Perché che si sta facendo le cose in questo modo
  • Quello che il progettazione del codice è
  • Perché questo disegno è stato scelto, quello che altri disegni sono stati processati e trovato mancante
  

Come si scala di programmazione letterata a più file?

Lo stesso modo in cui si scala un grande documento LaTeX a più file:. Un file per modulo, quindi un file gigante che \includes tutti

  

Qualcuno può punto me un esempio in cui la programmazione letterata è utilizzato in un pacchetto con più moduli?

Non è Haskell, ma il href="http://www.cminusminus.org/qc--.html" rel="noreferrer"> rapida C-- compilatore è un grande programma funzionale

  

Qual è la vostra esperienza di utilizzo di programmazione letterata in pacchetti più grandi?

programmazione literate funziona molto bene per documentare moduli difficili, difficili o complesse. Per la maggior parte dei moduli semplici, la documentazione API esterna (ad esempio, Haddock) è sufficiente. E nessun programma alfabetizzata è davvero per darvi il quadro di un progetto che contiene più di una dozzina di moduli. Per questo avete bisogno di altri strumenti e tecniche.

  

Quali sapore (mark-down, lattice, ...) è preferito di leggere e scrivere Haskell?

Se stai facendo un investimento importante come, mi piacerebbe sicuramente andare con LaTeX solo a causa della capacità di matematica e l'generalmente maggiore potenza dello strumento.

  

Perché si sta programmando in alfabetizzati Haskell o plain vanilla Haskell? Stai programmando in entrambi gli stili e se sì perché?

Il mio codici Haskell sono quasi sempre tutti plain vanilla, per due motivi:

  

Si preferisce blocco in stile (\ begin {code}) o in stile Bird (>)? Perché?

Io preferisco fortemente lo stile di blocco:

  • E 'grosso modo compatibile con ogni altro strumento alfabetizzati-programmazione del pianeta. (Tracce uccelli sono unici per Haskell.)

  • Il mio editore piviali migliori con lo stile di blocco.

Altri suggerimenti

Se avete intenzione di programmi di condivisione su internet, ho trovato una combinazione di Haskell alfabetizzati in stile mark-down con mathjax di essere una grande combinazione. Il programma di "Pandoc" è seriamente brillante per prendere questo "riduzione dei prezzi + ss" in qualsiasi formato che desiderate, tra cui PDF o HTML. Se dite Pandoc per l'output HTML, è possibile utilizzare il -mathjax (o altre bandiere simili, se si preferisce) di avere le formule matematiche lattice rendono.

Quando si utilizza questo stile, trovo stile uccello ad essere preferibile perché solo è più leggibile per me e sembra adattarsi con lo stile Markdown meglio.

La cosa grandiosa di utilizzare Pandoc con Markdown è che è possibile aggiungere le citazioni al codice, formule matematiche, e hanno un formato realmente portatile. È possibile costruire qualcosa che assomiglia ad un documento di ricerca scientifica, ma è eseguibile e può anche essere inviato a blog / wiki / siti web.

Per dare un punto di un'alternativa a Norman in cui dice che la programmazione alfabetizzati è utile per la disposizione del codice più chiaro, si potrebbe sostenere che Haskell è sufficientemente espressivo che i problemi si risolvono con il codice sono in realtà interessante e può davvero trarre beneficio da essere circondati con testo esplicativo. Pensate ad un documento di ricerca matematica. Le buone carte in matematica pura hanno un sacco di testo per spiegare la motivazione o di livello superiore interpretazioni di ciò che i mezzi notazione matematica. In un documento sulle equazioni di Navier-Stokes, per esempio, sarebbe super utile per circondare la notazione delle equazioni con il testo che spiega come si riferisce alla conservazione del momento di Newton.

In sintesi, ho avuto un buon successo con, e raccomandare, utilizzando lo stile di riduzione dei prezzi + sx, segno del dollaro per le formule matematiche incorporare lattice, stile dell'uccello, e Pandoc. Suggerirei la scrittura di programmi come se fossero documenti di ricerca e trattare la Haskell stesso come si farebbe con espressioni matematiche in un documento di ricerca.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top