Question

En ce moment je suis seulement en utilisant Haddock mais après avoir vu quelques exemples très intéressants (par exemple ce point essentiel ) de Haskell lire et écrire, je suis intéressé à l'essayer dans un projet.

Les questions que j'ai, sont:

  • Qu'est-ce que vous écrivez comme commentaires Haddock et ce que vous écrivez dans la partie alphabétisés?

  • Comment l'échelle vous lire et écrire à la programmation de plusieurs fichiers? Point Quelqu'un peut-il me un exemple où la programmation littéraire est utilisé dans un paquet avec plusieurs modules? Quelle est votre expérience de l'utilisation des programmes alphabétisés dans des emballages plus grands?

  • Quelle saveur (démarquage, latex, ...) de? Lire et écrire Haskell est préférée

  • Pourquoi vous programmez en lire et écrire Haskell ou Haskell vanille? la programmation-vous dans les deux styles et si oui, pourquoi?

  • Préférez-vous le style de bloc (\begin{code}) ou de style Bird (de >)? Pourquoi?

Était-ce utile?

La solution

Je l'habitude d'écrire beaucoup de programmes alphabétisés .

  

Qu'est-ce que vous écrivez comme commentaires Haddock et ce que vous écrivez dans la partie alphabétisés?

documentation de l'API externe va dans les commentaires Haddock. Tout se passe ailleurs dans la partie alphabétisés. "Tout le reste" pourrait inclure:

  • des structures internes invariants de données
  • Pourquoi vous faites les choses de cette façon
  • Qu'est-ce que la conception du code est
  • Pourquoi cette conception a été choisi, ce que les autres modèles ont été jugés et vouloir
  

Comment comptez-vous lire et écrire l'échelle de programmation à plusieurs fichiers?

De la même façon vous redimensionnez un grand document LaTeX à plusieurs fichiers:. Un fichier par module, puis un fichier géant qui \includes tous

  

point Quelqu'un peut-il me un exemple où la programmation littéraire est utilisé dans un paquet avec plusieurs modules?

Il est pas Haskell, mais le rapide C-- compilateur est un grand programme fonctionnel ce qui est écrit en utilisant la programmation littéraire.

  

Quelle est votre expérience de l'utilisation des programmes alphabétisés dans des emballages plus grands?

La programmation littéraire fonctionne très bien pour la documentation des modules délicats, difficiles ou complexes. Pour la plupart des modules simples, la documentation de l'API externe (par exemple, Haddock) est suffisant. Et aucun programme lettré va vraiment vous donner la grande image d'un design qui contient plus d'une douzaine de modules. Pour cela, vous avez besoin d'autres outils et techniques.

  

Quelle saveur (démarquage, latex, ...) de Haskell lire et écrire est préférée?

Si vous faites un investissement important, je serais certainement aller avec LATEX seulement en raison de la capacité de calcul, et la puissance généralement plus de l'outil.

  

Pourquoi vous programmez en lire et écrire Haskell ou Haskell de vanille? la programmation-vous dans les deux styles et si oui, pourquoi?

Mon code Haskell sont presque toujours les vanilles, pour deux raisons:

  • Je travaille avec des personnes âgées qui ont plus d'expérience Haskell, et ils ont abandonné Haskell lire et écrire. Seuls les modules très anciens dans leur système ont une chance d'être .lhs.

  • Pour Haskell, la programmation littéraire est une sorte de superflu. L'un des grands avantages d'un outil de programmation littéraire est que vous êtes libéré de toute contrainte que la définition du compilateur ou la langue peut mettre de l'ordre dans lequel votre code apparaît. Mais Haskell n'a presque pas de telles contraintes: il n'y a pas de définition avant de l'utiliser, et pour une définition de fonction typique que je le choix des noms auxiliaires de liaison let ou de liaison where (ou les deux). programmation alphabétisé n'a jamais été à peu près les commentaires de fantaisie, et « lettré » Haskell qui est tout ce que vous obtenez. Il ne vaut pas la peine.

  

Préférez-vous le style de bloc (\ begin {code}) ou de style Bird (>)? Pourquoi?

Je préfère fortement le style de bloc:

  • Il est à peu près compatible avec tous les outils de programmation de lire et écrire sur la planète. (Pistes d'oiseaux sont uniques à Haskell.)

  • Mon éditeur Copes mieux avec le style bloc.

Autres conseils

Si vous avez l'intention de partager des programmes sur Internet, j'ai trouvé une combinaison de haskell lire et écrire dans le style Markdown MathJax être une grande combinaison. Le programme « Pandoc » est sérieusement brillante pour prendre cette « démarques + LHS » à tout format que vous désirez, y compris PDF ou HTML. Si vous dites Pandoc à la sortie au format HTML, vous pouvez utiliser le -mathjax (ou d'autres drapeaux similaires si vous préférez) d'avoir vos formules mathématiques de latex rendent.

Lorsque vous utilisez ce style, je trouve le style oiseau est préférable car il est tout simplement plus lisible pour moi et semble correspondre avec le style plus démarquage.

La grande chose sur l'utilisation Pandoc avec démarquage est que vous pouvez ajouter des citations à votre code, des formules mathématiques, et ont un format vraiment portable. Vous pouvez construire quelque chose qui ressemble à un document de recherche scientifique, mais est exécutable et peut également être affiché sur les blogs / wikis / sites.

Pour donner un autre point à Norman où il dit que la programmation littéraire est utile pour l'arrangement de code plus clair, on pourrait faire valoir que Haskell est assez expressif que les problèmes que vous résolvez avec le code sont en fait intéressant et peuvent vraiment profiter en étant entouré avec un texte explicatif. Pensez à un document de recherche mathématique. De bons papiers en mathématiques pures ont beaucoup de texte pour expliquer la motivation ou des interprétations plus haut niveau de ce que les moyens de la notation mathématique. Dans un article sur les équations de Navier-Stokes, par exemple, il serait super utile pour entourer la notation des équations avec un texte expliquant comment elle se rapporte à la conservation du mouvement de Newton.

En résumé, j'ai eu un bon succès avec, et recommander, en utilisant démarques + style LHS, des signes dollar à incorporer des formules mathématiques de latex, le style des oiseaux, et pandoc. Je recommande à écrire des programmes comme des documents de recherche et de traiter le haskell lui-même comme vous le feriez des expressions mathématiques dans un document de recherche.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top