-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathANNOUNCE
100 lines (79 loc) · 3.87 KB
/
ANNOUNCE
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
HaskellDirect - an IDL compiler for Haskell
A new release of HaskellDirect, version 0.16, is now available
for download (source + binaries.)
* What is it?
=============
HaskellDirect is an IDL compiler for Haskell, helping to bridge the
gap between Haskell programs and the outside world. Interfacing
Haskell code to libraries or components written in other languages
involves the conversion of values between the Haskell representations
of values and the representations expected externally. Using an Interface
Definition Language (IDL) as basis, HaskellDirect automates the generation
of such impedance matching code, leaving you to focus on how to implement
the Interesting Bits.
HaskellDirect supports the OSF DCE and OMG CORBA dialects of
IDL. Notice that DCE IDL is a superset of C function prototype and
type declarations. So, by implication, HaskellDirect will also accept
C header files as input.
* What's new?
=============
Version 0.16 adds the following:
* Lambada support - support for generating Haskell-callable stubs
to Java objects. Going the other way is also supported - automatic
generation of Java-callable wrappers to Haskell functions.
* Improved support for working with C header files:
* off-line configuration of IDL/marshalling attributes.
(i.e., no need to manually modify your header files.)
* selective generation of stubs, pick out the functions you're
interested in (and ignore the rest.)
* Better support for one-Haskell-module-per-interface/ADT mapping;
the compiler now tries to avoid generating mutually recursive Haskell
modules, if possible.
* Improved set of support libraries.
* New examples:
* PCRE - generate Haskell binding to PCRE (Perl-Compatible
Regular Expression)
* ActiveX scripting engine - basic demonstration of how to write
a scripting engine in Haskell, which you can then use inside
web pages, with ASP etc.
* perl - generate Haskell binding to libperl, letting you call
out to Perl code from Haskell.
* HTML dialogs - use IE's support for creating HTML-based modal
dialogs.
* Video/Audio player - COM client example.
* zlib - Haskell binding to zlib compression library (also in 0.15.)
* gd - Haskell binding to GD Gif manip. library (also in 0.15.)
* ie-listen - interact with IE from Haskell (also in 0.15.)
* Works with ghc-4.04 and Hugs98 (and HaskellScript.)
* Due to time constraints (& the author moving job), 0.16 does *unfortunately*
not include (semi-promised) CORBA support.
Version 0.15 adds the following:
* Haskell COM component support (vtbl-based and Automation).
* Haskell library support - package up your Haskell code
and give it to your C, Java etc. friends to use.
* More comprehensive marshaling support (function types are now
handled).
* Support for creating COM type libraries as well as an improved
type library reader.
* native Hugs98 support.
* support for generating C header files from IDL specs.
* Extensions and bugfixes too numerous to mention ; consult
user documentation for details.
* Graphical user interface - desktop launcher (Win32 only).
* Wizardly generation of skeleton component implementations
(if you ask nicely.)
* a Y2K bug.
* More information
==================
Pointers to a downloadable distribution, documentation etc. is
now available via the HaskellDirect home page:
http://www.dcs.gla.ac.uk/fp/software/hdirect/
To compile up HaskellDirect from source you'll need to have GHC 4.04
(or later) installed on your machine. To use the generated output,
you'll either need GHC-4.04 or Hugs98 / HaskellScript.
* Bug reports/feedback
======================
Please send any bug reports or suggestions for how to improve
HaskellDirect to the Glasgow Haskell Bugs list:
Enjoy!