Gibt es ein Tool, das OCaml-Programme analysiert und einige Verbesserungen in Stil und Code vorschlägt? In der Welt von Perl gibt es immer noch Perl :: Critic vermeide schlechten Stil.
Was ich brauche, sind einige Werkzeuge, die nicht nur Hinweise auf Stil geben, sondern auch Dinge sauberer machen und Konstrukte vermeiden, die in OCaml-Programmen nicht endrekursiv sind.
Irgendwelche Hinweise?
Ich habe es in der letzten Woche nicht in einer Nachricht über die Caml-Gruppen verwendet erwähnt Maskottchen . Es sieht so aus, als ob Sie danach suchen. Ich bin mir nicht sicher über die Tail-Recursion-Kriterien; Der Autor des oben genannten Projekts erwähnt sie nicht, erwähnt aber Plugin-Fähigkeiten.
Alternativ erzeugt das Kompilieren mit -dlinear
(für ocamlopt[.opt]
) linearisierten Code, der angibt, ob die Funktion ein Tail-Call ist. -annot
erzeugt auch Tail-Call-Informationen, aber ich kann keine Referenz neben dem Changelog (es wurde in 3.11.0 hinzugefügt). Auf welche Art und Weise es Tail-Calls taggt, es nicht die Converse, Tag Non-Tail-Calls (oder vielleicht gibt es einen Weg?). Im Folgenden sehen Sie ein Beispiel für die Ausgabe einer Funktion namens sum
,
erzeugt (unter viel mehr Ausgabe),
%Vor% Ich denke jedoch, dass Erfahrung die beste Wette ist. Sehen Sie sich einige beliebte Projekte an (zum Beispiel Batterien ), um ein Gefühl für Stil und typische Konventionen zu bekommen. Ich glaube nicht, dass ein Plugin Ihnen helfen wird, Ihre Akkumulatorvariablen acc
oder fortsetzungen cont
aufzurufen.
Tags und Links coding-style lint ocaml