Apocrypha

applicative-numbers

Applicative-based numeric instances

Any applicative functor can be given numeric instances in a boilerplate way. The /applicative-numbers/ package provides an include file that makes it a snap to define these instances. See "Data.Numeric.Function" for an example. Project wiki page: <http://haskell.org/haskellwiki/applicative-numbers> Copyright 2009-2013 Conal Elliott; BSD3 license. Instances of @Num@ classes for applicative functors. To be @#include@'d after defining @APPLICATIVE@ as the applicative functor name and @CONSTRAINTS@ as a list of constraints, which must carry its own trailing comma if non-empty. The @APPLICATIVE@ symbol gets @#undef@'d at the end of the include file, so that multiple includes are convenient. For instance, @ #define INSTANCE_Ord #define INSTANCE_Enum #define APPLICATIVE Vec2 #include \"ApplicativeNumeric-inc.hs\" #define APPLICATIVE Vec3 #include \"ApplicativeNumeric-inc.hs\" #define APPLICATIVE Vec4 #include \"ApplicativeNumeric-inc.hs\" @ You'll also have to import 'pure' and 'liftA2' from "Control.Applicative" and specify @the FlexibleContexts@ language extension (due to an implementation hack). Some instances are generated only if a corresponding CPP symbol is defined: @INSTANCE_Eq@, @INSTANCE_Ord@, @INSTANCE_Show@, @INSTANCE_Enum@

Available in

OverlayNewestEbuildsLast activity
haskell GitHub ↗ 0.1.3 1 2 d details ›

Versions & arches

VersionOverlay amd64 Committed
0.1.3 haskell amd64 testing 6 mo view · download · history ↗