Ich lerne etwas typisierten Schläger im Moment, und ich habe ein etwas philosophisches Dilemma:typisiert Racket Optimizer
Racket behauptet, ein Sprachentwicklungsrahmen und typisiert Racket ist eine solche Sprachen auf es umgesetzt werden. Die Dokumentation erwähnt, dass der Compiler aufgrund der verwendeten Typen nun mehr/bessere Optimierungen vornehmen kann.
Die konkrete Frage:
Wo passieren diese Optimierungen?
1) Bei der Kompilierung/erweitert Teil (die "Programmable" als Teil des Sprachgebäuderahmen ist)
-oder
2) weiter unten in der Linie in dem (Bytecode) Optimierer (welches in C geschrieben ist und nicht direkt über das Framework modifizierbar ist).
Wenn 2) wahr ist, bedeutet das, dass die Typinformationen nach dem Kompilieren/Erweitern und später vom Optimierer "neu erstellt/erraten" wurden oder die Zwischenrepräsentation geändert wurde, um die Typinformationen aufzunehmen und später zu informieren Stadien über sie? Der Grund, warum ich diese spezielle Frage stelle, ist, weil ich ein Gefühl dafür bekommen möchte, wie allgemein das Racket-Sprachframework wirklich ist, dh auch für statisch getippte Sprachen ohne irgendwelche Modifikationen im Backend gegenüber dem Typsystem, das nur ist ein Front-End-Ding, während der Code zur Laufzeit noch dynamisch typisiert ist (aber natürlich statisch überprüft wird).
Vielen Dank.
Dies beantwortet alles, was ich wissen wollte! Danke! – Lazarus535