ppx_deriving

Type-driven code generation for OCaml (by ocaml-ppx)

Ppx_deriving Alternatives

Similar projects and alternatives to ppx_deriving

  1. rescript

    ReScript is a robustly typed language that compiles to efficient and human-readable JavaScript.

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. coalton

    104 ppx_deriving VS coalton

    Coalton is an efficient, statically typed functional programming language that supercharges Common Lisp.

  4. kotlinx.serialization

    Kotlin multiplatform / multi-format serialization

  5. interactive

    Discontinued .NET Interactive combines the power of .NET with many other languages to create notebooks, REPLs, and embedded coding experiences. Share code, explore data, write, and learn across your apps in ways you couldn't before.

  6. reason

    Simple, fast & type safe code that leverages the JavaScript & OCaml ecosystems

  7. fslang-design

    RFCs and docs related to the F# language design process, see https://github.com/fsharp/fslang-suggestions to submit ideas

  8. dream-html

    Type-safe markup rendering, form validation, and routing for OCaml Dream web framework

  9. base

    5 ppx_deriving VS base

    Standard library for OCaml (by janestreet)

  10. FsToolkit.ErrorHandling

    An opinionated F# Library for error handling

  11. the-ray-tracer-challenge-fsharp

    F# implementation of the ray tracer found in The Ray Tracer Challenge by Jamis Buck

  12. goderive

    Derives and generates mundane golang functions that you do not want to maintain yourself

  13. zbg

    6 ppx_deriving VS zbg

    ✨ Zero Bullshit Git

  14. nand2tetris

    Original course HDL solutions, F# implementations for the software stack, and VHDL implementations for the hardware stack for the nand2tetris course and The Elements of Computing Systems book.

  15. Serde

    Robust Serde (serialization/deserialization) library for PHP 8. (by Crell)

  16. the-little-fsharper

    F# implementations of the code in the book The Little MLer

  17. ppx_jane

    Standard Jane Street ppx rewriters

  18. ppx_show

    OCaml PPX deriver for deriving show based on ppxlib

  19. hobbes

    A language and an embedded JIT compiler

  20. generic-data

    Generic data types in Haskell, utilities for GHC.Generics

  21. json-serde

    Discontinued Example of usage antlr4 and shapeless

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a better ppx_deriving alternative or higher similarity.

ppx_deriving discussion

Log in or Post with

ppx_deriving reviews and mentions

Posts with mentions or reviews of ppx_deriving. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-11-04.
  • Pain Points of OCaml
    5 projects | news.ycombinator.com | 4 Nov 2025
    Format is part of OCaml stdlib. You can write formatters for it manually.

    Derivers are a library yes, it's pretty widespread if you need derive functionality, and it can derive basic functions. Proper link:

    https://github.com/ocaml-ppx/ppx_deriving?tab=readme-ov-file...

  • My Thoughts on OCaml
    11 projects | news.ycombinator.com | 25 Apr 2023
    > You gave a beautiful answer about programming language

    You do the same thing as in Rust, Scala or Haskell and derive the printer [1]. Then at the callsite, if you know the type then you do `T.show` to print it or `T.eq`. If you don't know the type, then you pass it in at the top level as a module and then do `T.show` or `T.eq`.

    > Or to convert one type into another type?

    If you want to convert a type, then you have a type that you want to convert from such as foo and bar, then you do `Foo.to_bar value`.

    We can keep going, but you can get the point.

    You _can't_ judge a language by doing what you want to do with one language in another. If I judge Rust by writing recursive data structures and complaining about performance and verbosity that's not particularly fair correct? I can't say that Dart is terrible for desktop because I can't use chrome developer tools on its canvas output and ignore it's hot-reloading server. I can't say Common Lisp code is unreadable because I don't have type annotations and ignore the REPL for introspection.

    [1] https://github.com/ocaml-ppx/ppx_deriving

  • Is rust serde unique?
    6 projects | /r/rust | 19 Apr 2023
    Ocaml has the amazing ppx_deriving which can be used for serialization / deserialization in various formats.
  • Question on type declaration syntax
    2 projects | /r/ocaml | 17 Apr 2023
    I wrote a CLI tool and I'd like to produce statically linked binaries of my tool. However, I cannot do this because I'm using the ppx_deriving deriving preprocessor, and I cannot produce a statically linked executable while using this package.
  • OCaml at First Glance
    5 projects | news.ycombinator.com | 29 Aug 2022
    Not great, not terrible; the language supports annotations which mean nothing to the compiler but which pre-processors can take advantage of, and there is a framework called ppx which you can use to write your own preprocessor. There exist many pre-processors to do things like add inline tests, generate getter/setter/pretty-printing functions, and so on. Here is an example:

    https://github.com/ocaml-ppx/ppx_deriving

  • Bad documentation of Jane Street libraries
    3 projects | /r/ocaml | 23 Mar 2022
    is from https://github.com/ocaml-ppx/ppx_deriving
  • Recommended method for pretty-printing collections in Core?
    2 projects | /r/ocaml | 9 Oct 2021
    Have you tried to derive a print function using https://github.com/ocaml-ppx/ppx_deriving
  • How do I define ordering for my sum types?
    1 project | /r/ocaml | 27 Apr 2021
    However, there is a ppx (a pre-processor) which can do the job : ppx_deriving. You just have to anotate your type in oder to get the compare function automatically generated :
  • A note from our sponsor - SaaSHub
    www.saashub.com | 15 Aug 2026
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic ppx_deriving repo stats
9
522
8.3
20 days ago

Sponsored
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com

Did you know that OCaml is
the 37th most popular programming language
based on number of references?