On Thu, 2002-08-22 at 14:55, William Djaja Tjokroaminata wrote:
> I have some doubt with functional programming languages.  Can Haskell or
> any of them be interfaced with C/C++/Java (at the linking level)?  

Yes.  Haskell code can make calls to C.   That's how I/O, user
interfaces and other services are implemented.

But... why are you asking this on the mailing list instead of
downloading a Haskell system and learning it for yourself? :-)

> To me,
> the benefits in learning the new concepts are diminished by not being able
> to explicitly code in that language in practice.  (My concern is, if I
> really write a Haskell code for a project, then I am stuck with Haskell, I
> cannot switch parts of it to C.)

Learning Haskell teaches you useful *techniques*, even if you don't end
up writing Haskell code in your professional life.  

For example, many aspects of the C++ library are influenced by
functional languages, especially the STL.  The binder classes are an
implementation of curried functions, that are directly inspired by
functional languages.  The STL algorithms and functor objects are an
attempt to write higher order functions in C++.  Learning Haskell or
other functional languages is a good learning experience if it does no
more than teach you how to better use the C++ standard library.  It's a
lot easier to learn higher order functional programming in Haskell
syntax than it is in C++ template syntax, and the error messages will be
easier to understand as well.  However, it will also make you realise
how limited and awkward a language C++ is for writing this kind of code.

Cheers,
	Nat.

-- 
Dr. Nathaniel Pryce, Technical Director, B13media Ltd.
Studio 3a, 22-24 Highbury Grove, London N5 2EA, UK
http://www.b13media.com