json-serde
ppx_deriving
json-serde | ppx_deriving | |
---|---|---|
1 | 7 | |
1 | 442 | |
- | 0.7% | |
0.0 | 7.7 | |
almost 3 years ago | 8 days ago | |
Scala | OCaml | |
- | MIT License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
json-serde
-
How to create a small json lib using antlr and shapeless
The source code of a whole project could be found here: https://github.com/nryanov/json-serde
ppx_deriving
-
My Thoughts on OCaml
> 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?
Ocaml has the amazing ppx_deriving which can be used for serialization / deserialization in various formats.
-
Question on type declaration syntax
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
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
is from https://github.com/ocaml-ppx/ppx_deriving
-
Recommended method for pretty-printing collections in Core?
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?
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 :
What are some alternatives?
grammars-v4 - Grammars written for ANTLR v4; expectation that the grammars are free of actions.
deriving-show-simple
Scala Exercises - The easy way to learn Scala.
ppx_jane - Standard Jane Street ppx rewriters
ANTLR - ANTLR (ANother Tool for Language Recognition) is a powerful parser generator for reading, processing, executing, or translating structured text or binary files.
ppx_sexp_conv - Generation of S-expression conversion functions from type definitions
Octopus - Scala library for boilerplate-free validation
generic-data - Generic data types in Haskell, utilities for GHC.Generics