Questions liées à la conception, l'implémentation et l'analyse des langages de programmation. PAS pour des questions sur la programmation, qui sont hors sujet sur ce site.
Je me demande s'il y a des expériences qui montrent l'existence ou la non-existence d'une corrélation entre l'utilisation d'un langage dynamique (comme Python, Ruby ou même des langages qui s'exécutent sur la plate-forme Java comme Groovy, Clojure) sur un langage statique (comme C / C ++), et la différence de …
Dans un récent article du CACM [1], les auteurs présentent une implémentation des fonctions par étapes . Ils utilisent le terme comme s'il était bien connu, et aucune des références ne ressemble à une introduction évidente. Ils donnent une brève explication (l'accent est mis sur le mien et le numéro …
Dans le même esprit que cette déclaration d' Andrej Bauer dans cette réponse La communauté Haskell a développé un certain nombre de techniques inspirées de la théorie des catégories, dont les monades sont les plus connues mais ne doivent pas être confondues avec les monades . Quelle est la relation …
C'est une question naïve et, par conséquent, peut-être malformée, donc excuses à l'avance! À mon avis, une machine de Turing peut être considérée comme la base de calcul des langages de programmation procéduraux / impératifs. De même, le lambda calcul est le fondement des langages de programmation fonctionnels. J'ai récemment …
Par recommandation, je republie cela à partir de Stack Overflow . Récemment, j'ai réfléchi au problème suivant. Considérez le code pour un standard "Bonjour tout le monde!" programme: main() { printf("Hello World"); } Maintenant, presque tout changement dans ce code le rendra complètement inutile, en fait presque chaque changement empêchera …
Je pensais donc au fonctionnement des ramasseurs d'ordures et j'ai pensé à un problème intéressant. Vraisemblablement, les ramasseurs d'ordures doivent traverser toutes les structures de la même manière. Ils ne peuvent pas savoir le temps qu'ils parcourent une liste chaînée ou un arbre équilibré ou autre. Ils ne peuvent pas …
Je voudrais poser quelques questions sur le langage de l'Assemblée. Ma compréhension est qu'il est très proche du langage machine, ce qui le rend plus rapide et plus efficace. Étant donné que différentes architectures informatiques existent, cela signifie-t-il que je dois écrire du code différent dans Assembly pour différentes architectures? …
En bref: comment les systèmes de types sont-ils classés dans des contextes académiques; en particulier, où puis-je trouver des sources fiables qui rendent les distinctions entre les différents types de système de types clairs? Dans un sens, la difficulté avec cette question n'est pas que je ne trouve pas de …
Je sais que, dans les langages de programmation impératifs, une boucle while-do est suffisante comme construction de flux de contrôle pour rendre le langage Turing complet (en ce qui concerne le flux de contrôle - bien sûr, nous avons également besoin d'une mémoire illimitée et de certains opérateurs ...) . …
Peut-être que ma compréhension limitée du sujet est incorrecte, mais c'est ce que je comprends jusqu'à présent: La programmation fonctionnelle est basée sur Lambda Calculus, formulée par Alonzo Church. La programmation impérative est basée sur le modèle de machine Turing, fabriqué par Alan Turing, étudiant de Church. Le calcul lambda …
Quelle est la différence entre un langage de programmation et un langage de script? Par exemple, considérons C contre Perl. La seule différence est que les langages de script nécessitent uniquement l'interpréteur et ne nécessitent pas de compilation et de liaison?
Dans le célèbre essai de Richard Gabriel, The Rise of Worse is Better , il met en contraste les versions caricaturales des philosophies de conception du MIT / Stanford (Lisp) et du New Jersey (C / Unix) selon les axes de la simplicité, de l'exactitude, de la cohérence et de …
Étant donné un système de transition étiqueté , où est un ensemble d'états, est un ensemble d'étiquettes et est une relation ternaire. Comme d'habitude, écrivez pour . La transition étiquetée indique que le système dans l'état change d'état en avec l'étiquette , ce qui signifie que est une action observable …
Notre professeur nous a demandé de penser à une fonction dans OCaml qui a le type 'a -> 'b c'est-à-dire une fonction d'un argument qui pourrait être n'importe quoi, et qui peut retourner un autre chose. J'ai pensé à utiliser raisedans une fonction qui ignore son argument: let f x …
Je commence une recherche bibliographique personnelle sur les algorithmes de vérification de type et souhaite quelques conseils. Quels sont les algorithmes, stratégies et techniques générales de vérification de type les plus couramment utilisés? Je m'intéresse particulièrement aux algorithmes de vérification de type complexes qui ont été implémentés dans des langages …
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.