Ich arbeite an einem Compiler und bin auf der Suche nach einer Bibliothek, die eine Typüberprüfung für mich durchführen kann. Bis jetzt habe ich nichts nützliches gefunden=/ Kennt jemand gute Bibliotheken zur Typüberprüfung? Ich benutze Haskell, aber ich würde jede andere Sprache in Betracht ziehen, wenn die Bibliothek gut ist=)
Antworten
Zu viele Anzeigen?Es könnte Bibliotheken geben, die bei Teilen der Typprüfung helfen, besonders wenn Sie wirklich eine Typprüfung und keine Typinferenz wollen. Es gibt zum Beispiel Bibliotheken, die Logikprogrammierung in Haskell einbetten - aus 10.000 Fuß Höhe scheint es ein gutes Stück einfacher zu sein, einen Typprüfer mit Logikprogrammierung zu schreiben als mit funktionaler Programmierung (zum Beispiel Chameleon, erwähnt von shapr oben basiert auf der in Haskell eingebetteten Sprache CHR).
Abgesehen davon ist die Programmierung von eingebetteter Logik in Haskell ein großer Schritt mit wahrscheinlich wenig Dokumentation, wenn man noch nie einen Typprüfer geschrieben hat. In ähnlicher Weise sind Attributgrammatiken (z.B. UUAG) ein angenehmer Formalismus, der einen großen Teil der Maschinerie liefert, die Sie selbst schreiben müssten, aber sie könnten Sie an einen Ort mit wenigen Wegweisern bringen, wenn Sie noch nie eine benutzt haben.
Wenn Sie noch nie einen Type Checker geschrieben haben, ist es vielleicht besser, sich keine Gedanken über Bibliotheken zu machen und den Prozess von Grund auf neu durchzuarbeiten. Das Papier "Typing Haskell in Haskell" von Mark P. Jones ist wahrscheinlich ein guter Startpunkt.
Ich habe auf Hackage mehrere Typenprüfprogramme gefunden, darunter dedukti , hybrid et lambdacube Vielleicht würde eine von diesen funktionieren?