use ppx_subliner for cleaner cmdliner CLI#83
Merged
Conversation
Converted the Run command to use ppx_subliner, demonstrating a significant reduction in boilerplate code. Changes: - Added ppx_subliner dependency to benchpress.opam - Added ppx preprocessing to src/bin/dune - Converted Run module from traditional cmdliner (147 lines) to ppx_subliner (81 lines) - a 45% reduction - Kept complex cpus_term parser separate as it has custom logic Benefits: - Single source of truth: arguments defined once with types, defaults, docs - Better type safety: named record fields instead of 20+ positional params - Easier maintenance: add/remove/reorder arguments without manual $ composition - More readable: arguments grouped logically in a record type The generated --help output is identical to the original.
Converted List_files, Plot, Check_config, Prover_show, Task_show, and Sql_convert. Dir module kept with manual Cmdliner due to custom enum type complexity. Total reduction: 139 lines (347 removed, 208 added)
27c8298 to
280296d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
convert some of the CLI parsing to ppx_subliner, easier to maintain.