---
name: "ppx-base"
section: "1"
platform: "linux"
package: "libppx-base-ocaml-dev"
version: "0.17.0-1+b8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/ppx-base"
---

# ppx-base(1)

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

## NAME

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

## DESCRIPTION

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

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

## 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, the command

-

  **info ppx-base:**

should give you access to the complete manual.
