-
Notifications
You must be signed in to change notification settings - Fork 3
Open
Description
The Fir package should include these tools: (in no particular order)
- Test case reducer, similar to creduce and cvise. (there is another tool for Python-like syntax but I can't find it now)
- A structural patching/refactoring tool, similar to coccinelle.
- A syntax-aware search tool, similar to sg, but it should use the Fir compiler front-end instead of its own parser.
- Package manager
- Language server
- Formatter
- Documentation generator
- A tool to combine a package into a single file that includes all of the dependencies, including the standard library. This can be used for sharing repros and repro reduction via the test case reducer. The output should type-check and run with
--no-prelude
. - Lexer and parser generators, similar to Alex and Happy, ocamllex and Menhir.
Unlike the examples, Fir's lexer and parser generators should use the same lexical syntax as Fir and it should be possible to define them in Fir modules (rather than separate preprocessed files). - A tool for API diffing: given two versions of the same library it should show members added, removed, changed.
All should be available via the fir
executable, should be implemented in Fir, and should be sharing code (e.g. there should be one parser).
Metadata
Metadata
Assignees
Labels
No labels