un système de types est un ensemble de règles qui attribuent une propriété appelée type aux différentes constructions (telles que des variables, des expressions, des fonctions ou des modules) dont un programme informatique est composé.
J'ai lu quelques articles sur Internet sur le choix du langage de programmation dans l'entreprise. Récemment, de nombreux langages typés dynamiques ont été populaires, à savoir Ruby, Python, PHP et Erlang. Mais de nombreuses entreprises conservent encore des langages à typage statique tels que C, C ++, C # et …
J'étudie Haskell dans le but de comprendre la programmation fonctionnelle, dans l'espoir d'appliquer les connaissances que j'ai acquises dans d'autres langues (Groovy, Python, JavaScript principalement.) J'ai choisi Haskell parce que j'avais l'impression qu'il est très purement fonctionnel et ne permet pas de dépendre de l'État. Je n'ai pas choisi d'apprendre …
J'ai lu une question connexe. Existe-t-il des modèles de conception inutiles dans les langages dynamiques comme Python? et je me suis souvenu de cette citation sur Wikiquote.org La chose merveilleuse à propos de la frappe dynamique est qu'elle vous permet d'exprimer tout ce qui est calculable. Et les systèmes de …
L'introduction de la nouvelle notation lambda (voir par exemple cet article ) dans Java 8 va-t-elle nécessiter une sorte d'inférence de type? Si tel est le cas, quel sera l'impact du nouveau système de types sur le langage Java dans son ensemble?
Je sais que c'est une question très large, ambiguë et peut-être philosophique. Dans une certaine mesure, le mot-clé le plus important de la question - système de type «fort» - lui-même est mal défini . Alors, laissez-moi essayer d'expliquer ce que je veux dire. Contexte général de la question Nous …
Voulez-vous améliorer ce post? Fournissez des réponses détaillées à cette question, y compris des citations et une explication de la raison pour laquelle votre réponse est correcte. Les réponses sans suffisamment de détails peuvent être modifiées ou supprimées. Il est communément admis que les génériques Java ont échoué de plusieurs …
Il semble que tous les nouveaux langages de programmation ou du moins ceux qui sont devenus populaires utilisent l'inférence de type. Même Javascript a obtenu des types et des inférences de types via diverses implémentations (Acscript, typescript, etc.). Cela me semble bien, mais je me demande s'il y a des …
Fermé . Cette question est basée sur l'opinion . Il n'accepte pas actuellement de réponses. Voulez-vous améliorer cette question? Mettez à jour la question afin d'y répondre avec des faits et des citations en modifiant ce message . Fermé il y a 4 ans . Dans l'article d'Eric Lippert Qu'est-ce …
Lors de la conception et implenting un langage de programmation orienté objet, à un un point doit faire un choix sur la mise en œuvre des types fondamentaux (comme int, float, doubleou équivalents) sous forme de classes ou autre chose. De toute évidence, les langages de la famille C ont …
Je suis un peu confus quant à la différence entre les systèmes de type nominal et structurel. Quelqu'un peut-il expliquer en quoi ils diffèrent? D'après ce que je comprends: Nominal: la compatibilité des types est basée sur le nom du type. Structurel: la compatibilité de type est basée sur la …
Remarque: Lorsque j'ai utilisé "complexe" dans le titre, je veux dire que l'expression a de nombreux opérateurs et opérandes. Non pas que l'expression elle-même soit complexe. J'ai récemment travaillé sur un simple compilateur pour l'assemblage x86-64. J'ai terminé la partie frontale principale du compilateur - lexer et analyseur - et …
J'ai lu que Hindley-Milner ne fonctionne pas avec les systèmes de types qui ont des sous-classes, et il existe d'autres fonctionnalités de système de types qui ne fonctionnent pas bien avec. Go n'a actuellement qu'une inférence de type très limitée dans l' :=opérateur. Mais Go n'a pas de sous-classes au …
Y a-t-il des raisons théoriques à cela (comme que la vérification de type ou l'inférence de type deviendrait indécidable) ou des raisons pratiques (trop difficiles à mettre en œuvre correctement)? Actuellement, nous pouvons envelopper des choses newtypecomme newtype Pair a = Pair (a, a) puis avoir Pair :: * -> …
Lorsque vous expliquez le combinateur Y dans le contexte de Haskell, il est généralement noté que l'implémentation simple ne vérifie pas le type dans Haskell en raison de son type récursif. Par exemple, à partir de Rosettacode : The obvious definition of the Y combinator in Haskell canot be used …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.