package GT

  1. Overview
  2. Docs
Generic programming with extensible transformations

Install

Dune Dependency

Authors

Maintainers

Sources

0.5.1.tar.gz
sha256=fe0aa1e40afd36f7c1fcd992c408261d0b5645cea080ea98bc5dbf0b8682187f
sha512=8db0f2d8db4d7c11cf55835ba2b6c4f5ee1e8c09a4bdc2a9c57d50958ff8654688d4c8596079dfd1027d8b9e878f6e1b0d14341bcdf5f63cf96a45b2a571f3cb

doc/GT.common/GTCommon/Plugin_intf/index.html

Module GTCommon.Plugin_intfSource

Base class type that all trait should follow.

For single type declaration

type ('a, 'b, ...) typ = ...

plugin generate a plugin class called traitnname_typ_t and a transformation function called traitname_t.

Generated transformation functions can make use of inherited attribute for type parameter (which is being generated by method typ_g#inh_of_param) or simply ignore it. For example, transformation function for type parameter 'a can have types either 'a -> 'sa (see plugins Show and Gmap as examples) or 'ia -> 'a -> 'sa.

Sourcetype plugin_args = (Ppxlib.longident * Ppxlib.expression) list

A type that stores additional arguments passed to each plugin.

Sourceclass virtual ['loc, 'exp, 'typ, 'type_arg, 'ce, 'ctf, 'cf, 'str, 'sign, 'pat] typ_g : object ... end

Base class type for all plugins.

Sourcemodule Make (AstHelpers : GTHELPERS_sig.S) : sig ... end

Functor that takes AST construction functions for a specific backend and constructs a plugin object.

Sourcemodule type MAKE = functor (AstHelpers : GTHELPERS_sig.S) -> sig ... end
OCaml

Innovation. Community. Security.