Debian stable not supported?

2008-09-22 Thread Yitzchak Gale
The Debian ghc6 package for the stable distribution is currently
back at GHC 6.6 - not surprising given the way stable works at
Debian. There is currently no backport of a more recent GHC to
Debian stable.

I need GHC 6.8 for a project to run on a production server.
That means it will be running Debian stable.

Unfortunately, the so-called generic Linux binary distribution
package for GHC 6.8.3 does not work on the current, up-to-date
Debian stable distribution because it is too old.

In my case, and I suspect for many people, the production server
running stable is on a low-cost hosted VPS. That kind of platform
doesn't have nearly enough memory and disk space to compile GHC.
So even that is not an option.

I know that in the past Haskell was used exclusively for research,
but nowadays shouldn't it be possible to use Haskell also for
production-quality projects?

With help from Igloo and thetallguy on #ghc, for which I am grateful,
I was finally able to get a working GHC 6.8.3 on my production
server, but only after jumping through a lot of hoops.
It involved setting up a Debian-stable-like environment in a
chroot on another computer, building GHC there from source,
and manually moving all of the appropriate files up to the server.

Before I delete that chroot build environment - could it
be useful for making GHC 6.8.3 available to others? If someone
points me in the right direction, perhaps I could create a binary
tarball and/or backport deb. Or at least record somewhere the
basic steps of how to get a recent GHC in this situation.

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


Re: Debian stable not supported?

2008-09-22 Thread Roman Cheplyaka
* Yitzchak Gale [EMAIL PROTECTED] [2008-09-22 09:52:57+0300]
 Before I delete that chroot build environment - could it
 be useful for making GHC 6.8.3 available to others? If someone
 points me in the right direction, perhaps I could create a binary
 tarball and/or backport deb. Or at least record somewhere the
 basic steps of how to get a recent GHC in this situation.

I think I'll face with the similar problem in the nearest future, except
I have far more old system. So I'll be very greatful if you provide the
instructions and record your experience.

-- 
Roman I. Cheplyaka :: http://ro-che.info/
kzm: My program contains a bug. How ungrateful, after all I've done for it.
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: [Haskell-cafe] Re: ANNOUNCE: protocol-buffers-0.2.9 for Haskell is ready

2008-09-22 Thread Yitzchak Gale
Chris Kuklewicz wrote:
 Who can suggest a way to cast from Float to Word32 and Double to Word64
 using ghc?  The actual task is that I need to write out the Float as a
 little endian sequence of four bytes and also be able to read it back in.
  The writing and reading are done in Put and Get monads to ByteString (from
 the binary package).

I think alloca-like hacks is really the wrong direction and asking
for trouble.

You are trying to translate between platform-dependent native floats,
and IEEE floats in a specified platform-independent binary format
for Google. So use encodeFloat/decodeFloat - fast primitives in
GHC - on the native side, and a hand-written Binary instance for
the exact format you need on the Google side.

My opinion, YMMV.

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


Re: ANNOUNCE: GHC 6.10.1 beta

2008-09-22 Thread Christian Maeder
Ian Lynagh wrote:
 Right now we have the source bundles:
 
 http://www.haskell.org/ghc/dist/stable/dist/ghc-6.10.0.20080921-src.tar.bz2
 http://www.haskell.org/ghc/dist/stable/dist/ghc-6.10.0.20080921-src-extralibs.tar.bz2

I've tried to build a binary dist on x86 under Solaris and did not succeed.

make binary-dist failed with

1.
for FILE in ; do if [ -e $FILE ]; then echo
ghc-6.10.0.20080921/gmp/$FILE 
/export/local1/home/maeder/haskell/ghc-6.10.0.20080921/bindist-list
; fi; done
/bin/sh: syntax error at line 1: `;' unexpected
gmake[1]: *** [binary-dist] Error 2


I added strip to bindist.mk:
ifneq $(strip $(BINDIST_EXTRAS)) 

2.
/bin/sh: test: argument expected
gmake[1]: *** [binary-dist] Error 1

-e does not work for test under sh, so I changed it to -r:
... if [ -r $$FILE ]; then ...

3.
tar hcf /export/local1/home/maeder/haskell/ghc-6.10.0.20080921/ghc-6.10.0.
20080921-i386-unknown-solaris2.tar -T
/export/local1/home/maeder/haskell/ghc-6.10.0.20080921/bindist-list
tar: -T: No such file or directory
gmake: *** [binary-dist] Error 1

I changed tar to gtar

4.
gtar: ghc-6.10.0.20080921/gmp/{}: Cannot stat: No such file or directory

The file bindist-list contained {} instead of filenames, so I changed
find to gfind.

5. When trying to install the binary distribution I got:

Installing executable(s) in /local/home/maeder/bin
installPackage: dist-install/build/installPackage/installPackage:
copyFile: does not exist (No such file or directory)
gmake[2]: *** [install] Error 1
gmake[2]: Leaving directory
`/export/local1/home/maeder/haskell/ghc-6.10.0.20080921/ghc-6.10.0.20080921/utils/installPackage'
gmake[1]: *** [install.installPackage] Error 2
gmake[1]: Leaving directory
`/export/local1/home/maeder/haskell/ghc-6.10.0.20080921/ghc-6.10.0.20080921/utils'
gmake: *** [install] Error 2

and I gave up.

Cheers Christian

P.S. I hope the OpenSPARC project will work under Solaris and sort out
the above issues. (Validating under Solaris would be a good idea, too.)

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


Re: Debian stable not supported?

2008-09-22 Thread Ferenc Wagner
Yitzchak Gale [EMAIL PROTECTED] writes:

 Roman Cheplyaka wrote:

 I think I'll face with the similar problem in the nearest future, except
 I have far more old system. So I'll be very greatful if you provide the
 instructions and record your experience.

 (Looks like I may need to do this again soon for 6.10,
 unless they support Debian stable this time.)

Hi,

Looks like it would be best to coordinate with debian-haskell:
http://urchin.earth.li/pipermail/debian-haskell/2008-September/000492.html
-- 
Cheers,
Feri.
___
Glasgow-haskell-users mailing list
Glasgow-haskell-users@haskell.org
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: ANNOUNCE: GHC 6.10.1 beta

2008-09-22 Thread Matthias Kilian
On Mon, Sep 22, 2008 at 03:32:40PM +0200, Christian Maeder wrote:
 I've tried to build a binary dist on x86 under Solaris and did not succeed.
 
 make binary-dist failed with
 
 1.
 for FILE in ; do if [ -e $FILE ]; then echo
 ghc-6.10.0.20080921/gmp/$FILE 
 /export/local1/home/maeder/haskell/ghc-6.10.0.20080921/bindist-list
 ; fi; done
 /bin/sh: syntax error at line 1: `;' unexpected
 gmake[1]: *** [binary-dist] Error 2
 
 
 I added strip to bindist.mk:
 ifneq $(strip $(BINDIST_EXTRAS)) 

This part could be done a little bit different (without the
conditional):

...
# And enything else
echo $(BINDIST_EXTRAS) | \
xargs -n1 | \
sed '/^$/d;s/.*/test -e  \\ echo $(WHERE_AM_I)\//' | \
sh  $(BIND_DIST_LIST)

(untested!)

 2.
 /bin/sh: test: argument expected
 gmake[1]: *** [binary-dist] Error 1
 
 -e does not work for test under sh, so I changed it to -r:
 ... if [ -r $$FILE ]; then ...

I doubt `-e' doesn't work on Solaris, because `-e' is POSIX. Does
this argument expected still appear with your fix to 1.?

 3.
 tar hcf /export/local1/home/maeder/haskell/ghc-6.10.0.20080921/ghc-6.10.0.
 20080921-i386-unknown-solaris2.tar -T
 /export/local1/home/maeder/haskell/ghc-6.10.0.20080921/bindist-list
 tar: -T: No such file or directory
 gmake: *** [binary-dist] Error 1
 
 I changed tar to gtar

Or use pax(1), which in contrast to tar(1) and gtar(1) is POSIX:

pax -hwf $(BIN_DIST_TAR)  $(BIN_DIST_LIST)

(also untested, but should work)

 4.
 gtar: ghc-6.10.0.20080921/gmp/{}: Cannot stat: No such file or directory
 
 The file bindist-list contained {} instead of filenames, so I changed
 find to gfind.

Or just omit all the -exec echo ${WHERE_AM_I}/{} goo and use find(1)
and sed(1), e.g.:

find $(WHATEVER) -print | sed 's/^/$(WHERE_AM_I}\//'

 5. When trying to install the binary distribution I got:
 
 Installing executable(s) in /local/home/maeder/bin
 installPackage: dist-install/build/installPackage/installPackage:
 copyFile: does not exist (No such file or directory)

Maybe fallout from some of the above problems?

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


Re: GHC 6.8.3's source is unusable?

2008-09-22 Thread Jason Dusek
Magicloud [EMAIL PROTECTED] wrote:
 I see So 6.8.3 is not portable
 So in my company-customed-linux box, ghc is nothing to me?
 Any way I can use it?

  What kind of machine do you have?

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


Re: ANNOUNCE: GHC 6.10.1 beta

2008-09-22 Thread Wei Hu
I tried it out in Emacs, but ghci always displays some sort of garbage message. 
For example, when I ask for the value of 0, I get:
0^J0

Is it because ghci switched to libedit? I'm running Emacs-23 with haske-mode-
cvs on Debian unstable.


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


Re: ANNOUNCE: GHC 6.10.1 beta

2008-09-22 Thread Judah Jacobson
On Mon, Sep 22, 2008 at 2:28 PM, Wei Hu [EMAIL PROTECTED] wrote:
 I tried it out in Emacs, but ghci always displays some sort of garbage 
 message.
 For example, when I ask for the value of 0, I get:
 0^J0

 Is it because ghci switched to libedit? I'm running Emacs-23 with haske-mode-
 cvs on Debian unstable.


Do you have the libedit-dev package installed?  If not, the editline
backend may not have been built.  You can check whether it was built
by running ghci from a command prompt and checking whether the arrow
keys work.

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


Re: Some initial results with DPH

2008-09-22 Thread Roman Leshchinskiy

Hi Austin,

first of all, thanks a lot for taking the time to report your results!

On 23/09/2008, at 11:48, Austin Seipp wrote:


* The vectorise pass boosts compilation times *a lot*. I don't think
 this is exactly unwarrented since it seems like a pretty complicated
 transformation, but while making the primitive version using just
 the unlifted interface the compilation takes about 1.5 seconds, for
 the vectorised version it's on the order of 15 seconds. For
 something as trivial as this dot-product thing, that's a bit
 of a compilation time, though.


The problem here is not the vectoriser but rather the subsequent  
optimisations. The vectoriser itself is (or should be - I haven't  
really timed it, to be honest) quite fast. It generates very complex  
code, however, which GHC takes a lot of time to optimise. We'll  
improve the output of the vectoriser eventually, but not before it is  
complete. For the moment, there is no solution for this, I'm afraid.



* It's pretty much impossible to use ghc-core to examine the output
 core of the vectorised version - I let it run and before anything
 started showing up in `less` it was already using on the order of
 100mb of memory. If I just add -ddump-simpl to the command line, the
 reason is obvious: the core generated is absolutely huge.


Yes. Again, this is something we'll try to improve eventually.


* For the benchmark included, the vectorised ver. spends about 98% of
 its time from what I can see in the GC before it dies from stack
 overflow. I haven't tried something like +RTS -A1G -RTS yet, though.


IIUC, the code is


dotp :: [:Int:] - [:Int:] - Int
dotp v w = I.sumP [: (I.*) x y | x - v, y - w :]


The way the vectoriser works at the moment, it will repeat the array w  
(lengthP v) times, i.e., create an array of length (lengthP v *  
lengthP w). This is quite unfortunate and needs to be fused away but  
isn't at the moment. The only advice I can give is to stay away from  
array comprehensions for now. They work but are extremely slow. This  
definition should work fine:


dotp v w = I.sumP (zipWithP (I.*) v w)


* The vectoriser is really, really touchy. For example, the below code
 sample works (from DotPVect.hs):


import Data.Array.Parallel.Prelude.Int as I

dotp :: [:Int:] - [:Int:] - Int
dotp v w = I.sumP [: (I.*) x y | x - v, y - w :]


This however, does not work:


dotp :: [:Int:] - [:Int:] - Int
dotp v w = I.sumP [: (Prelude.*) x y | x - v, y - w :]


This is because the vectorised code needs to call the vectorised  
version of (*). Internally, the vectoriser has a hardwired mapping  
from top-level functions to their vectorised versions. That is, it  
knows that it should replace calls to  
(Data.Array.Parallel.Prelude.Int.*) by calls to  
Data.Array.Parallel.Prelude.Base.Int.plusV. There is no vectorised  
version of (Prelude.*), however, and there won't be one until we can  
vectorise the Prelude. In fact, the vectoriser doesn't even support  
classes at the moment. So the rule of thumb is: unless it's in  
Data.Array.Parallel.Prelude or you wrote and vectorised it yourself,  
it will choke the vectoriser.



I also ran into a few other errs relating to the vectoriser dying - if
I can find some I'll reply to this with some results.


Please do! And please keep using DPH and reporting your results, that  
is really useful to us!


FWIW, we'll include some DPH documentation in 6.10 but it still has to  
be written...


Roman


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


Re: ANNOUNCE: GHC 6.10.1 beta

2008-09-22 Thread Wei Hu
Judah Jacobson judah.jacobson at gmail.com writes:

 Do you have the libedit-dev package installed?  If not, the editline
 backend may not have been built.  You can check whether it was built
 by running ghci from a command prompt and checking whether the arrow
 keys work.
 
 -Judah
 

I forgot to mention that I was running the binary package -- didn't bother to 
build ghc from source. Because the binary package relies on libedit.so.0 and 
Debian only comes with libedit2, I created a symbolic link for libedit.so.0 
pointing to libedit.so.2. Could that be a problem for Emacs? But the libedit 
backend works fine when running ghci from a command line.

Thanks,
Wei


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