BiGUL: The Bidirectional Generic Update Language

This is a package candidate release! Here you can preview how this package release will appear once published to the main package index (which can be accomplished via the 'maintain' link below). Please note that once a package has been published to the main package index it cannot be undone! Please consult the package uploading documentation for more information.

[maintain] [Publish]


Putback-based bidirectional programming allows the programmer to write only one putback transformation, from which the unique corresponding forward transformation is derived for free. BiGUL, short for the Bidirectional Generic Update Language, is designed to be a minimalist putback-based bidirectional programming language. BiGUL was originally developed in the dependently typed programming language Agda, and its well-behavedness has been completely formally verified; this package is the Haskell port of BiGUL.

For more detail, see the following paper:


Versions,, 1.0.0, 1.0.1
Change log None available
Dependencies base (>=4.8 && <4.9), containers (>=0.5), mtl (>=2.2), pretty (>=1.1), template-haskell (>=2.10) [details]
License LicenseRef-PublicDomain
Author Josh Ko, Tao Zan, Li Liu, Zirun Zhu, Jorge Mendes, and Zhenjiang Hu
Maintainer Josh Ko <> and Zirun Zhu <>
Category Language, Generics, Lenses
Home page
Uploaded by joshko at 2016-05-06T05:19:25Z




Maintainer's Corner

Package maintainers

For package maintainers and hackage trustees