ppx_deriving

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

Ppx_deriving Alternatives

Similar projects and alternatives to ppx_deriving

  1. serde

    Serialization framework for Rust

  2. InfluxDB

    InfluxDB high-performance time series database. Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.

    InfluxDB logo
  3. rescript

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

  4. coalton

    88 ppx_deriving VS coalton

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

  5. kotlinx.serialization

    Kotlin multiplatform / multi-format serialization

  6. reason

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

  7. interactive

    .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.

  8. fslang-design

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

  9. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
  10. dream-html

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

  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. 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.

  14. generic-data

    Generic data types in Haskell, utilities for GHC.Generics

  15. json-serde

    Example of usage antlr4 and shapeless

  16. base

    Standard library for OCaml (by janestreet)

  17. Serde

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

  18. the-little-fsharper

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

  19. ppx_sexp_conv

    Generation of S-expression conversion functions from type definitions

  20. ppx_jane

    Standard Jane Street ppx rewriters

  21. zbg

    6 ppx_deriving VS zbg

    ✨ Zero Bullshit Git

  22. SaaSHub

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

    SaaSHub logo
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 2023-04-25.
  • 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 | 24 Apr 2025
    SaaSHub helps you find the best software and product alternatives Learn more →

Stats

Basic ppx_deriving repo stats
7
481
6.3
about 1 month ago

Sponsored
InfluxDB high-performance time series database
Collect, organize, and act on massive volumes of high-resolution data to power real-time intelligent systems.
influxdata.com

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