Ich kann eine einfache Funktion im nicht typisierten Racket namens Ein laufendes Beispiel für die obige Funktion finden Sie in diesem Code-Schnipsel . Dies ist eine gültige Funktion, aber ich bin mir nicht sicher, ob es sogar möglich ist, Typed Racket aufgrund seiner polymorphen Typisierungskonstrukte einzugeben. Der Typ von Ich habe einen relativ einfachen Versuch unternommen, diese Funktion zu tippen, obwohl mir klar war, dass sie nicht so funktionieren würde, wie ich es wollte: Offensichtlich funktioniert das, wenn alle Funktionen identische Typen haben (was nicht wertlos ist!), aber es scheitert, wenn sie verschiedene Artigkeiten haben, selbst wenn die Typen ihrer ersten Argumente geteilt werden. Gibt es eine Möglichkeit, den Typ dieser Funktion anzugeben, damit sie in einem allgemeineren Fall funktioniert? curry-all
schreiben, die eine Liste von Funktionen übernimmt, die alle die gleiche Art von Wert für ihr erstes Argument akzeptieren und eine Liste von Funktionen mit ihren ersten Argumenten curried curry
selbst ist bereits ziemlich komplex, und offensichtlich müsste der Typ von curry-all
notwendigerweise komplexer sein.
Tags und Links types scheme racket parametric-polymorphism typed-racket