Questions marquées «programming-languages»

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.


1
Types de citoyen de première classe
Venant d'un arrière-plan C ++, je ne comprends pas pourquoi on a besoin de types / expressions de type en tant que citoyen de première classe? La seule langue que je connaisse qui prend en charge cette fonctionnalité est Aldor. Quelqu'un at-il de la littérature sur les types de citoyens …









3
Pourquoi l'état reste-t-il inchangé dans la sémantique opérationnelle à petite étape d'une boucle while?
Habituellement, je vois que dans la représentation sémantique opérationnelle structurelle pour la boucle while, l'état du programme ne change pas: ( W h i l eBréoS, σ) → ( i fBt h e nS; ( W h i l eBréoS)e l s eSKjeP, σ)(whileBdoS,σ)→(ifBthenS;(whileBdoS)elseSKIP,σ)(while \> B \> do \>S, \sigma) …

1
Lorsqu'il est utilisé comme pile d'appels, les piles de spaghettis sans déchets forment-elles un DAG?
J'examine les techniques d'implémentation des langages de programmation et j'ai récemment rencontré des piles de spaghetti, qui sont censées être un bon choix pour un modèle de style de passage de continuation (compte tenu de leur utilisation, par exemple, dans Scheme et SML / NJ ). Pour simplifier, considérons uniquement …

1
Qu'est-ce qu'un exemple non artificiel de vérification de type statique trop conservatrice?
Dans Concepts in Programming Languages , John Mitchell écrit que la vérification de type statique est nécessairement conservatrice (trop stricte) en raison du problème d'arrêt. Il donne comme exemple: if (complicated-expression-that-could-run-forever) then (expression-with-type-error) else (expression-with-type-error) Quelqu'un peut-il fournir une réponse non artificielle qui serait vraiment une préoccupation pratique? Je comprends …



En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.