package camelot
Install
Dune Dependency
Authors
Maintainers
Sources
md5=0d523de1a303a8f485d848d351c2f2b8
sha512=ebaf0a2879afb4e0d0b5f28984ad4821483adb18574b76a1560a6f44ac2645370f2369557c2590c23982961ec7f4e9461fc5aa9c75934c0485990ec910e2714d
Description
Published: 21 May 2020
README
Camelot
An OCaml Linter / Style Checker for the OCaml compiler version 4.09.0. Make sure you have ocaml version 4.09.0, otherwise the parsetree will be different
Acknowledgements
This project wouldn't have been possible without the following three repos:
sml-style-check from the folks at CMU: for guiding the design of the linter, as well as basically contributing the structure of our project (especially the extendable checker modules :) ),
hlint for a good reference on building a linter,
and ppx_tools/rewriter, for giving us useful starter code and being the building block on which camelot started.
Dependencies
dune (v 2.4.0) - dune will manage installing the appropriate dependencies for you I believe
ocaml-base-compiler >= v4.09.0
ocamlfind (for debugging / dev)
compiler-libs.common
fswatch (for Build + Watch)
ANSITerminal
Note:
This project is dependent on compiler-libs, an inherently unstable library that changes between OCaml installations.
Build and run instructions
Build: dune build bin/camelot.exe
Build + Watch: dune build bin/camelot.exe -w
Run 'tests': dune exec -- bin/camelot.exe <camelot args here>
Camelot flags
-d <lintdir>
: Specify the directory in which to lint
-show <ta | student | gradescope>
: Specify the reporting type - does a student see this output or a ta? If this argument is malformed or not present, the reporting type defaults to student
-f <filename>
: Lints the given file
Dependencies (3)
-
ANSITerminal
>= "0.8"
-
ocaml
>= "4.09.0"
-
dune
>= "2.5"
Dev Dependencies
None
Used by
None
Conflicts
None