
Hi, Does the Haskell community have an equivalent to C++ community's Boost project with the aim of writing libraries for the eventual inclusion into Haskell? Thanks -John

Hi John,
Does the Haskell community have an equivalent to C++ community's Boost project with the aim of writing libraries for the eventual inclusion into Haskell?
We have: 1) MissingH - a nice staging ground for things that may end up in the base library 2) Library submission process, to add things to the base libraries 3) Hackage - anyone can write a library that anyone can use. I think that covers most uses. Thanks Neil

Hello John, Thursday, February 1, 2007, 4:03:09 PM, you wrote:
Does the Haskell community have an equivalent to C++ community's Boost project with the aim of writing libraries for the eventual inclusion into Haskell?
i guess that the only reason why C++ people need such project is because there are too many developers that want to develop such libs. that's not true for Haskell. for example, the most successful library of 2006 - ByteString - was developed by just 3 main contributors. if you want to develop somewhat useful - just do it. if you want to add more functionality to existing library - including base! - just send your patches to the maintainer. the only thing we missing, imho, is a darcs repository (or instructions for dummies like me on how to setup my own publicly accessible repository, say, on haskell.org) -- Best regards, Bulat mailto:Bulat.Ziganshin@gmail.com

Bulat Ziganshin wrote:
Hello John,
Thursday, February 1, 2007, 4:03:09 PM, you wrote:
Does the Haskell community have an equivalent to C++ community's Boost project with the aim of writing libraries for the eventual inclusion into Haskell?
The Haskell community is hosted on the wiki at haskell.org.
i guess that the only reason why C++ people need such project is because there are too many developers that want to develop such libs. that's not true for Haskell. for example, the most successful library of 2006 - ByteString - was developed by just 3 main contributors. if you want to develop somewhat useful - just do it. if you want to add more functionality to existing library - including base! - just send your patches to the maintainer. the only thing we missing, imho, is a darcs repository (or instructions for dummies like me on how to setup my own publicly accessible repository, say, on haskell.org)
When I wrote the regex-* packages to upgrade and extend and replace Text.Regex I worked alone and then submitted them in time for the GHC 6.6 / base 2.0 release. They gave me darcs space (which I am still using for the project) on darcs.haskell.org. This was useful for the GHC developers since they needed some of it there for GHC anyway.

One of the great strengths of Python is Boost.Python. Practitioners say it's a major advantage of Python over Ruby, for example. So the question is not whether there's a Boost in Haskell -- C++ and Haskell are too different for it to have much meaning -- but whether there's or going to be a Boost.Haskell? Cheers, Alexy On Feb 1, 2007, at 5:03 AM, John Ky wrote:
Does the Haskell community have an equivalent to C++ community's Boost project with the aim of writing libraries for the eventual inclusion into Haskell?

Boost.Python is for extending Python with C++, or embedding Python in C++. This is especially useful because it allows you to use Python as an extension language for a C++ program. Presumably Boost.Haskell would be for integrating Haskell code with C++, which would of course be useful, but the main use case (an embedded extension language) that draws people to Boost.Python isn't as much of a draw for Haskell because of the compilation phase. On the other hand, I suppose you could always integrate a Haskell interpreter like Hugs, or even go the HsPlugins route and dynamically load a compiled module, but the fit doesn't seem as natural as it does with a latently typed scripting language. There are also technical problems that are hard to overcome. Extending Python is mostly done in C, so a C++ library to add some nice sugar is a good fit. Haskell, OTOH, embeds C programs via its FFI. There doesn't seem to be any way to export functions and value from C++ to Haskell, but instead the C++ code must import from Haskell. All the heavy lifting is done on the Haskell side, so there isn't as much opportunity to write a slick C++ library. This could change if someone made a version of Hugs that can be linked in as a library with a documented C API for evaluating Haskell code and mucking with Haskell values. But I don't think its much of a priority right now :) -- Alan Falloon Alexy Khrabrov wrote:
One of the great strengths of Python is Boost.Python. Practitioners say it's a major advantage of Python over Ruby, for example. So the question is not whether there's a Boost in Haskell -- C++ and Haskell are too different for it to have much meaning -- but whether there's or going to be a Boost.Haskell?
Cheers, Alexy
On Feb 1, 2007, at 5:03 AM, John Ky wrote:
Does the Haskell community have an equivalent to C++ community's Boost project with the aim of writing libraries for the eventual inclusion into Haskell?

On 2/1/07, Al Falloon
Boost.Python is for extending Python with C++, or embedding Python in C++. This is especially useful because it allows you to use Python as an extension language for a C++ program.
Presumably Boost.Haskell would be for integrating Haskell code with C++, which would of course be useful, but the main use case (an embedded extension language) that draws people to Boost.Python isn't as much of a draw for Haskell because of the compilation phase.
On the other hand, I suppose you could always integrate a Haskell interpreter like Hugs, or even go the HsPlugins route and dynamically load a compiled module, but the fit doesn't seem as natural as it does with a latently typed scripting language.
There are also technical problems that are hard to overcome. Extending Python is mostly done in C, so a C++ library to add some nice sugar is a good fit. Haskell, OTOH, embeds C programs via its FFI. There doesn't seem to be any way to export functions and value from C++ to Haskell, but instead the C++ code must import from Haskell. All the heavy lifting is done on the Haskell side, so there isn't as much opportunity to write a slick C++ library.
This could change if someone made a version of Hugs that can be linked in as a library with a documented C API for evaluating Haskell code and mucking with Haskell values. But I don't think its much of a priority right now :)
-- Alan Falloon
I think a more common scenario would be using C++ legacy code in Haskell project. I would imagine Boost.Haskell as collection of code generation templates for exposing C++ APIs to be used in Haskell. That would be sweet. Even sweeter is easily accessing .Net Framework from ghc, especially for Windows users. .Net Framework is huge. It is de-facto _the_ windows framework. Are there any projects going in this direction? -- Slavomir Kaslev

On 01/02/07, Slavomir Kaslev
Even sweeter is easily accessing .Net Framework from ghc, especially for Windows users. .Net Framework is huge. It is de-facto _the_ windows framework. Are there any projects going in this direction?
That would indeed be nice - it would make a good replacement for the old H/Direct COM interface, which sadly no longer seems to be maintained... You might also be interested in a couple of "Haskell for .NET" projects: http://galois.com/~sof/hugs98.net/ (Hugs.NET) http://kahu.zoot.net.nz/ (Mondrian, includes Haskell.NET) http://php.cin.ufpe.br/~haskell/haskelldotnet/ (Haskell.NET) None seem maintained, unfortunately - the last URL is dead, which may be temporary... Paul.

On 2/1/07, Slavomir Kaslev
would be sweet. Even sweeter is easily accessing .Net Framework from ghc, especially for Windows users. .Net Framework is huge. It is de-facto _the_ windows framework. Are there any projects going in this direction?
I would so love to see this happen. I'm actually surprised it hasn't, considering the GHC "guy" works for MS! If for nothing else, .NET has an excellent GUI in Windows Forms. Manipulating that from Haskell would be a dream come true!
participants (9)
-
Al Falloon
-
Alexy Khrabrov
-
Bulat Ziganshin
-
Chris Kuklewicz
-
John Ky
-
Justin Bailey
-
Neil Mitchell
-
Paul Moore
-
Slavomir Kaslev