DrIFT is a type sensitive preprocessor for Haskell. It extracts type declarations and directives from modules and applies rules to them which generate code. 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 separate modules to that containing the type declaration. This allows instances to be derived for a type after the original module has been compiled. Simple utility functions can also be produced from a type. License: BSD License (original) Changes:
Numerous enhancements and bugfixes.
Hello there,
I am not an expert in networking related stuff but I got a requirement to create UNIX script to query our Company's internal time source via NTP for time drift detect and report it when > +/- 50ms.
I have been googling a lot but thought to post it in this forum to get a... (17 Replies)
Hello there,
I am not an expert in networking related stuff but I got a requirement to create UNIX script to query our Company's internal time source via NTP for time drift detect and report it when > +/- 50ms.
I have been googling a lot but thought to post it in this forum to get a... (1 Reply)
GTK2HSC2HS(1) C->Haskell GTK2HSC2HS(1)NAME
gtk2hsC2hs - C->Haskell Interface Generator
SYNOPSIS
gtk2hsC2hs [OPTIONS]... [ header-file ] binding-file
DESCRIPTION
This manual page briefly describes the gtk2hsC2hs command. It's a modified version of the c2hs(1) command, which is a helper program nec-
essary to build the Gtk2Hs suite of libraries.
OPTIONS
The programs follow the usual GNU command line syntax, with long options starting with two dashes (`-'). A summary of options are included
below. For a complete description, see the other documentation.
gtk2hsC2hs accepts the following options:
-h, -?, --help
brief help
-v, --version
show version information
-c CPP, --cpp=CPP
use executable CPP to invoke C preprocessor
-C CPPOPTS, --cppopts=CPPOPTS
pass CPPOPTS to the C preprocessor
-o FILE, --output=FILE
output result to FILE (should end in .hs)
-t PATH, --output-dir=PATH
place generated files in PATH
-p PLATFORM, --platform=PLATFORM
platform to use for cross compilation
-k, --keep
keep pre-processed C header
-l NAME, --lock=NAME
wrap each foreign call with the function NAME
-d TYPE, --dump=TYPE
dump internal information (for debugging), where TYPE is one of:
o trace trace compiler phases
o genbind trace binding generation
o ctrav trace C declaration traversal
o chs dump the binding file (adds .dump to the name)
header-file is the header file belonging to the marshalled library. It must end with suffix .h.
binding-file is the corresponding Haskell binding file, which must end with suffix .chs.
PLATFORM The platform name can be one of: x86_64-linux. i686-linux. m68k-palmos. This allows for cross-compilation, assuming the rest of
your toolchain supports that. The default is the current host platform.
The most useful of these options is probably --cppopts (or -C). If the C header file needs any special options (like -D or -I) to go
through the C pre-processor, here is the place to pass them.
EXAMPLES
When used directly, gtk2hsC2hs is usually called as:
gtk2hsC2hs lib.h Lib.chs
where lib.h is the header file and Lib.chs the Haskell binding module, which define the C- and Haskell-side interface, respectively. If no
errors occur, the result is a pure Haskell module Lib.hs, which implements the Haskell API of the library.
A more advanced call may look like this:
gtk2hsC2hs --cppopts=-I/some/obscure/dir --cppopts=-DEXTRA lib.h Lib.chs
Often, lib.h will not be in the current directory, but in one of the header file directories. Apart from the current directory, C->Haskell
looks in two places for the header: first, in the standard include directory of the used system, this is usually /usr/include and
/usr/local/include; and second, it will look in every directory that is mentioned in a -IDIR option passed to the pre-processor via
--cppopts.
CAVEATS
If you have more than one option that you want to give to the pre-processor, use multiple --cppopts= flags.
BUGS
Please report bugs and feature requests in the Gtk2Hs trac
http://hackage.haskell.org/trac/gtk2hs/
or to the Gtk2Hs mailing list gtk2hs-devel@lists.sourceforge.net
COPYRIGHT
C->Haskell Compiler, version 0.13.4 (gtk2hs branch) Copyright (c) [1999..2004] Manuel M T Chakravarty <chak@cse.unsw.edu.au>
AUTHOR
This page was addapted from the c2hs(1) manpage, by Marco Tulio Gontijo e Silva <marcot@debian.org> for the Debian GNU/Linux system (but
may be used by others), which was mainly assembled from the original documentation of c2hs.
The c2hs(1) was written by Michael Weber <michael.weber@post.rwth-aachen.de> for the Debian GNU/Linux system (but may be used by others).
Version 0.13.4 (gtk2hs branch) November 2004 GTK2HSC2HS(1)