Ich bin in den Scheme Compiler Stalin. Es ist groß und komplex. Außerdem, wenn ich richtig verstanden habe, plante der Autor, eine Reihe von Papieren zu schreiben, die Aspekte der Implementierung aufzählten, kam aber nie dazu, das zu tun.Globale Art Inferenz in der Scheme-Compiler Stalin
Der Aspekt von Stalin, an dem ich interessiert bin, ist die globale Typinferenz: die Art der Dinge basierend auf ihrer Verwendung an anderen Stellen im Programm abzuleiten. Macht Stalin das wirklich? Wenn ja, wie und wo in seiner Codebasis? Verwendet es eine Variante/Erweiterung eines Hindley-Milner-Algorithmus?
Haben Sie [dieses Q/A-Paar bei cstheory.SE gesehen] (http://cstheory.stackexchange.com/questions/9765/the-stalin-compiler-brutally-optimes-but-how)? Es deutet im Grunde darauf hin, dass Stalin nicht von Typen als solchen "aufbauen" muss, sondern bereits alles über den Wert und seine Verwendung ableitet. – Leushenko
@Leushenko danke! Ich denke, Sie haben recht: Es scheint, dass dieser Compiler das Konzept der Typen "überspringt" und an primitiven Dateityp-Versendungen arbeitet. – yotsov