@hackage / defun-core

Defunctionalization helpers: core definitions

Latest0.1.0.1

About

Metadata

  • Last updated , by phadej
  • License BSD-3-Clause
  • Maintained by: Oleg Grenrus <oleg.grenrus@iki.fi>

  • Lottery factor: 1

Links

Installation

Tested Compilers

  1. 9.12.2
  2. 9.10.1
  3. 9.8.4
  4. 9.6.7
  5. 9.4.8
  6. 9.2.8

Readme

The package defun provides defunctionalization helpers, most importantly type family DeFun.Core.App allowing to write higher-order type families. The singletons package also has its own type family Apply, but the machinery is tied to the Sing / singletons.

In particular, the Lam counterpart SLambda is specialized to Sing arguments. The defun's Lam is however fully general, so you can use your own singletons or (importantly) singleton-like arguments.

The package provides few defunctionalized functions, and their term-level variants can be found in defun-bool and defun-sop packages, which use SBool and NP data types from singletons-bool and sop-core packages respectively.