RE: 5.04.2 RPM Dependencies

2003-03-11 Thread Simon Marlow
 On 2003-03-10 at 20:57GMT Dominic Steinitz wrote:
  Can anyone help? I downloaded the latest rpm for ghc but 
 got the following
  errors on installation:
  
  error: failed dependencies:
   libc.so.6(GLIBC_2.3)   is needed by ghc-5.04.2-1
   libreadline.so.4   is needed by ghc-5.04.2-1
  
  I guess I need to update libc and libreadline. Can anyone 
 point me at the
  rpms to do this?
 
 If you go to URL: http://fr2.rpmfind.net  and type
 libc.so.6 into the search box, it says there are 233 rpms
 that provide it.  You can constrain the search to the
 distribution you are using, which would narrow things down a
 bit.

Upgrading libc is not something I'd recommend.  Instead, get the right
RPM for your distribution: we have separate RPMs for RedHat 8.0 and 7.2
these days (using the wrong one leads to strange problems).  The 8.0 RPM
is rumoured to work with 7.3.

I'm afraid we don't do a great job of supporting non-RedHat Linux
systems at the moment, except for Debian which I believe does its own
packaging of GHC.  We do have a .tar.bz2 binary distribution which
*might* work for you, but it is also reliant on you having the right
libraries installed.

Cheers,
Simon
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


ANNOUNCE: GHC vesrion 5.04.3 released

2003-03-11 Thread Simon Marlow

   ==
The (Interactive) Glasgow Haskell Compiler -- version 5.04.3
   ==

We are pleased to announce a new patchlevel release of the Glasgow
Haskell Compiler (GHC), version 5.04.3.  This is a bugfix-only
release.  For all the changes since 5.02.3, see the release notes:

 
http://www.haskell.org/ghc/docs/latest/html/users_guide/release-5-04.htm
l


How to get it
~
The easy way is to go to the WWW page, which should be self-explanatory:

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

We supply binary builds in the native package format for various
flavours of Linux and BSD, and in InstallShield form for Windows
folks.  Binary builds for other platforms are available as a .tar.gz
which can be installed wherever you want.  The source distribution is
also available from the same place.

Once you have the distribution, please follow the pointers in the
README file to find all of the documentation about this release.


Background
~~
Haskell is a standard lazy functional programming language; the
current language version is Haskell 98, agreed in December 1998.

GHC is a state-of-the-art programming suite for Haskell.  Included is
an optimising compiler generating good code for a variety of
platforms, together with an interactive system for convenient, quick
development.  The distribution includes space and time profiling
facilities, a large collection of libraries, and support for various
language extensions, including concurrency, exceptions, and foreign
language interfaces (C, whatever).  GHC is distributed under a
BSD-style open source license.

A wide variety of Haskell related resources (tutorials, libraries,
specifications, documentation, compilers, interpreters, references,
contact information, links to research groups) are available from the
Haskell home page (see below).


On-line GHC-related resources
~~

Relevant URLs on the World-Wide Web:

GHC home page http://www.haskell.org/ghc/
Haskell home page http://www.haskell.org/
comp.lang.functional FAQ  http://www.cs.nott.ac.uk/~gmh/faq.html



System requirements
~~~
To compile programs with GHC, you need a machine with 64+MB memory, GCC
and perl. This release is known to work on the following platforms:

  * i386-unknown-{linux,*bsd,mingw32}
  * sparc-sun-solaris2
  * alpha-dec-osf3
  * powerpc-apple-darwin (MacOS/X)

Ports to the following platforms should be relatively easy (for a
wunderhacker), but haven't been tested due to lack of time/hardware:

  * hppa1.1-hp-hpux{9,10}
  * i386-unknown-solaris2
  * mips-sgi-irix{5,6}
  * {rs6000,powerpc}-ibm-aix

The builder's guide on the web site gives a complete run-down of what
ports work; it can be found at

   http://www.haskell.org/ghc/docs/latest/building/building-guide.html


Mailing lists
~
We run mailing lists for GHC users and bug reports; to subscribe, use
the web interfaces at

http://www.haskell.org/mailman/listinfo/glasgow-haskell-users
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

There are several other haskell and ghc-related mailing lists on
www.haskell.org; for the full list, see

http://www.haskell.org/mailman/listinfo/

Please report bugs using our SourceForge page at

http://sourceforge.net/projects/ghc/

or send them to [EMAIL PROTECTED]

GHC users hang out on [EMAIL PROTECTED]  Bleeding
edge CVS users party on [EMAIL PROTECTED]

___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: ANNOUNCE: GHC vesrion 5.04.3 released

2003-03-11 Thread C.Reinke

==
 The (Interactive) Glasgow Haskell Compiler -- version 5.04.3
==
 
 We are pleased to announce a new patchlevel release of the Glasgow
 Haskell Compiler (GHC), version 5.04.3.  This is a bugfix-only
 release.  For all the changes since 5.02.3, see the release notes:
 
  
 http://www.haskell.org/ghc/docs/latest/html/users_guide/release-5-04.html

Actually, I find it difficult to extract the sometimes drastic
differences between releases from that document (just one example:
does this release include last week's bugfixes in the Network
module?). How do I find out about the various bugfixes between
releases, to decide whether or not to upgrade (and whether or not
upgrading will help with specific problems)?

After all, the reason for patchlevel releases is that you've fixed
some bugs, so why be so secretive about what these fixes are?-)

Cheers,
Claus
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


fun with sockets (ghc-5.04.1)

2003-03-11 Thread Peter Thiemann
Hi,
I'm running into a problem using server code (running on a UNIX domain
socket) that I basically snatched from Simon Marlow's web server:

++
mainLoop sock defUser getMs =
  do putStrLn Accepting connections...
 installHandler sigPIPE Ignore Nothing
 loop (0::Int)
  where
loop n =
  do (connection, peerAddress) - accept sock
 h - socketToHandle connection ReadWriteMode
 forkIO ( (talk n getMs defUser h `finally` goodBye n h)
  `Exception.catch` 
  (\e - putStrLn (Exception:  ++ show e))
)
 loop (n+1)

goodBye n h =
  do putStrLn (show n ++ : finished)
 hClose h
++

After processing a random number of connections, the server dies with 

Fail: invalid argument
Action: accept
Reason: Invalid argument

after finishing the last connection. For the record, here is the code
that is executed for each connection:

++
talk n getMs user h =
  do hSetBuffering h LineBuffering
 putStrLn (show n ++ : )
 str - hGetLine h
 lstr - hGetLine h
 putStrLn (...:  ++ lstr) -- last output before core dump
 let msglength = read (takeWhile isDigit (drop 1 lstr))
 rawmsg - hGetContents h
 putStrLn (Got  ++ show (length msg) ++  characters)
++

The machine is
Linux kailua 2.4.18-4GB #1 Wed Mar 27 13:57:05 UTC 2002 i686 unknown
The problem seems to go away if I switch to INET sockets, so I'm also including
my initialization code:

++
  withSocketsDo $ do 
sock - socket AF_UNIX Stream 0
bindSocket sock (SockAddrUnix path)
listen sock maxListenQueue
getMs - initializeAll
mainLoop sock defUser getMs
++

-Peter
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


RE: ANNOUNCE: GHC vesrion 5.04.3 released

2003-03-11 Thread Simon Marlow

 Actually, I find it difficult to extract the sometimes drastic
 differences between releases from that document (just one example:
 does this release include last week's bugfixes in the Network
 module?). How do I find out about the various bugfixes between
 releases, to decide whether or not to upgrade (and whether or not
 upgrading will help with specific problems)?

 After all, the reason for patchlevel releases is that you've fixed
 some bugs, so why be so secretive about what these fixes are?-)

The release notes doesn't contain bugfixes, and the reason we don't have
a list of them is because I'm too lazy to keep track of what bug fixes
have been merged in, sorry! 

The Network fix wasn't merged in (just too late).

Ok, I'll take a look at the diffs and summarise the fixes... here goes:

  - Literal strings could be duplicated sometimes

  - fixes for deriving Eq/Enum on large datatypes in GHCi

  - -no-hs-main has a sensible meaning in --make mode now
(it forces linking even if there's no Main)

  - Fix for avoiding recompilation when there are stub files
around (didn't pick up the stubs properly before)

  - Fixes for FFI decls containing type variables

  - MacOS X fixes for GHCi

  - Filenames with spaces don't cause problems in GHCi now
  
  - GHCi doesn't get confused if your code installs a
signal handler for ^C
  
  - -pgmL now works as advertised

  - specifying filenames without the trailing .hs/.lhs works
again in --make and GHCi.

  - Fix for class ops that do not introduce foralls (a
cause of crashes with certain kinds of class methods).

  - Fix a crash when a class op is used as a record selector

  - Fix for deriving on records with fields with names with 
leading underscores.

  - Fixes for passing/returning FunPtr in the FFI

  - hsc2hs works in a binary distribution

  - Fixes for crashes in the biographical and retainer
profilers.

  - Some signals were inadvertently blocked by the RTS

  - Uninitialised variable in the storage manager causes
crashes

  - Fix for hp2ps -c 

  - hsc2hs should now work on Windows
 
  - Fix off-by-one in Data.PackedString.splitWithPS

  - uninitialised elements in UArrays are now filled with zero.

  - Integer divide by zero is now consistently a catchable
exception (previously it could just result in SIGFPE).

  - Fix for terminal buffering on Solaris

  - System.Console.GetOpt fixes

  - Fix for converting Integer to Int64/Word64

  - Network.accept doesn't fail if the host fails to
reverse-lookup.

Cheers,
Simon
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: 5.04.2 RPM Dependencies

2003-03-11 Thread Dominic Steinitz
I tried the RPM for 7.2 and it seemed to work with --force and --nodeps (it
asked for libreadline.so.4 which was already there).

Dominic Steinitz
- Original Message -
From: Simon Marlow [EMAIL PROTECTED]
To: Jon Fairbairn [EMAIL PROTECTED]; Dominic Steinitz
[EMAIL PROTECTED]
Cc: [EMAIL PROTECTED]
Sent: Tuesday, March 11, 2003 11:59 AM
Subject: RE: 5.04.2 RPM Dependencies


 On 2003-03-10 at 20:57GMT Dominic Steinitz wrote:
  Can anyone help? I downloaded the latest rpm for ghc but
 got the following
  errors on installation:
 
  error: failed dependencies:
   libc.so.6(GLIBC_2.3)   is needed by ghc-5.04.2-1
   libreadline.so.4   is needed by ghc-5.04.2-1
 
  I guess I need to update libc and libreadline. Can anyone
 point me at the
  rpms to do this?

 If you go to URL: http://fr2.rpmfind.net  and type
 libc.so.6 into the search box, it says there are 233 rpms
 that provide it.  You can constrain the search to the
 distribution you are using, which would narrow things down a
 bit.

Upgrading libc is not something I'd recommend.  Instead, get the right
RPM for your distribution: we have separate RPMs for RedHat 8.0 and 7.2
these days (using the wrong one leads to strange problems).  The 8.0 RPM
is rumoured to work with 7.3.

I'm afraid we don't do a great job of supporting non-RedHat Linux
systems at the moment, except for Debian which I believe does its own
packaging of GHC.  We do have a .tar.bz2 binary distribution which
*might* work for you, but it is also reliant on you having the right
libraries installed.

Cheers,
Simon

___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users


Re: Effect of large binaries on garbage collection

2003-03-11 Thread Manuel M T Chakravarty
Simon Peyton-Jones [EMAIL PROTECTED] wrote,

 | In the current CVS GHC, undoubtedly the right thing to use is
 | Foreign.mallocForeignPtr.  Internally these are implemented as
 | MutableByteArray#, so you get fast allocation and GC, but from the
 | programmer's point of view it's a normal ForeignPtr.
 
 I wonder how it is for a random FFI user to discover this.  Does some
 advice belong in the FFI spec, or in GHC's FFI chapter?

What is needed is a FFI tutorial (in addition to the spec);
similar to how we have the Gentle Introduction to complement
the Report.

Manuel
___
Glasgow-haskell-users mailing list
[EMAIL PROTECTED]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-users