DrIFT is a type sensitive preprocessor for Haskell. It extracts

type declarations and directives from modules. The directives cause
rules to be fired on the parsed type declarations, generating new
code which is then appended to the bottom of the input file. The
rules are expressed as Haskell code, and it is intended that the
user can add new rules as required.
DrIFT automates instance derivation for classes that aren't supported
by the standard compilers.  In addition, instances can be produced
in seperate modules to that containing the type declaration.  This
allows instances to be derived for a type after the original module
has been compiled.  As a bonus, simple utility functions can also
be produced from a type.

"go ahead, please" espie@
This commit is contained in:
kili 2010-06-20 09:43:23 +00:00
parent caf867eccd
commit 5dd1c31039
4 changed files with 84 additions and 0 deletions

View File

@ -0,0 +1,27 @@
# $OpenBSD: Makefile,v 1.1.1.1 2010/06/20 09:43:23 kili Exp $
COMMENT = DrIFT with pugs-specific rules
DISTNAME = pugs-DrIFT-2.2.3.1
CATEGORIES = devel
HOMEPAGE = http://pugscode.org/
# BSD3
PERMIT_PACKAGE_CDROM = Yes
PERMIT_PACKAGE_FTP = Yes
PERMIT_DISTFILES_CDROM =Yes
PERMIT_DISTFILES_FTP = Yes
WANTLIB = c gmp m util
MODULES = lang/ghc converters/libiconv
MODGHC_BUILD = cabal hackage haddock register
LIB_DEPENDS = ::devel/hs-HsSyck \
::devel/hs-stm
post-install:
mv ${PREFIX}/share/${DISTNAME}/* ${PREFIX}/share/doc/${DISTNAME}
rmdir ${PREFIX}/share/${DISTNAME}
.include <bsd.port.mk>

View File

@ -0,0 +1,5 @@
MD5 (pugs-DrIFT-2.2.3.1.tar.gz) = 8rg/pedwq9+6Rt0K/tA+Iw==
RMD160 (pugs-DrIFT-2.2.3.1.tar.gz) = phwcEzhwuA15ptIh8OXKtH8afhw=
SHA1 (pugs-DrIFT-2.2.3.1.tar.gz) = rZfK9ivCjk+hl/25bekpfwE+FAg=
SHA256 (pugs-DrIFT-2.2.3.1.tar.gz) = 2IY3F/miu0IxwvjAG3KERjeZBuAwKMkJxk0HzJmnBZE=
SIZE (pugs-DrIFT-2.2.3.1.tar.gz) = 44335

View File

@ -0,0 +1,12 @@
DrIFT is a type sensitive preprocessor for Haskell. It extracts
type declarations and directives from modules. The directives cause
rules to be fired on the parsed type declarations, generating new
code which is then appended to the bottom of the input file. The
rules are expressed as Haskell code, and it is intended that the
user can add new rules as required.
DrIFT automates instance derivation for classes that aren't supported
by the standard compilers. In addition, instances can be produced
in seperate modules to that containing the type declaration. This
allows instances to be derived for a type after the original module
has been compiled. As a bonus, simple utility functions can also
be produced from a type.

View File

@ -0,0 +1,40 @@
@comment $OpenBSD: PLIST,v 1.1.1.1 2010/06/20 09:43:23 kili Exp $
@bin bin/pugs-DrIFT
lib/${DISTNAME}/
lib/${DISTNAME}/ghc-${MODGHC_VER}/
lib/${DISTNAME}/ghc-${MODGHC_VER}/DrIFT/
lib/${DISTNAME}/ghc-${MODGHC_VER}/DrIFT/JSON.hi
lib/${DISTNAME}/ghc-${MODGHC_VER}/DrIFT/Perl5.hi
lib/${DISTNAME}/ghc-${MODGHC_VER}/DrIFT/Perl6Class.hi
lib/${DISTNAME}/ghc-${MODGHC_VER}/DrIFT/YAML.hi
lib/${DISTNAME}/ghc-${MODGHC_VER}/HS${DISTNAME}.o
lib/${DISTNAME}/ghc-${MODGHC_VER}/libHS${DISTNAME}.a
lib/${DISTNAME}/register.sh
@exec /usr/bin/env HOME=/nonexistent %D/lib/${DISTNAME}/register.sh -v0
@unexec /usr/bin/env HOME=/nonexistent %D/lib/${DISTNAME}/unregister.sh -v0 --force
lib/${DISTNAME}/unregister.sh
share/doc/${DISTNAME}/
share/doc/${DISTNAME}/AUTHORS
share/doc/${DISTNAME}/ChangeLog
share/doc/${DISTNAME}/LICENSE
share/doc/${DISTNAME}/README
share/doc/${DISTNAME}/README.old
share/doc/${DISTNAME}/html/
share/doc/${DISTNAME}/html/DrIFT-JSON.html
share/doc/${DISTNAME}/html/DrIFT-Perl5.html
share/doc/${DISTNAME}/html/DrIFT-Perl6Class.html
share/doc/${DISTNAME}/html/DrIFT-YAML.html
share/doc/${DISTNAME}/html/doc-index.html
share/doc/${DISTNAME}/html/frames.html
share/doc/${DISTNAME}/html/haddock-util.js
share/doc/${DISTNAME}/html/haddock.css
share/doc/${DISTNAME}/html/haskell_icon.gif
share/doc/${DISTNAME}/html/index-frames.html
share/doc/${DISTNAME}/html/index.html
share/doc/${DISTNAME}/html/mini_DrIFT-JSON.html
share/doc/${DISTNAME}/html/mini_DrIFT-Perl5.html
share/doc/${DISTNAME}/html/mini_DrIFT-Perl6Class.html
share/doc/${DISTNAME}/html/mini_DrIFT-YAML.html
share/doc/${DISTNAME}/html/minus.gif
share/doc/${DISTNAME}/html/plus.gif
share/doc/${DISTNAME}/html/pugs-DrIFT.haddock