Debian stable not supported?
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?
* 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
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
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?
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
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?
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
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
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
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
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