Re: a possibility to redefine built-in GHCi commands

2009-03-11 Thread Peter Hercek

Simon Marlow wrote:

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 command regardless of 
user defined commands he/she would need to start it with two colons 
(instead of one).


It is an user interface change which may break some scripts, but it 
would allow to provide different default behavior.

For example:
* when I use GhciExt I want all my :continue commands to be 
actually :x :continue
* it would allow to specify different order of searching for 
abbreviated commands as the default one
* it would allow to specify different default switches for builtin 
commands


Would such a change be merged upstream if I would provide a patch?


Seems reasonable to me.


OK, I created a ticket for it and attached the implementation to the ticket.
http://hackage.haskell.org/trac/ghc/ticket/3084

Thanks,
Peter.

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


ThreadScope: Request for features for the performance tuning of parallel and concurrent Haskell programs

2009-03-11 Thread Satnam Singh
Donnie Jones, Simon Marlow and I have been working on infrastructure for 
logging run-time events and a graphical viewer program called ThreadScope. 
Hopefully these features will make it into the next release of GHC. We hope the 
event-log viewer ThreadScope will be useful for the performance tuning of 
parallel and concurrent Haskell programs. You can see a few screen shots at the 
program's website http://raintown.org/threadscope

Before making the release I thought it would be an idea to ask people what 
other features people would find useful or performance tuning. So if you have 
any suggestions please do let us know!

Cheers,

Satnam Singh


Satnam Singh
Microsoft
7 JJ Thomson Avenue
Cambridge
CB3 0FB
United Kingdom

Email: satn...@microsoft.commailto:satn...@microsoft.com
UK tel: +44 1223 479905
Fax: +44 1223 479 999
UK mobile: +44 7979 648412
USA cell: 206 330 1580
USA tel: 206 219 9024
URL: http://research.microsoft.com/~satnams
Live Messenger: sat...@raintown.orgmailto:sat...@raintown.org

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


Re: Cygwin version

2009-03-11 Thread Simon Marlow

Tuomo Valkonen wrote:

On 2009-03-09, Tuomo Valkonen tuo...@iki.fi wrote:

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. Got:

ghc.exe: unknown package: unix


With './configure  --build=i686-pc-cygwin32 --with-gcc=c:/cygwin/bin/gcc
--with-ld=c:/cygwin/bin/ld' I got to the point:

../compiler/ghc-inplace -optc-mno-cygwin -optc-O -optc-Wall -optc-W
-optc-Wstrict-prototypes -optc-Wmissing-prototypes
-optc-Wmissing-declarations -optc-Winline -optc-Waggregate-return
-optc-Wbad-function-cast -optc-I../includes -optc-I. -optc-Iparallel
-optc-DCOMPILING_RTS -optc-fomit-frame-pointer -optc-fno-strict-aliasing
-H16m -O -optc-O2 -static -I. -#include HCIncludes.h -fvia-C -dcmm-lint
-c Adjustor.c -o Adjustor.o
make: *** [Adjustor.o] Error 1

The stage1 ghc-inplace doesn't seem to be able to produce neither code
nor an error message. It just fails. It also isn't a cygwin program
according to ldd; should it be?


You're doing a *port* here, to create a GHC that can generate Cygwin 
binaries, using a GHC that generates MinGW binaries to bootstrap from. 
This isn't something you should expect to work out of the box :-)


For a start, you should set your platforms like this:

  build  = i386-unknown-mingw32
  host   = i386-unknown-mingw32
  target = i386-unknown-cygwin32

It looks like your stage1 compiler is crashing, but I have no idea why.

If you're really interested in getting this working, expect to have to do a 
lot of hacking in GHC's internals, build system, and libraries.  We're here 
to help, of course.


Cheers,
Simon

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


Re: Cygwin version

2009-03-11 Thread Tuomo Valkonen
On 2009-03-11, Simon Marlow marlo...@gmail.com wrote:
 For a start, you should set your platforms like this:

build  = i386-unknown-mingw32
host   = i386-unknown-mingw32
target = i386-unknown-cygwin32

GHC configuration does not support differing host/target (i.e., 
cross-compiling)
with both the 6.6 and 6.10.1 binaries.

Is an existing cross-compiler really necessary? If a stage1 compiler is 
created in any case, can't it just be made to be a cross-compiler?

 If you're really interested in getting this working, expect to have to do a 
 lot of hacking in GHC's internals, build system, and libraries.  We're here 
 to help, of course.

Seems like it will be easier to switch to another version control system.

-- 
Stop Gnomes and other pests! Purchase Windows today!

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


Re: Cygwin version

2009-03-11 Thread Don Stewart
tuomov:
 On 2009-03-11, Simon Marlow marlo...@gmail.com wrote:
  For a start, you should set your platforms like this:
 
 build  = i386-unknown-mingw32
 host   = i386-unknown-mingw32
 target = i386-unknown-cygwin32
 
 GHC configuration does not support differing host/target (i.e., 
 cross-compiling)
 with both the 6.6 and 6.10.1 binaries.
 
 Is an existing cross-compiler really necessary? If a stage1 compiler is 
 created in any case, can't it just be made to be a cross-compiler?
 
  If you're really interested in getting this working, expect to have to do a 
  lot of hacking in GHC's internals, build system, and libraries.  We're here 
  to help, of course.
 
 Seems like it will be easier to switch to another version control system.
 

Have you asked on the darcs-users@ list for a cygwin binary build? I
know these are getting pretty rare now, but someone may have already
produced one.

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


Re[2]: Cygwin version

2009-03-11 Thread Bulat Ziganshin
Hello Don,

Wednesday, March 11, 2009, 7:52:32 PM, you wrote:

 Have you asked on the darcs-users@ list for a cygwin binary build? I
 know these are getting pretty rare now, but someone may have already
 produced one.

does ghc supports building cygwin executables?


-- 
Best regards,
 Bulatmailto:bulat.zigans...@gmail.com

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


Re: Cygwin version

2009-03-11 Thread Tuomo Valkonen
On 2009-03-11, Don Stewart d...@galois.com wrote:
 Have you asked on the darcs-users@ list for a cygwin binary build? I
 know these are getting pretty rare now, but someone may have already
 produced one.

Yes, to no luck. They thought this was the better place to ask.

-- 
Tuomo

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


RE: Loop unrolling + fusion ?

2009-03-11 Thread Simon Peyton-Jones
Claus, Max

|  My preferred spec would be roughly
| 
|  {-# NOINLINE f #-}
| as now
| 
|  {-# INLINE f #-}
| works as now, which is for non-recursive f only (might in future
| be taken as go-ahead for analysis-based recursion unfolding)
| 
|  {-# 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

Sounds as if you two are evolving a good design, thank you.  I am not following 
the details closely, but I have the advantage of being able to chat to Max 
directly.

Suggestion: if after discussion you think this is a valuable thing to do, write 
a GHC-Trac-Wiki page describing the design as precisely as possible (eg with 
examples; I find the above one-liners hard to grok). Along with any major 
design alternatives.  Ideally with a few indicative measurements gotten by 
by-hand transformations, that show there are real benefits to be had.

For implementation, there are two routes.  Either totally built-in, or using a 
Core-to-Core plug-in.  The thing I like about the latter is that it can be done 
without having GHC HQ in the critical path, because we (I) tend to slow things 
down, being a uniprocesor.  We don't have the plug-in capability yet, but I'm 
encouraging Max to polish it up so that we do.  I think it'd be a very valuable 
facility.

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


Re[2]: Loop unrolling + fusion ?

2009-03-11 Thread Bulat Ziganshin
Hello Simon,

Thursday, March 12, 2009, 1:29:56 AM, you wrote:

 For implementation, there are two routes.  Either totally built-in,
 or using a Core-to-Core plug-in.  The thing I like about the latter
 is that it can be done without having GHC HQ in the critical path,
 because we (I) tend to slow things down, being a uniprocesor.  We
 don't have the plug-in capability yet, but I'm encouraging Max to
 polish it up so that we do.  I think it'd be a very valuable facility.

as GHC popularity grows, it may become more profitable to spend
resources making it more open, pluggable compiler factory rather
than doing everything yourself


-- 
Best regards,
 Bulatmailto:bulat.zigans...@gmail.com

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


Re: [Haskell-cafe] ThreadScope: Request for features for the performance tuning of parallel and concurrent Haskell programs

2009-03-11 Thread Ben Lippmeier


Hi Satnam,

On 12/03/2009, at 12:24 AM, Satnam Singh wrote:
Before making the release I thought it would be an idea to ask  
people what other features people would find useful or performance  
tuning. So if you have any suggestions please do let us know!




Is it available in a branch somewhere to try out?

Ben.


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