Skip to content

Tooling checklist #28

@osa1

Description

@osa1

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

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions