Re: parallelizing ghc

2012-01-26 Thread Nathan Howell
On Thu, Jan 26, 2012 at 3:44 PM, Evan Laforge wrote: > I'd think apple would care about linker performance... I'm even a > little surprised Xcode doesn't have something better than a lightly > hacked gnu ld. Someone mentioned that it was on their wish-list at LLVM 2010 conference... it's hinted

Re: Holes in GHC

2012-01-26 Thread wren ng thornton
On 1/26/12 1:30 PM, Dan Doel wrote: On Thu, Jan 26, 2012 at 12:45 PM, Thijs Alkemade wrote: Let me try to describe the goal better. The intended users are people new to Haskell or people working with existing code they are not familiar with. Also me. I want this feature. It pretty much singl

Re: Is it true that an exception is always terminates the thread?

2012-01-26 Thread wren ng thornton
On 1/26/12 10:01 PM, wren ng thornton wrote: On 1/24/12 10:25 AM, Ryan Newton wrote: This is related but somewhat tangential -- *Why isn't there a tryReadChan?* It looks like it would be implementable with the current Chan representation in terms of tryTakeMVar. Especially since isEmptyChan is

Re: Is it true that an exception is always terminates the thread?

2012-01-26 Thread wren ng thornton
On 1/24/12 10:25 AM, Ryan Newton wrote: This is related but somewhat tangential -- *Why isn't there a tryReadChan?* It looks like it would be implementable with the current Chan representation in terms of tryTakeMVar. Especially since isEmptyChan is deprecated this would be nice to have.

Re: Is it true that an exception is always terminates the thread?

2012-01-26 Thread wren ng thornton
On 1/23/12 3:19 PM, Edward Z. Yang wrote: Excerpts from Heka Treep's message of Mon Jan 23 15:11:51 -0500 2012: actor mbox = do empty<- atomically $ isEmptyTChan mbox if empty then actor mbox else do val<- atomically $ readTChan mbox Uh, don't you want to combine isEmpty

Re: Records in Haskell

2012-01-26 Thread AntC
Ryan Newton gmail.com> writes: > > I admit I'm a big fan of polymorphic extension.  But I don't love it enough for it to impede progress!   > > Regarding extension:  In trying to read through all this material I don't see a lot of love for "lacks" constraints a la TRex. > Cheers, > -Ryan H

Re: Records in Haskell

2012-01-26 Thread Anthony Clayden
Ryan Newton gmail.com> writes: > > I admit I'm a big fan of polymorphic extension. But I don't love it enough for it to impede progress! > > Regarding extension: In trying to read through all this material I don't see a lot of love for "lacks" constraints a la TRex. > Cheers, > -Ryan

Re: Records in Haskell

2012-01-26 Thread AntC
Ryan Newton gmail.com> writes: > I admit I'm a big fan of polymorphic extension. But I don't love it enough for it to impede progress! > > Regarding extension: In trying to read through all this material I don't see a lot of love for "lacks" constraints a la TRex. > Cheers, > -Ryan >

Re: Records in Haskell

2012-01-26 Thread AntC
Ryan Newton gmail.com> writes: > > I admit I'm a big fan of polymorphic extension. But I don't love it enough for it to impede progress! > > Regarding extension: In trying to read through all this material I don't see a lot of love for "lacks" constraints a la TRex. > Cheers, > -Ryan

Re: Records in Haskell

2012-01-26 Thread AntC
Ryan Newton gmail.com> writes: > > I admit I'm a big fan of polymorphic extension.  But I don't love it enough for it to impede progress!   > > Regarding extension:  In trying to read through all this material I don't see a lot of love for "lacks" constraints a la TRex.   > Cheers, >   -Ryan

Re: parallelizing ghc

2012-01-26 Thread Evan Laforge
> I've been toying with building my own ld replacement.  I don't know > anything about linkers, but I'd say at least even odds that I can do > better than this. I'm guessing linkers are hard, but gold proves that if you keep the scope small and use modern techniques you can get really good improve

Re: parallelizing ghc

2012-01-26 Thread Evan Laforge
> I'm slightly surprised by this - in my experience parallel builds beat > --make as long as the parallelism is a factor of 2 or more.  Is your > dependency graph very narrow, or do you have lots of very small modules? I get full parallelism, 4 threads at once on a 2 core machine * 2 hyperthread/w

Re: Holes in GHC

2012-01-26 Thread AntC
Thijs Alkemade gmail.com> writes: > > On Thu, Jan 26, 2012 at 8:33 PM, Simon Peyton-Jones > microsoft.com> wrote: > > > > I'm sorry to be slow, but I still don't understand what you intend. Hi Thijs, like Simon, I'm struggling to see the point. You said earlier: > The intended users are peop

RE: Holes in GHC

2012-01-26 Thread Simon Peyton-Jones
| The primary goal is to make this part of GHCi. Say, you're working on | a file Foo.hs in your favorite editor, and you have: Aha. That is helpful (below). Start a GHC wiki page to describe? Now, if I compile {-# LANGUAGE ImplicitParams #-} module Foo where foo

Re: Holes in GHC

2012-01-26 Thread Thijs Alkemade
On Thu, Jan 26, 2012 at 8:33 PM, Simon Peyton-Jones wrote: > > I'm sorry to be slow, but I still don't understand what you intend.  I wonder > whether you could give a series of examples?  Is this something to do with > GHCi?  Or some hypothetical IDE? Or do you expect to compile Foo.hs with som

Re: Holes in GHC

2012-01-26 Thread Dan Doel
On Thu, Jan 26, 2012 at 2:36 PM, Simon Peyton-Jones wrote: > |  > Let me try to describe the goal better. The intended users are people > |  > new to Haskell or people working with existing code they are not > |  > familiar with. > | > |  Also me. I want this feature. > > My question remains: what

Re: Holes in GHC

2012-01-26 Thread Brandon Allbery
On Thu, Jan 26, 2012 at 14:36, Simon Peyton-Jones wrote: > | > Let me try to describe the goal better. The intended users are people > | > new to Haskell or people working with existing code they are not > | > familiar with. > | > | Also me. I want this feature. > > My question remains: what i

RE: Holes in GHC

2012-01-26 Thread Simon Peyton-Jones
| > Let me try to describe the goal better. The intended users are people | > new to Haskell or people working with existing code they are not | > familiar with. | | Also me. I want this feature. My question remains: what is the feature? Agda has a sophisticated IDE; is that a key part o

RE: Holes in GHC

2012-01-26 Thread Simon Peyton-Jones
| This is where you would want to use a hole. Just like undefined, it | has type `a`, so it can be used anywhere (and when compiling, we | intend to turn it into an exception too), but the difference with | undefined is that after the typechecking has succeeded, you get a list | of your holes,

Re: Holes in GHC

2012-01-26 Thread Dan Doel
On Thu, Jan 26, 2012 at 12:45 PM, Thijs Alkemade wrote: > Let me try to describe the goal better. The intended users are people > new to Haskell or people working with existing code they are not > familiar with. Also me. I want this feature. It pretty much single handedly makes prototyping things

Re: Holes in GHC

2012-01-26 Thread Thijs Alkemade
On Thu, Jan 26, 2012 at 5:10 PM, Simon Peyton-Jones wrote: > > ... > > To me it looks like you get exactly the info that (I think) you want, and > moreover you can do that without changing the type inference engine at all. > > Simon On Thu, Jan 26, 2012 at 5:26 PM, Twan van Laarhoven wrote: >

Re: Holes in GHC

2012-01-26 Thread Twan van Laarhoven
On 25/01/12 16:21, Thijs Alkemade wrote: Hello! ... Examples: *Main> :t [__, ()] tcRnExpr2: [(:1:2-3, ())] [__, ()] :: [()] *Main> :t map __ __ tcRnExpr2: [(:1:5-6, a0 -> b), (:1:8-9, [a0])] map __ __ :: [b] You can do something similar right now with implicit parameters: Prelude>

RE: Holes in GHC

2012-01-26 Thread Simon Peyton-Jones
A thought. Based on my limited understanding of your goals, suppose instead of (say) f (__, True) __ you transformed to \xy -> f (x,True) y That is, replace each hole with a variable. Now do type inference. You'll get a type like Int -> Bool -> ... and that tells

Re: Records in Haskell

2012-01-26 Thread Greg Weber
The starting point a new records implementation was to be pragmatic and get something done. Simon has identified that Has constraints are required to implement records. However, in general, exposing an internal implementation to a user is an idea that should give great pause. It makes it difficult

RE: Holes in GHC

2012-01-26 Thread Simon Peyton-Jones
Thijs You are describing the implementation of something, but you do not give a specification. It's hard for me to help you with the design of something when I don't know what the goal is. Can you give a series of concrete examples of what you want to happen? Is this just in GHCi? Or do you

Re: parallelizing ghc

2012-01-26 Thread John Lato
> From: Evan Laforge > > On Wed, Jan 25, 2012 at 11:42 AM, Ryan Newton wrote: >>> package list for me. ?The time is going to be dominated by linking, >>> which is single threaded anyway, so either way works. >> >> What is the state of incremental linkers? ?I thought those existed now. > > I think

Re: parallelizing ghc

2012-01-26 Thread Simon Marlow
On 24/01/2012 03:53, Evan Laforge wrote: > I recently switched from ghc --make to a parallelized build system. I > was looking forward to faster builds, and while they are much faster > at figuring out what has to be rebuilt (which is most of the time for > a small rebuild, since ld dominates), c

Re: FW: A Garbage Collection Question

2012-01-26 Thread Simon Marlow
On 25/01/2012 07:16, Andres Löh wrote: You seem to assume that old strategies use a different GC policy than new strategies. My understanding is that this is not true. The WEAK policy is used in general now. So old strategies shouldn't be used with more recent GHCs, or you'll lose parallelism.