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é.
Supposons que je veuille écrire une bibliothèque qui traite des vecteurs et des matrices. Est-il possible de faire cuire les dimensions dans les types, de sorte que les opérations de dimensions incompatibles génèrent une erreur au moment de la compilation? Par exemple, je voudrais que la signature du produit scalaire …
Je me demandais récemment pourquoi le mot clé a autoété choisi en C ++ 11 pour marquer une variable dont le type doit être déduit par le compilateur, comme dans auto x = 1; Puisque var semble plus courant dans d'autres langages de programmation (par exemple C #, Scala, JavaScript), …
Dans l'état actuel des choses, cette question ne convient pas à notre format de questions / réponses. Nous nous attendons à ce que les réponses soient étayées par des faits, des références ou une expertise, mais cette question suscitera probablement un débat, des arguments, des sondages ou une discussion approfondie. …
Je m'intéresse aux types d'unicité comme alternative aux monades dans les langages fonctionnels purs depuis un certain temps; malheureusement, il s'agit en quelque sorte d'un domaine ésotérique de la recherche CS et les ressources en ligne sur la programmation avec des types d'unicité sont rares. Il est évident que les …
Plus j'en apprends sur les différents paradigmes de programmation, tels que la programmation fonctionnelle, plus je commence à remettre en question la sagesse des concepts de POO comme l'héritage et le polymorphisme. J'ai appris pour la première fois l'héritage et le polymorphisme à l'école, et à l'époque le polymorphisme semblait …
Lors d'un récent projet sur lequel j'ai travaillé, j'ai dû utiliser beaucoup de fonctions qui ressemblent à ceci: static bool getGPS(double plane_latitude, double plane_longitude, double plane_altitude, double plane_roll, double plane_pitch, double plane_heading, double gimbal_roll, double gimbal_pitch, double gimbal_yaw, int target_x, int target_y, double zoom, int image_width_pixels, int image_height_pixels, double & …
Note initiale: Cette question a été fermée après plusieurs modifications car je n'avais pas la terminologie appropriée pour énoncer avec précision ce que je cherchais. Sam Tobin-Hochstadt a ensuite posté un commentaire qui m'a fait reconnaître exactement ce que c'était: des langages de programmation qui prennent en charge les types …
Je suis sûr que tout le monde connaît les méthodes génériques du formulaire: T DoSomething<T>(T item) Cette fonction est également appelée paramétriquement polymorphe (PP), en particulier PP de rang 1 . Disons que cette méthode peut être représentée à l'aide d'un objet fonction de la forme: <T> : T -> …
Si vous avez une énumération avec des valeurs uniquement (aucune méthode comme on pourrait le faire en Java), et cette énumération fait partie de la définition métier du système, doit-on écrire des tests unitaires pour cela? Je pensais qu'ils devraient être écrits, même s'ils pouvaient sembler simples et redondants. Je …
Dans les langages orientés objet qui prennent en charge les paramètres de type génériques (également appelés modèles de classe et polymorphisme paramétrique, bien que chaque nom porte bien sûr des connotations différentes), il est souvent possible de spécifier une contrainte de type sur le paramètre de type, de sorte qu'il …
Je viens de regarder cette conférence de Daniel Spiewak où il parle des avantages du typage structurel par rapport au typage nominal de Scala et Java . Un exemple de cette différence serait le code Java suivant public interface Foo { public int length(); } public interface Bar { public …
Je viens juste de terminer Learnyouahaskell l'autre jour, et j'essayais de donner un sens à la restriction du monomorphisme, comme décrit par le Haskell Wiki . Je pense que je comprends comment le MR peut empêcher des évaluations répétées, mais je ne vois pas pourquoi ces évaluations répétées ne peuvent …
En réponse à une question précédente , un petit débat a commencé sur la terminologie correcte pour certaines constructions. Comme je n'ai pas trouvé de question (autre que ceci ou cela , ce qui n'est pas tout à fait la bonne chose) pour y répondre clairement, je crée cette nouvelle …
Certains langages permettent des classes et des fonctions avec des paramètres de type (comme List<T>où Tpeut être un type arbitraire). Par exemple, vous pouvez avoir une fonction comme: List<S> Function<S, T>(List<T> list) Cependant, certaines langues permettent d'étendre ce concept d'un niveau supérieur, vous permettant d'avoir une fonction avec la signature: …
Haskell a une notion de «fonctions génériques» qui a une certaine similitude apparente avec le lisp commun - n'ayant aucune expérience avec Haskell ni avec le lisp commun, je pourrais être très approximatif ici. Cela signifie que l'on peut définir une fonction générique to_stringpour définir une représentation sous forme de …
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.