42 votes

Par où commencer avec la programmation de type dépendante?

Il y a un Idris tutoriel, un Agda tutoriel et beaucoup d'autres style didacticiel documents et de matériel d'introduction à ne jamais se terminant références à des choses encore à apprendre. Je suis une sorte de ramper au milieu de tous ces et la plupart du temps, je suis coincé avec des notations mathématiques et la nouvelle terminologie apparaissant soudain, sans aucune explication. Peut-être que mes maths chouette :-)

Est-il de toute façon disciplinée à l'approche dépendante du type de programmation? Comme quand vous voulez apprendre Haskell, vous commencez avec "Enseignez-vous un Haskell", quand vous voulez apprendre Scala, vous commencez avec Odersky du livre, pour Ruby, vous avez bien lu bizarre tutoriel avec muté bugs. Mais je ne peux pas commencer à Agda ou Idris avec leurs livres. Ils sont bien au-dessus de ma tête. J'ai essayé de Coq et s'est coincé dans son ensemble-sur-teorm-prouvant style. Agda nécessite un énorme formation en mathématiques et Idris, eh bien, laissons cela pour l'instant!

Je comprends statique des systèmes de type très bien, je suis une sorte de compétent avec la Scala et je peux l'utiliser Haskell si nécessaire. Je comprends le Paradigme Fonctionnel et de l'utiliser au jour le jour, je comprends Types de Données Algébriques et les GADTs (assez bien fait) et j'ai récemment réussi à comprendre le Lambda Cube. Je suis en manque dans les mathématiques et la logique des pièces, cependant.

29voto

Dan Burton Points 26639

Je vous recommande fortement de Logiciels Fondations. Ce livre est assez bonne à l'introduction à Coq une étape à la fois. Il y a beaucoup de démonstration, oui, mais cela fait partie de la délicatesse de la des types dépendants. C'est un grand sentiment quand la ligne entre "programmation" et "prouver" commence à s'estomper.

Je suis en manque dans les mathématiques et la logique des pièces, cependant.

Je pense que le Logiciel de Fondations fait un assez bon travail de vous conduire jusqu'à la vitesse de la logique que vous devez savoir. Déjà à l'aise avec le concept d'implication aide, cependant.

21voto

(Avis: C'est une prophétie qui annonce)

Je suis en train d'écrire un Agda tutoriel et mon objectif principal est de laisser les gens jouer avec Agda sans arrière-plan théorique.

Ce tutoriel peut résoudre la plupart de vos problèmes de:

  • tente d'expliquer Agda de programmation sans références externes
  • nécessite seulement de l'école secondaire mathemtaics
  • essaie d'enseigner les pratiques de programmation aussi

Il est en cours de développement, mais la première moitié est une sorte de prêt.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X