Skip to content

OlivierNicole/staged_tpf

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

21 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Metaprogramming-based deriving

This aims to offer the same functionality as ppx_deriving, but based on type-safe metaprogramming, in order to make new derivers infinitely easier to write and trivial to maintain.

It is an adaptation of tpf, combined with the metaprogramming PPX ppx_stage so that generic functions have no interpretative overhead.

It is nowhere close to usable for now as it is very much WIP and the documentation is yet to be written. However, the principles are the same as for tpf, which is well documented.

To do:

  • Work around the value restriction which makes it annoying to instantiate generic functions
  • Make the interface more usable
  • Write documentation
  • Write derivers for the most common needs (iter, show, eq, ord...)

Installation

From a clone of this repo, run:

opam pin add ppx_staged git+https://github.com/OlivierNicole/ppx_staged.git#undust

opam install . # Build and install, or
dune build     # Just build

Usage

This is just my playground, so it's not exactly usable nor documented at the moment. However, if you feel like looking at the code, you should read about ppx_stage and tpf first.

About

Metaprogramming-based deriving

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages