ap-reflect: Partial evaluation reflection a la simple-reflect.

[ bsd3, debug, library ] [ Propose Tags ]

The library provides a simple reflection technique, substituting functions like fmap and <*> with reflection-aware analogues. This library can be used with simple-reflect package.

[Skip to Readme]




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees


Versions [RSS], 0.2, 0.3
Change log CHANGELOG.md
Dependencies base (>=4.8 && <5) [details]
License BSD-3-Clause
Author Oleg Baev
Maintainer odbaev@yandex.ru
Category Debug
Home page https://github.com/cmc-msu-ai/ap-reflect
Bug tracker https://github.com/cmc-msu-ai/ap-reflect/issues
Source repo head: git clone https://github.com/cmc-msu-ai/ap-reflect.git
Uploaded by NickolayKudasov at 2016-10-03T18:39:38Z
Distributions NixOS:0.3
Reverse Dependencies 1 direct, 0 indirect [details]
Downloads 2525 total (13 in the last 30 days)
Rating (no votes yet) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Docs available [build log]
Last success reported on 2016-10-03 [all 1 reports]

Readme for ap-reflect-0.3

[back to package description]


Hackage package Build Status

Partial evaluation reflection a la simple-reflect.


You can install the ap-reflect from Hackage:

$ cabal install ap-reflect

or directly from the repository:

$ git clone https://github.com/cmc-msu-ai/ap-reflect
$ cd ap-reflect
$ cabal install

For some possibilities of using this library you may need to install simple-reflect. It is available from Hackage. Install it, by typing:

cabal install simple-reflect


Haddock documentation is available at http://cmc-msu-ai.github.io/ap-reflect/doc/html/ap-reflect/


For example:

let (.+) = makeBinOp "+" (+)
mapM_ print . reductions $ (.+) -$- Just a -*- Just b


(+) <$> Just a <*> Just b
Just (a +) <*> Just b
Just (a + b)

You can find another examples of using this library at https://github.com/cmc-msu-ai/ap-reflect/tree/master/examples


  • Oleg Baev
  • Nickolay Kudasov


Contact me (Oleg Baev): odbaev@yandex.ru