[Haskell-cafe] GHC compilation with postres libs

2005-02-25 Thread Edwin Eyan Moragas
Hi guys,

been spending some time compiling my app but nothing seems to work.

here's the picture:
- created a Main.hsc which include some external libs.

- included this pragma is Main.hsc 
{-# OPTIONS -fglasgow-exts #-}

-compiled Main.hsc with:
$ hsc2hs -I/usr/local/pgsql/include Main.hsc
all went well with this

- tried compiling this way:
$ ghc -o test -L/usr/local/pgsql/lib Main.hs
here's the error:

Main.o(.text+0xbd): In function `r289_entry':
: undefined reference to `PQgetvalue'
Main.o(.text+0x28f): In function `r28b_entry':
: undefined reference to `PQexec'
Main.o(.text+0x42f): In function `r28d_entry':
: undefined reference to `PQreset'
Main.o(.text+0x573): In function `r28f_entry':
: undefined reference to `PQfinish'
Main.o(.text+0x6b7): In function `r28h_entry':
: undefined reference to `PQstatus'
Main.o(.text+0x82b): In function `r28j_entry':
: undefined reference to `PQconnectdb'
collect2: ld returned 1 exit status

any ideas?

kind regards,
eyan
-- 
http://www.eyan.org

Object-oriented programming offers
a sustainable way to write spaghetti code.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] GHC compilation with postres libs

2005-02-25 Thread Lemmih
On Fri, 25 Feb 2005 22:15:02 +0800, Edwin Eyan Moragas [EMAIL PROTECTED] 
wrote:
 Hi guys,
 
 been spending some time compiling my app but nothing seems to work.
 
 here's the picture:
 - created a Main.hsc which include some external libs.
 
 - included this pragma is Main.hsc
 {-# OPTIONS -fglasgow-exts #-}
 
 -compiled Main.hsc with:
 $ hsc2hs -I/usr/local/pgsql/include Main.hsc
 all went well with this
 
 - tried compiling this way:
 $ ghc -o test -L/usr/local/pgsql/lib Main.hs
 here's the error:
 
 Main.o(.text+0xbd): In function `r289_entry':
 : undefined reference to `PQgetvalue'
 Main.o(.text+0x28f): In function `r28b_entry':
 : undefined reference to `PQexec'
 Main.o(.text+0x42f): In function `r28d_entry':
 : undefined reference to `PQreset'
 Main.o(.text+0x573): In function `r28f_entry':
 : undefined reference to `PQfinish'
 Main.o(.text+0x6b7): In function `r28h_entry':
 : undefined reference to `PQstatus'
 Main.o(.text+0x82b): In function `r28j_entry':
 : undefined reference to `PQconnectdb'
 collect2: ld returned 1 exit status
 
 any ideas?

Including header files isn't enough, you have to link with the libraries too.
And have you seen HSQL? It already provides a postgresql binding.

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


RE: [Haskell-cafe] GHC compilation with postres libs

2005-02-25 Thread Bayley, Alistair
 From: Edwin Eyan Moragas [mailto:[EMAIL PROTECTED] 
 
 -compiled Main.hsc with:
 $ hsc2hs -I/usr/local/pgsql/include Main.hsc
 all went well with this
 
 - tried compiling this way:
 $ ghc -o test -L/usr/local/pgsql/lib Main.hs


Do you not also need the -l option?
e.g. (wild guess, assuming library is libpg.so)

 $ ghc -o test -L/usr/local/pgsql/lib -lpg Main.hs 

Alistair.

-
*
Confidentiality Note: The information contained in this   message, and any
attachments, may contain confidential   and/or privileged material. It is
intended solely for the   person(s) or entity to which it is addressed. Any
review,   retransmission, dissemination, or taking of any action in
reliance upon this information by persons or entities other   than the
intended recipient(s) is prohibited. If you received  this in error, please
contact the sender and delete the   material from any computer.
*

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


Re: [Haskell-cafe] GHC compilation with postres libs

2005-02-25 Thread Edwin Eyan Moragas
On Fri, 25 Feb 2005 15:22:28 +0100, Lemmih [EMAIL PROTECTED] wrote:
 On Fri, 25 Feb 2005 22:15:02 +0800, Edwin Eyan Moragas [EMAIL PROTECTED] 
 wrote:
 
 Including header files isn't enough, you have to link with the libraries too.
 And have you seen HSQL? It already provides a postgresql binding.

what is enough then?

i have seen HSQL. the point of the exercise is to better equip myself
with FFI.

thanks for the response.

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


Re: [Haskell-cafe] GHC compilation with postres libs

2005-02-25 Thread Edwin Eyan Moragas
On Fri, 25 Feb 2005 14:25:21 -, Bayley, Alistair
[EMAIL PROTECTED] wrote:
 Do you not also need the -l option?
 e.g. (wild guess, assuming library is libpg.so)
 
  $ ghc -o test -L/usr/local/pgsql/lib -lpg Main.hs
 

[EMAIL PROTECTED] $ ghc  -o test  -L/usr/local/pgsql/lib/ -lpg Main.hs
compilation IS NOT required
/usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-slackware-linux/bin/ld:
cannot find -lpg
collect2: ld returned 1 exit status

still no go. :-)
thanks.

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


Re: [Haskell-cafe] GHC compilation with postres libs

2005-02-25 Thread Edwin Eyan Moragas
On Fri, 25 Feb 2005 22:38:32 +0800, Edwin Eyan Moragas [EMAIL PROTECTED] 
wrote:
 On Fri, 25 Feb 2005 14:25:21 -, Bayley, Alistair
 [EMAIL PROTECTED] wrote:
  Do you not also need the -l option?
  e.g. (wild guess, assuming library is libpg.so)
 
   $ ghc -o test -L/usr/local/pgsql/lib -lpg Main.hs

My bad,
it's libpq.

so:
 $ ghc -o test -L/usr/local/pgsql/lib -lpq Main.hs
works.

thanks a bunch! :-)

-- 
kind regards,
eyan

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


RE: [Haskell-cafe] GHC compilation with postres libs

2005-02-25 Thread Bayley, Alistair
 From: Edwin Eyan Moragas [mailto:[EMAIL PROTECTED] 
 
 [EMAIL PROTECTED] $ ghc  -o test  -L/usr/local/pgsql/lib/ -lpg Main.hs
 compilation IS NOT required
 /usr/lib/gcc-lib/i486-slackware-linux/3.3.4/../../../../i486-s
 lackware-linux/bin/ld:
 cannot find -lpg
 collect2: ld returned 1 exit status
 
 still no go. :-)
 thanks.


Where is the library (the .so file) and what is it called? Can you show me
the contents of /usr/local/pgsql/lib ?

-
*
Confidentiality Note: The information contained in this   message, and any
attachments, may contain confidential   and/or privileged material. It is
intended solely for the   person(s) or entity to which it is addressed. Any
review,   retransmission, dissemination, or taking of any action in
reliance upon this information by persons or entities other   than the
intended recipient(s) is prohibited. If you received  this in error, please
contact the sender and delete the   material from any computer.
*

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


[Haskell-cafe] Must be a FAQ - Can't make install Hugs98-Nov2003 on MacOSX 10.3.8

2005-02-25 Thread Kaoru Hosokawa
I'm sure this must be a FAQ, but I can't make install hugs98-Nov2003 on 
MacOS 10.3.8. The error message I get is:

...
gcc -c -g  -O2 machine.c
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1649: illegal expression, found `'
machine.c:1673: illegal statement, missing `identifier' after `goto'
machine.c:1673: syntax error, missing `;' after `*'
machine.c:1677: illegal statement, missing `identifier' after `goto'
machine.c:1677: syntax error, missing `;' after `*'
machine.c:1681: illegal statement, missing `identifier' after `goto'
machine.c:1681: syntax error, missing `;' after `*'
machine.c:1685: illegal statement, missing `identifier' after `goto'
machine.c:1685: syntax error, missing `;' after `*'
machine.c:1689: illegal statement, missing `identifier' after `goto'
machine.c:1689: syntax error, missing `;' after `*'
machine.c:1694: illegal statement, missing `identifier' after `goto'
machine.c:1694: syntax error, missing `;' after `*'
machine.c:1698: illegal statement, missing `identifier' after `goto'
machine.c:1698: syntax error, missing `;' after `*'
machine.c:1707: illegal statement, missing `identifier' after `goto'
machine.c:1707: syntax error, missing `;' after `*'
machine.c:1715: illegal statement, missing `identifier' after `goto'
machine.c:1715: syntax error, missing `;' after `*'
machine.c:1729: illegal statement, missing `identifier' after `goto'
machine.c:1729: syntax error, missing `;' after `*'
machine.c:1738: illegal statement, missing `identifier' after `goto'
machine.c:1738: syntax error, missing `;' after `*'
machine.c:1742: illegal statement, missing `identifier' after `goto'
machine.c:1742: syntax error, missing `;' after `*'
machine.c:1748: illegal statement, missing `identifier' after `goto'
machine.c:1748: syntax error, missing `;' after `*'
machine.c:1756: illegal statement, missing `identifier' after `goto'
machine.c:1756: syntax error, missing `;' after `*'
machine.c:1759: illegal statement, missing `identifier' after `goto'
machine.c:1759: syntax error, missing `;' after `*'
machine.c:1763: illegal statement, missing `identifier' after `goto'
machine.c:1763: syntax error, missing `;' after `*'
machine.c:1771: illegal statement, missing `identifier' after `goto'
machine.c:1771: syntax error, missing `;' after `*'
machine.c:1791: illegal statement, missing `identifier' after `goto'
machine.c:1791: syntax error, missing `;' after `*'
machine.c:1814: illegal statement, missing `identifier' after `goto'
machine.c:1814: syntax error, missing `;' after `*'
cpp-precomp: warning: errors during smart preprocessing, retrying in 
basic mode
...

What should I do? Thanks.
Kaoru Hosokawa
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] YAWQ (Yet Another Wash Question)

2005-02-25 Thread Matthias Neubauer
John Goerzen [EMAIL PROTECTED] writes:

 Possible, but ugly.  I have about 50 lines of code that has to go
 in-between, so I'd be duplicating it.  And, if I tried to make it into
 just another function, I'd have the same problem, I believe (scoping)

It's all much easier: as always, you just have to use template
functions for all your pages. That's all you need ... :-)

Here is a recipe how I typically structure my WASH applications:

- First, I write down (html) code for all the web pages and abstract
  over all the varying parts (input fields, submit buttons,
  continuation pages, etc.). As result, I get (independent) template
  function for all the pages. Usually, each template function lives in
  a separate module/file.

- In the end, I write a *controller* function that both generates all
  the different pages by filling the holes of the templates and also
  ties together all the consecutive pages.

And that's all you need to solve your problem as well -- just use a
template function twice! Below, you'll find a small web app that
toggles between two varying input pages using the scheme I described
above.

-Matthias



module Main where

import CGI

main = run controller 

-- controller

controller :: CGI ()
controller = 
  let input1  = tr $ td $ textInputField empty
  submit1 = \ h cont - submit h cont empty
  page1   = stepOneTemplate input1 submit1 page2

  out2= \ t - text t
  submit2 = \ cont - submit0 cont empty
  page2   = stepTwoTemplate value out2 submit2 page3
 
  input3  = empty
  submit3 = \ h cont - submit F0 cont empty
  page3   = stepOneTemplate input3 submit3 page4

  out4= \ t - text No input, sorry!
  submit4 = \ cont - submit0 cont empty
  page4   = stepTwoTemplate (const undefined) out4 submit4 page1
  in page1

-- page templates

stepOneTemplate inputCode submitCode nextPage = do
  standardQuery Input Page $ table $ do
do tr $ td $ text Hello!
   h - inputCode 
   tr $ td $ text Press the button!
   tr $ td $ submitCode h nextPage

stepTwoTemplate validationCode outputCode submitCode nextPage h = do
  let i = validationCode h
  standardQuery Result Page $ table $ do
tr $ td $ text Your input was ...
tr $ td $ outputCode i
tr $ td $ submitCode nextPage



-- 
Matthias Neubauer   |
Universität Freiburg, Institut für Informatik   | tel +49 761 203 8060
Georges-Köhler-Allee 79, 79110 Freiburg i. Br., Germany | fax +49 761 203 8052
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Must be a FAQ - Can't make install Hugs98-Nov2003 on MacOSX 10.3.8

2005-02-25 Thread Arthur Baars
See the hugs-bugs archive:
http://www.mail-archive.com/hugs-bugs@haskell.org/msg02815.html
Malcolm Wallace wrote:
The configure script is (wrongly) determining that the MacOS X C
compiler does not support Floats/Doubles.  Ideally, the autoconf magic
which determined this setting should be fixed, but in the meantime,
you can work around it by:
  (1) Edit src/config.h, replacing the line
  /* #undef HAVE_LIBM */
  with
  #define HAVE_LIBM 1
  (2) rm src/*.o
  (3) cd src; make
Regards,
Malcolm
Hope this answers your question.
Arthur
On 25-feb-05, at 16:09, Kaoru Hosokawa wrote:
I'm sure this must be a FAQ, but I can't make install hugs98-Nov2003 
on MacOS 10.3.8. The error message I get is:
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] YAWQ (Yet Another Wash Question)

2005-02-25 Thread John Goerzen
On Fri, Feb 25, 2005 at 04:15:55PM +0100, Matthias Neubauer wrote:
   standardQuery Input Page $ table $ do
 do tr $ td $ text Hello!
h - inputCode 
tr $ td $ text Press the button!
tr $ td $ submitCode h nextPage

I like the idea, but...

doesn't this still have a problem if inputCode creates multiple fields
on the screen?  That is, h would only hold the last one?

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


[Haskell-cafe] how to avoid overlapping instance error?

2005-02-25 Thread S. Alexander Jacobson
Currently, the HAppS.DBMS lib requires the user to provide a Show 
instance for their table types.  An example might be:

   instance (Show item) = Show (MyTable item) where
   showsPrec d table = showsPrec d $ Set.toList $ myTableSet table
But the Table class itself defines a toSet function so I think I 
should be able to do this once for all Table instances:

   instance (Show item,Ord item, Table table item p) = Show (table item) where
   showsPrec d table = showsPrec d $ Set.toList $ toSet table
But I get an error telling me I am overlapping with Show [a].
Since [] is not an instance of Table, I don't see why there should be 
an overlap.

-Alex-
__
S. Alexander Jacobson tel:917-770-6565 http://alexjacobson.com
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] YAWQ (Yet Another Wash Question)

2005-02-25 Thread Matthias Neubauer
John Goerzen [EMAIL PROTECTED] writes:

 On Fri, Feb 25, 2005 at 04:15:55PM +0100, Matthias Neubauer wrote:
   standardQuery Input Page $ table $ do
 do tr $ td $ text Hello!
h - inputCode 
tr $ td $ text Press the button!
tr $ td $ submitCode h nextPage

 I like the idea, but...

 doesn't this still have a problem if inputCode creates multiple fields
 on the screen?  That is, h would only hold the last one?

That's what F0, F1, F2, and friends are for. You use them to wrap
multiple handles into a single object that you then pass to a submit
button.

E.g., my example, now with two buttons on the first step, looks as
follows ...

controller :: CGI ()
controller = 
  let input1  = do h1 - tr $ td $ textInputField empty
   h2 - tr $ td $ textInputField empty
   return (F2 h1 h2)
  submit1 = \ h cont - submit h cont empty
  page1   = stepOneTemplate input1 submit1 page2

  vali2   = \ (F2 h1 h2) - value h1 ++  and  ++ value h2
  out2= \ t - text t
  submit2 = \ cont - submit0 cont empty
  page2   = stepTwoTemplate vali2 out2 submit2 page3
 
  ...

The templates and all the rest stays unchanged.

-Matthias
 




-- 
Matthias Neubauer   |
Universität Freiburg, Institut für Informatik   | tel +49 761 203 8060
Georges-Köhler-Allee 79, 79110 Freiburg i. Br., Germany | fax +49 761 203 8052
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


[Haskell-cafe] Bound threads

2005-02-25 Thread Marcin 'Qrczak' Kowalczyk
I'm trying to understand the semantics and implementation of bound threads
basing on the conc-ffi paper and others.

Since the main thread is bound, and unbound threads are never executed
on an OS thread which has some Haskell thread bound, this would imply
that when the main thread spawns a Haskell thread and they synchronize
a lot with each other using MVars, the synchronization needs OS-thread
synchronization - the threads will not execute on a the same OS thread.

If I understand this correctly, doesn't it impose a significant
overhead compared to synchronizing two unbound threads? If not,
what am I missing?

-- 
   __( Marcin Kowalczyk
   \__/   [EMAIL PROTECTED]
^^ http://qrnik.knm.org.pl/~qrczak/
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Must be a FAQ - Can't make install Hugs98-Nov2003 on MacOSX 10.3.8

2005-02-25 Thread Sven Panne
Arthur Baars wrote:
See the hugs-bugs archive:
http://www.mail-archive.com/hugs-bugs@haskell.org/msg02815.html
Malcolm Wallace wrote:
The configure script is (wrongly) determining that the MacOS X C
compiler does not support Floats/Doubles.  Ideally, the autoconf magic
which determined this setting should be fixed, [...]
Hmmm, I'm not sure if the autoconf magic has been fixed. Does it work with 
Hugs from
CVS HEAD? If not, could somebody please send a patch for it or at least a log + 
all
involved config.logs? I don't have access to a Mac...
Cheers,
   S.
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] Must be a FAQ - Can't make install Hugs98-Nov2003 on MacOSX 10.3.8

2005-02-25 Thread Gregory Wright
Hi,
The hugs98-20041101 snapshot builds without trouble on OS X 10.3.8.
(It's the one I use in darwinports for hugs98-devel).  Our standard DP 
hugs98
is still the Nov2002 version, since I was never able to get the Nov2003 
release
to build properly.

(If your not familiar with darwinports, see 
http://darwinports.opendarwin.org.
It is in some ways similar to fink, but is intended to be a more 
flexible building/
packaging infrastructure.)

If you do decide to set up darwinports on your system, you can build the
20041101 snapshot from source by typing
sudo port install hugs98-devel
Remember to add the darwinports binary directory (/opt/local/bin by 
default)
to your path.

If you want to watch the progress of the build, use
sudo port -dv install hugs98-devel
(the -dv option gives you verbose debugging, and will let you see all
of the output from the build).
Best Wishes,
Greg

On Feb 25, 2005, at 4:56 PM, Sven Panne wrote:
Arthur Baars wrote:
See the hugs-bugs archive:
http://www.mail-archive.com/hugs-bugs@haskell.org/msg02815.html
Malcolm Wallace wrote:
The configure script is (wrongly) determining that the MacOS X C
compiler does not support Floats/Doubles.  Ideally, the autoconf 
magic
which determined this setting should be fixed, [...]
Hmmm, I'm not sure if the autoconf magic has been fixed. Does it work 
with Hugs from
CVS HEAD? If not, could somebody please send a patch for it or at 
least a log + all
involved config.logs? I don't have access to a Mac...

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


[Haskell-cafe] Compiling GHC from CVS

2005-02-25 Thread Arjun Guha
I'm having trouble compiling GHC from CVS.  Make seems to be looping
infinitely while compiling the stage1 compiler.  Make -d gives me:

Pruning file 'main/Config.hs'

On and on and on.

The commands I used to make (from the fptools) directory were:

autoreconf
./configure --prefix=/Users/arjun/local/fptools
Make

I'm using Mac OS X 10.3.8 with GHC 6.2.1.

-Arjun


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


Re: [Haskell-cafe] Compiling GHC from CVS

2005-02-25 Thread Judah Jacobson
I had this happen to me a few weeks ago; the fix was to upgrade make
using fink.  Right now I have v.3.79.1; which version do you have?

-Judah


On Fri, 25 Feb 2005 16:51:58 -0600, Arjun Guha [EMAIL PROTECTED] wrote:
 I'm having trouble compiling GHC from CVS.  Make seems to be looping
 infinitely while compiling the stage1 compiler.  Make -d gives me:
 
 Pruning file 'main/Config.hs'
 
 On and on and on.
 
 The commands I used to make (from the fptools) directory were:
 
 autoreconf
 ./configure --prefix=/Users/arjun/local/fptools
 Make
 
 I'm using Mac OS X 10.3.8 with GHC 6.2.1.
 
 -Arjun
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

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


Re: [Haskell-cafe] Compiling GHC from CVS

2005-02-25 Thread Arjun Guha
Thanks, that worked.  I had version 3.79.  I'm now using version 3.80 from
ftp.gnu.org.

However, I've picked up a new error:

/tmp/ghc6277.s:54636:Fixup of 71208 too large for field width of 16 bits
/tmp/ghc6277.s:54634:Fixup of 71216 too large for field width of 16 bits
ghc: 751359104 bytes, 32 GCs, 10426256/26917324 avg/max bytes residency (6
samples), 85M in use, 0.01 INIT (0.01 elapsed), 11.96 MUT (19.64 elapsed),
4.43 GC (5.48 elapsed) :ghc
make[2]: *** [stage1/prelude/PrimOp.o] Error 1
make[1]: *** [all] Error 1
make[1]: Leaving directory `/Users/arjun/src/fptools/ghc'
make: *** [build] Error 1

Does anybody have any ideas?

-Arjun

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


Re: [Haskell-cafe] Compiling GHC from CVS

2005-02-25 Thread Arjun Guha
Sorry if this is a duplicate...

I fixed that problem, thanks.  However, I now have another one:

/tmp/ghc6277.s:54636:Fixup of 71208 too large for field width of 16 bits
/tmp/ghc6277.s:54634:Fixup of 71216 too large for field width of 16 bits
ghc: 751359104 bytes, 32 GCs, 10426256/26917324 avg/max bytes residency (6
samples), 85M in use, 0.01 INIT (0.01 elapsed), 11.96 MUT (19.64 elapsed),
4.43 GC (5.48 elapsed) :ghc
make[2]: *** [stage1/prelude/PrimOp.o] Error 1
make[1]: *** [all] Error 1
make[1]: Leaving directory `/Users/arjun/src/fptools/ghc'
make: *** [build] Error 1

Does anybody have any ideas?

-Arjun

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


[Haskell-cafe] Re: Bound threads

2005-02-25 Thread Wolfgang Thaller
I'm trying to understand the semantics and implementation of bound 
threads
basing on the conc-ffi paper and others.

Since the main thread is bound, and unbound threads are never executed
on an OS thread which has some Haskell thread bound, this would imply
that when the main thread spawns a Haskell thread and they synchronize
a lot with each other using MVars, the synchronization needs OS-thread
synchronization - the threads will not execute on a the same OS thread.
Correct.
If I understand this correctly, doesn't it impose a significant
overhead compared to synchronizing two unbound threads? If not,
what am I missing?
Yes, it does impose more overhead than synchronizing two unbound 
threads. Depending on how high your demands are and on how good your 
operating system is at OS-thread synchronization, it might or might not 
be significant.

We need the main thread to be bound because the main thread is special 
for some libraries (Apple's Carbon and Cocoa libraries, and, to a 
lesser extent, Microsoft's Win32). Some calls to these libraries 
absolutely have to be executed in the main thread and not in any other 
thread.
So treating the call to main the same way as other calls into Haskell 
code (using a bound Haskell thread) was the nicest solution to this; 
the performance disadvantage you pointed out can be easily worked 
around by just doing _all_ the work in unbound threads (and having the 
main thread just wait for the unbound threads to terminate).

Hope that answers your question,
Wolfgang
___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe