ppx_jane
Standard Jane Street ppx rewriters
README
ppx_jane is a ppx_driver
including all standard ppx rewriters.
Using ppx_jane in the toplevel
The default way is to do #require "ppx_jane"
in the OCaml
toplevel. However this has been reported to be very slow. If this is
the case, try this instead:
#ppx "ppx-jane -as-ppx"
The main difference is that the first method will fire many different
executables per command, each one doing their own pass, while the
second will fire only one which efficiently combine all the
rewritings.
Install
- Published
-
21 Mar 2022
- Authors
-
- Maintainers
-
Sources
Dependencies
ppxlib
>= "0.23.0"
dune
>= "2.0.0"
ppx_variants_conv
>= "v0.15" & < "v0.16"
ppx_typerep_conv
>= "v0.15" & < "v0.16"
ppx_string
>= "v0.15" & < "v0.16"
ppx_stable
>= "v0.15" & < "v0.16"
ppx_sexp_value
>= "v0.15" & < "v0.16"
ppx_sexp_message
>= "v0.15" & < "v0.16"
ppx_pipebang
>= "v0.15" & < "v0.16"
ppx_optional
>= "v0.15" & < "v0.16"
ppx_optcomp
>= "v0.15" & < "v0.16"
ppx_module_timer
>= "v0.15" & < "v0.16"
ppx_log
>= "v0.15" & < "v0.16"
ppx_let
>= "v0.15" & < "v0.16"
ppx_inline_test
>= "v0.15" & < "v0.16"
ppx_ignore_instrumentation
>= "v0.15" & < "v0.16"
ppx_here
>= "v0.15" & < "v0.16"
ppx_fixed_literal
>= "v0.15" & < "v0.16"
ppx_fields_conv
>= "v0.15" & < "v0.16"
ppx_expect
>= "v0.15" & < "v0.16"
ppx_disable_unused_warnings
>= "v0.15" & < "v0.16"
ppx_custom_printf
>= "v0.15" & < "v0.16"
ppx_bin_prot
>= "v0.15" & < "v0.16"
ppx_bench
>= "v0.15" & < "v0.16"
ppx_base
>= "v0.15" & < "v0.16"
ppx_assert
>= "v0.15" & < "v0.16"
base_quickcheck
>= "v0.15" & < "v0.16"
ocaml
>= "4.08.0"
Reverse Dependencies
accessor
>= "v0.15.0"
accessor_async
>= "v0.15.0"
accessor_base
>= "v0.15.0"
accessor_core
>= "v0.15.0"
async
>= "v0.15.0"
async_durable
>= "v0.15.0"
async_extra
>= "v0.15.0"
async_find
>= "v0.15.0"
async_inotify
>= "v0.15.0"
async_interactive
>= "v0.15.0"
async_js
>= "v0.15.0"
async_kernel
>= "v0.15.0"
async_rpc_kernel
>= "v0.15.0"
async_sendfile
>= "v0.15.0"
async_shell
>= "v0.15.0"
async_smtp
>= "v0.15.0"
async_ssl
>= "v0.15.0"
async_udp
>= "v0.15.0"
async_unix
>= "v0.15.0"
async_websocket
>= "v0.15.0"
bap-build
< "2.2.0"
bap-bundle
< "2.2.0"
bap-raw
< "2.2.0"
base_bigstring
>= "v0.15.0"
bignum
>= "v0.15.0"
bitcoinml
>= "0.2.4" & < "0.4.1"
bitvec-binprot
< "2.2.0"
bonsai
>= "v0.15.0"
combinat
>= "3.0"
command_rpc
>= "v0.15.0"
core
>= "v0.15.0"
core_bench
>= "v0.15.0"
core_extended
>= "v0.15.0"
core_kernel
>= "v0.15.0"
core_profiler
>= "v0.15.0"
core_unix
>= "v0.15.0"
csvfields
>= "v0.15.0"
delimited_parsing
>= "v0.15.0"
ecaml
>= "v0.15.0"
email_message
>= "v0.15.0"
expect_test_helpers_async
>= "v0.15.0"
expect_test_helpers_core
>= "v0.15.0"
hardcaml
>= "v0.15.0"
hardcaml_waveterm
>= "v0.15.0"
higher_kinded
>= "v0.15.0"
horned_worm
= "0.3.1"
httpaf_caged
>= "1.0.1"
incr_dom
>= "v0.15.0"
incr_dom_interactive
>= "v0.15.0"
incr_dom_partial_render
>= "v0.15.0"
incr_dom_sexp_form
>= "v0.15.0"
incr_map
>= "v0.15.0"
incr_select
>= "v0.15.0"
incremental
>= "v0.15.0"
line-up-words
< "v0.11.0" | >= "v0.15.0"
memtrace_viewer
>= "v0.15.0"
mlt_parser
>= "v0.15.0"
netsnmp
>= "v0.15.0"
notty_async
>= "v0.15.0"
nsq
>= "0.5.2"
ocaml_plugin
>= "v0.15.0"
pam
>= "v0.15.0"
patdiff
>= "v0.15.0"
patience_diff
>= "v0.15.0"
pgx_async
< "1.0"
pgx_lwt
< "1.0"
pgx_unix
< "1.0"
postgres_async
>= "v0.15.0"
ppx_deriving_hardcaml
>= "v0.15.0"
protocol_version_header
>= "v0.15.0"
re2
>= "v0.15.0"
record_builder
>= "v0.15.0"
resource_cache
>= "v0.15.0"
rpc_parallel
>= "v0.15.0"
SZXX
>= "2.0.0" & < "2.1.1"
satyrographos
>= "0.0.2.7"
sentry
>= "v0.11.0"
sequencer_table
>= "v0.15.0"
sexp
>= "v0.15.0"
sexp_macro
>= "v0.15.0"
sexp_select
>= "v0.15.0"
shell
>= "v0.15.0"
shuttle
>= "0.4.0"
splay_tree
>= "v0.15.0"
textutils
>= "v0.15.0"
textutils_kernel
>= "v0.15.0"
timezone
>= "v0.15.0"
tls-async
>= "0.15.3"
toplevel_backend
>= "v0.15.0"
toplevel_expect_test
>= "v0.15.0"
topological_sort
>= "v0.15.0"
travesty
>= "0.3.0"
vcaml
>= "v0.15.0"
virtual_dom
>= "v0.15.0"
zstandard
>= "v0.15.0"