2009/3/9 Roman Leshchinskiy r...@cse.unsw.edu.au:
The problem here is that this only works for directly recursive functions
which I, for instance, don't normally use in high-performance code. Most of
my loops are pipelines of collective combinators like map, filter, fold etc.
because these are
I'm trying to use Debug.Trace to debug some tree-walking that I've
written.
It seems to me that I am missing some traces on intermediate function
calls. I guess that ghc is re-arranging the code in such a way that
some of these intermediate calls disappear. Anyway of stopping this? I
already
Peter Hercek wrote:
Hi GHCi users,
I would like to be able to redefine the built-in GHCi commands. The idea
is that when searching for a command the user defined commands would be
searched first and only then the built-in commands would be searched. If
user wants to invoke a built-in
Tuomo Valkonen wrote:
On 2009-03-08, John Meacham j...@repetae.net wrote:
if you follow those steps, but then don't override the host in the
./configure step to just let it pick up the cygwin environment will it
work properly?
John
No:
Configuring
On Sun, Mar 08, 2009 at 11:46:07PM +, Tuomo Valkonen wrote:
No:
Configuring extensible-exceptions-0.1.0.0...
cabal-bin.exe: Cannot find the program 'ghc' at
'/c/bin/ghc-6.10.1.20090308/bin/ghc' or on the path
'ldd libraries/cabal-bin.exe' finds no cygwin dependencies;
On Sun, 2009-03-08 at 12:29 +, Tuomo Valkonen wrote:
I want a _real_ cygwin version of darcs. The non-deterministic
pseudo-cygwin *nix/Windows hybrid currently available has just
too many problems integrating into cygwin, that I want to use as
my TeXing and minor coding environment. A
On 2009-03-09, John Meacham j...@repetae.net wrote:
perhaps the most recent non-cabalized ghc build might be worth a try. I
think darcs still compiles with ghc 6.6, but am not positive.,
Mingw-bootstrap, source, or both?
remember ghc working on cygwin at some point. I have been in a similar
let f = ..f.. in f{n,m} -PEEL- let f = ..f.. in ..f{n-1,m}..
Probably what you intend here is that you create one copy of the
definition every round rather than one per call site, is that right?
I don't think so - ultimately, the point of both peeling and unrolling
is to unfold a definition
{-# INLINE f PEEL n #-}
inline calls *into* recursive f (called loop peeling for loops)
{-# INLINE f UNROLL m #-}
inline recursive calls to f *inside* f (called loop unrolling for
loops)
{-# INLINE f PEEL n UNROLL m #-}
combine the previous two
The problem here is that this only works
Claus Reinke wrote:
That was one of my questions in the optimization and rewrite rules
thread: shouldn't -fvia-C be supported (as a non-default option)
for at least as long as the alternative isn't a clear win in all cases?
The trouble with supporting multiple backends is that the cost in
Dan's example fails thus:
| Map.hs:25:19:
| Couldn't match expected type `Nest n1 f b'
|against inferred type `Nest n1 f1 b'
| In the expression: fmap (deepFMap n f)
| In the definition of `deepFMap':
| deepFMap (S n) f = fmap (deepFMap n f)
|
| for reasons I
On 2009-03-09, Tuomo Valkonen tuo...@iki.fi wrote:
On 2009-03-09, John Meacham j...@repetae.net wrote:
perhaps the most recent non-cabalized ghc build might be worth a try. I
think darcs still compiles with ghc 6.6, but am not positive.,
Mingw-bootstrap, source, or both?
Tried with both.
On Monday 09 March 2009 11:56:14 am Simon Peyton-Jones wrote:
For what it's worth, here's why. Suppose we have
type family N a :: *
f :: forall a. N a - Int
f = blah
g :: forall b. N b - Int
g x = 1 + f x
The defn of 'g' fails with a very similar
2009/3/9 Claus Reinke claus.rei...@talk21.com:
let f = ..f.. in f{n,m} -PEEL- let f = ..f.. in ..f{n-1,m}..
Probably what you intend here is that you create one copy of the
definition every round rather than one per call site, is that right?
I don't think so - ultimately, the point of both
I think there might be a difference between C/GHC and the Haskell Standard's
idea of the range of the exponential. Specifically, the comment in gcc's
float.h (i.e., where GHC appears to gets its definition from) says
/* Minimum int x such that FLT_RADIX**(x-1) is a normalized float, emin */
let f = ..f.. in f{n,m} -PEEL- let f = ..f.. in ..f{n-1,m}..
Probably what you intend here is that you create one copy of the
definition every round rather than one per call site, is that right?
I don't think so - ultimately, the point of both peeling and unrolling is to
unfold a definition
2009/3/9 Claus Reinke claus.rei...@talk21.com:
But if you annotate all your unrolled and peeled new definitions as
NOINLINE, do you still get the optimizations you want? There are probably a
few GHC optimizations that can look through non-recursive
lets, but RULES are not among those.
The
On 2009 Mar 9, at 9:32, Claus Reinke wrote:
One way out would be to treat the whole mutual recursion as a single
entity, either implicitly, as I indicated, or explicitly, as I
interpret Brandon's somewhat ambiguous comment. In other words, the
peel/unroll limits would apply to a whole group
18 matches
Mail list logo