J'apprends un peu typées Racket au moment et j'ai un dilemme quelque peu philosophique:dactylographié Racket Optimizer
Racket prétend être un cadre de développement du langage et dactylographié Racket est une de ces langues mises en œuvre sur le dessus de celui-ci. La documentation mentionne qu'en raison des types utilisés, le compilateur peut maintenant faire des optimisations plus/meilleures.
La question concrète:
Où ces optimisations se produisent?
1) Dans la compilation/élargir la partie (qui est "programmable" dans le cadre du cadre de renforcement de la langue)
-ou-
2) en aval de la ligne dans l'optimiseur (bytecode) (qui est écrit en C et non directement modifiable via le framework). Si 2) est vrai, cela signifie-t-il que l'information de type est perdue après l'étape de compilation/expansion et plus tard «reconstruite/devinée» par l'optimiseur ou la représentation intermédiaire a-t-elle été modifiée? étapes à leur sujet? La raison pour laquelle je pose cette question spécifique est parce que je veux avoir une idée de la généralité du cadre de langage Racket, c'est-à-dire aussi viable pour les langages statiquement typés sans aucune modification dans le backend par rapport au système de type. une chose frontale, alors que le code à l'exécution est toujours dynamiquement typé (mais statiquement vérifié bien sûr).
Merci.
Cela répond à tout ce que je voulais savoir! THX! – Lazarus535