Re: Wadler space leak

2010-11-07 Thread Jan Christiansen
On 02.11.2010, at 10:20, Simon Marlow wrote: It's not really a question of priority, rather that we don't know of a good way to fix it! I would not have guessed that there exists a Haskell related problem that cannot immediately be fixed by the ghc headquarters ; ) If I understand correc

Re: Wadler space leak

2010-11-01 Thread Jan Christiansen
On 01.11.2010, at 10:38, Simon Marlow wrote: On 28/10/2010 14:21, Bertram Felgenhauer wrote: Right. The optimization works by producing special thunks for tuple selectors which the garbage collector can recognize and evaluate during GC. However the implementation in GHC is quite brittle. Se

Wadler space leak

2010-10-28 Thread Jan Christiansen
Hi, I have a question regarding the famous Wadler space leak. The following program is a variation of Wadler's example. let (first,rest) = break (const False) input in print (length (first ++ rest)) When I compile this program using -O2 and use a large text file as input the code run

simple rewrite rule example

2010-06-22 Thread Jan Christiansen
Hi, I'd like to learn how to use ghc rewrite rules. I simply want to replace a function called f by a function called g. I do not unterstand why the rule f->g does not fire. Cheers, Jan module Main where {-# RULES "f->g"forall x. f x = g x #-} main :: IO () main = print (f 1)

Re: higher rank polymorphism

2006-11-17 Thread Jan Christiansen
Am 16.11.2006 um 13:33 schrieb Tomasz Zielonka: On Wed, Nov 15, 2006 at 01:20:43PM +0100, Jan Christiansen wrote: I would work, if you used existential quantification, but I am don't know if it would be what you want: data Test = forall a . Test [a -> a] I don't know why you

higher rank polymorphism

2006-11-15 Thread Jan Christiansen
Hi, I want to use a rank 2 data type and end up in typ problems that I don't understand. I would really appreciate any hints to the presented cases or pointers to interesting papers that address the background of these problems. I define the following datatype and a simple function that

Re: unsafePerformIO and NOINLINE Pragma

2005-09-14 Thread Jan Christiansen
Am Dienstag, 13. September 2005 16:13 schrieb David Sabel: > Hi, > > > Hi! > > > > I want to analyse the laziness of a data structure. To check how many > > nodes are constructed I use a global counter. > > > > counter :: IORef Int > > counter = unsafePerformIO (newIORef 0) > > > > This counter is

unsafePerformIO and NOINLINE Pragma

2005-09-13 Thread Jan Christiansen
Hi! I want to analyse the laziness of a data structure. To check how many nodes are constructed I use a global counter. counter :: IORef Int counter = unsafePerformIO (newIORef 0) This counter is increased every time the constructor is called by redefining the constructor OBDD as follows. oBD

Re: "undefined references" when using package

2004-04-21 Thread Jan Christiansen
On Sunday 18 April 2004 21:36, Sven Panne wrote: > > All these undefined references ("zi" => ".") seem to be within your own > package "CHD", but guessing what goes wrong exactly is a bit hard without > further information. A complete log of what you are doing might help, a > tar file including you

Re: "undefined references" when using package

2004-04-18 Thread Jan Christiansen
On Saturday 17 April 2004 12:48, Sven Panne wrote: > > This sounds like missing dependencies in your package configuration file. > Most package mention e.g. at least the "base" package: > > package_deps = [ "base" ] > > Looking at the undefined references will probably help to figure out what

"undefined references" when using package

2004-04-17 Thread Jan Christiansen
Hi! I try to generate a package out of some haskell sources. Everything looks to work fine but when I try to compile a program using this package I get a linking error. It reports "undefined reference" to seemingly everything that is accessible form outside the package. I'm using ghc-6.2.1 and I