[ ghc-Bugs-1115805 ] ghc-6.2.2 requires special configure flag...

2005-02-04 Thread SourceForge.net
Bugs item #1115805, was opened at 2005-02-03 22:19
Message generated for change (Comment added) made by simonmar
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032

Category: Build System
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Titus Brown (titus)
Assigned to: Nobody/Anonymous (nobody)
Summary: ghc-6.2.2 requires special configure flag...

Initial Comment:
To build from the source at

http://www.haskell.org/ghc/download_ghc_622.html

you need to add the --disable-hc-boot command to 'configure'.  
This isn't mentioned anywhere in the docs, and certainly isn't the 
default config ;).

thanks,
--titus

(on Linux, no previous GHC install)

--

Comment By: Simon Marlow (simonmar)
Date: 2005-02-04 13:46

Message:
Logged In: YES 
user_id=48280

The --disable-hc-boot option should not be required.  What
goes wrong if you don't have it?

Also, you need GHC installed in order to build the sources.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


[ ghc-Bugs-1116210 ] GADT constructor constraints ignored

2005-02-04 Thread SourceForge.net
Bugs item #1116210, was opened at 2005-02-04 09:28
Message generated for change (Tracker Item Submitted) made by Item Submitter
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032

Category: Compiler (Type checker)
Group: 6.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Wolfram Kahl (wolfram_kahl)
Assigned to: Nobody/Anonymous (nobody)
Summary: GADT constructor constraints ignored

Initial Comment:
Class constraints on GADT constructore appear to be
ignored.

I tried:

data Expr :: * - * where
  Const :: Show a = a - Expr a
  Apply :: Fct a b - Expr a - Expr b

and there is no way to define the expected constraint-less
Show instance --- for details, see Expr0.lhs.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


[ ghc-Bugs-1116210 ] GADT constructor constraints ignored

2005-02-04 Thread SourceForge.net
Bugs item #1116210, was opened at 2005-02-04 09:28
Message generated for change (Comment added) made by wolfram_kahl
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032

Category: Compiler (Type checker)
Group: 6.4
Status: Open
Resolution: None
Priority: 5
Submitted By: Wolfram Kahl (wolfram_kahl)
Assigned to: Nobody/Anonymous (nobody)
Summary: GADT constructor constraints ignored

Initial Comment:
Class constraints on GADT constructore appear to be
ignored.

I tried:

data Expr :: * - * where
  Const :: Show a = a - Expr a
  Apply :: Fct a b - Expr a - Expr b

and there is no way to define the expected constraint-less
Show instance --- for details, see Expr0.lhs.

--

Comment By: Wolfram Kahl (wolfram_kahl)
Date: 2005-02-04 09:54

Message:
Logged In: YES 
user_id=1212105

The expected solution would be that constrained constructors are
translated into constructors with an additional dictionary
argument,
as sketched in Expr1a.lhs.

--

Comment By: Wolfram Kahl (wolfram_kahl)
Date: 2005-02-04 09:39

Message:
Logged In: YES 
user_id=1212105

For a simpler example, see Expr1.lhs

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1116210group_id=8032
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


[ ghc-Bugs-1115805 ] ghc-6.2.2 requires special configure flag...

2005-02-04 Thread SourceForge.net
Bugs item #1115805, was opened at 2005-02-03 14:19
Message generated for change (Comment added) made by titus
You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032

Category: Build System
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Titus Brown (titus)
Assigned to: Nobody/Anonymous (nobody)
Summary: ghc-6.2.2 requires special configure flag...

Initial Comment:
To build from the source at

http://www.haskell.org/ghc/download_ghc_622.html

you need to add the --disable-hc-boot command to 'configure'.  
This isn't mentioned anywhere in the docs, and certainly isn't the 
default config ;).

thanks,
--titus

(on Linux, no previous GHC install)

--

Comment By: Titus Brown (titus)
Date: 2005-02-04 09:10

Message:
Logged In: YES 
user_id=23486

Without that flag, configure fails on not finding ghc.

As it turns out, *with* the --disable flag compilation fails if you don't 
have ghc.

So I don't understand how to download the ghc sources and compile it if 
you don't already have ghc.  The documentation was silent on this point 
;).

I ended up installing an old RedHat RPM, compiling ghc, and 
then removing the RPM.

So I'd recommend either describing how to compile ghc *from scratch* 
-- it's gotta be possible, right!? -- and linking that into the docs near the 
beginning, or stating bluntly that it's not easy and neophytes should just 
use a package!  (FWIW, I installed under FreeBSD using ports and Debian 
using apt-get w/o a problem.)

Sorry to be a pain, and apologies if I missed something somewhere - but 
I did spend about 30 minutes looking through the documentation  
couldn't figure out how to take the ghc-6.2.2 download and build it from 
scratch.




--

Comment By: Simon Marlow (simonmar)
Date: 2005-02-04 05:46

Message:
Logged In: YES 
user_id=48280

The --disable-hc-boot option should not be required.  What
goes wrong if you don't have it?

Also, you need GHC installed in order to build the sources.

--

You can respond by visiting: 
https://sourceforge.net/tracker/?func=detailatid=108032aid=1115805group_id=8032
___
Glasgow-haskell-bugs mailing list
Glasgow-haskell-bugs@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs


installing current binary distribution

2005-02-04 Thread Christian Maeder
Hi,
I've installed ghc-6.3.20050202-i386-unknown-linux.tar.bz2 only to find 
out that gcc-3.4.1 seems to be hard-wired into this ghc:

ghc-6.3.20050202: could not execute: gcc-3.4.1
Why is this so. Do I need to install from sources? My current gcc 
version is:

gcc (GCC) 3.3.1 (SuSE Linux)
Cheers Christian
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: installing current binary distribution

2005-02-04 Thread Christian Maeder
Simon Marlow wrote:
On 04 February 2005 12:23, Christian Maeder wrote:
ghc-6.3.20050202: could not execute: gcc-3.4.1
This is because we currently configure the nightly builds to use
gcc-3.4.1, and unfortunately that gets baked into the GHC binary.  You
can compile from source to get around this. 
Compiling from sources (in two hours) worked without problems.
Thanks Christian
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


installing current binary distribution

2005-02-04 Thread Alain Cremieux

Hi,
I've installed ghc-6.3.20050202-i386-unknown-linux.tar.bz2 only to find 
out that gcc-3.4.1 seems to be hard-wired into this ghc:

ghc-6.3.20050202: could not execute: gcc-3.4.1
Why is this so. Do I need to install from sources? My current gcc 
version is:

gcc (GCC) 3.3.1 (SuSE Linux)
Cheers Christian
 

I had this problem once, and solved it simply by creating a symbolic 
link gcc-3.4.1 towards my version of gcc (3.2.2), and everything worked OK.
Alain




___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


[Haskell] RE: Implicit parameters:

2005-02-04 Thread Simon Peyton-Jones
| Sent: 19 January 2005 14:42
| Unbound implicit parameter (?global_counter::IORef a)
| arising from use of `get_unique' at Test.hs:17:13-22
| 
| Is this a bug? Is there some reason why this is not possible? (and if
it
| is not possible
| shouldn't the documentation be changed to reflect this)...

Keean's program has made me realise (yet again) that implicit parameters
are a bit different to class constraints.

Consider

module Main where

main = let ?x = 5 in print foo

foo = woggle 3

woggle :: (?x :: Int) = Int - Int
woggle y = ?x + y

GHC's current rules say that 'foo' is monomorphic, so we get
foo :: Int
but we also get an unbound top-level constraint (?x::Int).  GHC emits a
message like:
 Unbound implicit parameter (?x::Int)
 arising from use of `woggle' at ...

The point is that THERE IS NO WAY FOR THIS CONSTRAINT TO GET BOUND,
because we don't have a top-level binding form for implicit parameters.
So it's stupid for 'foo' to be monomorphic.

The situation is a bit different for class constraints:

   module Main where
main = print fooC

fooC = woggleC 3

woggleC :: Num a = a - a
wogglec y = y+1

'fooC' is monomorphic, so we get foo :: a, with a top-level constraint
(Num a); and the defaulting mechanism fixes a=Integer, so all is well.
Even in the absence of monomorphism, we might get some other use of
'fooC' in the module which fixes fooC's type.  So it's *not* stupid for
foo to be monomorphic.


Possible conclusions

A) Emit an error message at the definition of foo, saying that it needs
a type signature.

B) Change the rule so that we always generalise over the implicit
parameters of *top-level* definitions, even in definitions that fall
under the MR.

C) Change the rule so that we always generalise over implicit
parameters, whether top-level or nested.

I'll do (A) for now, I think, since it improves the error message. 

For those that care, there are quite extensive notes about
generalisation and implicit parameters in GHC's source code, here:
http://cvs.haskell.org/cgi-bin/cvsweb.cgi/fptools/ghc/compiler/typecheck
/TcSimplify.lhs?rev=1.144
(search for Notes on implicit parameters).  Interestingly, the notes
argue for (C), but that's not what is currently implemented in GHC, for
reasons I don't remember.  Perhaps compatibility with other
implementations.


Simon

| -Original Message-
| From: [EMAIL PROTECTED]
[mailto:glasgow-haskell-users-
| [EMAIL PROTECTED] On Behalf Of Keean Schupke
| Sent: 19 January 2005 14:42
| To: glasgow-haskell-users@haskell.org
| Subject: Implicit parameters:
| 
| Question regarding implicit parameters... The GHC manual says:
| 
| Dynamic binding constraints behave just like other type class
| constraints in that they are automatically propagated.
| 
| But the following code produces an error:
| 
|

-
| 
| main = do
|var - newIORef (0::Int)
|let ?global_counter = var in f
| 
| 
| f = do
|a - get_unique
|putStr (showInt a \n)
|b - get_unique
|putStr (showInt b \n)
|c - get_unique
|putStr (showInt c \n)
| 
| 
| get_unique :: (?global_counter :: IORef Int) = IO Int
| get_unique = readIORef ?global_counter
| 
|

--
| 
| If (?global_counter :: IORef Int) were a class constraint the type
| signature
| for 'f' could be derived automatically... but we get:
| 
| Unbound implicit parameter (?global_counter::IORef a)
| arising from use of `get_unique' at Test.hs:17:13-22
| 
| Is this a bug? Is there some reason why this is not possible? (and if
it
| is not possible
| shouldn't the documentation be changed to reflect this)...
| 
| Keean.
| 
| ___
| Glasgow-haskell-users mailing list
| Glasgow-haskell-users@haskell.org
| http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


[Haskell] International M.Sc. Program in COMPUTATIONAL LOGIC

2005-02-04 Thread Int. Center for Computational Logic
International M.Sc. Program in COMPUTATIONAL LOGIC

The International Center for Computational Logic at the Technische
Universitaet Dresden is offering a two-year study program, in English,
leading to a master of science (M.Sc.) in computer science.  This is
part of the European Master's Program in Computational Logic, a
distributed study program funded by the EU within Erasmus Mundus jointly
run by the Free University of Bozen-Bolzano, the Technische Universitaet
Dresden, the Universidade Nova de Lisboa, the Universidad Politecnica de
Madrid and the Technische Universitaet Wien.

Courses focus on logic and constraint programming, artificial
intelligence, knowledge representation and reasoning, type theory, model
theory, proof theory, equational reasoning, databases, natural language
processing, planning and formal methods, among others.  At the end of
the programme a research master thesis has to be prepared.

Prerequisites are a good knowledge of the basics of logic, and
familiarity with mathematical reasoning.  Knowledge of foundations of
artificial intelligence and declarative programming is desirable.  It is
indispensable being fluent in English; German is not necessary at all,
but there are facilities for studying it if desired.  A bachelor in
Computer Science, or equivalent degree, is required by the beginning of
courses, in October 2005.

Dresden, on the river Elbe, is one of the most important art cities of
Germany.  The economy is growing rapidly and Dresden is a top high-tech
centre.  AMD built the most modern chip factory in Europe, Infineon
Technologies, Siemens and many other companies invest here.  The
possibilities of getting a job after the master are excellent.  The
University is very well equipped and the teachers/students ratio is
close to 1.  International contacts make it easy for interested students
to continue pursuing a career in research.

Deadline for applications is June 15, 2005, but applications are
processed as they come.  To apply, please send all the relevant
documents by post to the address below.  Further information is on the
web at

   www.computational-logic.org

including information about possible scholarships.  Paper information
material is available on request.

Please give this message broad distribution.

Sylvia Epp, secretary
International Center for Computational Logic
Technische Universitaet Dresden, D-01062 Dresden, Germany
Tel: [49] (351) 463-38341Fax: [49] (351) 463-38342
email: [EMAIL PROTECTED]
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Possible Spam]RE: [Haskell] Job Posting (Looking for a few good functionalprogrammers)

2005-02-04 Thread Yaron Minsky
David Bergman wrote:
Yaron,
This is probably out-of-topic, but: are you, or have you considered, using
the .NET implementation of OCaml. I managed - painstakingly - to integrate
it into a toy .NET project of mine, using .NET Direct3D, and see some virtue
in that combination.
 

I've been following OCaml/.NET integration, and it does seem potentially 
quite interesting, particularly in a business environment like ours 
where all of the traders use Windows machines.  Which .NET 
implementation did you look at, OCamIL?  Or F#? 

If only we Haskellers would be as lucky: both a fast implementation and an
integrated one with a Real (trademark...) environment such as .NET :-(
/David
 

-Original Message-
From: [EMAIL PROTECTED] 
[mailto:[EMAIL PROTECTED] On Behalf Of Yaron Minsky
Sent: Thursday, February 03, 2005 3:28 PM
To: S. Alexander Jacobson
Cc: haskell@haskell.org
Subject: Re: [Haskell] Job Posting (Looking for a few good 
functionalprogrammers)

S. Alexander Jacobson wrote:
   

Yaron, would you mind sharing the reason your firm chose OCaml over 
Haskell for your applications?
 

I started the quantitative research group, and I knew OCaml 
very well, and didn't know Haskell except by reputation.  As 
to the merits, it is my general impression that OCaml is 
faster, and is all around a more pragmatic language than 
Haskell.  That's merely an ill-informed impression, but there it is.

Yaron
   

For others, I would love to organize an informal gathering of NYC 
Haskell programmers if there are any.  If you are 
 

interested, please 
   

contact me and I'll try to make it happen.
-Alex-
__
S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com
On Thu, 3 Feb 2005, Yaron Minsky wrote:
 

Jane Street Capital (an affiliate of Henry Capital
http://henrycapital.com) is a proprietary trading 
   

company located 
   

in Manhattan. The quantitative research department is 
   

responsible for 
   

analyzing, improving, and generating trading strategies.  It's an 
open and informal environment (you can wear shorts and a 
   

t-shirt to 
   

the office), and the work is technically challenging, including 
systems work, machine learning, statistical analysis, parallel 
processing, and anything that crosses our path that looks useful.

One unusual attraction of the job is that the large 
   

majority of our 
   

programming is done in OCaml.  Pay is competitive, and we're a 
reasonably small company (around 85 employees), so advancement is 
pretty quick for someone who performs well.

Here's what we're looking for:
- Top-notch mathematical and analytic skills.  We want people who  
can solve difficult technical problems, and think clearly and  
mathematically about all sorts of problems.

- Strong programming skills.  Pretty much all of our 
   

programming is  
   

in OCaml, so being a solid caml hacker is a big plus.  But we're  
also interested in great programmers who we are convinced will be  
able to pick up OCaml quickly, so anyone with a high-level of  
proficiency with functional languages could be a good match.

- Strong Unix/Linux skills --- We're looking for someone 
   

who knows  
   

their way around the standard unix tools, can write 
   

makefiles,  shell 
   

scripts, etc.  We use a beowulf cluster for 
   

compute-intensive  jobs, 
   

so experience programming for and administering clusters is a  big 
plus.

If you're interested (or have any students you think might 
   

be a good
   

match) and would be willing to relocate to New York, please send a 
cover-letter and resume to:

[EMAIL PROTECTED]
___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
   

 

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell
   


 


___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


RE: [Possible Spam]RE: [Haskell] Job Posting (Looking for a few goodfunctionalprogrammers)

2005-02-04 Thread David Bergman
Yaron wrote:

 I've been following OCaml/.NET integration, and it does seem 
 potentially quite interesting, particularly in a business 
 environment like ours where all of the traders use Windows 
 machines.  Which .NET implementation did you look at, OCamIL?  Or F#? 

F#

I wish there was an H#... Mondrian seemed to be a good initiative, but it is
probably no longer supported, or?

/David

___
Haskell mailing list
Haskell@haskell.org
http://www.haskell.org/mailman/listinfo/haskell


Re: [Haskell-cafe] Haskell binding to Berkeley DB?

2005-02-04 Thread Christian Maeder
our uniform workbench has a simpleDB binding to BDB.
http://www.informatik.uni-bremen.de/uniform/wb/
The sources can be downloaded with
cvs -d \
   :pserver:[EMAIL PROTECTED]:/repository \
co uni
and can be compiled with a recent ghc-6.2.2.
The only documentation that I'm aware of is a top-level README file.
Cheers Christian
Dimitry Golubovsky wrote:
Hi,
Has anyone tried/been successful on developing such a binding?
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: mathematical notation and functional programming

2005-02-04 Thread Dylan Thurston
(Resurrecting a somewhat old thread...)

On Fri, Jan 28, 2005 at 08:16:59PM +0100, Henning Thielemann wrote:
 On Fri, 28 Jan 2005, Chung-chieh Shan wrote:
  But I would hesitate with some of your examples, because they may simply
  illustrate that mathematical notation is a language with side effects --
  see the third and fifth examples below.
 I can't imagine mathematics with side effects, because there is no order
 of execution.

Not all side effects require an order of execution.  For instance,
dependence on the environment is a side effect (in the sense that it
is related to a monad), but it does not depend on the order of
execution.  There are many other examples too, like random variables.

   O(n)
  which should be O(\n - n) (a remark by Simon Thompson in
  The Craft of Functional Programming)

I don't think this can be right.  Ken argued around this point, but
here's a more direct argument: in

  f(x) = x + 1 + O(1/x)

all the 'x's refer to the same variable; so you shouldn't go and
capture the one inside the 'O'.

This is established mathematical notation, it's very useful, and can
be explained almost coherently.  The one deficiency is that we should
interpret 'O' as an asymptotically bounded function of... but that
doesn't say what it is a function of and where we should take the
asymptotics.  But the patch you suggest doesn't really help.

 But what do you mean with 1/O(n^2) ? O(f) is defined as the set of
 functions bounded to the upper by f.  So 1/O(f) has no meaning at the
 first glance. I could interpret it as lifting (1/) to (\f x - 1 / f x)
 (i.e. lifting from scalar reciprocal to the reciprocal of a function) and
 then as lifting from a reciprocal of a function to the reciprocal of each
 function of a set. Do you mean that?

I think this is the only reasonable generalization from the
established usage of, e.g., 2^(O(n)).  In practice, this means that
1/O(n^2) is the set of functions asymptotically bounded below by
1/kn^2 for some k.

 Hm, (3+) is partial application, a re-ordered notation of ((+) 3), which
 is only possible if the omitted value is needed only once. But I see
 people writing f(.) + f(.-t) and they don't tell, whether this means

   (\x - f x) + (\x - f (x-t))
 
 or
 
   (\x - f x + f (x-t))

Have you really seen people use that notation with either of those
meanings?  That's really horrible and inconsistent.  I would have
interpreted f(.) + f(.-t) as

 \x \y - f(x) + f(y-t)

to be consistent with notation like .*. , which seems to mean
 \x \y - x*y
in my experience.

 It seems to me that the dot is somehow more variable than variables, and a
 dot-containing expression represents a function where the function
 arguments are inserted where the dots are.

Right.  I don't know how to formalize this, but that doesn't mean it
can't be done.

Peace,
Dylan


signature.asc
Description: Digital signature
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Re: mathematical notation and functional programming

2005-02-04 Thread William Lee Irwin III
On Fri, Jan 28, 2005 at 08:16:59PM +0100, Henning Thielemann wrote:
 But what do you mean with 1/O(n^2) ? O(f) is defined as the set of
 functions bounded to the upper by f.  So 1/O(f) has no meaning at the
 first glance. I could interpret it as lifting (1/) to (\f x - 1 / f x)
 (i.e. lifting from scalar reciprocal to the reciprocal of a function) and
 then as lifting from a reciprocal of a function to the reciprocal of each
 function of a set. Do you mean that?

On Thu, Feb 03, 2005 at 08:16:49PM -0500, Dylan Thurston wrote:
 I think this is the only reasonable generalization from the
 established usage of, e.g., 2^(O(n)).  In practice, this means that
 1/O(n^2) is the set of functions asymptotically bounded below by
 1/kn^2 for some k.

Careful, 2^x is monotone increasing; 1/x is monotone decreasing. I
said 1/O(n^2) is Omega(1/n^2) for a good reason. Inequalities are
reversed by monotone decreasing functions. Likewise, sech(O(n^2)) =
Omega(sech(n^2)), which is happily immune to the effects of sign.
Usually f(n) = O(g(n)) is done as there exist N, K so that
|f(n)| = K*|g(n)| for all n  N so e.g.
e^x \in O((-1)^{\chi_\mathbb{Q}}\cdot e^x) etc.

Also, you're in a bit of trouble wrt. 2^(O(n)). O(2^n) is something
rather different. O(2^n) has |f(n)| = K*|2^n| but 2^(O(n)) is 2^|f(n)|
where |f(n)| = K*|n|. If K = 1/log(2) is sharp then then we have
2^|f(n)| = e^|n| \in omega(2^n).


-- wli
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Re: Haskell binding to Berkeley DB?

2005-02-04 Thread John Goerzen
On 2005-02-04, Dimitry Golubovsky [EMAIL PROTECTED] wrote:
 Hi,

 Has anyone tried/been successful on developing such a binding?

Funny you should ask.  I released one yesterday.

http://quux.org/devel/missingpy/html/MissingPy.AnyDBM.html#v%3AopenSpecificDBM

(Download from http://quux.org/devel/missingpy/)

That does go via Python, but Python uses the C binding so the
performance hit should be minimal.  Python is also highly portable and
easy to install, so the convenience hit should also be minimal.  Python
is also a strongly typed language with exceptions that get propogated
into Haskell, so the reliability hit should also be minimal :-)

FWIW, this binding works with any *dbm that is supported by Python,
which includes dbhash, (n)dbm, gdbm, and its own dumbdbm.

I also wrote a StringDBM available in my MissingH library
(quux.org/devel/missingh).  It is slow and simple, using a HashTable as
an in-memory representation and reading/writing it from disk as needed.
If all you need is simple persistence, that may do it for you, without
requiring any non-Haskell binding at all.  If you need the other
benefits of *dbm, MissingPy may be what you need.

-- John


___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe