PPX-BASE:(1)

πŸ“¦
version 0.17.0 Β· 4 versions
, in debian trixie, ubuntu questing

πŸ’– PPX-BASE:(1) β€” the manual page, but make it make sense πŸ’–

okay bestie, so this is the manual page for ppx-base:, living in section 1 (aka User Commands) of the manual. pull up a chair, grab a strawberry πŸ“, and let's get into it.


✨ NAME ✨

ppx-base: β€” manual page for ppx-base: unknown option '--version'.

like. yes. that's literally what it says. the manual page for ppx-base: is titled "manual page for ppx-base: unknown option '--version'." no cap. moving on 🫢


🌸 DESCRIPTION 🌸

the whole vibe is:

ppx-base [extra_args] [<files>]

and here's every single flag, exactly as the page gives them, no skips, no shortcuts, periodt πŸ’…

  • -as-ppx β€” Run as a -ppx rewriter (must be the first argument)
  • --as-ppx β€” Same as -as-ppx
  • -as-pp β€” Shorthand for: -dump-ast -embed-errors
  • --as-pp β€” Same as -as-pp
  • -o <filename> β€” Output file (use - for stdout)
  • - β€” Read input from stdin
  • -dump-ast β€” Dump the marshaled ast to the output file instead of pretty-printing it
  • --dump-ast β€” Same as -dump-ast
  • -dparsetree β€” Print the parsetree (same as ocamlc -dparsetree)
  • -embed-errors β€” Embed errors in the output AST (default: true when -as-pp, false otherwise)
  • -null β€” Produce no output, except for errors
  • -impl <file> β€” Treat the input as a .ml file
  • --impl <file> β€” Same as -impl
  • -intf <file> β€” Treat the input as a .mli file
  • --intf <file> β€” Same as -intf
  • -debug-attribute-drop β€” Debug attribute dropping
  • -print-transformations β€” Print linked-in code transformations, in the order they are applied
  • -print-passes β€” Print the actual passes over the whole AST in the order they are applied
  • -ite-check β€” (no effect -- kept for compatibility)
  • -pp <command> β€” Pipe sources through preprocessor <command> (incompatible with -as-ppx)
  • -reconcile β€” (WIP) Pretty print the output using a mix of the input source and the generated code
  • -reconcile-with-comments β€” (WIP) same as -reconcile but uses comments to enclose the generated code
  • -no-color β€” Don't use colors when printing errors
  • -diff-cmd β€” Diff command when using code expectations (use - to disable diffing)
  • -pretty β€” Instruct code generators to improve the prettiness of the generated code
  • -styler β€” Code styler
  • -output-metadata FILE β€” Where to store the output metadata
  • -corrected-suffix SUFFIX β€” Suffix to append to corrected files
  • -keywords <version+list> β€” Set keywords according to the version+list specification. Allows using a set of keywords different from the one of the current compiler for backward compatibility.
  • --keywords <version+list> β€” Same as -keywords
  • --use-compiler-pp β€” Force migrating the AST back to the compiler's version before printing it as source code using the compiler's Pprintast utilities.
  • -loc-filename <string> β€” File name to use in locations
  • -reserve-namespace <string> β€” Mark the given namespace as reserved
  • -no-check β€” Disable checks (unsafe)
  • -check β€” Enable checks
  • -no-check-on-extensions β€” Disable checks on extension point only
  • -check-on-extensions β€” Enable checks on extension point only
  • -no-locations-check β€” Disable locations check only
  • -locations-check β€” Enable locations check only
  • -apply <names> β€” Apply these transformations in order (comma-separated list)
  • -dont-apply <names> β€” Exclude these transformations
  • -no-merge β€” Do not merge context free transformations (better for debugging rewriters). As a result, the context-free transformations are not all applied before all impl and intf.
  • -cookie NAME=EXPR β€” Set the cookie NAME to EXPR
  • --cookie β€” Same as -cookie
  • -deriving-keep-w32 {impl|intf|both} β€” Do not try to disable warning 32 for the generated code
  • -deriving-disable-w32-method {code|attribute} β€” How to disable warning 32 for the generated code
  • -type-conv-keep-w32 {impl|intf|both} β€” Deprecated, use -deriving-keep-w32
  • -type-conv-w32 {code|attribute} β€” Deprecated, use -deriving-disable-w32-method
  • -deriving-keep-w60 {impl|intf|both} β€” Do not try to disable warning 60 for the generated code
  • -unused-code-warnings {true|false|force} β€” Allow ppx derivers to enable unused code warnings (default: false)
  • -unused-type-warnings {true|false|force} β€” Allow unused type warnings for types with [@@deriving ...] (default: false)
  • -help β€” Display this list of options
  • --help β€” Display this list of options
ngl bestie, -no-check is marked unsafe. that's not me being dramatic, that's the page. proceed with main character energy but like... carefully. πŸ‘‘

πŸ¦‹ and then the page says the WHOLE thing AGAIN πŸ¦‹

not me making this up β€” the original literally repeats the entire block. twice. iconic behaviour honestly. so here it is, again, verbatim, because we keep every detail around here πŸ’–

ppx-base [extra_args] [<files>]
  • -as-ppx β€” Run as a -ppx rewriter (must be the first argument)
  • --as-ppx β€” Same as -as-ppx
  • -as-pp β€” Shorthand for: -dump-ast -embed-errors
  • --as-pp β€” Same as -as-pp
  • -o <filename> β€” Output file (use - for stdout)
  • - β€” Read input from stdin
  • -dump-ast β€” Dump the marshaled ast to the output file instead of pretty-printing it
  • --dump-ast β€” Same as -dump-ast
  • -dparsetree β€” Print the parsetree (same as ocamlc -dparsetree)
  • -embed-errors β€” Embed errors in the output AST (default: true when -as-pp, false otherwise)
  • -null β€” Produce no output, except for errors
  • -impl <file> β€” Treat the input as a .ml file
  • --impl <file> β€” Same as -impl
  • -intf <file> β€” Treat the input as a .mli file
  • --intf <file> β€” Same as -intf
  • -debug-attribute-drop β€” Debug attribute dropping
  • -print-transformations β€” Print linked-in code transformations, in the order they are applied
  • -print-passes β€” Print the actual passes over the whole AST in the order they are applied
  • -ite-check β€” (no effect -- kept for compatibility)
  • -pp <command> β€” Pipe sources through preprocessor <command> (incompatible with -as-ppx)
  • -reconcile β€” (WIP) Pretty print the output using a mix of the input source and the generated code
  • -reconcile-with-comments β€” (WIP) same as -reconcile but uses comments to enclose the generated code
  • -no-color β€” Don't use colors when printing errors
  • -diff-cmd β€” Diff command when using code expectations (use - to disable diffing)
  • -pretty β€” Instruct code generators to improve the prettiness of the generated code
  • -styler β€” Code styler
  • -output-metadata FILE β€” Where to store the output metadata
  • -corrected-suffix SUFFIX β€” Suffix to append to corrected files
  • -keywords <version+list> β€” Set keywords according to the version+list specification. Allows using a set of keywords different from the one of the current compiler for backward compatibility.
  • --keywords <version+list> β€” Same as -keywords
  • --use-compiler-pp β€” Force migrating the AST back to the compiler's version before printing it as source code using the compiler's Pprintast utilities.
  • -loc-filename <string> β€” File name to use in locations
  • -reserve-namespace <string> β€” Mark the given namespace as reserved
  • -no-check β€” Disable checks (unsafe)
  • -check β€” Enable checks
  • -no-check-on-extensions β€” Disable checks on extension point only
  • -check-on-extensions β€” Enable checks on extension point only
  • -no-locations-check β€” Disable locations check only
  • -locations-check β€” Enable locations check only
  • -apply <names> β€” Apply these transformations in order (comma-separated list)
  • -dont-apply <names> β€” Exclude these transformations
  • -no-merge β€” Do not merge context free transformations (better for debugging rewriters). As a result, the context-free transformations are not all applied before all impl and intf.
  • -cookie NAME=EXPR β€” Set the cookie NAME to EXPR
  • --cookie β€” Same as -cookie
  • -deriving-keep-w32 {impl|intf|both} β€” Do not try to disable warning 32 for the generated code
  • -deriving-disable-w32-method {code|attribute} β€” How to disable warning 32 for the generated code
  • -type-conv-keep-w32 {impl|intf|both} β€” Deprecated, use -deriving-keep-w32
  • -type-conv-w32 {code|attribute} β€” Deprecated, use -deriving-disable-w32-method
  • -deriving-keep-w60 {impl|intf|both} β€” Do not try to disable warning 60 for the generated code
  • -unused-code-warnings {true|false|force} β€” Allow ppx derivers to enable unused code warnings (default: false)
  • -unused-type-warnings {true|false|force} β€” Allow unused type warnings for types with [@@deriving ...] (default: false)
  • -help β€” Display this list of options
  • --help β€” Display this list of options
πŸŽ€ heads up bestie: -type-conv-keep-w32 and -type-conv-w32 are both marked Deprecated. they're still here, they still work, but the page is telling you to use -deriving-keep-w32 and -deriving-disable-w32-method instead. noted. πŸ’…

🌈 SEE ALSO 🌈

the full documentation for ppx-base: is maintained as a Texinfo manual. if the info and ppx-base: programs are properly installed at your site, then this command:

info ppx-base:

should give you access to the complete manual. slay. that's the whole cross-reference. ✨


and that's the page, bestie!! πŸ¦‹ the footer tells us this is ppx-base: unknown option '--ver... and it's dated June 2025, stamped with PPX-BASE:(1) β€” so yeah, that's the version-and-date tea, straight from the bottom of the original. go forth and ppx, you absolute icon πŸ‘‘πŸ’–

πŸ“¦ where this page comes from