Bon, il y a deux choses : langage compilé, et langage fonctionnel.
Le langage est compilé : il va etre traduit en code binaire, le compilateur s'assure que ton code est syntaxiquement correct (pas de syntax error), puis qu'il est grammaticalement correct (int int = int; est syntaxiquement correct dans de nombreux langages, mais est souvent grammaticalement incorrect car int est un mot clef souvent réservé).
Dans un langage fonctionnel, toute instruction retourne une valeur. Cette valeur est typée (int, char, array, etc.) et donc le compilateur peut suivre les appels et vérifier que ton programme est cohérent.
En étendant le systeme de typage, on peut considérer une balise comme un type et donc vérifier aussi la cohérence de ta page, ton form, ton cookie, etc.
Dans le cas particulier d'OCaml (il y a plusieurs langages de prog fonctionnels), le compilateur est capable de deviner tous les types que tu utilise dans tes appels.
Cela veut dire que une fois que ton compilateur a vu juste, tu a probablement utilisé correctement les fonctions voulues.
Ocaml permet aussi de faire des expressions qui ne retournent RIEN (car rien est un type ;-) ), c'est le coté pragmatique dont parle la dépeche. Je ne sais pas en quoi c'est utile dans Ocsigen, mais ca doit bien l'etre quelque part.
[^] # Re: Précisions sur la facilité de maintenance?
Posté par mackwic . En réponse à la dépêche Ocsigen : repenser le développement des applications HTML5. Évalué à 0.
Bon, il y a deux choses : langage compilé, et langage fonctionnel.
Le langage est compilé : il va etre traduit en code binaire, le compilateur s'assure que ton code est syntaxiquement correct (pas de syntax error), puis qu'il est grammaticalement correct (
int int = int;est syntaxiquement correct dans de nombreux langages, mais est souvent grammaticalement incorrect carintest un mot clef souvent réservé).Dans un langage fonctionnel, toute instruction retourne une valeur. Cette valeur est typée (int, char, array, etc.) et donc le compilateur peut suivre les appels et vérifier que ton programme est cohérent.
En étendant le systeme de typage, on peut considérer une balise comme un type et donc vérifier aussi la cohérence de ta page, ton form, ton cookie, etc.
Dans le cas particulier d'OCaml (il y a plusieurs langages de prog fonctionnels), le compilateur est capable de deviner tous les types que tu utilise dans tes appels.
Cela veut dire que une fois que ton compilateur a vu juste, tu a probablement utilisé correctement les fonctions voulues.
Ocaml permet aussi de faire des expressions qui ne retournent RIEN (car rien est un type ;-) ), c'est le coté pragmatique dont parle la dépeche. Je ne sais pas en quoi c'est utile dans Ocsigen, mais ca doit bien l'etre quelque part.